Personal dotfiles with Tokyo Night theming
- Shell 100%
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. |
||
|---|---|---|
| .config | ||
| docs/plans | ||
| .gitignore | ||
| .stow-local-ignore | ||
| .zshrc | ||
| CHANGELOG.md | ||
| install.sh | ||
| LICENSE | ||
| README.md | ||
dotfiles
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/urlsis 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(notzsh-syntax-highlighting—fast-syntax-highlightingis a faster reimplementation of it; running both is redundant and their docs advise against it) install.shrunschsh -s $(command -v zsh)if the login shell (pergetent passwd) isn't already zsh — may prompt for your password
License
GPL-3.0 — see LICENSE