Personal dotfiles for Ubuntu GNOME (X11), managed with GNU Stow.
Screenshots — Earthy Minimalism
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
git clone https://github.com/rafisics/dotfiles.git ~/dotfiles
cd ~/dotfiles
bash install.shThen see system/KEYBOARD-SHORTCUTS.md for GNOME keybinding restore and system/dpkg/manual-packages.txt for the full apt package list.
Two tools are installed manually (not via apt):
- yazi — file manager: github.com/sxyazi/yazi releases
- giph — gif recorder: github.com/phw/giph (shell script,
screenkey+giph -s out.gif)
| Package | What it configures | Docs |
|---|---|---|
bash |
.bashrc, .bash_profile, .bash_logout, .stow-global-ignore |
— |
git |
.gitconfig (identity, credential helper) |
— |
nvim |
Neovim (NvChad) + nvim.fish helper functions |
nvim/README.md |
nvim-tex |
NeoTeX — LaTeX-focused config (benbrastmckie/nvim) | nvim-tex/README.md |
fish |
Fish shell — config, functions, variables | fish/README.md |
starship |
Three prompt configs, switch with starships |
starship/README.md |
kitty |
Kitty terminal | — |
rofi |
Rofi launcher + rofi-zotero | rofi/ · rofi-zotero/ |
zathura |
Zathura PDF viewer + themes | — |
yazi |
Yazi file manager (catppuccin theme) | — |
btop |
btop resource monitor | — |
fastfetch |
Fastfetch preset (os-wm.jsonc) — used in Screenshot 1 |
— |
screenkey |
Screenkey config (~/.config/screenkey.json) — font, opacity, position for keyboard overlay gifs |
— |
mimeapps |
Default application associations (~/.config/mimeapps.list) — Brave for web, etc. |
— |
flameshot |
Flameshot screenshot config — save path, filename pattern, draw thickness | — |
wallpaper |
Wallpaper at ~/.config/background + ~/.local/share/backgrounds/ (1920×1080, resized from original) |
— |
i3 |
i3 WM (archived — not stowed on GNOME) | Shortcuts |
polybar |
Polybar (archived — not stowed on GNOME) | — |
picom |
Picom compositor (archived — not stowed on GNOME) | — |
i3/polybar/picom packages are kept for reference or non-GNOME machines.
install.shdoes not stow them by default.
system/ contains:
dpkg/manual-packages.txt— manually installed packagesgnome/— GNOME dconf exports (full settings, keybindings, extensions)img/— screenshots of GNOME extension settingsKEYBOARD-SHORTCUTS.md— all keybindings documentedTHEME.md— GTK theme, fonts, wallpaper, extension restore guide
Restore GNOME keybindings on a new machine:
dconf load /org/gnome/desktop/wm/keybindings/ < system/gnome/keybindings/wm.dconf
dconf load /org/gnome/shell/keybindings/ < system/gnome/keybindings/shell.dconf
dconf load /org/gnome/settings-daemon/plugins/media-keys/ < system/gnome/keybindings/media-keys.dconfOr just run the fish function: load_gnome_settings
git/.gitconfig-private is gitignored (holds your GitHub no-reply email).
Copy the example and fill it in:
cp git/.gitconfig-private.example git/.gitconfig-private
# edit with your email
stow gitmkdir -p <app>/.config/<app>
# copy config files in
stow <app>






