Skip to content

grok-rs/.dotfiles

Repository files navigation

Dotfiles

Personal dotfiles for a Wayland/Sway Linux development environment, managed with GNU Stow.

What's Included

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.

Quick Start

# Clone
git clone --recursive git@github.com:grok-rs/.dotfiles.git ~/.dotfiles

# Install
cd ~/.dotfiles
./bootstrap

Prerequisites

Install 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

Additional setup

  • 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

Structure

~/.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.

Key Bindings

Sway

  • Alt+Return — Open terminal (Kitty)
  • Alt+d — App launcher (Rofi)
  • Alt+hjkl — Focus navigation
  • Alt+Shift+hjkl — Move windows
  • Alt+n — Toggle Waybar
  • Win+Space — Switch keyboard layout (US/RU/UA)
  • Print — Screenshot to clipboard
  • Shift+Print — Area screenshot to clipboard

Tmux (prefix: Ctrl+A)

  • Ctrl+F — Fuzzy find project (tmux-sessionizer)
  • prefix+f — Fuzzy find project (alternative)
  • prefix+hjkl — Pane navigation
  • prefix+b — Toggle status bar
  • prefix+D — Open TODO.md

Neovim

See nvim config repo for keybindings.

Managing Configs

# Re-link all configs after changes
./install

# Link a single package
stow nvim

# Unlink a single package
stow -D nvim

# Remove all symlinks
./uninstall

About

☕️ My Dot Files

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors