36 lines
882 B
Nix
36 lines
882 B
Nix
{ nixpkgs, nurpkgs, home-manager, username ? builtins.getEnv "USER", ... }:
|
|||
|
|
|
||
|
|
let
|
||
|
|
homeDirectory = if username == "root" then "/root" else "/home/${username}";
|
||
|
|
configDir = "${homeDirectory}/.config";
|
||
|
|
|
||
|
|
pkgs = import nixpkgs {
|
||
|
|
config.allowUnfree = true;
|
||
|
|
config.xdg.configHome = configDir;
|
||
|
|
overlays = [
|
||
|
|
nurpkgs.overlay
|
||
|
|
(import ../overlays)
|
||
|
|
];
|
||
|
|
};
|
||
|
|
|
||
|
|
nur = import nurpkgs {
|
||
|
|
inherit pkgs;
|
||
|
|
nur = pkgs;
|
||
|
|
};
|
||
|
|
|
||
|
|
mkhome = system: gui:
|
||
|
|
home-manager.lib.homeManagerConfiguration rec {
|
||
|
|
inherit pkgs system username homeDirectory;
|
||
|
|
stateVersion = "22.05";
|
||
|
|
configuration = import ./home.nix username {
|
||
|
|
inherit nur pkgs gui;
|
||
|
|
inherit (pkgs) config lib stdenv;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
in {
|
||
|
|
"aarch64-gui" = mkhome "aarch64-linux" true;
|
||
|
|
"aarch64-nogui" = mkhome "aarch64-linux" false;
|
||
|
|
"x86_64-gui" = mkhome "x86_64-linux" true;
|
||
|
|
"x86_64-nogui" = mkhome "x86_64-linux" false;
|
||
|
|
}
|