From f5c9f0f876b313e97c36557f3f06e05152481c17 Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Wed, 14 Feb 2024 21:14:06 +0800 Subject: [PATCH] flake-parts/setups: add `configName` option --- modules/flake-parts/setups/home-manager.nix | 2 +- modules/flake-parts/setups/nixos.nix | 4 ++-- modules/flake-parts/setups/nixvim.nix | 2 +- modules/flake-parts/setups/shared/config-options.nix | 12 +++++++++++- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/modules/flake-parts/setups/home-manager.nix b/modules/flake-parts/setups/home-manager.nix index 73e023ee..7c0c8198 100644 --- a/modules/flake-parts/setups/home-manager.nix +++ b/modules/flake-parts/setups/home-manager.nix @@ -135,7 +135,7 @@ let config = { modules = [ - ../../../configs/home-manager/${name} + ../../../configs/home-manager/${config.configName} ( let diff --git a/modules/flake-parts/setups/nixos.nix b/modules/flake-parts/setups/nixos.nix index 2639d43e..fe70c649 100644 --- a/modules/flake-parts/setups/nixos.nix +++ b/modules/flake-parts/setups/nixos.nix @@ -302,7 +302,7 @@ let config.modules = [ # Bring in the required modules. inputs.${config.homeManagerBranch}.nixosModules.home-manager - ../../../configs/nixos/${name} + ../../../configs/nixos/${config.configName} # Mapping the declarative home-manager users (if it has one) into NixOS # users. @@ -403,7 +403,7 @@ let programs.nixvim = { ... }: { enable = lib.mkDefault true; imports = - partsConfig.setups.nixvim.${config.nixvim.instance}.modules + partsConfig.setups.nixvim.configs.${config.nixvim.instance}.modules ++ partsConfig.setups.nixvim.sharedModules ++ setupConfig.nixvim.additionalModules; }; diff --git a/modules/flake-parts/setups/nixvim.nix b/modules/flake-parts/setups/nixvim.nix index 04a635d1..315a58f4 100644 --- a/modules/flake-parts/setups/nixvim.nix +++ b/modules/flake-parts/setups/nixvim.nix @@ -69,7 +69,7 @@ let config = { modules = [ - ../../../configs/nixvim/${name} + ../../../configs/nixvim/${config.configName} ]; }; }; diff --git a/modules/flake-parts/setups/shared/config-options.nix b/modules/flake-parts/setups/shared/config-options.nix index b3c93aaf..4346cec6 100644 --- a/modules/flake-parts/setups/shared/config-options.nix +++ b/modules/flake-parts/setups/shared/config-options.nix @@ -1,4 +1,4 @@ -{ lib, systems, ... }: { +{ lib, name, systems, ... }: { options = { systems = lib.mkOption { type = with lib.types; listOf str; @@ -18,5 +18,15 @@ A list of NixOS modules specific for that host. ''; }; + + configName = lib.mkOption { + type = lib.types.nonEmptyStr; + default = name; + example = "plover"; + description = '' + The name of the configuration to be used. Useful for creating variants + of the same declarative environment. + ''; + }; }; }