mirror of
https://github.com/RGBCube/ncc
synced 2025-07-30 03:27:45 +00:00
Start refactor
This commit is contained in:
parent
99b7ccfadb
commit
06cce18e72
155 changed files with 2139 additions and 3738 deletions
53
lib/system.nix
Normal file
53
lib/system.nix
Normal file
|
@ -0,0 +1,53 @@
|
|||
inputs: self: super: let
|
||||
inherit (self) attrValues filter getAttrFromPath hasAttrByPath hasSuffix;
|
||||
inherit (self.filesystem) listFilesRecursive;
|
||||
|
||||
collect = path: listFilesRecursive path
|
||||
|> filter (hasSuffix ".nix");
|
||||
|
||||
commonModules = collect ../modules/common;
|
||||
nixosModules = collect ../modules/nixos;
|
||||
darwinModules = collect ../modules/darwin;
|
||||
|
||||
collectInputs = let
|
||||
inputs' = attrValues inputs;
|
||||
in path: inputs'
|
||||
|> filter (hasAttrByPath path)
|
||||
|> map (getAttrFromPath path);
|
||||
|
||||
inputNixosModules = collectInputs [ "nixosModules" "default" ];
|
||||
inputDarwinModules = collectInputs [ "darwinModules" "default" ];
|
||||
|
||||
inputOverlays = collectInputs [ "overlays" "default" ];
|
||||
overlayModule = { nixpkgs.overlays = inputOverlays; };
|
||||
in {
|
||||
nixosSystem = module: super.nixosSystem {
|
||||
modules = [
|
||||
module
|
||||
overlayModule
|
||||
] ++ commonModules
|
||||
++ nixosModules
|
||||
++ inputNixosModules;
|
||||
|
||||
specialArgs = inputs // {
|
||||
inherit inputs;
|
||||
|
||||
lib = self;
|
||||
};
|
||||
};
|
||||
|
||||
darwinSystem = module: super.darwinSystem {
|
||||
modules = [
|
||||
module
|
||||
overlayModule
|
||||
] ++ commonModules
|
||||
++ darwinModules
|
||||
++ inputDarwinModules;
|
||||
|
||||
specialArgs = inputs // {
|
||||
inherit inputs;
|
||||
|
||||
lib = self;
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue