nixos/lib/host.nix
Giulio De Pasquale 44f757f535 feat(cachix): add cachix configuration files and update host.nix
- Added `cachix.nix` for configuring Cachix substituters
- Added `cachix/nix-community.nix` for Nix Community Cachix settings
- Updated `lib/host.nix` to include `pkgs.nixosModules.cachixConfig` in the list of NixOS modules
2024-12-10 23:58:47 +00:00

49 lines
933 B
Nix

{ pkgs
, nixpkgs
, home-manager
, system
, mkSysRole
, mkUser
, ...
}:
{
mkHost = { name, users, roles ? [ ], imports ? [ ] }:
let
users_mod = (map
(u:
mkUser {
name = u.user;
roles = u.roles;
})
users);
roles_mod = (map (r: mkSysRole r) roles);
add_imports = imports;
in
nixpkgs.lib.nixosSystem {
inherit system pkgs;
modules = [
{
imports = users_mod ++
roles_mod ++
add_imports ++ [
(mkSysRole "common")
(mkSysRole "acme")
(mkUser { name = "root"; roles = [ ]; })
];
home-manager = {
useGlobalPkgs = true;
};
system.stateVersion = "24.11";
}
home-manager.nixosModules.home-manager
../hosts/${name}/default.nix
pkgs.nixosModules.cachixConfig
];
};
}