[cleo] stuff

This commit is contained in:
Matthew Bessette
2026-10-30 10:56:36 -04:00
parent f41b6186eb
commit 749c5acf27
7 changed files with 212 additions and 16 deletions
+35 -1
View File
@@ -23,6 +23,13 @@ in
home.sessionVariables.SSH_AUTH_SOCK = onePassPath;
home.sessionVariables.CLAUDE_CONFIG_DIR = "${config.xdg.configHome}/claude";
# Tools that only take a history file path via env var.
home.sessionVariables.LESSHISTFILE = "${config.xdg.stateHome}/less/history";
home.sessionVariables.NODE_REPL_HISTORY = "${config.xdg.stateHome}/node_repl_history";
home.sessionVariables.PYTHON_HISTORY = "${config.xdg.stateHome}/python_history";
home.sessionVariables.PSQL_HISTORY = "${config.xdg.stateHome}/psql_history";
home.sessionVariables.IPYTHONDIR = "${config.xdg.configHome}/ipython";
home.packages = with pkgs; [
nixd
treefmt
@@ -36,13 +43,26 @@ in
xdg.configHome = "${config.home.homeDirectory}/.config";
xdg.cacheHome = "${config.home.homeDirectory}/.cache";
xdg.dataHome = "${config.home.homeDirectory}/.local/share";
xdg.stateHome = "${config.home.homeDirectory}/.config/state";
xdg.stateHome = "${config.home.homeDirectory}/.local/state";
xdg.configFile."1Password/ssh/agent.toml".text = ''
[[ssh-keys]]
item = "${userConfig._1PassKeyName}"
vault = "${userConfig._1PassKeyVault}"
'';
# less and vim don't create the parent dir of their history/viminfo files.
xdg.stateFile."less/.keep".text = "";
xdg.stateFile."vim/.keep".text = "";
# vim >= 9.1 reads ~/.config/vim/vimrc when ~/.vimrc and ~/.vim are absent.
xdg.configFile."vim/vimrc".text = ''
unlet! skip_defaults_vim
source $VIMRUNTIME/defaults.vim
set viminfofile=${config.xdg.stateHome}/vim/viminfo
let g:netrw_home = '${config.xdg.stateHome}/vim'
'';
my.claude.settings = {
"$schema" = "https://json.schemastore.org/claude-code-settings.json";
theme = "dark";
@@ -70,6 +90,18 @@ in
format = 'S: {{printf "%.0f" .BlockPct}}% ({{.BlockResets}}) | W: {{printf "%.0f" .WeeklyPct}}%'
'';
programs.zoxide = {
enable = true;
enableZshIntegration = true;
};
programs.fzf = {
enable = true;
enableZshIntegration = true;
};
programs.ripgrep.enable = true;
programs.tmux.enable = true;
programs.fastfetch.enable = true;
@@ -78,6 +110,7 @@ in
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
history.path = "${config.xdg.stateHome}/zsh/history";
shellAliases = {
ll = "ls -l";
@@ -182,6 +215,7 @@ in
enableBashIntegration = true;
enableZshIntegration = true;
settings = {
command = "tmux new-session -A -s main";
shell-integration-features = "ssh-terminfo,ssh-env";
macos-icon = "chalkboard";
keybind = [