From d833238361d596a8fee6ba1565dcec650c4023aa Mon Sep 17 00:00:00 2001 From: Dict Xiong Date: Tue, 11 Jun 2024 14:00:26 +0800 Subject: [PATCH] feat: add g12; do not wait eth1 and eth2 for online --- flake.nix | 1 + hosts/g12/configuration.nix | 23 +++++++++++++++ hosts/g12/hardware-configuration.nix | 42 ++++++++++++++++++++++++++++ hosts/modules/nasp.nix | 2 ++ 4 files changed, 68 insertions(+) create mode 100644 hosts/g12/configuration.nix create mode 100644 hosts/g12/hardware-configuration.nix diff --git a/flake.nix b/flake.nix index fdb11c8..3b3f032 100644 --- a/flake.nix +++ b/flake.nix @@ -10,6 +10,7 @@ let nixos-x86_64-hosts = [ "g2" + "g12" "g14" ]; in diff --git a/hosts/g12/configuration.nix b/hosts/g12/configuration.nix new file mode 100644 index 0000000..530a91e --- /dev/null +++ b/hosts/g12/configuration.nix @@ -0,0 +1,23 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ + ./hardware-configuration.nix + ../modules/nasp.nix + ]; + nasp = { + enable = true; + gSeries = { + enable = true; + serial = 12; + eth0Name = "eno1"; + eth1Name = "eno2"; + eth2Name = "enp2s0np0"; + }; + }; + boot.supportedFilesystems = [ "zfs" ]; + boot.zfs.forceImportRoot = false; + networking.hostId = "39c15810"; + system.stateVersion = "24.05"; +} diff --git a/hosts/g12/hardware-configuration.nix b/hosts/g12/hardware-configuration.nix new file mode 100644 index 0000000..3ef06b4 --- /dev/null +++ b/hosts/g12/hardware-configuration.nix @@ -0,0 +1,42 @@ +# 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 = [ "ahci" "xhci_pci" "ehci_pci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/69F7-3C1D"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/3c8bd8ba-5775-4943-9d69-973bf465c2a0"; + fsType = "ext4"; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/56730816-8ed6-48d9-a4a9-4afad7f6d7b3"; } + ]; + + # 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.eno1.useDHCP = lib.mkDefault true; + # networking.interfaces.eno2.useDHCP = lib.mkDefault true; + # networking.interfaces.enp2s0np0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/modules/nasp.nix b/hosts/modules/nasp.nix index a48d149..7045467 100644 --- a/hosts/modules/nasp.nix +++ b/hosts/modules/nasp.nix @@ -259,10 +259,12 @@ in DHCP = "yes"; IPv6AcceptRA = true; }; + linkConfig.RequiredForOnline = "no"; }; systemd.network.networks."10-eth2" = { matchConfig.Name = gCfg.eth2Name; address = [ "12.12.12.${ipSuffix}/24" ]; + linkConfig.RequiredForOnline = "no"; }; networking.interfaces.${gCfg.eth0Name}.wakeOnLan.enable = true; networking.extraHosts = ''