Personal dotfiles for a Wayland/Sway Linux development environment, managed with GNU Stow.
| Tool | Config | Purpose |
|---|---|---|
| Sway | sway/ |
Tiling Wayland compositor |
| Waybar | waybar/ |
Status bar |
| Neovim | nvim/ |
Editor (LazyVim + Catppuccin) |
| Neovide | neovide/ |
Neovim GUI |
| Zed | zed/ |
Editor (alternative) |
| Tmux | tmux/ |
Terminal multiplexer |
| Zsh | zsh/ |
Shell (Oh My Zsh + P10k) |
| Lazygit | lazygit/ |
Git TUI |
| Lazydocker | lazydocker/ |
Docker TUI |
| Custom scripts | bin/ |
tmux-sessionizer, etc. |
# Clone
git clone --recursive git@github.com:grok-rs/.dotfiles.git ~/.dotfiles
# Install
cd ~/.dotfiles
./bootstrapInstall these before running bootstrap:
# Core
sudo apt install git stow zsh curl
# Desktop
sudo apt install sway waybar rofi grim slurp wl-clipboard brightnessctl
# Terminal & editors
sudo apt install kitty tmux neovim
# Dev tools
sudo apt install fzf ripgrep fd-find build-essential- Oh My Zsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" - Powerlevel10k:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k - zsh-autosuggestions:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions - alias-tips:
git clone https://github.com/djui/alias-tips.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/alias-tips - Neovide: See neovide.dev
- NVM:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash - SDKMAN:
curl -s https://get.sdkman.io | bash
~/.dotfiles/
├── bin/ → ~/.local/scripts/
├── lazydocker/ → ~/.config/lazydocker/
├── lazygit/ → ~/.config/lazygit/
├── neovide/ → ~/.config/neovide/
├── nvim/ → ~/.config/nvim/
├── personal/ → ~/.config/personal/ (submodule, private)
├── sway/ → ~/.config/sway/
├── tmux/ → ~/.tmux.conf
├── waybar/ → ~/.config/waybar/
├── zed/ → ~/.config/zed/
├── zsh/ → ~/.zshrc, ~/.zsh_profile
├── bootstrap # Setup script
├── install # Re-link configs
└── uninstall # Remove symlinks
Each directory mirrors the home directory structure. GNU Stow creates symlinks from $HOME into this repo.
Alt+Return— Open terminal (Kitty)Alt+d— App launcher (Rofi)Alt+hjkl— Focus navigationAlt+Shift+hjkl— Move windowsAlt+n— Toggle WaybarWin+Space— Switch keyboard layout (US/RU/UA)Print— Screenshot to clipboardShift+Print— Area screenshot to clipboard
Ctrl+F— Fuzzy find project (tmux-sessionizer)prefix+f— Fuzzy find project (alternative)prefix+hjkl— Pane navigationprefix+b— Toggle status barprefix+D— Open TODO.md
See nvim config repo for keybindings.
# Re-link all configs after changes
./install
# Link a single package
stow nvim
# Unlink a single package
stow -D nvim
# Remove all symlinks
./uninstall