dotfiles/home/by-host/endurance/config/dev.nix
Christopher Mühl 85debcbcd4
feat: enable MCP servers and add happy-coder
- Enables official MCP servers (fetch, playwright, stackexchange, arxiv)
- Adds Charlie MCP servers (memory, comunica)
- Adds claudezilla MCP server
- Adds happy-coder mobile client from nixpkgs master
- Adds nodejs_22 for MCP server runtime

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-28 01:25:53 +01:00

134 lines
2.9 KiB
Nix

{
pkgs,
config,
inputs,
...
}: {
home.packages = with pkgs; [
# Editors
jetbrains-toolbox # Installer for JetBrains IDEs
zed-editor
code-cursor
vscode
atuin-desktop
rfc # TUI-based RFC reader
nix-init # Generate Nix packages from URLs
install-nothing
marimo
# Language Servers
lua-language-server
rust-analyzer
nodePackages.typescript
nodePackages.typescript-language-server
nil # nix lsp
# Node.js for MCP servers
nodejs_22
# trurl # Parsing and manipulating URLs via CLI
pandoc # Document converter
ripgrep # Grep file search
dig # DNS
onefetch # Git information tool
tokei # Like cloc
gource # Git history viz
zeal # Offline documentation browser
harbor.dedoc # Terminal-based documentation viewer
just # Just a command runner
claude-monitor
devenv
gitui
tea
harbor.agent-deck # Terminal session manager for AI coding agents
happy-coder # Claude Code mobile client (happy.engineering)
harbor.oryx # TUI for sniffing network traffic using eBPF
# BMAD
sox
ffmpeg
bc
pipx
piper-tts
pulseaudioFull
# Build tools
cargo
glibc
gcc
php82
php82Packages.composer
bun
nomad
damon
inputs.nixmate.packages.${pkgs.stdenv.hostPlatform.system}.default
];
bosun.secrets.npmrc = {
rekeyFile = "npmrc.age";
path = "${config.home.homeDirectory}/.npmrc";
};
programs = {
go.enable = true;
direnv = {
enable = true;
nix-direnv.enable = true;
config.global.log_filter = "^$";
};
claude-code = {
enable = true;
# package = inputs.unstable.${system}.claude-code;
mcpServers = {
# Official MCP servers (require Node.js)
fetch = {
command = "npx";
args = ["-y" "@modelcontextprotocol/server-fetch"];
type = "stdio";
};
playwright = {
command = "npx";
args = ["-y" "@modelcontextprotocol/server-playwright"];
type = "stdio";
};
stackexchange = {
command = "npx";
args = ["-y" "mcp-server-stackexchange"];
type = "stdio";
};
arxiv = {
command = "npx";
args = ["-y" "mcp-server-arxiv"];
type = "stdio";
};
# Custom MCP servers
claudezilla = {
command = "bun";
args = ["/home/toph/code/vendor/claudezilla/mcp/server.js"];
type = "stdio";
};
# Charlie MCP servers (local)
charlie-memory = {
command = "bun";
args = ["/home/toph/agent/mcp/memory/index.js"];
type = "stdio";
};
charlie-comunica = {
command = "bun";
args = ["/home/toph/agent/mcp/comunica/index.js"];
type = "stdio";
};
};
};
};
}