Files

38 lines
1.6 KiB
Nix
Raw Permalink Normal View History

2026-06-02 07:40:25 -07:00
# Base home-manager profile, shared by every host (graphical or headless).
# Graphical hosts additionally import ./desktop.nix; the work host imports
# ./work.nix. See the host table in flake.nix.
2026-06-02 07:40:25 -07:00
{ ... }:
{
imports = [
./shell.nix
./git.nix
./editor.nix
./claude.nix
# Declares services.headlessSecretService; opt-in, off by default. Graphical
# hosts should prefer home-manager's own services.gnome-keyring.
./secret-service.nix
2026-06-02 07:40:25 -07:00
];
# Manage the XDG base-directory layout and ~/.config files. Tools above
# (bat themes, gh config, ...) write under xdg.configHome; enabling this
# makes the paths explicit and consistent across hosts. No regression: the
# defaults match the conventional ~/.config, ~/.cache, ~/.local/share.
xdg.enable = true;
# Editor ($EDITOR and $VISUAL) comes from nixvim's defaultEditor (editor.nix).
# Round out the rest of the standard env. desktop.nix adds its own Wayland
# session vars; home-manager merges the two attrsets, so these do not clash.
home.sessionVariables = {
PAGER = "less -FRX"; # -F quit-if-one-screen, -R raw colour, -X no clear
# Render man pages through bat (themed): col strips backspace overstrike,
# bat -l man -p highlights without its own pager decorations.
MANPAGER = "sh -c 'col -bx | bat -l man -p'";
};
# Pinned to the release first installed on these hosts, NOT the current
# nixpkgs (26.05). stateVersion freezes stateful defaults (file locations,
# service data formats) to that release; bumping it silently migrates that
# state and can break it. Leave it -- it is intentional, not stale.
2026-06-02 07:40:25 -07:00
home.stateVersion = "25.05";
}