From ba8c1d9d9c9bff4ad32478aff0e615a31c1b2022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=E2=80=9CNiols=E2=80=9D=20Jeannerod?= Date: Wed, 20 Nov 2024 16:04:22 +0100 Subject: [PATCH 1/5] Move hardware config of vm02116 to `infra/common` --- infra/common/default.nix | 1 + infra/common/hardware.nix | 18 ++++++++++++++++++ infra/vm02116/configuration.nix | 4 ---- infra/vm02116/hardware-configuration.nix | 22 ---------------------- 4 files changed, 19 insertions(+), 26 deletions(-) create mode 100644 infra/common/hardware.nix diff --git a/infra/common/default.nix b/infra/common/default.nix index f3fb04b..0630f2f 100644 --- a/infra/common/default.nix +++ b/infra/common/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./hardware.nix ./networking.nix ./users.nix ]; diff --git a/infra/common/hardware.nix b/infra/common/hardware.nix new file mode 100644 index 0000000..ae1b76a --- /dev/null +++ b/infra/common/hardware.nix @@ -0,0 +1,18 @@ +{ + boot = { + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + + initrd = { + availableKernelModules = [ + "ata_piix" + "uhci_hcd" + "sr_mod" + "xen_blkfront" + ]; + kernelModules = [ "dm-snapshot" ]; + }; + }; +} diff --git a/infra/vm02116/configuration.nix b/infra/vm02116/configuration.nix index 1f1e58c..c0d4066 100644 --- a/infra/vm02116/configuration.nix +++ b/infra/vm02116/configuration.nix @@ -9,10 +9,6 @@ ip6 = "2a00:51c0:12:1201::20"; }; - # Use the systemd-boot EFI boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - # Set your time zone. time.timeZone = "Europe/Amsterdam"; diff --git a/infra/vm02116/hardware-configuration.nix b/infra/vm02116/hardware-configuration.nix index 82d1356..2110792 100644 --- a/infra/vm02116/hardware-configuration.nix +++ b/infra/vm02116/hardware-configuration.nix @@ -1,21 +1,6 @@ -# 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. { lib, ... }: { - imports = [ ]; - - boot.initrd.availableKernelModules = [ - "ata_piix" - "uhci_hcd" - "sr_mod" - "xen_blkfront" - ]; - boot.initrd.kernelModules = [ "dm-snapshot" ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; - fileSystems."/" = { device = "/dev/disk/by-uuid/3802a66d-e31a-4650-86f3-b51b11918853"; fsType = "ext4"; @@ -26,14 +11,7 @@ fsType = "vfat"; }; - swapDevices = [ ]; - - # 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.enX0.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; } From 6d0c8caf57036e833c499971a9546ff5f5b6868f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=E2=80=9CNiols=E2=80=9D=20Jeannerod?= Date: Wed, 20 Nov 2024 16:06:44 +0100 Subject: [PATCH 2/5] Factorise hardware config of vm02179 into `infra/common` --- infra/common/hardware.nix | 7 +++++++ infra/vm02179/configuration.nix | 4 ---- infra/vm02179/hardware-configuration.nix | 26 +----------------------- 3 files changed, 8 insertions(+), 29 deletions(-) diff --git a/infra/common/hardware.nix b/infra/common/hardware.nix index ae1b76a..d71fdc5 100644 --- a/infra/common/hardware.nix +++ b/infra/common/hardware.nix @@ -1,4 +1,8 @@ +{ modulesPath, ... }: + { + imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; + boot = { loader = { systemd-boot.enable = true; @@ -9,6 +13,9 @@ availableKernelModules = [ "ata_piix" "uhci_hcd" + "virtio_pci" + "virtio_scsi" + "sd_mod" "sr_mod" "xen_blkfront" ]; diff --git a/infra/vm02179/configuration.nix b/infra/vm02179/configuration.nix index e38180b..59a5add 100644 --- a/infra/vm02179/configuration.nix +++ b/infra/vm02179/configuration.nix @@ -9,10 +9,6 @@ ip6 = "2a00:51c0:12:1201::179"; }; - # Use the systemd-boot EFI boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - # Set your time zone. time.timeZone = "Europe/Amsterdam"; diff --git a/infra/vm02179/hardware-configuration.nix b/infra/vm02179/hardware-configuration.nix index 87f1d3d..36a2506 100644 --- a/infra/vm02179/hardware-configuration.nix +++ b/infra/vm02179/hardware-configuration.nix @@ -1,23 +1,6 @@ -# 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. -{ lib, modulesPath, ... }: +{ lib, ... }: { - imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; - - boot.initrd.availableKernelModules = [ - "ata_piix" - "uhci_hcd" - "virtio_pci" - "virtio_scsi" - "sd_mod" - "sr_mod" - ]; - boot.initrd.kernelModules = [ "dm-snapshot" ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; - fileSystems."/" = { device = "/dev/disk/by-uuid/119863f8-55cf-4e2f-ac17-27599a63f241"; fsType = "ext4"; @@ -32,14 +15,7 @@ ]; }; - swapDevices = [ ]; - - # 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.ens18.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; } From 40ae3db164cc085b63f6bcc3d8bcd5d984d91bcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=E2=80=9CNiols=E2=80=9D=20Jeannerod?= Date: Wed, 20 Nov 2024 16:08:16 +0100 Subject: [PATCH 3/5] Factorise hardware config of vm02186 into `infra/common` --- infra/vm02186/hardware-configuration.nix | 26 +----------------------- infra/vm02186/procolix-configuration.nix | 4 ---- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/infra/vm02186/hardware-configuration.nix b/infra/vm02186/hardware-configuration.nix index dcbe942..d2d567f 100644 --- a/infra/vm02186/hardware-configuration.nix +++ b/infra/vm02186/hardware-configuration.nix @@ -1,23 +1,6 @@ -# 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. -{ lib, modulesPath, ... }: +{ lib, ... }: { - imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; - - boot.initrd.availableKernelModules = [ - "ata_piix" - "uhci_hcd" - "virtio_pci" - "virtio_scsi" - "sd_mod" - "sr_mod" - ]; - boot.initrd.kernelModules = [ "dm-snapshot" ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; - fileSystems."/" = { device = "/dev/disk/by-uuid/833ac0f9-ad8c-45ae-a9bf-5844e378c44a"; fsType = "ext4"; @@ -32,14 +15,7 @@ ]; }; - swapDevices = [ ]; - - # 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.ens18.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; } diff --git a/infra/vm02186/procolix-configuration.nix b/infra/vm02186/procolix-configuration.nix index 691df9d..ea0c923 100644 --- a/infra/vm02186/procolix-configuration.nix +++ b/infra/vm02186/procolix-configuration.nix @@ -9,10 +9,6 @@ ip6 = "2a00:51c0:12:1201::186"; }; - # Use the systemd-boot EFI boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - # Set your time zone. time.timeZone = "Europe/Amsterdam"; From 7c8b26c07cfeca90c07a6271d717014e9de4fbb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=E2=80=9CNiols=E2=80=9D=20Jeannerod?= Date: Wed, 20 Nov 2024 16:09:22 +0100 Subject: [PATCH 4/5] Factorise hardware config of vm02187 into `infra/common` --- infra/vm02187/configuration.nix | 4 ---- infra/vm02187/hardware-configuration.nix | 26 +----------------------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/infra/vm02187/configuration.nix b/infra/vm02187/configuration.nix index 4304bd2..3c58f39 100644 --- a/infra/vm02187/configuration.nix +++ b/infra/vm02187/configuration.nix @@ -9,10 +9,6 @@ ip6 = "2a00:51c0:12:1201::187"; }; - # Use the systemd-boot EFI boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - services.phpfpm.pools.mediawiki.phpOptions = '' upload_max_filesize = 1024M; post_max_size = 1024M; diff --git a/infra/vm02187/hardware-configuration.nix b/infra/vm02187/hardware-configuration.nix index 79f182e..24a8a49 100644 --- a/infra/vm02187/hardware-configuration.nix +++ b/infra/vm02187/hardware-configuration.nix @@ -1,23 +1,6 @@ -# 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. -{ lib, modulesPath, ... }: +{ lib, ... }: { - imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; - - boot.initrd.availableKernelModules = [ - "ata_piix" - "uhci_hcd" - "virtio_pci" - "virtio_scsi" - "sd_mod" - "sr_mod" - ]; - boot.initrd.kernelModules = [ "dm-snapshot" ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; - fileSystems."/" = { device = "/dev/disk/by-uuid/a46a9c46-e32b-4216-a4aa-8819b2cd0d49"; fsType = "ext4"; @@ -32,14 +15,7 @@ ]; }; - swapDevices = [ ]; - - # 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.ens18.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; } From 8a075bb837515e8086307321ec9ed44942a577b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=E2=80=9CNiols=E2=80=9D=20Jeannerod?= Date: Thu, 21 Nov 2024 11:57:26 +0100 Subject: [PATCH 5/5] Keep vm02116's specificities documented --- infra/common/hardware.nix | 1 - infra/vm02116/configuration.nix | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/infra/common/hardware.nix b/infra/common/hardware.nix index d71fdc5..3410294 100644 --- a/infra/common/hardware.nix +++ b/infra/common/hardware.nix @@ -17,7 +17,6 @@ "virtio_scsi" "sd_mod" "sr_mod" - "xen_blkfront" ]; kernelModules = [ "dm-snapshot" ]; }; diff --git a/infra/vm02116/configuration.nix b/infra/vm02116/configuration.nix index c0d4066..01f855f 100644 --- a/infra/vm02116/configuration.nix +++ b/infra/vm02116/configuration.nix @@ -36,6 +36,10 @@ subversion ]; + ## vm02116 is running on old hardware based on a Xen VM environment, so it + ## needs these extra options. Once the VM gets moved to a newer node, these + ## two options can safely be removed. + boot.initrd.availableKernelModules = [ "xen_blkfront" ]; services.xe-guest-utilities.enable = true; # This option defines the first version of NixOS you have installed on this particular machine,