Files
nix-config-v2/home/default.nix
2025-10-30 17:34:55 -04:00

73 lines
1.5 KiB
Nix

{ lib
, pkgs
, userName
, userEmail
, ghostty
, isNixOS ? true
, ...
}:
let
# Have a file structure that holds all the configuration files that can't be configured by Nix
dirs = {
defaults = ../defaults;
};
in
{
# Import sub modules
imports = map (module: import module { inherit lib pkgs dirs userName userEmail ghostty isNixOS; }) [
./atuin.nix
./shell.nix
./packages
./git.nix
./starship.nix
./eza.nix
./neovim.nix
./direnv.nix
# ./sway.nix
./terminal.nix
./browser.nix
./zellij.nix
./bat.nix
./lazygit.nix
] ++ lib.optionalattrs isNixOS [
./sway.nix
];
home = lib.mkMerge [
{
username = userName;
homeDirectory =
if pkgs.stdenv.isDarwin
then "/Users/${userName}"
else "/home/${userName}";
stateVersion = "24.11";
}
(lib.mkIf isNixOS {
sessionVariables = {
XDG_CURRENT_DESKTOP = "sway";
XDG_SESSION_TYPE = "wayland";
XDG_SESSION_DESKTOP = "sway";
XDG_CONFIG_HOME = "$HOME/.config";
XDG_CACHE_HOME = "$HOME/.cache";
XDG_DATA_HOME = "$HOME/.local/share";
XDG_STATE_HOME = "$HOME/.local/state";
NIXOS_OZONE_WL = "1";
};
})
(lib.mkIf pkgs.stdenv.isLinux {
pointerCursor = {
gtk.enable = true;
package = pkgs.catppuccin-cursors.mochaDark;
name = "catppuccin-mocha-dark-cursors";
size = 22;
};
})
];
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}