mirror of
https://codeberg.org/leana8959/.files.git
synced 2025-12-06 14:49:14 +00:00
nix: move combinators to top level as a flake module
This commit is contained in:
parent
173e1440c1
commit
952c13b446
5 changed files with 2 additions and 2 deletions
105
nix/flakeModules/combinators/it.nix
Normal file
105
nix/flakeModules/combinators/it.nix
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
localFlake:
|
||||
|
||||
{ inputs, ... }:
|
||||
let
|
||||
mkNixOS =
|
||||
nixosModulesOf: homeModulesOf:
|
||||
{
|
||||
hostname,
|
||||
system,
|
||||
extraNixOSConfig ? { },
|
||||
extraHomeConfig ? { },
|
||||
...
|
||||
}@args:
|
||||
localFlake.withSystem system (
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
specialArgs = {
|
||||
inherit pkgs;
|
||||
inherit hostname;
|
||||
};
|
||||
in
|
||||
inputs.nixpkgs.lib.nixosSystem {
|
||||
inherit specialArgs;
|
||||
modules = nixosModulesOf args ++ [
|
||||
extraNixOSConfig
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = specialArgs;
|
||||
users.leana.imports = homeModulesOf args ++ [ extraHomeConfig ];
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
);
|
||||
|
||||
mkDarwin =
|
||||
darwinModulesOf: homeModulesOf:
|
||||
args@{
|
||||
hostname,
|
||||
system,
|
||||
extraDarwinConfig ? { },
|
||||
extraHomeConfig ? { },
|
||||
...
|
||||
}:
|
||||
localFlake.withSystem system (
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
specialArgs = {
|
||||
inherit pkgs;
|
||||
inherit hostname;
|
||||
};
|
||||
in
|
||||
inputs.nix-darwin.lib.darwinSystem {
|
||||
inherit specialArgs;
|
||||
modules = darwinModulesOf args ++ [
|
||||
extraDarwinConfig
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = specialArgs;
|
||||
users.leana.imports = homeModulesOf args ++ [ extraHomeConfig ];
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
);
|
||||
|
||||
mkHomeManager =
|
||||
homeModulesOf:
|
||||
args@{
|
||||
hostname,
|
||||
system,
|
||||
extraHomeConfig ? { },
|
||||
...
|
||||
}:
|
||||
localFlake.withSystem system (
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
specialArgs = {
|
||||
inherit pkgs;
|
||||
inherit hostname;
|
||||
};
|
||||
in
|
||||
inputs.home-manager.lib.homeManagerConfiguration {
|
||||
inherit (specialArgs) pkgs;
|
||||
extraSpecialArgs = specialArgs;
|
||||
modules = homeModulesOf args ++ [ extraHomeConfig ];
|
||||
}
|
||||
);
|
||||
|
||||
many = func: builtins.mapAttrs (hostname: cfgs: func (cfgs // { inherit hostname; }));
|
||||
in
|
||||
{
|
||||
_module.args = {
|
||||
inherit
|
||||
many
|
||||
mkNixOS
|
||||
mkDarwin
|
||||
mkHomeManager
|
||||
;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue