This commit is contained in:
commit
30ce0dafc2
195 changed files with 8902 additions and 0 deletions
16
lib/baseHome.nix
Normal file
16
lib/baseHome.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
osConfig,
|
||||
config,
|
||||
username,
|
||||
...
|
||||
}:
|
||||
{
|
||||
_module.args = {
|
||||
me = {
|
||||
inherit username;
|
||||
}
|
||||
// osConfig.users.users.${username};
|
||||
osSec = osConfig.sops.secrets;
|
||||
sec = config.sops.secrets;
|
||||
};
|
||||
}
|
||||
49
lib/mkColmena.nix
Normal file
49
lib/mkColmena.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
hostname,
|
||||
inputs,
|
||||
users ? [ ],
|
||||
modules ? [ ],
|
||||
overlays ? [ ],
|
||||
}:
|
||||
let
|
||||
mkHome = import ./mkHome.nix;
|
||||
usersHomes = builtins.listToAttrs (
|
||||
map (username: {
|
||||
name = username;
|
||||
value = mkHome {
|
||||
inherit username hostname;
|
||||
};
|
||||
}) users
|
||||
);
|
||||
usersSystemsConfigs = map (username: ../users/${username}/system.nix) users;
|
||||
in
|
||||
{
|
||||
deployment = {
|
||||
allowLocalDeployment = true;
|
||||
tags = [ hostname ];
|
||||
};
|
||||
imports = [
|
||||
{
|
||||
_module.args = {
|
||||
inherit inputs;
|
||||
inherit hostname;
|
||||
};
|
||||
nixpkgs.overlays = overlays;
|
||||
}
|
||||
../hosts/${hostname}
|
||||
../hosts/common
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
inherit hostname;
|
||||
};
|
||||
users = usersHomes;
|
||||
};
|
||||
}
|
||||
]
|
||||
++ modules
|
||||
++ usersSystemsConfigs;
|
||||
}
|
||||
19
lib/mkHome.nix
Normal file
19
lib/mkHome.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
username,
|
||||
hostname,
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
./baseHome.nix
|
||||
../users/${username}/home.nix
|
||||
../users/${username}/hosts/${hostname}.nix
|
||||
];
|
||||
home = {
|
||||
inherit username;
|
||||
stateVersion = "25.05";
|
||||
};
|
||||
_module.args = {
|
||||
inherit username;
|
||||
inherit hostname;
|
||||
};
|
||||
}
|
||||
45
lib/mkNixos.nix
Normal file
45
lib/mkNixos.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
hostname,
|
||||
inputs,
|
||||
system ? "x86_64-linux",
|
||||
users ? [ ],
|
||||
modules ? [ ],
|
||||
homeModules ? [ ],
|
||||
overlays ? [ ],
|
||||
}:
|
||||
let
|
||||
mkUsers = import ./mkUsers.nix;
|
||||
in
|
||||
inputs.nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
{
|
||||
_module.args = {
|
||||
inherit inputs;
|
||||
inherit hostname;
|
||||
inherit system;
|
||||
}
|
||||
// inputs;
|
||||
nixpkgs.overlays = overlays;
|
||||
}
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
sharedModules = [ inputs.sops-nix.homeManagerModules.sops ] ++ homeModules;
|
||||
extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
inherit hostname;
|
||||
};
|
||||
};
|
||||
}
|
||||
../hosts/${hostname}
|
||||
../hosts/common
|
||||
(mkUsers {
|
||||
inherit hostname;
|
||||
inherit users;
|
||||
})
|
||||
]
|
||||
++ modules;
|
||||
}
|
||||
20
lib/mkUsers.nix
Normal file
20
lib/mkUsers.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
hostname,
|
||||
users ? [ ],
|
||||
}:
|
||||
let
|
||||
mkHome = import ./mkHome.nix;
|
||||
usersHomes = builtins.listToAttrs (
|
||||
map (username: {
|
||||
name = username;
|
||||
value = mkHome {
|
||||
inherit username hostname;
|
||||
};
|
||||
}) users
|
||||
);
|
||||
usersSystemsConfigs = map (username: ../users/${username}/system.nix) users;
|
||||
in
|
||||
{
|
||||
home-manager.users = usersHomes;
|
||||
imports = usersSystemsConfigs;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue