mirror of
https://github.com/harivansh-afk/nix.git
synced 2026-04-15 20:03:10 +00:00
44 lines
873 B
Nix
44 lines
873 B
Nix
{
|
|
self,
|
|
inputs,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
username = "rathi";
|
|
hosts = import ../lib/hosts.nix { inherit username; };
|
|
|
|
mkPkgs =
|
|
system:
|
|
import inputs.nixpkgs {
|
|
inherit system;
|
|
config.allowUnfree = true;
|
|
};
|
|
|
|
mkSpecialArgs = host: {
|
|
inherit inputs self username;
|
|
hostname = host.hostname;
|
|
hostConfig = host;
|
|
};
|
|
|
|
mkHomeManagerModule = host: {
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
home-manager.extraSpecialArgs = mkSpecialArgs host;
|
|
home-manager.backupCommand = "bash ${../scripts/home-manager-backup.sh}";
|
|
home-manager.users.${username} = import ../home;
|
|
};
|
|
in
|
|
{
|
|
systems = lib.unique (map (host: host.system) (builtins.attrValues hosts));
|
|
|
|
_module.args = {
|
|
inherit
|
|
username
|
|
hosts
|
|
mkPkgs
|
|
mkSpecialArgs
|
|
mkHomeManagerModule
|
|
;
|
|
};
|
|
}
|