- JavaScript 65.8%
- CSS 26%
- Python 3.3%
- HTML 2.5%
- Shell 1.3%
- Other 1.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo/workflows | ||
| html | ||
| reports | ||
| research_notes/Pretty Linux status bars | ||
| studio | ||
| themes | ||
| AGENTS.md | ||
| README.md | ||
Mossfire
A dark forest theme: olive-moss backgrounds, a leafy emerald for focus, and amber, coral, magenta, cyan and blue accents.
Palette
| Role | Hex | Role | Hex | |
|---|---|---|---|---|
| bg0 (base) | #0e140c |
green (focus) | #2fd27a |
|
| bg1 (panels) | #151f12 |
amber (primary accent) | #ffae2b |
|
| bg2 (surfaces) | #1f2d1a |
orange | #ff8a2a |
|
| bg3 (borders/selection) | #3a5232 |
red | #ff5443 |
|
| muted (comments) | #7a9168 |
yellow | #ffc22e |
|
| fg dim | #c9cfb2 |
blue | #4aa3ff |
|
| fg | #e9ecd6 |
magenta | #ff5fa8 |
|
| fg bright | #fbfdf0 |
cyan | #1ccfb4 |
ANSI brights: red #ff7d6e, green #66ec9f, yellow #ffd866, blue #80c0ff, magenta #ff8fc3, cyan #5ae6cf.
Web app
studio/index.html is a web app to design your own theme from this one, import other themes, and export files for every app below. See studio/README.md.
Install
# shared bits
mkdir -p ~/.config/mossfire
cp themes/shell/* themes/p10k/* ~/.config/mossfire/
Alacritty: copy themes/alacritty/mossfire.toml to ~/.config/alacritty/, then add import = ["~/.config/alacritty/mossfire.toml"] under [general] in alacritty.toml. Bold text uses bright colors.
Regolith 3 (i3xrocks, bar, borders, gnome-terminal, ilia): a full Regolith look.
mkdir -p ~/.config/regolith3/looks && cp -r themes/regolith/mossfire ~/.config/regolith3/looks/
# in ~/.config/regolith3/Xresources:
# regolith.look.path: /home/<you>/.config/regolith3/looks/mossfire
regolith-look refresh
wm points ilia at /home/dak/..., so change that path if your home differs. i3xrocks only has global label/value colors, so icons are amber and values cream. Anything in ~/.Xresources gets merged last and wins over the look, so remove old wm.client.* color overrides from there. The Regolith terminal script always sets a red cursor and blue bold text. To fix them, run this after each refresh:
P=/org/gnome/terminal/legacy/profiles:/:$(dconf read /org/gnome/terminal/legacy/profiles:/default | tr -d "'")
dconf write $P/cursor-background-color "'#ffae2b'"; dconf write $P/cursor-foreground-color "'#0e140c'"
dconf write $P/highlight-background-color "'#3a5232'"; dconf write $P/highlight-foreground-color "'#fbfdf0'"
dconf write $P/bold-color-same-as-fg true
GTK: themes/gtk/Mossfire is a GTK3 theme made by recoloring Ayu-Mirage-Dark's CSS and PNG assets onto this palette (themes/gtk/build.py). libadwaita apps ignore GTK themes, so themes/gtk/gtk-4.0.css sets their colors instead.
mkdir -p ~/.local/share/themes && cp -r themes/gtk/Mossfire ~/.local/share/themes/
cp themes/gtk/gtk-4.0.css ~/.config/gtk-4.0/gtk.css
gsettings set org.gnome.desktop.interface gtk-theme Mossfire
gsettings set org.gnome.desktop.interface color-scheme prefer-dark
To rebuild after changing the palette, run python3 themes/gtk/build.py (it needs Pillow and the ayu-theme package installed).
Ghostty: copy themes/ghostty/themes/Mossfire to ~/.config/ghostty/themes/ and set theme = Mossfire in your config. Bold text uses bright colors.
Kitty: copy themes/kitty/mossfire.conf to ~/.config/kitty/ and add include mossfire.conf to kitty.conf.
Firefox: set toolkit.legacyUserProfileCustomizations.stylesheets (or copy themes/firefox/user.js) and copy themes/firefox/chrome/ into your profile folder (about:support → Profile Folder). Then restart Firefox. It themes the browser UI (square, flush tabs) and about: pages; websites keep their own colors.
zsh-syntax-highlighting: source ~/.config/mossfire/mossfire-zsh-highlight.zsh after the plugin.
i3: copy themes/i3/mossfire.conf to ~/.config/i3/, add include ~/.config/i3/mossfire.conf to your config, and swap in its bar {} block (or just its colors {}). Then run i3-msg reload.
Studio downloads of kitty, i3, i3blocks and i3status are named <app>-mossfire.conf so they do not clash. Rename to mossfire.conf when you copy them.
Alacritty and Helix downloads likewise use <app>-mossfire.toml; rename to mossfire.toml when installing them. ZIP exports keep each app's directory and original filename.
Bar: use themes/i3blocks/mossfire.conf (put it in ~/.config/i3blocks/) for one color per block, like the preview. Plain i3status only has good/degraded/bad colors, so themes/i3status/mossfire.conf gives you a calmer version. Pick one in the status_command line.
Prompts. Pick one per shell:
- Starship (zsh, bash or fish): copy
themes/starship/starship.tomlto~/.config/starship.toml. For LS_COLORS, alsosource ~/.config/mossfire/mossfire-colors.shin zsh/bash. - Plain zsh: add
source ~/.config/mossfire/mossfire.zshto~/.zshrc. This includes LS_COLORS. - Plain bash: add
source ~/.config/mossfire/mossfire.bashto~/.bashrc. This includes LS_COLORS. - Powerlevel10k: add
source ~/.config/mossfire/mossfire-p10k.zshto~/.zshrcafter the.p10k.zshline, plussource ~/.config/mossfire/mossfire-colors.sh. It's tuned for the rainbow and classic styles. - Fish:
mkdir -p ~/.config/fish/themes cp themes/fish/themes/Mossfire.theme ~/.config/fish/themes/ fish_config theme save Mossfire cp themes/fish/conf.d/mossfire_ls.fish ~/.config/fish/conf.d/ # LS_COLORS cp themes/fish/functions/fish_prompt.fish ~/.config/fish/functions/ # skip if using Starship
Hermes Agent: themes/hermes/skins/mossfire.yaml themes the CLI, TUI and Hermes Desktop. themes/hermes/dashboard-themes/mossfire.yaml themes the web dashboard. Copy both into the same folders under <hermes-home> (~/.hermes by default). Then run hermes config set display.skin mossfire and pick Mossfire in the dashboard's theme switcher.
Obsidian: copy themes/obsidian/Mossfire to <vault>/.obsidian/themes/, then pick Mossfire in Settings → Appearance → Themes. It uses one dark palette for both the dark and light base themes.
VS Code: copy themes/vscode/mossfire to ~/.vscode/extensions/ and restart VS Code. Then pick Mossfire in Preferences → Theme → Color Theme. It colors the workbench, syntax and integrated terminal. To get a .vsix instead, run npx @vscode/vsce package in that folder.
WezTerm: copy themes/wezterm/colors/Mossfire.toml to ~/.config/wezterm/colors/, then set config.color_scheme = 'Mossfire' in wezterm.lua.
Windows Terminal: paste the object from themes/windows-terminal/mossfire.json into
the schemes array in settings.json, then set colorScheme to Mossfire in
profiles.defaults or an existing profile. Studio exports an additional
themes/windows-terminal/mossfire-profile.json when a font is selected. Merge its keys
into profiles.defaults or an existing entry in profiles.list; install the
chosen font on Windows. The scheme remains a separate object in schemes.
Studio's System mono choice uses Windows Terminal's default, Cascadia Mono.
See Windows Terminal color schemes
and profile appearance.
tmux: copy themes/tmux/mossfire.conf to ~/.config/tmux/ and add source-file ~/.config/tmux/mossfire.conf to tmux.conf.
Neovim: copy themes/nvim/colors/mossfire.lua to ~/.config/nvim/colors/, then vim.cmd.colorscheme("mossfire").
Lualine: require("lualine").setup({ options = { theme = require("mossfire_lualine") } }) (call it after the colorscheme is set).
Helix: create ~/.config/helix/themes/ if needed and copy themes/helix/themes/mossfire.toml there. Set theme = "mossfire" at the top of ~/.config/helix/config.toml, or run :theme mossfire in Helix. It colors the editor UI, syntax and diagnostics.
bat / delta: copy themes/bat/themes/Mossfire.tmTheme to ~/.config/bat/themes/
(create the directory first), run bat cache --build, then add --theme="Mossfire"
to ~/.config/bat/config. Check it with bat --list-themes. Delta uses the same
cached syntax theme: set syntax-theme = Mossfire under [delta] in your git
config. For a Studio export, use the exported theme name instead of Mossfire.
See bat custom themes and
delta syntax themes.
btop: create ~/.config/btop/themes/ if needed and copy themes/btop/mossfire.theme there. Set color_theme = "mossfire" in ~/.config/btop/btop.conf, or pick mossfire in btop's theme menu. It colors the resource monitor, box outlines and meter gradients.
Rofi: create ~/.config/rofi/themes/ if needed and copy themes/rofi/mossfire.rasi there. Run rofi -theme mossfire -show drun, or add @theme "mossfire" to ~/.config/rofi/config.rasi. Studio exports include the chosen font at size 12 when set; install that font on the target machine. With no font selected, Rofi keeps its configured font.
The prompts use flat color blocks, so no Nerd Font is needed. JetBrains Mono matches the preview.