Personal dotfiles with Tokyo Night theming
Find a file
omniglitch 5c2db7a487 feat: port zsh, starship, ghostty, fastfetch, helix from nixos-config
Brings this repo's stow-managed configs in line with the Nix/Home
Manager modules in nixos-config (commit 040ceb2), for machines without
Nix (this one is openSUSE). Colors are hand-resolved from
theme/tokens.nix ("Instrument Weathered") since nothing here generates
these files from the Nix source — re-sync by hand when either changes.

- zsh: drop oh-my-zsh. 20-customization now sets up compinit, history,
  fzf colors and the prompt directly; new 22-widgets replaces the
  oh-my-zsh dirhistory/sudo/copybuffer/copyfile/web-search plugins;
  25-aliases gains the git aliases and switches v/vim to hx.
  ~/.config/zshrc/custom/* is now sourced after the numbered files
  instead of instead of them. install.sh clones the two zsh plugins to
  ~/.local/share/zsh/plugins/ instead of installing oh-my-zsh, and
  checks for `starship`.
- starship.toml: rewritten to the Nix module's powerline layout and
  tokens. The committed Nix file had lost most of its Nerd Font
  glyphs (empty separators/icons) — restored them from the Tokyo
  Night preset the module was adapted from. Also maps openSUSE/Linux
  os symbols, which the Nix module doesn't need.
- ghostty/config.ghostty: replaced with the Nix module's settings.
- fastfetch/config.jsonc: recolored to the current tokens (the Nix
  side has no fastfetch config at all).
- helix/: new config.toml, languages.toml and themes/truediff.toml
  mirroring modules/home/programs/helix.nix — truediff theme on
  kanagawa, LSP + format-on-save for Python/Lua/JS/TS/Nix. Language
  servers themselves aren't installed by this repo.
- install.sh: fix --dry-run actually moving/removing
  ~/.config/<app> and ~/.zshrc (the pre-stow backup steps ignored the
  flag).

README and CHANGELOG updated to match.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-22 08:32:55 +03:00
.config feat: port zsh, starship, ghostty, fastfetch, helix from nixos-config 2026-09-22 08:32:55 +03:00
docs/plans docs: add zsh config integration implementation plan 2026-02-25 19:57:59 +02:00
.gitignore feat: drop neovim and its exclusive dependency chain (1.2.0) 2026-08-29 11:41:10 +03:00
.stow-local-ignore chore: add README, LICENSE, CHANGELOG to match repo conventions 2026-02-19 14:15:13 +02:00
.zshrc feat: port zsh, starship, ghostty, fastfetch, helix from nixos-config 2026-09-22 08:32:55 +03:00
CHANGELOG.md feat: port zsh, starship, ghostty, fastfetch, helix from nixos-config 2026-09-22 08:32:55 +03:00
install.sh feat: port zsh, starship, ghostty, fastfetch, helix from nixos-config 2026-09-22 08:32:55 +03:00
LICENSE chore: add README, LICENSE, CHANGELOG to match repo conventions 2026-02-19 14:15:13 +02:00
README.md feat: port zsh, starship, ghostty, fastfetch, helix from nixos-config 2026-09-22 08:32:55 +03:00

dotfiles

Stow Tokyo Night License

Personal dotfiles managed with GNU Stow — Tokyo Night themed throughout.


Managed Configs

Tool Path Description
fastfetch ~/.config/fastfetch/ System info display
newsboat ~/.config/newsboat/ Terminal RSS reader
cava ~/.config/cava/ Audio visualizer
ghostty ~/.config/ghostty/config.ghostty Terminal emulator — Truediff brand palette
helix ~/.config/helix/ Editor ($EDITOR) — Truediff theme on kanagawa, LSP + format-on-save config
zsh ~/.zshrc, ~/.config/zshrc/, ~/.config/starship.toml Shell config (native zsh + starship)

Requirements

install.sh checks for all dependencies before symlinking and exits with install hints if any are missing.

Tool Purpose dnf apt zypper
GNU Stow Install mechanism dnf install stow apt install stow zypper install stow
fastfetch System info dnf install fastfetch apt install fastfetch zypper install fastfetch
newsboat RSS reader dnf install newsboat apt install newsboat zypper install newsboat
cava Audio visualizer dnf install cava apt install cava zypper install cava
zsh Shell dnf install zsh apt install zsh zypper install zsh
fzf Fuzzy finder (Ctrl+R) dnf install fzf apt install fzf zypper install fzf
eza ls replacement dnf install eza apt install eza zypper install eza
starship Shell prompt dnf install starship apt install starship zypper install starship
ghostty Terminal emulator dnf install ghostty apt install ghostty zypper install ghostty
helix Editor ($EDITOR=hx) — not checked by install.sh dnf install helix — zypper install helix
Qt6 WebSockets (QML) Kurve audio-visualizer Plasma widget's cava bridge dnf install qt6-qtwebsockets apt install qml6-module-qtwebsockets zypper install qt6-websockets-imports
python-websockets Kurve audio-visualizer Plasma widget's cava bridge dnf install python3-websockets apt install python3-websockets zypper install python313-websockets

Helix language servers (optional, not checked by install.sh). languages.toml expects these on $PATH; a missing one only disables that language's LSP/formatting, but with auto-format = true saving a file whose formatter is missing logs an error. On openSUSE: zypper install python313-ruff StyLua lua-language-server; pyright and typescript-language-server come from npm i -g pyright typescript-language-server; nil and nixfmt are only needed for editing Nix. Run hx --health <language> to see what's missing.

These two have no CLI binary, so install.sh checks them by package name (rpm -q / dpkg -s) instead of command -v. The zypper names are confirmed on Tumbleweed; dnf/apt are the conventional names, not independently verified.

Install

git clone forgejo:truediff/dotfiles.git
cd dotfiles
./install.sh

Preview without applying:

./install.sh --dry-run

Notes

  • ~/.config/newsboat/urls is gitignored — back it up before reinstalling
  • cava and newsboat still follow the Tokyo Night color palette. starship, ghostty, and fastfetch instead follow the Truediff design tokens from nixos-config (theme/tokens.nix, "Instrument Weathered"; commit 040ceb2 at the time of the port). The colors are copied in by hand — this machine has no Nix, so nothing regenerates them; re-sync when that file changes. The repo is mid-migration, not fully Tokyo Night throughout.
  • zsh is plain zsh (no oh-my-zsh): .config/zshrc/20-customization sets up completion, history, fzf colors and the prompt, 22-widgets holds the keybinding widgets (Alt+←/→ dir history, Esc Esc sudo, Ctrl+O copy buffer, web-search), and 25-aliases the git/eza aliases. These mirror modules/home/programs/zsh.nix in nixos-config — that module is the reference. Prompt is starship (~/.config/starship.toml, installed via the package manager — see Requirements). Files in ~/.config/zshrc/custom/ are sourced last and are not tracked here.
  • install.sh clones the two zsh plugins (zsh-autosuggestions, fast-syntax-highlighting) into ~/.local/share/zsh/plugins/. fast-syntax-highlighting replaces zsh-syntax-highlighting (running both is redundant and their docs advise against it), and it must be sourced last.
  • install.sh runs chsh -s $(command -v zsh) if the login shell (per getent passwd) isn't already zsh — may prompt for your password

License

GPL-3.0 — see LICENSE