home.nix (2418B)
1 # modules/hosts/generic/home.nix — the home for the generic host: the shared, 2 # self-contained home modules and nothing personal. 3 # 4 # The author's home (modules/home/default.nix) reads its zsh config, fonts and 5 # cursor from a private dotfiles checkout and its keys from sops. None of that 6 # exists on your machine, so this one turns on home-manager's own zsh instead 7 # and uses a font from nixpkgs. 8 { self, ... }: 9 { 10 flake.homeModules.generic = 11 { user, lib, ... }: 12 { 13 imports = with self.homeModules; [ 14 terminal # kitty, Rosé Pine, ctrl+a tmux-style keys 15 neovim # nvf: Neovim with a small Nix-built plugin set 16 prompt # starship + fastfetch, Rosé Pine 17 htb-shell # $TARGET in the prompt 18 cheats # pentest-cheat, nix-cheat, niri-cheat 19 yazi # file manager with previews 20 ]; 21 22 home = { 23 username = user; 24 homeDirectory = "/home/${user}"; 25 stateVersion = "26.05"; 26 }; 27 programs.home-manager.enable = true; 28 29 # The Claude Code skill for this system (skills/nixdaemon/SKILL.md), so 30 # `claude` anywhere on the machine knows how NixDaemon is put together and 31 # how to troubleshoot it — the way Omarchy ships one for its own system. 32 home.file.".claude/skills/nixdaemon/SKILL.md".source = ../../../skills/nixdaemon/SKILL.md; 33 xdg.enable = true; 34 35 # zsh from home-manager, since there is no dotfiles ZDOTDIR here. 36 programs.zsh = { 37 enable = true; 38 autosuggestion.enable = true; 39 syntaxHighlighting.enable = true; 40 history = { 41 size = 50000; 42 ignoreDups = true; 43 share = true; 44 }; 45 }; 46 programs.starship.enableZshIntegration = lib.mkForce true; 47 programs.fzf = { 48 enable = true; 49 enableZshIntegration = true; 50 }; 51 programs.zoxide = { 52 enable = true; 53 enableZshIntegration = true; 54 }; 55 56 # terminal.nix names DMMono Nerd Font, which ships in the author's 57 # dotfiles rather than nixpkgs. JetBrains Mono Nerd Font is installed by 58 # the generic host (fonts.packages) and has real bold/italic faces. 59 programs.kitty.font.name = lib.mkForce "JetBrainsMono Nerd Font"; 60 programs.kitty.settings = { 61 bold_font = lib.mkForce "auto"; 62 italic_font = lib.mkForce "auto"; 63 bold_italic_font = lib.mkForce "auto"; 64 }; 65 }; 66 }