Files
nixos/home/default.nix
T

65 lines
1.2 KiB
Nix
Raw Normal View History

2022-11-01 08:35:06 -05:00
{
nixpkgs,
overlays,
home-manager,
username ? builtins.getEnv "USER",
...
}:
2022-08-02 01:50:50 -05:00
let
2022-09-09 11:54:18 -05:00
home = system:
if username == "root" then "/root" else
( if ( nixpkgs.lib.hasSuffix "-darwin" system ) then "/Users/${username}" else "/home/${username}" );
2022-08-02 01:50:50 -05:00
2022-12-24 00:36:36 -06:00
mkhome = {
system,
gui,
gnome
}:
2022-09-09 11:54:18 -05:00
let
homeDirectory = home system;
configDir = "${homeDirectory}/.config";
pkgs = import nixpkgs {
2022-11-01 08:35:06 -05:00
inherit overlays;
2022-09-09 11:54:18 -05:00
config.allowUnfree = true;
config.xdg.configHome = configDir;
};
in home-manager.lib.homeManagerConfiguration rec {
2022-08-02 01:50:50 -05:00
inherit pkgs system username homeDirectory;
stateVersion = "22.05";
2022-12-24 00:36:36 -06:00
configuration = import ./home.nix {
inherit pkgs gui gnome;
2022-08-02 01:50:50 -05:00
inherit (pkgs) config lib stdenv;
};
};
2022-12-24 00:36:36 -06:00
gdm = {
gui = true;
gnome = true;
};
cli = {
gui = false;
gnome = false;
};
gui = {
gui = true;
gnome = false;
};
arch = { system = "aarch64-linux"; };
x86 = { system = "x86_64-linux"; };
darwin = { system = "x86_64-darwin"; };
2022-08-02 01:50:50 -05:00
in {
2022-12-24 00:36:36 -06:00
"wsl" = mkhome (gui // arch);
"aarch64-gui" = mkhome (gdm // arch);
"aarch64-nogui" = mkhome (cli // arch);
"x86_64-gui" = mkhome (gdm // x86);
"x86_64-nogui" = mkhome (cli // x86);
"x86_64-darwin" = mkhome (gdm // darwin);
2022-08-02 01:50:50 -05:00
}