Files
nix/modules/flake/lib.nix
T
2026-04-13 17:21:39 +02:00

61 lines
1.4 KiB
Nix

{
inputs,
...
}:
let
inherit (inputs) home-manager-unstable;
dotfilesHome = "/home/love/dotfiles/home.nix";
hasDotfilesHome = builtins.pathExists dotfilesHome;
in
{
mkHost = {
nixpkgs,
disko,
lolcat,
nixosModules,
hostModules ? [ ],
}:
nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inputs = inputs // { "lolcat++" = lolcat; };
inherit nixosModules;
};
modules = [ disko.nixosModules.disko ] ++ hostModules;
};
mkDesktopHost = {
nixpkgs,
disko,
lolcat,
nixosModules,
hostModules ? [ ],
}:
nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inputs = inputs // { "lolcat++" = lolcat; };
inherit nixosModules;
};
modules = [
disko.nixosModules.disko
home-manager-unstable.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.backupFileExtension = "hm-backup";
home-manager.users.love =
if hasDotfilesHome then
import (/. + dotfilesHome)
else
{
home.username = "love";
home.homeDirectory = "/home/love";
home.stateVersion = "25.11";
programs.home-manager.enable = true;
};
}
] ++ hostModules;
};
}