Minor changes
- Redid the flake module to be based on extendModules instead - Added wrappers - Refactored code - Updated dependencies
This commit is contained in:
parent
9661927410
commit
ee7223ca36
19 changed files with 468 additions and 97 deletions
|
@ -5,26 +5,48 @@
|
|||
lib,
|
||||
...
|
||||
}: {
|
||||
mappers = {
|
||||
nixos = module: {
|
||||
modules = [
|
||||
inputs.agenix.nixosModules.age
|
||||
inputs.disko.nixosModules.disko
|
||||
inputs.mailserver.nixosModules.default
|
||||
self.nixosModules.settei
|
||||
{
|
||||
settei = {
|
||||
username = "niko";
|
||||
sane-defaults.enable = true;
|
||||
flake-qol = {
|
||||
enable = true;
|
||||
inherit inputs;
|
||||
};
|
||||
};
|
||||
}
|
||||
module
|
||||
];
|
||||
};
|
||||
builders = {
|
||||
nixos = name: module: let
|
||||
combinedInputs = inputs // {settei = self;};
|
||||
baseOptions = {
|
||||
settei.flake-qol = {
|
||||
enable = true;
|
||||
inputs = combinedInputs;
|
||||
};
|
||||
};
|
||||
base = inputs.nixpkgs.lib.nixosSystem {
|
||||
modules = [
|
||||
inputs.agenix.nixosModules.age
|
||||
inputs.disko.nixosModules.disko
|
||||
inputs.mailserver.nixosModules.default
|
||||
self.nixosModules.settei
|
||||
baseOptions
|
||||
];
|
||||
};
|
||||
defaultOptions = {
|
||||
username,
|
||||
inputs',
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
settei = {
|
||||
username = lib.mkDefault "niko";
|
||||
sane-defaults.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
users.users.${username}.packages = lib.attrValues inputs'.settei.packages;
|
||||
};
|
||||
in
|
||||
base.extendModules {
|
||||
modules = [
|
||||
defaultOptions
|
||||
module
|
||||
];
|
||||
specialArgs = {
|
||||
prev = base;
|
||||
configurationName = name;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue