From 614ef2e5cfba616026cb2ce76fb22f02e3fe653e Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sun, 26 Oct 2025 17:16:15 -0400 Subject: [PATCH] Add a minimal base role to record what is needed for a minimal useful system. --- nix/configuration/configuration.nix | 1 + nix/configuration/hosts/recovery/default.nix | 10 +----- .../roles/minimal_base/default.nix | 31 +++++++++++++++++++ 3 files changed, 33 insertions(+), 9 deletions(-) create mode 100644 nix/configuration/roles/minimal_base/default.nix diff --git a/nix/configuration/configuration.nix b/nix/configuration/configuration.nix index b48cb45..9e4b913 100644 --- a/nix/configuration/configuration.nix +++ b/nix/configuration/configuration.nix @@ -48,6 +48,7 @@ ./roles/lvfs ./roles/media ./roles/memtest86 + ./roles/minimal_base ./roles/network ./roles/nix_index ./roles/nix_worker diff --git a/nix/configuration/hosts/recovery/default.nix b/nix/configuration/hosts/recovery/default.nix index 7611360..6cf1ed6 100644 --- a/nix/configuration/hosts/recovery/default.nix +++ b/nix/configuration/hosts/recovery/default.nix @@ -48,15 +48,7 @@ # services.fstrim.enable = lib.mkDefault true; me.build_in_ram.enable = true; - me.doas.enable = true; - me.network.enable = true; - me.nvme.enable = true; + me.minimal_base.enable = true; me.recovery.enable = true; - me.ssh.enable = true; - me.sshd.enable = true; - me.user.enable = true; - me.zfs.enable = true; - me.zrepl.enable = true; - me.zsh.enable = true; }; } diff --git a/nix/configuration/roles/minimal_base/default.nix b/nix/configuration/roles/minimal_base/default.nix new file mode 100644 index 0000000..3bcaed1 --- /dev/null +++ b/nix/configuration/roles/minimal_base/default.nix @@ -0,0 +1,31 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + imports = [ ]; + + options.me = { + minimal_base.enable = lib.mkOption { + type = lib.types.bool; + default = false; + example = true; + description = "Whether we want to install minimal_base."; + }; + }; + + config = lib.mkIf config.me.minimal_base.enable { + me.doas.enable = true; + me.network.enable = true; + me.nvme.enable = true; + me.ssh.enable = true; + me.sshd.enable = true; + me.user.enable = true; + me.zfs.enable = true; + me.zrepl.enable = true; + me.zsh.enable = true; + }; +}