diff --git a/base.nix b/base.nix index 646a7d8..887f8a5 100644 --- a/base.nix +++ b/base.nix @@ -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 ) diff --git a/hosts/system-manager/furios/configuration.nix b/hosts/system-manager/furios/configuration.nix new file mode 100644 index 0000000..ef3eb4e --- /dev/null +++ b/hosts/system-manager/furios/configuration.nix @@ -0,0 +1,3 @@ +{ + system-graphics.enable = true; +} diff --git a/profiles/mounts/common-nfs.nix b/profiles/mounts/common-nfs.nix index 434270b..e349046 100644 --- a/profiles/mounts/common-nfs.nix +++ b/profiles/mounts/common-nfs.nix @@ -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 [ diff --git a/profiles/mounts/freon-nfs.nix b/profiles/mounts/freon-nfs.nix index fd3c368..0466a08 100644 --- a/profiles/mounts/freon-nfs.nix +++ b/profiles/mounts/freon-nfs.nix @@ -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" + ]); + + }; } diff --git a/profiles/mounts/meconium-nfs.nix b/profiles/mounts/meconium-nfs.nix index 62e21de..e9042a9 100644 --- a/profiles/mounts/meconium-nfs.nix +++ b/profiles/mounts/meconium-nfs.nix @@ -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" + ]); + + }; } diff --git a/profiles/mounts/reidun-nfs.nix b/profiles/mounts/reidun-nfs.nix index 9cbeaa8..4bc7255 100644 --- a/profiles/mounts/reidun-nfs.nix +++ b/profiles/mounts/reidun-nfs.nix @@ -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" + ]); + + }; }