From 817f4608e0abe38e98b2aefe5788383790161950 Mon Sep 17 00:00:00 2001 From: ShatteredMINT Date: Mon, 17 Feb 2025 09:18:41 +0100 Subject: [PATCH] basic nas configuration --- devices/nas.nix | 61 +++++++++++++++++++++++++++++++++++++++++++++++++ flake.nix | 12 ++++++++++ 2 files changed, 73 insertions(+) create mode 100644 devices/nas.nix diff --git a/devices/nas.nix b/devices/nas.nix new file mode 100644 index 0000000..a97fc15 --- /dev/null +++ b/devices/nas.nix @@ -0,0 +1,61 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "NIX_CONV_POOL/root"; + fsType = "zfs"; + }; + + fileSystems."/nix" = + { device = "NIX_CONV_POOL/nix"; + fsType = "zfs"; + }; + + fileSystems."/var" = + { device = "NIX_CONV_POOL/var"; + fsType = "zfs"; + }; + + fileSystems."/home" = + { device = "NIX_CONV_POOL/home"; + fsType = "zfs"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/334B-15CD"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + #swapDevices = + # [ { device = "/dev/disk/by-uuid/b3e53298-fdcf-41c5-b80b-6f1ef1dceeae"; } + # ]; + + networking.hostName = "nix-nas"; # Define your hostname. + networking.hostId = "00000003"; + # Pick only one of the below networking options. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + + # 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 + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp4s0f3u1u4u1.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; +} diff --git a/flake.nix b/flake.nix index 5e61e9d..ea9b5be 100644 --- a/flake.nix +++ b/flake.nix @@ -47,6 +47,18 @@ ./network-shares.nix ]; }; + nix-nas = lib.nixosSystem { + system = "aarch64-linux"; + specialArgs = inputs; + + modules = [ + ./devices/nas.nix + + ./configuration.nix + + ./users/shatteredmint.nix + ]; + }; }; }; }