Personal dotfiles with Tokyo Night theming
Find a file
omniglitch 4737816ec5 feat(install): add library dependency check for Kurve widget's cava bridge
qt6-qtwebsockets and python3-websockets have no CLI binary, so they can't
go through the existing command -v based DEPS check. Added a separate
LIB_DEPS pre-flight that queries the package manager directly (rpm -q /
dpkg -s) instead.

Without these, the Kurve (audio visualizer) Plasma widget's QML/Python
websocket bridge to cava fails to load and the widget just reports "CAVA
is not running" instead of surfacing the real missing-dependency error.
2026-08-01 00:26:49 +03:00
.config chore: drop kitty and leftover alacritty configs 2026-07-31 23:35:09 +03:00
docs/plans docs: add zsh config integration implementation plan 2026-02-25 19:57:59 +02:00
.gitignore chore: add stow infrastructure (install.sh, gitignore, stow-local-ignore) 2026-02-19 09:44:01 +02:00
.stow-local-ignore chore: add README, LICENSE, CHANGELOG to match repo conventions 2026-02-19 14:15:13 +02:00
.zshrc feat(zsh): switch prompt to starship, drop duplicate syntax-highlighting plugin 2026-07-31 23:30:41 +03:00
CHANGELOG.md feat(install): add library dependency check for Kurve widget's cava bridge 2026-08-01 00:26:49 +03:00
install.sh feat(install): add library dependency check for Kurve widget's cava bridge 2026-08-01 00:26:49 +03:00
LICENSE chore: add README, LICENSE, CHANGELOG to match repo conventions 2026-02-19 14:15:13 +02:00
README.md feat(install): add library dependency check for Kurve widget's cava bridge 2026-08-01 00:26:49 +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
nvim ~/.config/nvim/ Neovim (Lazy.nvim)
newsboat ~/.config/newsboat/ Terminal RSS reader
cava ~/.config/cava/ Audio visualizer
zsh ~/.zshrc, ~/.config/zshrc/, ~/.config/starship.toml Shell config (oh-my-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
Neovim Editor dnf install neovim apt install neovim zypper install neovim
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
ripgrep Telescope search dnf install ripgrep apt install ripgrep zypper install ripgrep
Node.js Mason LSP installs dnf install nodejs apt install nodejs zypper install nodejs
npm Mason LSP installs dnf install npm apt install npm zypper install npm
lazygit Git UI in Neovim dnf install lazygit apt install lazygit zypper install lazygit
Go Mason tools dnf install golang apt install golang zypper install go
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
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

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
  • Neovim plugins are managed by Lazy.nvim and installed on first launch
  • All configs follow the Tokyo Night color palette
  • zsh uses oh-my-zsh (install separately: sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)") and starship for the prompt (~/.config/starship.toml, installed via the package manager — see Requirements)
  • oh-my-zsh custom plugins must be cloned into ~/.oh-my-zsh/custom/plugins/: zsh-autosuggestions, fast-syntax-highlighting (not zsh-syntax-highlightingfast-syntax-highlighting is a faster reimplementation of it; running both is redundant and their docs advise against it)
  • 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