diff --git a/machine/backyard/default.nix b/machine/backyard/default.nix index 48fac86..80561f5 100644 --- a/machine/backyard/default.nix +++ b/machine/backyard/default.nix @@ -3,6 +3,7 @@ { imports = [ ./hardware-configuration.nix + ./filesystems.nix ./fileserver.nix ./jellyfin.nix ./samba.nix diff --git a/machine/backyard/filesystems.nix b/machine/backyard/filesystems.nix new file mode 100644 index 0000000..5162b87 --- /dev/null +++ b/machine/backyard/filesystems.nix @@ -0,0 +1,50 @@ +{ config, lib, pkgs, modulesPath, ... }: + +{ + # Core filesystems + fileSystems."/" = + { device = "/dev/disk/by-uuid/75addc56-2a0d-431e-a0c5-f6ee0e370e61"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/610F-1EB7"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + # ZFS filesystems + fileSystems."/pool/tvb" = + { device = "pool/user/tvb"; + fsType = "zfs"; + }; + + fileSystems."/pool/tvb/doc" = + { device = "pool/user/tvb/doc"; + fsType = "zfs"; + }; + + fileSystems."/pool/tvb/game" = + { device = "pool/user/tvb/game"; + fsType = "zfs"; + }; + + fileSystems."/pool/tvb/video" = + { device = "pool/user/tvb/video"; + fsType = "zfs"; + }; + + fileSystems."/pool/tvb/audio" = + { device = "pool/user/tvb/audio"; + fsType = "zfs"; + }; + + fileSystems."/pool/tvb/image" = + { device = "pool/user/tvb/image"; + fsType = "zfs"; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/cc464bb4-e1c8-46c0-adbb-ea1a3cfa5b03"; } + ]; +} diff --git a/machine/backyard/hardware-configuration.nix b/machine/backyard/hardware-configuration.nix index e214c1c..262f938 100644 --- a/machine/backyard/hardware-configuration.nix +++ b/machine/backyard/hardware-configuration.nix @@ -13,51 +13,6 @@ boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; - fileSystems."/" = - { device = "/dev/disk/by-uuid/75addc56-2a0d-431e-a0c5-f6ee0e370e61"; - fsType = "ext4"; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/610F-1EB7"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; - - fileSystems."/pool/tvb" = - { device = "pool/user/tvb"; - fsType = "zfs"; - }; - - fileSystems."/pool/tvb/doc" = - { device = "pool/user/tvb/doc"; - fsType = "zfs"; - }; - - fileSystems."/pool/tvb/game" = - { device = "pool/user/tvb/game"; - fsType = "zfs"; - }; - - fileSystems."/pool/tvb/video" = - { device = "pool/user/tvb/video"; - fsType = "zfs"; - }; - - fileSystems."/pool/tvb/audio" = - { device = "pool/user/tvb/audio"; - fsType = "zfs"; - }; - - fileSystems."/pool/tvb/image" = - { device = "pool/user/tvb/image"; - fsType = "zfs"; - }; - - swapDevices = - [ { device = "/dev/disk/by-uuid/cc464bb4-e1c8-46c0-adbb-ea1a3cfa5b03"; } - ]; - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's # still possible to use this option, but it's recommended to use it in conjunction