From 9335bdeac9fda629cd22edb7ac7522a1d1c2fda9 Mon Sep 17 00:00:00 2001 From: coolneng Date: Thu, 27 Feb 2025 21:03:52 +0100 Subject: [PATCH] Enabled Aoostar R1 specific tweaks --- configuration.nix | 2 +- flake.nix | 4 +- modules/hardware-configuration.nix | 158 +++++++---------------------- 3 files changed, 38 insertions(+), 126 deletions(-) diff --git a/configuration.nix b/configuration.nix index 617d9fb..4b8f1ef 100644 --- a/configuration.nix +++ b/configuration.nix @@ -43,7 +43,7 @@ with pkgs; htop neovim git - inputs.agenix.packages.aarch64-linux.default + inputs.agenix.packages.${config.nixpkgs.localSystem.system}.default ]; # Configure basic SSH access diff --git a/flake.nix b/flake.nix index d8e20ec..71f3356 100644 --- a/flake.nix +++ b/flake.nix @@ -8,7 +8,7 @@ url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; }; - nixos-hardware.url = "github:NixOS/nixos-hardware"; + nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nix-matrix-appservices = { url = "gitlab:coffeetables/nix-matrix-appservices"; inputs.nixpkgs.follows = "nixpkgs"; @@ -42,7 +42,7 @@ (import ./configuration.nix) agenix.nixosModules.age nix-matrix-appservices.nixosModule - inputs.nixos-hardware.nixosModules.aoostar-r1-n100 + nixos-hardware.nixosModules.aoostar-r1-n100 ]; specialArgs = { inherit inputs; diff --git a/modules/hardware-configuration.nix b/modules/hardware-configuration.nix index d9c3370..cd5fd59 100644 --- a/modules/hardware-configuration.nix +++ b/modules/hardware-configuration.nix @@ -1,146 +1,58 @@ # 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, - ... -}: +{ config, lib, pkgs, modulesPath, ... }: { - imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ - "xhci_pci" - "usb_storage" - ]; + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" ]; boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; - fileSystems."/" = { - device = "sysion/root"; - fsType = "zfs"; - }; + fileSystems."/" = + { device = "sysion/stateful/root"; + fsType = "zfs"; + }; - fileSystems."/nix" = { - device = "sysion/root/nix"; - fsType = "zfs"; - }; + fileSystems."/nix" = + { device = "sysion/ephemeral/nix"; + fsType = "zfs"; + }; - fileSystems."/home" = { - device = "sysion/home"; - fsType = "zfs"; - }; + fileSystems."/tmp" = + { device = "sysion/ephemeral/tmp"; + fsType = "zfs"; + }; - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/EB8C-3C86"; - fsType = "vfat"; - }; + fileSystems."/home/coolneng" = + { device = "sysion/stateful/home"; + fsType = "zfs"; + }; - fileSystems."/var/lib/prometheus2" = { - device = "vault/state_directories/prometheus"; - fsType = "zfs"; - }; + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/C332-4650"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; - fileSystems."/var/lib/grafana" = { - device = "vault/state_directories/grafana"; - fsType = "zfs"; - }; - - fileSystems."/var/lib/gitea" = { - device = "vault/state_directories/gitea"; - fsType = "zfs"; - }; - - fileSystems."/var/lib/matrix-as-facebook" = { - device = "vault/state_directories/matrix-as-facebook"; - fsType = "zfs"; - }; - - fileSystems."/var/lib/signald" = { - device = "vault/state_directories/signald"; - fsType = "zfs"; - }; - - fileSystems."/var/lib/matrix-as-signal" = { - device = "vault/state_directories/matrix-as-signal"; - fsType = "zfs"; - }; - - fileSystems."/vault" = { - device = "vault"; - fsType = "zfs"; - }; - - fileSystems."/var/lib/matrix-as-telegram" = { - device = "vault/state_directories/matrix-as-telegram"; - fsType = "zfs"; - }; - - fileSystems."/vault/backups" = { - device = "vault/backups"; - fsType = "zfs"; - }; - - fileSystems."/vault/mosquitto" = { - device = "vault/mosquitto"; - fsType = "zfs"; - }; - - fileSystems."/vault/radicale" = { - device = "vault/radicale"; - fsType = "zfs"; - }; - - fileSystems."/vault/git" = { - device = "vault/git"; - fsType = "zfs"; - }; - - fileSystems."/vault/syncthing" = { - device = "vault/syncthing"; - fsType = "zfs"; - }; - - fileSystems."/vault/backups/zion" = { - device = "vault/backups/zion"; - fsType = "zfs"; - }; - - fileSystems."/vault/backups/monolith" = { - device = "vault/backups/monolith"; - fsType = "zfs"; - }; - - fileSystems."/var/lib/wallabag" = { - device = "vault/state_directories/wallabag"; - fsType = "zfs"; - }; - - fileSystems."/var/lib/containers/storage/overlay" = { - device = "/var/lib/containers/storage/overlay"; - fsType = "none"; - options = [ "bind" ]; - }; - - swapDevices = [ { device = "/dev/disk/by-uuid/835f9dd4-cc27-4443-b5e1-381c2f4b2afc"; } ]; + swapDevices = + [ { device = "/dev/disk/by-uuid/d388feef-a651-4dae-8161-f666136de240"; } + ]; # 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.cni-podman0.useDHCP = lib.mkDefault true; - # networking.interfaces.end0.useDHCP = lib.mkDefault true; - # networking.interfaces.veth25ee5d84.useDHCP = lib.mkDefault true; - # networking.interfaces.veth6e46f8d7.useDHCP = lib.mkDefault true; - # networking.interfaces.veth8506af14.useDHCP = lib.mkDefault true; + # networking.interfaces.enp2s0.useDHCP = lib.mkDefault true; + # networking.interfaces.enp3s0.useDHCP = lib.mkDefault true; # networking.interfaces.wg0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlan0.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true; - nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; - powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand"; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; }