"Simplicity is the ultimate sophistication" - Leonardo da Vinci
A meticulously crafted command-line environment designed for efficiency and elegance
| Component | Choice | Purpose |
|---|---|---|
| OS | Arch Linux | Rolling release, ultimate control |
| WM | Hyprland | Tiling window mananger. Initial config by end-4 |
| Shell | Fish | Powerful, extensible terminal experience |
| Multiplexer | Tmux | Session management & workflow efficiency |
- dots-hyprland - Base hyprland configuration and installation, recommended for first timers
- 🔍 Fuzzy Everything - fzf integration throughout the entire workflow
- ⌨️ Vim-Style Bindings - Consistent modal interactions across all tools
- 👽 Beautiful Prompt - Starship delivers context-aware information
- 𓄀 GNU Stow - Manage your dotfiles elegantly via symlinks
Note
.config/ folder or atleast affected files before proceeding.
# Clone the magic
git clone https://github.com/collins-ruto/dotfiles ~/.dotfiles
cd ~/.dotfiles
# Deploy with GNU Stow
stow fish alacritty # Or customize
# Reload your shell and enjoy ✨# Arch
sudo pacman -S stow
# Debian/Ubuntu
sudo apt install stow
# macOS
brew install stowEach folder in this repo (like fish, kitty, hyprland, etc.) contains a .config/ or dotfile-style structure that mimics the expected paths under your $HOME directory. For example:
alacritty/.config/alacritty/alacritty.yml → ~/.config/alacritty/alacritty.yml
fish/.config/fish/functions/ → ~/.config/fish/functions/
home/.bashrc → ~/.bashrcThis structure allows stow to place symlinks in the correct locations.
Symlink everything from the root of this repo:
stow * # Symlinks ALL configurationsLink only specific tools from the root of this repo:
stow fish alacrittyUnlink a module:
stow -D starshipPreview changes before applying:
stow -nv fishOriginal Docs Rofi options exist check custom keybinds for "SUPER + SHIFT + T"
Script location Read it, Make it executable and just run it.
~/dotfiles/rmpc/.config/rmpc/scripts/ffprobe_fetch_lyrics.sh
# Stop pc from sleep since it will take time for large music library
systemd-inhibit --what=sleep --who="main" --why="downloading lyrics" ~/.config/rmpc/scripts/ffprobe_fetch_lyrics.sh
Requirements
# ffprobe package included in ffmpeg
sudo pacman -S ffmpegConfig location
.config/quickshell/ii/modules/ii/bar🖥️ Hyprland hyprlock.conf Warning for dots-hyprland users
Some scripts (e.g. applycolor.sh) generate or overwrite this file:
.config/hypr/hyprlock.confIf you want a persistent custom configuration, replace the template used by the script at:
.config/ags/scripts/templates/hypr/hyprlock.confOtherwise, any changes will be lost on next theme or color update.
Edit line 337 & 342 in,
~/.config/ags/scss/_bar.scss
which is in the .corner (The top bar - bottom rounded edge)
and .corner-black (The black rounded edge on the top and bottom corners) classes and contains @include large-rounding;
replace the two with something like border-radius: 15px;
To unlink everything:
stow -D *To remove only one module:
stow -D fishRecreates broken or stale links:
stow --restow fishAlways make a backup before restowing:
cp -r ~/.config/fish ~/.config/fish.bakIf links already exist:
stow --override=* # Use carefully!git clone https://github.com/yourname/dotfiles ~/.dotfiles
cd ~/.dotfilesstow kitty fish tmuxKeep machine-specific configs minimal and modular.
stow --help | less
man stow



