mirror of
https://github.com/genebean/dots.git
synced 2026-05-31 07:45:20 -04:00
47 lines
1.4 KiB
Nix
47 lines
1.4 KiB
Nix
{ inputs, ... }:
|
|
{
|
|
mkNixosHost =
|
|
{
|
|
system ? "x86_64-linux",
|
|
hostname,
|
|
username ? "gene",
|
|
additionalModules ? [ ],
|
|
additionalSpecialArgs ? { },
|
|
}:
|
|
inputs.nixpkgs.lib.nixosSystem {
|
|
inherit system;
|
|
specialArgs = {
|
|
inherit inputs hostname username;
|
|
}
|
|
// additionalSpecialArgs;
|
|
modules = [
|
|
./nixpkgs-settings.nix
|
|
|
|
inputs.disko.nixosModules.disko
|
|
|
|
inputs.home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager = {
|
|
extraSpecialArgs = { inherit inputs hostname username; };
|
|
useGlobalPkgs = true;
|
|
useUserPackages = true;
|
|
users.${username}.imports = [
|
|
../modules/shared/home/general
|
|
../modules/shared/home/linux
|
|
../modules/hosts/nixos/${hostname}/home-${username}.nix
|
|
|
|
inputs.private-flake.homeManagerModules.private.git
|
|
(inputs.private-flake.homeManagerModules.private.${hostname} or { })
|
|
];
|
|
};
|
|
}
|
|
|
|
inputs.nix-flatpak.nixosModules.nix-flatpak
|
|
inputs.private-flake.nixosModules.private.ssh-keys
|
|
inputs.sops-nix.nixosModules.sops # system wide secrets management
|
|
../modules/hosts/nixos # system-wide stuff
|
|
../modules/hosts/nixos/${hostname} # host specific stuff
|
|
]
|
|
++ additionalModules;
|
|
};
|
|
}
|