meconium: knut -> nox
This commit is contained in:
parent
75e59fb6e3
commit
68ff2536e3
@ -24,6 +24,7 @@
|
||||
../../users/pbsds
|
||||
|
||||
../../profiles/mounts/reidun-nfs.nix
|
||||
../../profiles/mounts/meconium-nfs.nix
|
||||
|
||||
../../profiles/shell/base.nix
|
||||
../../profiles/shell/archives.nix
|
||||
|
@ -16,6 +16,7 @@
|
||||
../../users/jornane
|
||||
|
||||
../../profiles/mounts/reidun-nfs.nix
|
||||
../../profiles/mounts/meconium-zfs.nix
|
||||
|
||||
../../profiles/shell/base.nix
|
||||
../../profiles/shell/archives.nix
|
||||
@ -91,6 +92,8 @@
|
||||
"kuklef.se"
|
||||
];
|
||||
|
||||
networking.hostId = "e1ffd469"; # needed for zfs: head -c 8 /etc/machine-id
|
||||
|
||||
# TODO: remove? Move to where relevant?
|
||||
nixpkgs.overlays = [
|
||||
/** /
|
||||
|
@ -35,6 +35,7 @@
|
||||
../../users/pbsds
|
||||
|
||||
../../profiles/mounts/reidun-nfs.nix
|
||||
../../profiles/mounts/meconium-nfs.nix
|
||||
|
||||
../../profiles/shell/base.nix
|
||||
../../profiles/shell/archives.nix
|
||||
|
31
profiles/mounts/common-zfs.nix
Normal file
31
profiles/mounts/common-zfs.nix
Normal file
@ -0,0 +1,31 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
# https://openzfs.github.io/openzfs-docs/Getting%20Started/NixOS/index.html
|
||||
# https://nixos.org/manual/nixos/stable/#sec-linux-zfs
|
||||
# https://nixos.wiki/wiki/ZFS
|
||||
# https://search.nixos.org/options?query=services.zfs
|
||||
|
||||
boot.kernelPackages = lib.mkForce pkgs.zfs.latestCompatibleLinuxPackages;
|
||||
boot.supportedFilesystems = [ "zfs" ];
|
||||
boot.zfs.forceImportRoot = false;
|
||||
|
||||
# must be set per host
|
||||
# head -c4 /dev/urandom | od -A none -t x4
|
||||
# consider the one automatically generated by systemd:
|
||||
# head -c 8 /etc/machine-id
|
||||
#networking.hostId = "12345678";
|
||||
|
||||
services.zfs.autoSnapshot.enable = true; # simply runs zfstools
|
||||
# default args, can be overriden per-dataset
|
||||
services.zfs.autoSnapshot.frequent = 2; # 15 min
|
||||
services.zfs.autoSnapshot.hourly = 3;
|
||||
services.zfs.autoSnapshot.daily = 4;
|
||||
services.zfs.autoSnapshot.weekly = 3;
|
||||
services.zfs.autoSnapshot.monthly = 5;
|
||||
|
||||
#services.zfs.autoReplication.enable
|
||||
#services.zfs.autoScrub.enable = true;
|
||||
#services.zfs.trim.enable = true;
|
||||
|
||||
# config.services.nfs.server.enable will automatically export NFS dataset tagged as such
|
||||
}
|
24
profiles/mounts/meconium-nfs.nix
Normal file
24
profiles/mounts/meconium-nfs.nix
Normal file
@ -0,0 +1,24 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
# TODO: wireguard
|
||||
#boot.kernelParams = [ "nfs.nfs4_disable_idmapping=0" "nfsd.nfs4_disable_idmapping=0" ];
|
||||
|
||||
fileSystems = let
|
||||
mkMount = mountpoint: server: subdir: {
|
||||
"${mountpoint}${subdir}" = {
|
||||
device = "${server}${subdir}";
|
||||
fsType = "nfs";
|
||||
#options = [ "nfsvers=4.2" ];
|
||||
};
|
||||
};
|
||||
# TODO: combine nameValuePair and listToAttrs
|
||||
joinSets = sets: builtins.foldl' (l: r: l // r) {} sets;
|
||||
in joinSets (
|
||||
# TODO: depend on nox.networking.interfaces.eno1.ipv4.addresses
|
||||
(map (mkMount "/mnt/meconium" "192.168.1.9:/Meconium" ) [
|
||||
""
|
||||
"/beets_music"
|
||||
])
|
||||
);
|
||||
|
||||
}
|
11
profiles/mounts/meconium-zfs.nix
Normal file
11
profiles/mounts/meconium-zfs.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
# https://search.nixos.org/options?query=services.zfs
|
||||
|
||||
imports = [ ./common-zfs.nix ];
|
||||
|
||||
# non legacy-mount
|
||||
systemd.services.zfs-mount.enable = true; # default
|
||||
boot.zfs.extraPools = [ "Meconium" ]; # import on boot
|
||||
|
||||
}
|
@ -54,9 +54,6 @@
|
||||
"/Work/Programming"
|
||||
"/Work/School"
|
||||
"/pub"
|
||||
]) ++ (map (mkMount "/mnt/meconium" "192.168.1.3:/Meconium" ) [
|
||||
""
|
||||
"/beets_music"
|
||||
])
|
||||
);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user