From a45c4551712c1ba5cb82eaf290f311ab0e8690e4 Mon Sep 17 00:00:00 2001 From: Collin Williams <96917990+bluedragon1221@users.noreply.github.com> Date: Mon, 9 Jun 2025 17:40:46 +0000 Subject: big changes --- modules/boot/options.nix | 23 +++++++++++++++++++++++ modules/boot/system/default.nix | 37 +++++++++++++++++++++++++++++++++++++ modules/boot/system/plymouth.nix | 21 +++++++++++++++++++++ 3 files changed, 81 insertions(+) create mode 100644 modules/boot/options.nix create mode 100644 modules/boot/system/default.nix create mode 100644 modules/boot/system/plymouth.nix (limited to 'modules/boot') diff --git a/modules/boot/options.nix b/modules/boot/options.nix new file mode 100644 index 0000000..c040032 --- /dev/null +++ b/modules/boot/options.nix @@ -0,0 +1,23 @@ +{ + config, + lib, + ... +}: let + inherit (lib) mkOption mkEnableOption types; +in { + options = { + collinux.boot = { + bootloader = mkOption { + type = types.enum ["grub" "systemd-boot"]; + }; + plymouth = { + enable = mkEnableOption "plymouth bootsplash"; + theme = mkOption { + type = types.enum ["catppuccin" "adwaita"]; + default = config.collinux.theme; + }; + }; + secureBoot.enable = mkEnableOption "lanzaboote"; + }; + }; +} diff --git a/modules/boot/system/default.nix b/modules/boot/system/default.nix new file mode 100644 index 0000000..e32601c --- /dev/null +++ b/modules/boot/system/default.nix @@ -0,0 +1,37 @@ +{ + pkgs, + config, + lib, + ... +}: let + cfg = config.collinux.boot; +in { + imports = [ + ./plymouth.nix + ]; + + boot = + { + initrd = { + verbose = false; + systemd.enable = true; + }; + loader = { + systemd-boot = lib.optionalAttrs (cfg.bootloader == "systemd-boot" && !cfg.secureBoot.enable) { + enable = true; + configurationLimit = 3; + }; + grub = lib.optionalAttrs (cfg.bootloader == "grub") {enable = true;}; + efi.canTouchEfiVariables = true; + timeout = 0; + }; + } + // (lib.optionalAttrs cfg.secureBoot.enable { + lanzaboote = { + enable = true; + pkiBundle = "/var/lib/sbctl"; + }; + }); + + environment.systemPackages = lib.mkIf cfg.secureBoot.enable [pkgs.sbctl]; +} diff --git a/modules/boot/system/plymouth.nix b/modules/boot/system/plymouth.nix new file mode 100644 index 0000000..5f7952b --- /dev/null +++ b/modules/boot/system/plymouth.nix @@ -0,0 +1,21 @@ +{ + pkgs, + config, + lib, + ... +}: let + cfg = config.collinux.boot.plymouth; +in + lib.mkIf cfg.enable { + boot.plymouth = { + enable = true; + theme = + if (cfg.theme == "catppuccin") + then "catppuccin-macchiato" # for whatever reason catppuccin-mocha has errors + else "nixos-bgrt"; + themePackages = + if (cfg.theme == "catppuccin") + then [pkgs.catppuccin-plymouth] + else [pkgs.nixos-bgrt-plymouth]; + }; + } -- cgit v1.3.1