Session overhaul: dev tooling, cleanup, theming, fixes

Tooling:
- nh + nvd/nom/statix/deadnix/comma (new programs/nix.nix); GC via nh clean
- zoxide (cd), atuin, just, lazydocker, dust, duf, difftastic (git dft)

Structure:
- rename desktop -> konishi; homeConfigurations -> "user@host" for nh autodetect

Removals (heavy/unused):
- android-studio, unity/.NET/omnisharp/vscode, kicad, zoom, calibre,
  google-fonts, nerd-dictation

Screen recording:
- kooha + vokoscreen-ng + `webcam` corner-cam command/window-rule

Fixes:
- WEBKIT_DISABLE_DMABUF_RENDERER moved to common (electron/tauri on intel)
- kitty pinned to Catppuccin-Mocha; darkman no longer toggles kitty/claude
- claude theme dark + statusline locale fix
- ssh: migrate to settings API + multiplexing/keepalive/AddKeysToAgent;
  gpg-agent enableSshSupport
- silence hyprland configType / gtk4 / xdg userDirs deprecations

Flake hygiene:
- follows=nixpkgs for foundry/hardware/rose-pine/zen/spicetify (10->5 nixpkgs)
- zoxide _ZO_DOCTOR=0

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Miguel Palhas
2026-06-27 18:17:25 +01:00
parent 474bd840d2
commit 39e6276c7d
23 changed files with 569 additions and 682 deletions
+55 -50
View File
@@ -1,64 +1,69 @@
{ pkgs, inputs, ... }:
{
home.file.".default-npm-packages".text = ''
@anthropic-ai/sandbox-runtime
@beads/bd
'';
home = {
packages = with pkgs; [
inputs.claude-code.packages.${pkgs.stdenv.hostPlatform.system}.default
home.packages = with pkgs; [
inputs.claude-code.packages.${pkgs.stdenv.hostPlatform.system}.default
# sandbox
bubblewrap
socat
libseccomp
# sandbox
bubblewrap
socat
libseccomp
# voice
sox
# voice
sox
# beads
dolt
];
# beads
dolt
];
file = {
".default-npm-packages".text = ''
@anthropic-ai/sandbox-runtime
@beads/bd
'';
# Commands
home.file.".claude/commands/merge.md".source = ./commands/merge.md;
home.file.".claude/commands/update.md".source = ./commands/update.md;
home.file.".claude/commands/download-playlist.md".source = ./commands/download-playlist.md;
# Commands
".claude/commands/merge.md".source = ./commands/merge.md;
".claude/commands/update.md".source = ./commands/update.md;
".claude/commands/download-playlist.md".source = ./commands/download-playlist.md;
# Skills: agents
home.file.".claude/skills/designer-bold/SKILL.md".source = ./skills/designer-bold/SKILL.md;
home.file.".claude/skills/designer/SKILL.md".source = ./skills/designer/SKILL.md;
home.file.".claude/skills/frontend-design/SKILL.md".source = ./skills/frontend-design/SKILL.md;
home.file.".claude/skills/analyze-branch/SKILL.md".source = ./skills/analyze-branch/SKILL.md;
home.file.".claude/skills/oracle/SKILL.md".source = ./skills/oracle/SKILL.md;
home.file.".claude/skills/librarian/SKILL.md".source = ./skills/librarian/SKILL.md;
# Skills: agents
".claude/skills/designer-bold/SKILL.md".source = ./skills/designer-bold/SKILL.md;
".claude/skills/designer/SKILL.md".source = ./skills/designer/SKILL.md;
".claude/skills/frontend-design/SKILL.md".source = ./skills/frontend-design/SKILL.md;
".claude/skills/analyze-branch/SKILL.md".source = ./skills/analyze-branch/SKILL.md;
".claude/skills/oracle/SKILL.md".source = ./skills/oracle/SKILL.md;
".claude/skills/librarian/SKILL.md".source = ./skills/librarian/SKILL.md;
# Skills: knowledge
home.file.".claude/skills/git-master/SKILL.md".source = ./skills/git-master/SKILL.md;
home.file.".claude/skills/planning-with-files/SKILL.md".source =
./skills/planning-with-files/SKILL.md;
home.file.".claude/skills/react-patterns/SKILL.md".source = ./skills/react-patterns/SKILL.md;
home.file.".claude/skills/vercel-react-best-practices/SKILL.md".source =
./skills/vercel-react-best-practices/SKILL.md;
# Skills: knowledge
".claude/skills/git-master/SKILL.md".source = ./skills/git-master/SKILL.md;
".claude/skills/planning-with-files/SKILL.md".source =
./skills/planning-with-files/SKILL.md;
".claude/skills/react-patterns/SKILL.md".source = ./skills/react-patterns/SKILL.md;
".claude/skills/vercel-react-best-practices/SKILL.md".source =
./skills/vercel-react-best-practices/SKILL.md;
# Skills: workflows
home.file.".claude/skills/smart-debug/SKILL.md".source = ./skills/smart-debug/SKILL.md;
home.file.".claude/skills/tdd-cycle/SKILL.md".source = ./skills/tdd-cycle/SKILL.md;
home.file.".claude/skills/security-scan/SKILL.md".source = ./skills/security-scan/SKILL.md;
home.file.".claude/skills/issue/SKILL.md".source = ./skills/issue/SKILL.md;
home.file.".claude/skills/remove-deadcode/SKILL.md".source = ./skills/remove-deadcode/SKILL.md;
home.file.".claude/skills/worktree-compare/SKILL.md".source = ./skills/worktree-compare/SKILL.md;
home.file.".claude/skills/worktree-list/SKILL.md".source = ./skills/worktree-list/SKILL.md;
# Skills: workflows
".claude/skills/smart-debug/SKILL.md".source = ./skills/smart-debug/SKILL.md;
".claude/skills/tdd-cycle/SKILL.md".source = ./skills/tdd-cycle/SKILL.md;
".claude/skills/security-scan/SKILL.md".source = ./skills/security-scan/SKILL.md;
".claude/skills/issue/SKILL.md".source = ./skills/issue/SKILL.md;
".claude/skills/remove-deadcode/SKILL.md".source = ./skills/remove-deadcode/SKILL.md;
".claude/skills/worktree-compare/SKILL.md".source = ./skills/worktree-compare/SKILL.md;
".claude/skills/worktree-list/SKILL.md".source = ./skills/worktree-list/SKILL.md;
# Skills: linear workflow
home.file.".claude/skills/linear-common/COMMON.md".source = ./skills/linear-common/COMMON.md;
home.file.".claude/skills/work/SKILL.md".source = ./skills/work/SKILL.md;
home.file.".claude/skills/yolo/SKILL.md".source = ./skills/yolo/SKILL.md;
# Skills: linear workflow
".claude/skills/linear-common/COMMON.md".source = ./skills/linear-common/COMMON.md;
".claude/skills/work/SKILL.md".source = ./skills/work/SKILL.md;
".claude/skills/yolo/SKILL.md".source = ./skills/yolo/SKILL.md;
home.file.".claude/statusline.sh" = {
source = ./statusline.sh;
executable = true;
".claude/statusline.sh" = {
source = ./statusline.sh;
executable = true;
};
".claude/CLAUDE.md".source = ./CLAUDE.md;
};
mutableFiles.".claude/settings.json".source = ./settings.json;
};
home.mutableFiles.".claude/settings.json".source = ./settings.json;
home.file.".claude/CLAUDE.md".source = ./CLAUDE.md;
}
+4 -3
View File
@@ -39,6 +39,9 @@
"type": "command",
"command": "~/.claude/statusline.sh"
},
"enabledPlugins": {
"typescript-lsp@claude-plugins-official": true
},
"extraKnownMarketplaces": {
"impeccable": {
"source": {
@@ -77,7 +80,5 @@
"url": "https://ha-mcp.n62.casa/mcp"
}
},
"enabledPlugins": {
"typescript-lsp@claude-plugins-official": true
}
"tui": "fullscreen"
}