# Base home.nix { config, lib, pkgs, inputs, user, ... }: { programs.home-manager.enable = true; home.username = "${user.name}"; home.homeDirectory = "/home/${user.name}"; home.sessionPath = [ "${config.home.homeDirectory}/.local/bin" ]; xdg = { enable = true; cacheHome = "${config.home.homeDirectory}/.cache"; configHome = "${config.home.homeDirectory}/.config"; dataHome = "${config.home.homeDirectory}/.local/share"; stateHome = "${config.home.homeDirectory}/.local/state"; }; programs.fzf = { enable = true; tmux.enableShellIntegration = true; }; programs.git = { enable = true; userName = "${user.long}"; userEmail = "${user.email}"; ignores = [ "*~" "*.swp" ]; extraConfig = { global = { init.defaultbranch = "main"; }; }; }; programs.neovim = { enable = true; defaultEditor = true; viAlias = true; vimAlias = true; }; programs.password-store = { enable = true; package = pkgs.pass.withExtensions (exts: [ exts.pass-otp exts.pass-import ]); settings = { PASSWORD_STORE_DIR = "XDG_DATA_HOME/password-store"; PASSWORD_STORE_CLIP_TIME = "60"; }; }; programs.tmux = { enable = true; baseIndex = 1; clock24 = true; escapeTime = 250; historyLimit = 8000; keyMode = "vi"; mouse = false; newSession = false; prefix = "C-b"; terminal = "screen-256color"; }; home.stateVersion = "23.05"; }