Skip to content
Johannes Huber edited this page Jan 21, 2025 · 24 revisions

About

This is my personal repository to manage and distribute my dotfiles with just git. Feel free to fork and adjust it to your needs.

Packages

The listed packages below are used. Please install them with the package manager of your choice beforehand.

Terminal

  • git
  • ghostty
  • neovim
  • zsh
  • tmux
  • colordiff
  • bat
  • fd
  • eza
  • thefuck
  • zoxide
  • ripgrep
  • grc
  • btop
  • hack
  • noto sans
  • font awesome
  • powerline fonts
  • nerd fonts (meslo)

Desktop

Hyprland

  • hyprland
  • hyprlock
  • hyprpaper
  • hyprshade
  • hyprshot
  • hypridle
  • rofi wayland
  • cliphist
  • slurp
  • swaync
  • waybar
  • wlogout
  • xwaylandvideobridge
  • xdg-desktop-portal-hyprland

Misc

  • pavucontrol
  • playerctl
  • NetworkManager
  • inotify tools
  • qt5ct
  • qt6ct
  • bibata (cursor theme)
  • catppuccin-gtk
  • papirus icon theme
  • Optional: login manager {sddm,gdm,lightdm} (or setup a xinitrc)

Setup

Fork this repository to customize it to your needs. The setup dotfile management is set up like described in this guide. Additionally to the the article the dotbare zsh plugin is installed to enhance the management of the bare repository. Here is a condensed version for you:

  1. Alias in .zshrc (you will need to set the alias for current session or restart your terminal):
alias config='/usr/bin/git --git-dir=$HOME/.cfg --work-tree=$HOME'
  1. Prevent recursion problems
$ mkdir -p ~/.config/git
$ echo "~/.cfg" >> .config/git/ignore
  1. Clone your dotfiles repository. If you have conflicting files while config checkout, then backup/move them away.
$ git clone --bare <git-repo-url> $HOME/.cfg
$ config checkout
  1. Don't show untracked files
$ config config --local status.showUntrackedFiles no
  1. Switch alias in .zshrc to dotbare (you will need to set the alias for current session or restart your terminal):
$ alias config='dotbare'

Workflow

You can use config commands to add and update your dotfiles.

$ config status
$ config add .vimrc
$ config commit -m "Add vimrc"
$ config add .bashrc
$ config commit -m "Add bashrc"
$ config push

dotbare provides a series of scripts starts with a prefix f (e.g. dotbare fadd, dotbare flog etc) that will enable a interactive experience by processing all the git information and display it through fzf. In addition, dotbare also comes with command line completion that you could choose to either to complete git commands or dotbare commands.

Clone this wiki locally