universe/modules/global/home-manager.nix

65 lines
1.5 KiB
Nix

{ config, lib, pkgs, ... }: {
home-manager = {
useUserPackages = true;
useGlobalPkgs = true;
extraSpecialArgs = {
main = config;
};
sharedModules = [
({ profiles, ... }: {
imports = with profiles; [
# Programs
direnv
emacs
git
gpg
htop
keychain
mpd
ssh
vim
# Terminal
shells.all
starship
tmux
];
home = {
stateVersion = config.system.stateVersion;
sessionVariables = {
inherit (config.environment.sessionVariables) NIX_PATH;
};
};
xdg = {
enable = true;
configFile = {
"nix/registry.json".text = config.environment.etc."nix/registry.json".text;
"nixpkgs/config.nix".text = lib.generators.toPretty { } {
allowUnfree = true;
};
};
userDirs = {
enable = true;
createDirectories = true;
};
};
})
(lib.mkIf config.services.xserver.enable {
xsession.enable = true;
})
(lib.mkIf config.info.graphical ({ profiles, ... }: {
imports = with profiles; [
kitty
];
xdg.systemDirs.data = [
"${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}"
"${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}"
];
}))
];
};
}