mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-05-01 00:19:12 +00:00
flake-parts/setups: add config-specific standalone modules option
This commit is contained in:
parent
52f58cb4a7
commit
a75045fa4d
@ -91,6 +91,13 @@ let
|
|||||||
node.
|
node.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
standaloneConfigModules = options.setups.home-manager.standaloneConfigModules // {
|
||||||
|
description = ''
|
||||||
|
A list of config-specific modules to be used when deployed as a
|
||||||
|
standalone home-manager environment.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
@ -381,7 +388,7 @@ in {
|
|||||||
inherit pkgs system;
|
inherit pkgs system;
|
||||||
inherit (metadata) homeManagerBranch;
|
inherit (metadata) homeManagerBranch;
|
||||||
extraModules = cfg.sharedModules ++ cfg.standaloneConfigModules
|
extraModules = cfg.sharedModules ++ cfg.standaloneConfigModules
|
||||||
++ metadata.modules;
|
++ metadata.modules ++ metadata.standaloneConfigModules;
|
||||||
})) metadata.systems);
|
})) metadata.systems);
|
||||||
in lib.mapAttrs generatePureConfigs cfg.configs;
|
in lib.mapAttrs generatePureConfigs cfg.configs;
|
||||||
in {
|
in {
|
||||||
|
@ -97,6 +97,13 @@ let
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
standaloneConfigModules = options.setups.nixvim.standaloneConfigModules // {
|
||||||
|
description = ''
|
||||||
|
A list of config-specific modules to be included when deployed as a
|
||||||
|
standalone NixVim package.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
@ -252,7 +259,7 @@ in {
|
|||||||
inherit system pkgs;
|
inherit system pkgs;
|
||||||
inherit (component) nixvimBranch;
|
inherit (component) nixvimBranch;
|
||||||
modules = cfg.sharedModules ++ cfg.standaloneConfigModules
|
modules = cfg.sharedModules ++ cfg.standaloneConfigModules
|
||||||
++ metadata.modules ++ [{ package = neovimPackage; }];
|
++ metadata.modules ++ metadata.standaloneConfigModules ++ [{ package = neovimPackage; }];
|
||||||
});
|
});
|
||||||
nixvimConfigs = lib.map mkNixvimConfig' metadata.components;
|
nixvimConfigs = lib.map mkNixvimConfig' metadata.components;
|
||||||
in lib.listToAttrs nixvimConfigs;
|
in lib.listToAttrs nixvimConfigs;
|
||||||
|
@ -62,6 +62,15 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
wrapperManagerConfigModule = { name, config, lib, ... }: {
|
wrapperManagerConfigModule = { name, config, lib, ... }: {
|
||||||
|
options = {
|
||||||
|
standaloneConfigModules = options.setups.wrapper-manager.standaloneConfigModules // {
|
||||||
|
description = ''
|
||||||
|
A list of config-specific modules to be included when the
|
||||||
|
wrapper-manager package is deployed as a standalone package.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
nixpkgs.config = cfg.sharedNixpkgsConfig;
|
nixpkgs.config = cfg.sharedNixpkgsConfig;
|
||||||
specialArgs = cfg.sharedSpecialArgs;
|
specialArgs = cfg.sharedSpecialArgs;
|
||||||
@ -119,7 +128,7 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
standaloneModules = lib.mkOption {
|
standaloneConfigModules = lib.mkOption {
|
||||||
type = with lib.types; listOf deferredModule;
|
type = with lib.types; listOf deferredModule;
|
||||||
default = [ ];
|
default = [ ];
|
||||||
description = ''
|
description = ''
|
||||||
@ -196,8 +205,8 @@ in {
|
|||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
inherit (metadata) specialArgs;
|
inherit (metadata) specialArgs;
|
||||||
wrapperManagerBranch = metadata.wrapper-manager.branch;
|
wrapperManagerBranch = metadata.wrapper-manager.branch;
|
||||||
modules = cfg.sharedModules ++ cfg.standaloneModules
|
modules = cfg.sharedModules ++ cfg.standaloneConfigModules
|
||||||
++ metadata.modules;
|
++ metadata.modules ++ metadata.standaloneConfigModules;
|
||||||
}) validWrapperManagerConfigs;
|
}) validWrapperManagerConfigs;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user