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
|
2026-06-10 16:49:15 +01:00
|
|
|
# ./work.nix. See the host table in flake.nix.
|
2026-06-02 07:40:25 -07:00
|
|
|
{ ... }:
|
|
|
|
|
{
|
|
|
|
|
imports = [
|
|
|
|
|
./shell.nix
|
|
|
|
|
./git.nix
|
|
|
|
|
./editor.nix
|
2026-06-10 17:22:00 +01:00
|
|
|
./claude.nix
|
2026-08-11 15:03:18 +01:00
|
|
|
# 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
|
|
|
];
|
|
|
|
|
|
2026-06-10 14:56:58 +01: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;
|
|
|
|
|
|
2026-06-10 15:31:40 +01:00
|
|
|
# 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.
|
2026-06-10 14:56:58 +01:00
|
|
|
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";
|
|
|
|
|
}
|