feat(actualbudget): add NixOS guest
This commit is contained in:
23
guests/actualbudget.nix
Normal file
23
guests/actualbudget.nix
Normal file
@@ -0,0 +1,23 @@
|
||||
args@{ my, ... }:
|
||||
# Actual Budget in a NixOS guest, with durable state bind-mounted from the host.
|
||||
my.guest {
|
||||
name = "actualbudget";
|
||||
interior = {
|
||||
users.users.actual = {
|
||||
isSystemUser = true;
|
||||
uid = 20001;
|
||||
group = "storage";
|
||||
};
|
||||
|
||||
services.actual = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
user = "actual";
|
||||
group = "storage";
|
||||
settings = {
|
||||
port = 5006;
|
||||
dataDir = "/var/lib/actual";
|
||||
};
|
||||
};
|
||||
};
|
||||
} args
|
||||
@@ -20,14 +20,42 @@
|
||||
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
networks."10-uplink" = {
|
||||
matchConfig.MACAddress = "78:55:36:07:af:49";
|
||||
networkConfig.DHCP = "yes";
|
||||
linkConfig.RequiredForOnline = "routable";
|
||||
netdevs = {
|
||||
"40-br-vlan20".netdevConfig = {
|
||||
Name = "br-vlan20";
|
||||
Kind = "bridge";
|
||||
};
|
||||
"40-vlan20" = {
|
||||
netdevConfig = {
|
||||
Name = "vlan20";
|
||||
Kind = "vlan";
|
||||
};
|
||||
vlanConfig.Id = 20;
|
||||
};
|
||||
};
|
||||
|
||||
networks = {
|
||||
"10-uplink" = {
|
||||
matchConfig.MACAddress = "78:55:36:07:af:49";
|
||||
networkConfig.DHCP = "yes";
|
||||
vlan = [ "vlan20" ];
|
||||
linkConfig.RequiredForOnline = "routable";
|
||||
};
|
||||
"40-vlan20" = {
|
||||
matchConfig.Name = "vlan20";
|
||||
networkConfig.Bridge = "br-vlan20";
|
||||
linkConfig.RequiredForOnline = "no";
|
||||
};
|
||||
"40-br-vlan20" = {
|
||||
matchConfig.Name = "br-vlan20";
|
||||
linkConfig.RequiredForOnline = "no";
|
||||
};
|
||||
};
|
||||
};
|
||||
networking.useDHCP = false;
|
||||
|
||||
modules.network.vlans = [ 20 ];
|
||||
|
||||
boot.zfs.forceImportRoot = false;
|
||||
|
||||
modules.zfs = {
|
||||
@@ -43,6 +71,19 @@
|
||||
modules.git.enable = true;
|
||||
modules.toolkit.enable = true;
|
||||
|
||||
guests.actualbudget = {
|
||||
enable = true;
|
||||
autoStart = false;
|
||||
vlan = 20;
|
||||
mac = "BC:24:11:C1:CD:28";
|
||||
mounts."/var/lib/actual".hostPath = "/pikachu/data/actualbudget";
|
||||
limits = {
|
||||
memory = "2G";
|
||||
cpu = "200%";
|
||||
tasksMax = 512;
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
pciutils
|
||||
smartmontools
|
||||
|
||||
Reference in New Issue
Block a user