Version 26.05
Packages
The following packages are provided by nixkit:
| Package | Description | Platforms |
|---|---|---|
| defaultbrowser | Utility to set the default browser on macOS | macOS (ARM) |
| dimclient | Python client for DIM (DNS and IP Management) | Linux, macOS (ARM), Linux (ARM) |
| flate | Render and diff Flux GitOps repositories offline, without a cluster | macOS (ARM), Linux, Linux (ARM) |
| ghostty-tip | 👻 Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration. | macOS (ARM) |
| kubernetes-mcp-server | Kubernetes MCP server for AI tools to interact with Kubernetes clusters | macOS (ARM), Linux, Linux (ARM) |
| mac-mouse-fix | Make your $10 mouse better than an Apple Trackpad (built from source) | macOS (ARM) |
| mcp-remote | Proxy that lets stdio-only MCP clients connect to remote MCP servers | Linux, macOS (ARM), Linux (ARM) |
| ndcli | Command line interface for DIM (DNS and IP Management) | Linux, macOS (ARM), Linux (ARM) |
| nixupdater | Menu bar app to check for updates on macOS | macOS (ARM) |
| opsops | A simple tool for managing secrets (with 1password integration) | macOS (ARM), Linux (ARM), Linux |
| podman-mac-helper | Helper binary for running Podman on macOS | macOS (ARM) |
| prlsp | LSP server that surfaces GitHub PR review comments as editor diagnostics | macOS (ARM), Linux, Linux (ARM) |
| prlsp-nvim | Neovim plugin for prlsp — view and reply to GitHub PR review comments via LSP | Linux, macOS (ARM), Linux (ARM) |
| prometheus-mcp-server | MCP server for Prometheus integration | Linux, Linux (ARM), macOS (ARM) |
| renovate-jhc | Cross-platform Dependency Automation by Mend.io (JHOFER-Cloud fork) | Linux, macOS (ARM), Linux (ARM) |
| skhd_zig | Simple Hotkey Daemon for macOS, ported from skhd by koekeishiya | macOS (ARM) |
| topf | Talos Orchestrator by PostFinance for managing Talos based Kubernetes clusters | macOS (ARM), Linux, Linux (ARM) |
| yabai | Tiling window manager for macOS based on binary space partitioning | macOS (ARM) |
Requirements
- Nix with flakes enabled
- For Home Manager modules: Home Manager
- For NixOS modules: NixOS system
- For Darwin modules: nix-darwin
-
programs.default-browser.enable -
Whether to enable Default browser configuration.
Type: boolean
Default:
falseExample:
trueDeclared by:
modules/home/default-browser.nix -
programs.default-browser.browser -
The browser to set as default
Type: string
Default:
""Example:
"firefox"Declared by:
modules/home/default-browser.nix -
programs.mac-mouse-fix.enable -
Whether to enable Mac Mouse Fix, installed into /Applications.
Type: boolean
Default:
falseExample:
trueDeclared by:
modules/home/mac-mouse-fix.nix -
programs.mac-mouse-fix.package -
The mac-mouse-fix package to install.
Type: package
Default:
pkgs.mac-mouse-fixDeclared by:
modules/home/mac-mouse-fix.nix -
programs.ndcli.enable -
Whether to enable ndcli command line tool.
Type: boolean
Default:
falseExample:
trueDeclared by:
modules/home/ndcli.nix -
programs.ndcli.server -
DIM server URL
Type: string
Default:
"http://localhost:5000"Declared by:
modules/home/ndcli.nix -
programs.ndcli.username -
Username for DIM authentication
Type: string
Default:
{ _type = "override"; content = ""; priority = 1000; }Declared by:
modules/home/ndcli.nix -
programs.nixupdater.enable -
Whether to enable nixupdater configuration.
Type: boolean
Default:
falseExample:
trueDeclared by:
modules/home/nixupdater.nix -
programs.nixupdater.command -
Command to run when updates are available. Can be used to trigger a notification or directly apply updates
Type: string
Default:
"jinx update"Example:
"darwin-rebuild switch --flake .#my-mac"Declared by:
modules/home/nixupdater.nix -
programs.nixupdater.flake -
Sets the flake path.
Type: string
Default:
""Example:
"/Users/alice/other-dotfiles"Declared by:
modules/home/nixupdater.nix -
programs.nixupdater.interval -
Set the interval in seconds for checking for updates
Type: signed integer
Default:
1800Example:
"300"Declared by:
modules/home/nixupdater.nix -
programs.nixupdater.terminal -
Terminal to use for running the update command. Options: terminal macOS Terminal.app iterm iTerm2 kitty new kitty window (default) kitty-tab new tab in the running kitty instance * kitty-overlay overlay in the focused kitty window * alacritty ghostty
kitty-tab and kitty-overlay use kitty’s remote-control protocol (kitty @ new-window). They require
allow_remote_control yesin kitty.conf, or kitty launched with --listen-on / KITTY_LISTEN_ON. Falls back to a new kitty window when no running instance is found.
Type: one of “terminal”, “iterm”, “kitty”, “kitty-tab”, “kitty-overlay”, “alacritty”, “ghostty”
Default:
"kitty"Example:
"kitty-overlay"Declared by:
modules/home/nixupdater.nix
Known Issues
Claude Code deduplicates MCP servers by command path
Home Manager provides a
programs.mcp.servers option for configuring MCP servers. When multiple servers use
the same binary (e.g. two instances of prometheus-mcp-server pointed at different
clusters), Claude Code (v2.1.71+) incorrectly treats them as duplicates and silently
drops all but one — even when their environment variables differ.
Workaround: wrap each server in a pkgs.writeShellScriptBin stub so each entry
gets a unique store path:
let
mkWrapper = name:
pkgs.writeShellScriptBin "prometheus-mcp-server-${name}" ''
exec ${pkgs.prometheus-mcp-server}/bin/prometheus-mcp-server "$@"
'';
in {
programs.mcp.servers = {
"prometheus/cluster-a" = {
command = "${mkWrapper "cluster-a"}/bin/prometheus-mcp-server-cluster-a";
args = [];
env.PROMETHEUS_URL = "https://prometheus.cluster-a.example.com";
};
"prometheus/cluster-b" = {
command = "${mkWrapper "cluster-b"}/bin/prometheus-mcp-server-cluster-b";
args = [];
env.PROMETHEUS_URL = "https://prometheus.cluster-b.example.com";
};
};
}
Tracked upstream at anthropics/claude-code#32549.