This commit is contained in:
2025-02-06 13:13:21 +01:00
parent 7c4cbc5a97
commit c50997477f
6 changed files with 116 additions and 87 deletions

View File

@@ -9,6 +9,9 @@
./profiles/locale-no.nix
./profiles/upgrade-diff.nix
./profiles/lix.nix
./profiles/mounts/common-nfs.nix
/* ./profiles/mounts/common-zfs.nix */
# results of 'nixos-generate-config'
# nice to have if i just dump this flake into /etc/nixos on a clean install
(ifExists ./configuration.nix )

View File

@@ -0,0 +1,3 @@
{
system-graphics.enable = true;
}

View File

@@ -24,6 +24,7 @@ in
# https://man.archlinux.org/man/core/util-linux/mount.8.en
config.pbsds.nfs-lazy-mount.nfsOptions = lib.mkMerge [
# nixos default
[ "defaults" ]
(lib.mkIf cfg.enable [

View File

@@ -2,40 +2,47 @@
# TODO: use tailscale if enabled
# don't mount if local VM
lib.mkIf (!config.virtualisation.isVmVariant)
{
# in base.nix: imports = [ ./common-nfs.nix ];
# 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" ];
# https://wiki.nixos.org/wiki/NFS
# don't mount if local VM
config = lib.mkIf (!config.virtualisation.isVmVariant) {
fileSystems = let
mkMount = mountpoint: server: subdir: {
"${mountpoint}${subdir}" = {
device = "${server}${subdir}";
fsType = "nfs";
#options = [ "nfsvers=4.2" ];
options = config.pbsds.nfs-lazy-mount.nfsOptions;
};
};
};
# TODO: combine nameValuePair and listToAttrs
joinSets = sets: builtins.foldl' (l: r: l // r) {} sets;
# TODO: space in dirname is not supported
in joinSets (map (mkMount "/mnt/freon" "192.168.1.3:/Freon") [
/* in joinSets (map (mkMount "/mnt/freon" "knut.tail9aac63.ts.net:/Freon") [ */
/* in joinSets (map (mkMount "/mnt/freon" "100.109.53.107:/Freon") [ */
""
"/Backups"
"/ISO"
"/Games"
"/Images"
"/Music"
"/Music/Albums"
"/Music/Kancolle"
"/Music/OST"
"/Music/Old"
"/Music/Touhou"
"/Music/Vocaloid"
"/Music/dojin.co"
]);
# TODO: combine nameValuePair and listToAttrs
joinSets = sets: builtins.foldl' (l: r: l // r) {} sets;
# TODO: space in dirname is not supported
in joinSets (map (mkMount "/mnt/freon" "192.168.1.3:/Freon") [
/* in joinSets (map (mkMount "/mnt/freon" "knut.tail9aac63.ts.net:/Freon") [ */
/* in joinSets (map (mkMount "/mnt/freon" "100.109.53.107:/Freon") [ */
""
"/Backups"
"/ISO"
"/Games"
"/Images"
"/Music"
"/Music/Albums"
"/Music/Kancolle"
"/Music/OST"
"/Music/Old"
"/Music/Touhou"
"/Music/Vocaloid"
"/Music/dojin.co"
]);
};
}

View File

@@ -3,32 +3,40 @@
# TODO: use tailscale if enabled
{
# in base.nix: imports = [ ./common-nfs.nix ];
# TODO: wireguard
#boot.kernelParams = [ "nfs.nfs4_disable_idmapping=0" "nfsd.nfs4_disable_idmapping=0" ];
# https://wiki.nixos.org/wiki/NFS
fileSystems = let
mkMount = mountpoint: server: subdir: {
"${mountpoint}${subdir}" = {
device = "${server}${subdir}";
fsType = "nfs";
#options = [ "nfsvers=4.2" ];
# don't mount if local VM
config = lib.mkIf (!config.virtualisation.isVmVariant) {
fileSystems = let
mkMount = mountpoint: server: subdir: {
"${mountpoint}${subdir}" = {
device = "${server}${subdir}";
fsType = "nfs";
#options = [ "nfsvers=4.2" ];
options = config.pbsds.nfs-lazy-mount.nfsOptions;
};
};
};
# TODO: combine nameValuePair and listToAttrs
joinSets = sets: builtins.foldl' (l: r: l // r) {} sets;
# TODO: space in dirname is not supported
in joinSets (map (mkMount "/mnt/meconium" "192.168.1.9:/mnt/meconium" ) [
/* in joinSets (map (mkMount "/mnt/meconium" "noximilien.tail9aac63.ts.net:/mnt/meconium" ) [ */
/* in joinSets (map (mkMount "/mnt/meconium" "100.113.27.44:/mnt/meconium" ) [ */
""
"/Backups"
"/Backups/rocm.pbsds.net"
"/blob"
"/blob/attic"
#"/garage"
#"/garage/gunktrunk"
]);
# TODO: combine nameValuePair and listToAttrs
joinSets = sets: builtins.foldl' (l: r: l // r) {} sets;
# TODO: space in dirname is not supported
in joinSets (map (mkMount "/mnt/meconium" "192.168.1.9:/mnt/meconium" ) [
/* in joinSets (map (mkMount "/mnt/meconium" "noximilien.tail9aac63.ts.net:/mnt/meconium" ) [ */
/* in joinSets (map (mkMount "/mnt/meconium" "100.113.27.44:/mnt/meconium" ) [ */
""
"/Backups"
"/Backups/rocm.pbsds.net"
"/blob"
"/blob/attic"
#"/garage"
#"/garage/gunktrunk"
]);
};
}

View File

@@ -2,46 +2,53 @@
# TODO: use tailscale if enabled
# don't mount if local VM
lib.mkIf (!config.virtualisation.isVmVariant)
{
# in base.nix: imports = [ ./common-nfs.nix ];
# 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" ];
# https://wiki.nixos.org/wiki/NFS
# don't mount if local VM
config = lib.mkIf (!config.virtualisation.isVmVariant) {
fileSystems = let
mkMount = mountpoint: server: subdir: {
"${mountpoint}${subdir}" = {
device = "${server}${subdir}";
fsType = "nfs";
#options = [ "nfsvers=4.2" ];
options = config.pbsds.nfs-lazy-mount.nfsOptions;
};
};
};
# TODO: combine nameValuePair and listToAttrs
joinSets = sets: builtins.foldl' (l: r: l // r) {} sets;
# TODO: space in dirname is not supported
in joinSets (map (mkMount "/mnt/reidun" "192.168.1.3:/Reidun/shared") [
/* in joinSets (map (mkMount "/mnt/reidun" "knut.tail9aac63.ts.net:/Reidun/shared") [ */
/* in joinSets (map (mkMount "/mnt/reidun" "100.109.53.107:/Reidun/shared") [ */
""
#"/Comics"
"/Downloads"
"/Various"
"/Various/Zotero"
"/Various/resilio"
"/Video"
"/Video/Anime"
"/Video/Concerts"
"/Video/Documentaries"
"/Video/Movies"
"/Video/Musicvideos"
"/Video/Series"
"/Work"
"/Work/Documents"
"/Work/FL-Studio"
"/Work/Programming"
"/Work/School"
"/pub"
]);
# TODO: combine nameValuePair and listToAttrs
joinSets = sets: builtins.foldl' (l: r: l // r) {} sets;
# TODO: space in dirname is not supported
in joinSets (map (mkMount "/mnt/reidun" "192.168.1.3:/Reidun/shared") [
/* in joinSets (map (mkMount "/mnt/reidun" "knut.tail9aac63.ts.net:/Reidun/shared") [ */
/* in joinSets (map (mkMount "/mnt/reidun" "100.109.53.107:/Reidun/shared") [ */
""
#"/Comics"
"/Downloads"
"/Various"
"/Various/Zotero"
"/Various/resilio"
"/Video"
"/Video/Anime"
"/Video/Concerts"
"/Video/Documentaries"
"/Video/Movies"
"/Video/Musicvideos"
"/Video/Series"
"/Work"
"/Work/Documents"
"/Work/FL-Studio"
"/Work/Programming"
"/Work/School"
"/pub"
]);
};
}