Skip to content

FreibergVlad/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dependencies

Here is a list of tools and libraries which dotfiles depend on. I aim to keep it up-to-date, but I can not guarantee that I haven't missed anything:

  • qtile - obviously. Window manager which all my desktop is build around
  • alacritty - terminal emulator
  • Hack Nerd Font - font which is used across the whole repository
  • rofi - application launcher
  • picom - X window compositor
  • dunst - notification daemon
  • maim - tool to take desktop screenshots
  • xclip - CLI to the X11 clipboard
  • pactl - volume control tool, required by Volume Qtile widget
  • xss-lock - use external locker as X screen saver
  • betterlockscreen - lock screen, i3lock wrapper
  • nmcli - required by NetworkManager Qtile widget
  • brightnessctl - required by Backlight Qtile widget, used to set screen brightness
  • ripgrep - required by Telescope Neovim plugin
  • fd - required by Telescope Neovim plugin
  • dbus-next - DBus library, required by some of Qtile widgets
  • blueman - Bluetooth manager
  • udiskie - USB disks manager

Installation

I prefer manage dotfiles using a bare Git repositories. It's simple and requires no extra tools and symlinks. You can read more about this approach here. First, make sure you have this alias defined. Put it in your .bashrc (or .zshrc, whatever shell you're using) to make it persistent:

alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'

Usually using this approach we need to add source repo to .gitignore so that we don't create weird recursion problems. This repo has .gitignore already so we don't have to do it. Next, clone dotfiles into a bare repository in a "dot" folder of your $HOME:

git clone --bare https://github.com/FreibergVlad/dotfiles.git $HOME/.dotfiles

Don't show untracked files by default:

dotfiles config --local status.showUntrackedFiles no

Checkout the actual content from the bare repository to your $HOME. This step may fail, if your $HOME already has some configuration files which would be overwritten by git. In this case just backup problematic files and run command again.

dotfiles checkout

Configuration

Most of the Qtile environment specific stuff lives in utils.py. I try to keep all shell commands and references to system files there so it will be easy to change something.

Screenshots

Qtile screenshot