From cc0d2d7b507ca1d3d53324d25b39eb12d8c04eb6 Mon Sep 17 00:00:00 2001 From: Mika Tammi Date: Mon, 4 Mar 2024 17:16:27 +0200 Subject: [PATCH] Refactor module structure into groups of modules Refactor module structure into specific groups of modules, which integrate features from other flakes into the ghaf flake: * common * desktop * disko * host * jetpack * jetpack-microvm * lanzaboote * polarfire Also fix targets to use these new module groups, and export them from flake. Signed-off-by: Mika Tammi --- .reuse/dep5 | 4 +- docs/src/architecture/hardening.md | 10 +-- flake.nix | 1 + .../{ => common}/boot/systemd-boot-dtb.nix | 0 modules/common/common.nix | 48 ++++++++++++++ modules/common/default.nix | 19 ++++++ .../{ => common}/development/debug-tools.nix | 0 modules/common/development/default.nix | 10 +++ modules/{ => common}/development/nix.nix | 0 modules/{ => common}/development/ssh.nix | 0 .../{ => common}/development/usb-serial.nix | 0 modules/{ => common}/firewall/default.nix | 0 .../{ => common}/firewall/kernel-modules.nix | 0 modules/common/hardware/default.nix | 9 +++ modules/{ => common}/hardware/definition.nix | 0 .../lenovo-x1/kernel/guest/test/default.nix | 0 .../kernel/guest/test/test-configuration.nix | 0 .../hardware/x86_64-generic/default.nix | 10 +++ .../configs/ghaf_host_hardened_baseline-x86 | 0 .../kernel/guest/configs/display-gpu.config | 0 .../kernel/guest/configs/guest.config | 0 .../x86_64-generic/kernel/guest/default.nix | 0 .../x86_64-generic/kernel/hardening.nix | 0 .../kernel/host/configs/debug.config | 0 .../kernel/host/configs/networking.config | 0 .../kernel/host/configs/usb.config | 0 .../host/configs/user-input-devices.config | 0 .../kernel/host/configs/virtualization.config | 0 .../x86_64-generic/kernel/host/default.nix | 2 +- .../kernel/host/pkvm/default.nix | 0 .../kernel/host/pkvm/test/default.nix | 0 .../host/pkvm/test/test-configuration.nix | 0 .../kernel/host/test/default.nix | 0 .../kernel/host/test/test-configuration.nix | 0 .../{ => common}/hardware/x86_64-linux.nix | 0 modules/{ => common}/profiles/debug.nix | 5 -- modules/common/profiles/default.nix | 8 +++ modules/{ => common}/profiles/release.nix | 0 .../tpm2.nix => common/tpm2/default.nix} | 0 modules/{ => common}/users/accounts.nix | 0 modules/{ => common}/version/default.nix | 0 .../{ => common}/virtualization/docker.nix | 0 ...kvm-enable-pkvm-on-intel-x86-6.1-lts.patch | 0 modules/default.nix | 17 +++++ modules/desktop/default.nix | 12 ++++ modules/{ => desktop}/graphics/default.nix | 0 modules/{ => desktop}/graphics/demo-apps.nix | 0 modules/{ => desktop}/graphics/fonts.nix | 0 modules/{ => desktop}/graphics/gnome.nix | 0 modules/{ => desktop}/graphics/labwc.nix | 0 .../{ => desktop}/graphics/waybar.config.nix | 2 +- modules/{ => desktop}/graphics/weston.ini.nix | 2 +- modules/{ => desktop}/graphics/weston.nix | 0 .../{ => desktop}/graphics/window-manager.nix | 0 .../{ => desktop}/profiles/applications.nix | 0 modules/desktop/profiles/default.nix | 8 +++ modules/{ => desktop}/profiles/graphics.nix | 0 .../windows-launcher/default.nix | 2 +- .../disko-basic-postboot.nix | 0 .../lenovo-x1-disko-basic.nix | 0 modules/host/default.nix | 62 ++++--------------- .../agx-netvm-wlan-pci-passthrough.nix | 0 modules/jetpack-microvm/default.nix | 8 +++ .../nx-netvm-ethernet-pci-passthrough.nix | 0 .../pci-passthrough-agx-test.patch | 0 .../pci-passthrough-nx-test.patch | 0 modules/jetpack/default.nix | 11 ++++ .../ghaf_host_hardened_baseline-jetson-orin | 0 .../nvidia-jetson-orin/default.nix | 5 +- .../nvidia-jetson-orin/format-module.nix | 0 .../nvidia-jetson-orin/jetson-orin.nix | 0 .../nvidia-jetson-orin/mk-esp-contents.py | 0 .../nvidia-jetson-orin/optee.nix | 0 .../nvidia-jetson-orin/ota-utils-fix.nix | 0 .../nvidia-jetson-orin/partition-template.nix | 0 .../pci-passthrough-common.nix | 0 .../nvidia-jetson-orin/sdimage.nix | 0 .../common/bpmp-virt-common/default.nix | 0 ...2-vfio_platform-reset-required-false.patch | 0 .../patches/0003-bpmp-support-bpmp-virt.patch | 0 .../patches/0004-bpmp-virt-drivers.patch | 0 .../patches/0005-bpmp-overlay.patch | 0 .../virtualization/default.nix | 0 .../host/bpmp-virt-host/default.nix | 0 .../bpmp-virt-host/overlays/qemu/default.nix | 0 .../patches/0001-qemu-v8.1.3_bpmp-virt.patch | 0 .../patches/0001-bpmp-host-proxy-dts.patch | 0 .../patches/0002-bpmp-host-uarta-dts.patch | 0 .../host/uarta-host/default.nix | 0 modules/jetpack/profiles/debug.nix | 18 ++++++ modules/jetpack/profiles/default.nix | 7 +++ .../secureboot.nix => lanzaboote/default.nix} | 2 + .../demo-secure-boot-keys/GUID | 0 .../demo-secure-boot-keys/GUID.license | 0 .../demo-secure-boot-keys/files.db | 0 .../demo-secure-boot-keys/keys/KEK/KEK.key | 0 .../demo-secure-boot-keys/keys/KEK/KEK.pem | 0 .../demo-secure-boot-keys/keys/PK/PK.key | 0 .../demo-secure-boot-keys/keys/PK/PK.pem | 0 .../demo-secure-boot-keys/keys/db/db.key | 0 .../demo-secure-boot-keys/keys/db/db.pem | 0 .../demo-secure-boot-keys/keys/dbx/dbx.key | 0 .../demo-secure-boot-keys/keys/dbx/dbx.pem | 0 modules/microvm/default.nix | 14 +++++ modules/{host => microvm}/networking.nix | 0 .../virtualization/microvm/appvm.nix | 5 +- .../microvm/common/vm-networking.nix | 0 .../virtualization/microvm/guivm.nix | 7 ++- .../virtualization/microvm/microvm-host.nix | 0 .../virtualization/microvm/netvm.nix | 2 +- modules/module-list.nix | 24 ------- modules/polarfire/default.nix | 10 +++ .../polarfire/mpfs-nixos-sdimage.nix | 0 nix/checks.nix | 6 +- nix/devshell/kernel.nix | 2 +- packages/kernel/default.nix | 6 +- targets/default.nix | 12 ++-- targets/generic-x86_64.nix | 27 ++++---- targets/imx8qm-mek.nix | 15 +++-- targets/lenovo-x1/debugModules.nix | 7 --- targets/lenovo-x1/default.nix | 3 +- targets/lenovo-x1/everything.nix | 21 ++++--- targets/microchip-icicle-kit.nix | 13 ++-- targets/nvidia-jetson-orin/default.nix | 47 ++++++-------- targets/vm.nix | 51 +++++++-------- 125 files changed, 339 insertions(+), 215 deletions(-) rename modules/{ => common}/boot/systemd-boot-dtb.nix (100%) create mode 100644 modules/common/common.nix create mode 100644 modules/common/default.nix rename modules/{ => common}/development/debug-tools.nix (100%) create mode 100644 modules/common/development/default.nix rename modules/{ => common}/development/nix.nix (100%) rename modules/{ => common}/development/ssh.nix (100%) rename modules/{ => common}/development/usb-serial.nix (100%) rename modules/{ => common}/firewall/default.nix (100%) rename modules/{ => common}/firewall/kernel-modules.nix (100%) create mode 100644 modules/common/hardware/default.nix rename modules/{ => common}/hardware/definition.nix (100%) rename modules/{ => common}/hardware/lenovo-x1/kernel/guest/test/default.nix (100%) rename modules/{ => common}/hardware/lenovo-x1/kernel/guest/test/test-configuration.nix (100%) create mode 100644 modules/common/hardware/x86_64-generic/default.nix rename modules/{ => common}/hardware/x86_64-generic/kernel/configs/ghaf_host_hardened_baseline-x86 (100%) rename modules/{ => common}/hardware/x86_64-generic/kernel/guest/configs/display-gpu.config (100%) rename modules/{ => common}/hardware/x86_64-generic/kernel/guest/configs/guest.config (100%) rename modules/{ => common}/hardware/x86_64-generic/kernel/guest/default.nix (100%) rename modules/{ => common}/hardware/x86_64-generic/kernel/hardening.nix (100%) rename modules/{ => common}/hardware/x86_64-generic/kernel/host/configs/debug.config (100%) rename modules/{ => common}/hardware/x86_64-generic/kernel/host/configs/networking.config (100%) rename modules/{ => common}/hardware/x86_64-generic/kernel/host/configs/usb.config (100%) rename modules/{ => common}/hardware/x86_64-generic/kernel/host/configs/user-input-devices.config (100%) rename modules/{ => common}/hardware/x86_64-generic/kernel/host/configs/virtualization.config (100%) rename modules/{ => common}/hardware/x86_64-generic/kernel/host/default.nix (95%) rename modules/{ => common}/hardware/x86_64-generic/kernel/host/pkvm/default.nix (100%) rename modules/{ => common}/hardware/x86_64-generic/kernel/host/pkvm/test/default.nix (100%) rename modules/{ => common}/hardware/x86_64-generic/kernel/host/pkvm/test/test-configuration.nix (100%) rename modules/{ => common}/hardware/x86_64-generic/kernel/host/test/default.nix (100%) rename modules/{ => common}/hardware/x86_64-generic/kernel/host/test/test-configuration.nix (100%) rename modules/{ => common}/hardware/x86_64-linux.nix (100%) rename modules/{ => common}/profiles/debug.nix (86%) create mode 100644 modules/common/profiles/default.nix rename modules/{ => common}/profiles/release.nix (100%) rename modules/{security/tpm2.nix => common/tpm2/default.nix} (100%) rename modules/{ => common}/users/accounts.nix (100%) rename modules/{ => common}/version/default.nix (100%) rename modules/{ => common}/virtualization/docker.nix (100%) rename modules/{ => common}/virtualization/pkvm/0001-pkvm-enable-pkvm-on-intel-x86-6.1-lts.patch (100%) create mode 100644 modules/default.nix create mode 100644 modules/desktop/default.nix rename modules/{ => desktop}/graphics/default.nix (100%) rename modules/{ => desktop}/graphics/demo-apps.nix (100%) rename modules/{ => desktop}/graphics/fonts.nix (100%) rename modules/{ => desktop}/graphics/gnome.nix (100%) rename modules/{ => desktop}/graphics/labwc.nix (100%) rename modules/{ => desktop}/graphics/waybar.config.nix (98%) rename modules/{ => desktop}/graphics/weston.ini.nix (96%) rename modules/{ => desktop}/graphics/weston.nix (100%) rename modules/{ => desktop}/graphics/window-manager.nix (100%) rename modules/{ => desktop}/profiles/applications.nix (100%) create mode 100644 modules/desktop/profiles/default.nix rename modules/{ => desktop}/profiles/graphics.nix (100%) rename modules/{ => desktop}/windows-launcher/default.nix (91%) rename modules/{partitioning => disko}/disko-basic-postboot.nix (100%) rename modules/{partitioning => disko}/lenovo-x1-disko-basic.nix (100%) rename modules/{hardware/nvidia-jetson-orin => jetpack-microvm}/agx-netvm-wlan-pci-passthrough.nix (100%) create mode 100644 modules/jetpack-microvm/default.nix rename modules/{hardware/nvidia-jetson-orin => jetpack-microvm}/nx-netvm-ethernet-pci-passthrough.nix (100%) rename modules/{hardware/nvidia-jetson-orin => jetpack-microvm}/pci-passthrough-agx-test.patch (100%) rename modules/{hardware/nvidia-jetson-orin => jetpack-microvm}/pci-passthrough-nx-test.patch (100%) create mode 100644 modules/jetpack/default.nix rename modules/{host => jetpack}/ghaf_host_hardened_baseline-jetson-orin (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/default.nix (72%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/format-module.nix (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/jetson-orin.nix (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/mk-esp-contents.py (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/optee.nix (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/ota-utils-fix.nix (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/partition-template.nix (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/pci-passthrough-common.nix (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/sdimage.nix (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/virtualization/common/bpmp-virt-common/default.nix (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/virtualization/common/bpmp-virt-common/patches/0002-vfio_platform-reset-required-false.patch (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/virtualization/common/bpmp-virt-common/patches/0003-bpmp-support-bpmp-virt.patch (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/virtualization/common/bpmp-virt-common/patches/0004-bpmp-virt-drivers.patch (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/virtualization/common/bpmp-virt-common/patches/0005-bpmp-overlay.patch (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/virtualization/default.nix (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/virtualization/host/bpmp-virt-host/default.nix (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/virtualization/host/bpmp-virt-host/overlays/qemu/default.nix (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/virtualization/host/bpmp-virt-host/overlays/qemu/patches/0001-qemu-v8.1.3_bpmp-virt.patch (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/virtualization/host/bpmp-virt-host/patches/0001-bpmp-host-proxy-dts.patch (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/virtualization/host/bpmp-virt-host/patches/0002-bpmp-host-uarta-dts.patch (100%) rename modules/{hardware => jetpack}/nvidia-jetson-orin/virtualization/host/uarta-host/default.nix (100%) create mode 100644 modules/jetpack/profiles/debug.nix create mode 100644 modules/jetpack/profiles/default.nix rename modules/{host/secureboot.nix => lanzaboote/default.nix} (96%) rename modules/{host => lanzaboote}/demo-secure-boot-keys/GUID (100%) rename modules/{host => lanzaboote}/demo-secure-boot-keys/GUID.license (100%) rename modules/{host => lanzaboote}/demo-secure-boot-keys/files.db (100%) rename modules/{host => lanzaboote}/demo-secure-boot-keys/keys/KEK/KEK.key (100%) rename modules/{host => lanzaboote}/demo-secure-boot-keys/keys/KEK/KEK.pem (100%) rename modules/{host => lanzaboote}/demo-secure-boot-keys/keys/PK/PK.key (100%) rename modules/{host => lanzaboote}/demo-secure-boot-keys/keys/PK/PK.pem (100%) rename modules/{host => lanzaboote}/demo-secure-boot-keys/keys/db/db.key (100%) rename modules/{host => lanzaboote}/demo-secure-boot-keys/keys/db/db.pem (100%) rename modules/{host => lanzaboote}/demo-secure-boot-keys/keys/dbx/dbx.key (100%) rename modules/{host => lanzaboote}/demo-secure-boot-keys/keys/dbx/dbx.pem (100%) create mode 100644 modules/microvm/default.nix rename modules/{host => microvm}/networking.nix (100%) rename modules/{ => microvm}/virtualization/microvm/appvm.nix (97%) rename modules/{ => microvm}/virtualization/microvm/common/vm-networking.nix (100%) rename modules/{ => microvm}/virtualization/microvm/guivm.nix (97%) rename modules/{ => microvm}/virtualization/microvm/microvm-host.nix (100%) rename modules/{ => microvm}/virtualization/microvm/netvm.nix (98%) delete mode 100644 modules/module-list.nix create mode 100644 modules/polarfire/default.nix rename modules/{hardware => }/polarfire/mpfs-nixos-sdimage.nix (100%) diff --git a/.reuse/dep5 b/.reuse/dep5 index dbf91775b..4e230012c 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -7,5 +7,5 @@ Copyright: 2022-2024 Technology Innovation Institute (TII)