This directory contains Nix flake integration for the Rumpus terminal theme, providing declarative installation and configuration for Home Manager users.
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
rumpus = {
url = "github:715d/rumpus";
inputs.nixpkgs.follows = "nixpkgs";
};
};
}Note: The inputs.nixpkgs.follows = "nixpkgs" line prevents duplicate nixpkgs in your dependency tree, reducing closure size and avoiding potential version conflicts.
{
home-manager.users.yourname = { config, pkgs, ... }: {
imports = [ inputs.rumpus.homeManagerModules.default ];
rumpus = {
enable = true;
tools = {
ghostty.enable = true;
fish.enable = true;
neovim.enable = true;
};
};
};
}home-manager switch --flake .The Rumpus flake provides theme integration for the following tools:
| Tool | Auto-Enable | Manual Step Required |
|---|---|---|
| Ghostty | ✅ File linked | Add theme = rumpus to config |
| Zellij | ✅ File linked | Add theme "rumpus" to config.kdl |
| tmux | ✅ File linked | Source in tmux.conf |
| Fish | ✅ Fully automatic | None - auto-enabled via conf.d |
| Zsh | ✅ Custom dir set | Set programs.zsh.oh-my-zsh.theme = "rumpus" |
| Delta | ✅ File linked | Add to gitconfig |
| Bat | ✅ File linked | Run bat cache --build, set --theme="rumpus" |
| Helix | ✅ File linked | Set theme = "rumpus" in config.toml |
| Zed | ✅ File linked | Select theme in Zed UI |
| Neovim | ✅ File linked | Add vim.cmd("colorscheme rumpus") to config |
rumpus.tools.ghostty.enable = true;Then add to your ~/.config/ghostty/config:
theme = rumpus
rumpus.tools.zellij.enable = true;Then add to your ~/.config/zellij/config.kdl:
theme "rumpus"rumpus.tools.tmux.enable = true;Then add to your ~/.tmux.conf:
source-file ~/.config/tmux/themes/rumpus.tmux.confrumpus.tools.fish.enable = true;No manual step required! The theme is automatically enabled via conf.d/.
rumpus.tools.zsh.enable = true;
programs.zsh = {
enable = true;
oh-my-zsh = {
enable = true;
theme = "rumpus";
};
};Note: Requires programs.zsh.oh-my-zsh.enable = true.
rumpus.tools.delta.enable = true;Then configure git to use Delta and Rumpus:
git config --global include.path ~/.config/delta/rumpus.gitconfig
git config --global delta.features rumpus
git config --global core.pager deltaOr in your Home Manager config:
programs.git = {
enable = true;
includes = [
{ path = "~/.config/delta/rumpus.gitconfig"; }
];
extraConfig = {
delta = {
features = "rumpus";
navigate = true;
};
core.pager = "delta";
};
};rumpus.tools.bat.enable = true;Then rebuild the Bat cache:
bat cache --buildAnd set the theme in ~/.config/bat/config:
--theme="rumpus"
Or via Home Manager:
programs.bat = {
enable = true;
config = {
theme = "rumpus";
};
};rumpus.tools.helix.enable = true;Then add to your ~/.config/helix/config.toml:
theme = "rumpus"Or via Home Manager:
programs.helix = {
enable = true;
settings = {
theme = "rumpus";
};
};rumpus.tools.zed.enable = true;Then select "Rumpus" in Zed's theme selector (Cmd/Ctrl+Shift+P → "theme selector").
Or set in ~/.config/zed/settings.json:
{
"theme": "Rumpus"
}rumpus.tools.neovim.enable = true;Then add to your Neovim config:
init.lua:
vim.cmd("colorscheme rumpus")init.vim:
colorscheme rumpusOr via Home Manager:
programs.neovim = {
enable = true;
extraLuaConfig = ''
vim.cmd("colorscheme rumpus")
'';
};Here's a full example Home Manager configuration:
{ inputs, ... }: {
home-manager.users.yourname = { config, pkgs, ... }: {
imports = [ inputs.rumpus.homeManagerModules.default ];
# Enable Rumpus theme for all tools
rumpus = {
enable = true;
tools = {
ghostty.enable = true;
zellij.enable = true;
tmux.enable = true;
fish.enable = true;
zsh.enable = true;
delta.enable = true;
bat.enable = true;
helix.enable = true;
zed.enable = true;
neovim.enable = true;
};
};
# Tool-specific activation
programs.zsh.oh-my-zsh.theme = "rumpus";
programs.bat.config.theme = "rumpus";
programs.helix.settings.theme = "rumpus";
programs.neovim.extraLuaConfig = ''
vim.cmd("colorscheme rumpus")
'';
# Manual configs (examples)
xdg.configFile."ghostty/config".text = ''
theme = rumpus
# ... other settings
'';
};
}If you don't want to use the Home Manager module, you can use the package directly:
{
home.packages = [ inputs.rumpus.packages.${pkgs.system}.default ];
}Then manually link the theme files you need:
{
xdg.configFile."ghostty/themes/rumpus".source =
"${inputs.rumpus.packages.${pkgs.system}.default}/ghostty/rumpus";
}-
Verify the file was linked:
ls -la ~/.config/ghostty/themes/rumpus -
Check for typos in your config - theme names are case-sensitive.
-
For Bat, rebuild the cache:
bat cache --build bat --list-themes | grep rumpus
If you see: "rumpus.tools.zsh.enable requires programs.zsh.oh-my-zsh.enable = true"
Solution:
programs.zsh = {
enable = true;
oh-my-zsh.enable = true;
};Make sure you've added the activation line to your Neovim config:
vim.cmd("colorscheme rumpus")The module only installs the colorscheme file; it doesn't automatically activate it.
# Check flake validity
nix flake check
# Build the package
nix build
# Test in a temporary shell
nix developTo test local changes:
{
inputs.rumpus.url = "path:/path/to/your/rumpus/repo";
}