move common zfs settings to modules/base
This commit is contained in:
parent
d4527c24a6
commit
cff18bfb8f
@ -17,25 +17,9 @@ in {
|
|||||||
stateVersion = "22.11";
|
stateVersion = "22.11";
|
||||||
timeZone = "UTC";
|
timeZone = "UTC";
|
||||||
|
|
||||||
services = {
|
|
||||||
postfix = {
|
|
||||||
enable = true;
|
|
||||||
saslPasswdPath = config.age.secrets.sasl-passwd.path;
|
|
||||||
};
|
|
||||||
|
|
||||||
zfsunlock = {
|
|
||||||
enable = true;
|
|
||||||
targets."vno1-oh2.servers.jakst" = {
|
|
||||||
sshEndpoint = myData.hosts."vno1-oh2.servers.jakst".publicIP;
|
|
||||||
pingEndpoint = "vno1-oh2.servers.jakst";
|
|
||||||
remotePubkey = myData.hosts."vno1-oh2.servers.jakst".initrdPubKey;
|
|
||||||
pwFile = config.age.secrets.zfs-passphrase-vno1-oh2.path;
|
|
||||||
startAt = "*-*-* *:00/5:00";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
base = {
|
base = {
|
||||||
|
zfs.enable = true;
|
||||||
|
|
||||||
users.passwd = {
|
users.passwd = {
|
||||||
root.passwordFile = config.age.secrets.root-passwd-hash.path;
|
root.passwordFile = config.age.secrets.root-passwd-hash.path;
|
||||||
motiejus.passwordFile = config.age.secrets.motiejus-passwd-hash.path;
|
motiejus.passwordFile = config.age.secrets.motiejus-passwd-hash.path;
|
||||||
@ -81,7 +65,25 @@ in {
|
|||||||
unitstatus = {
|
unitstatus = {
|
||||||
enable = true;
|
enable = true;
|
||||||
email = "motiejus+alerts@jakstys.lt";
|
email = "motiejus+alerts@jakstys.lt";
|
||||||
units = ["zfs-scrub" "nixos-upgrade"];
|
units = ["nixos-upgrade"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
postfix = {
|
||||||
|
enable = true;
|
||||||
|
saslPasswdPath = config.age.secrets.sasl-passwd.path;
|
||||||
|
};
|
||||||
|
|
||||||
|
zfsunlock = {
|
||||||
|
enable = true;
|
||||||
|
targets."vno1-oh2.servers.jakst" = {
|
||||||
|
sshEndpoint = myData.hosts."vno1-oh2.servers.jakst".publicIP;
|
||||||
|
pingEndpoint = "vno1-oh2.servers.jakst";
|
||||||
|
remotePubkey = myData.hosts."vno1-oh2.servers.jakst".initrdPubKey;
|
||||||
|
pwFile = config.age.secrets.zfs-passphrase-vno1-oh2.path;
|
||||||
|
startAt = "*-*-* *:00/5:00";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -120,12 +122,6 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
zfs = {
|
|
||||||
autoScrub.enable = true;
|
|
||||||
trim.enable = true;
|
|
||||||
expandOnBoot = "all";
|
|
||||||
};
|
|
||||||
|
|
||||||
openssh = {
|
openssh = {
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
AcceptEnv GIT_PROTOCOL
|
AcceptEnv GIT_PROTOCOL
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
timeZone = "Europe/Vilnius";
|
timeZone = "Europe/Vilnius";
|
||||||
|
|
||||||
base = {
|
base = {
|
||||||
|
zfs.enable = true;
|
||||||
users.passwd = {
|
users.passwd = {
|
||||||
root.passwordFile = config.age.secrets.root-passwd-hash.path;
|
root.passwordFile = config.age.secrets.root-passwd-hash.path;
|
||||||
motiejus.passwordFile = config.age.secrets.motiejus-passwd-hash.path;
|
motiejus.passwordFile = config.age.secrets.motiejus-passwd-hash.path;
|
||||||
@ -38,6 +39,12 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
mountpoints = ["/home"];
|
mountpoints = ["/home"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
unitstatus = {
|
||||||
|
enable = true;
|
||||||
|
email = "motiejus+alerts@jakstys.lt";
|
||||||
|
units = ["nixos-upgrade"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
@ -97,12 +104,6 @@
|
|||||||
"jakstys.lt.".data = myData.jakstysLTZone;
|
"jakstys.lt.".data = myData.jakstysLTZone;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
zfs = {
|
|
||||||
autoScrub.enable = true;
|
|
||||||
trim.enable = true;
|
|
||||||
expandOnBoot = "all";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
./sshd
|
./sshd
|
||||||
./unitstatus
|
./unitstatus
|
||||||
./users
|
./users
|
||||||
|
./zfs
|
||||||
./zfsborg
|
./zfsborg
|
||||||
];
|
];
|
||||||
|
|
||||||
|
19
modules/base/zfs/default.nix
Normal file
19
modules/base/zfs/default.nix
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.mj.base.zfs = with lib.types; {
|
||||||
|
enable = lib.mkEnableOption "Enable common zfs options";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.mj.base.zfs.enable {
|
||||||
|
services.zfs = assert lib.assertMsg config.mj.base.unitstatus.enable "mj.base.unitstatus must be enabled"; {
|
||||||
|
autoScrub.enable = true;
|
||||||
|
trim.enable = true;
|
||||||
|
expandOnBoot = "all";
|
||||||
|
};
|
||||||
|
|
||||||
|
mj.base.unitstatus.units = ["zfs-scrub"];
|
||||||
|
};
|
||||||
|
}
|
@ -11,7 +11,6 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.mj.services.postfix.enable {
|
config = lib.mkIf config.mj.services.postfix.enable {
|
||||||
|
|
||||||
environment.systemPackages = [pkgs.mailutils];
|
environment.systemPackages = [pkgs.mailutils];
|
||||||
|
|
||||||
services.postfix = {
|
services.postfix = {
|
||||||
@ -38,6 +37,5 @@
|
|||||||
header_size_limit = 4096000
|
header_size_limit = 4096000
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user