- Shell 100%
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>
|
||
|---|---|---|
| .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 |
| 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/urlsis 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"; commit040ceb2at 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-customizationsets up completion, history, fzf colors and the prompt,22-widgetsholds the keybinding widgets (Alt+←/→ dir history, Esc Esc sudo, Ctrl+O copy buffer, web-search), and25-aliasesthe git/eza aliases. These mirrormodules/home/programs/zsh.nixinnixos-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.shclones the two zsh plugins (zsh-autosuggestions,fast-syntax-highlighting) into~/.local/share/zsh/plugins/.fast-syntax-highlightingreplaceszsh-syntax-highlighting(running both is redundant and their docs advise against it), and it must be sourced last.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