Skip to content

alfrdmalr/dotfiles

Repository files navigation

dotfiles

keep config files in source control

The intention of this README is to provide a verbose overview of the packages I've installed or use as part of my workflow. It also serves as documentation for myself when changing my setup or performing some uncommon operation.

Setup

I use a bare git repository (as described in this post) located in $HOME/.dotfiles.

The gist

  • create the $HOME/.dotfiles directory: (git init --bare $HOME/.dotfiles)
  • alias dot to tell git where we're storing changes and where to look for changes: /usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME. Use dot as a drop-in for git to interact with this repo.
  • hide files from git by default: dot --local status.showUntrackedFiles no (when creating new files, need to manually track them with dot add [file])

Cloning:

git clone --bare [repo url] $HOME/.dotfiles

To apply the changes once the repo's been pulled down:

dot checkout

This will likely have conflicts with existing files that already exist, like .xinitrc or .bashrc. Either rename them and merge manually after checkout or nuke them and replace with the checkout.

Scripts

Packages

alacritty

Terminal emulator. Using because text looks crisp, it's pretty fast, and works ootb how I expect.

Config: .config/alacritty/alacritty.yml

bspwm

Window manager. Mostly use some hybrid of automatic/manual tiling.

Config: .config/bspwm/bspwmrc

feh

Image viewer. Used to view images (woah) and set wallpaper.

Setting wallpaper

feh --bg-[fill | center | scale | tile | max] [path]. I mostly use fill and --no-xinerama to span one image across all monitors. Can assign different wallpapers to individual monitors like feh --bg-fill [path1] [path2] [path3]

nvim

Text editor. Using nvim over vim for features like native lsp.

Config: .config/nvim/init.vim. See also vim

picom

Compositor. Used for transparency, blur, drop shadows, etc. Running as a daemon on startup.

Config: .config/picom/picom.conf

polybar

Status bar. Use to display time/network/hardware usage/volume/wm info.

Config: .config/polybar/

rofi

Menu. Use globally to run applications/switch windows, using in scripts to emulate dmenu (rofi -dmenu).

Config: .config/rofi/config.rasi

sxhkd

Hotkey daemon. Handles global hotkeys as well as wm-specific hotkeys.

Config .config/sxhkd/sxhkdrc

udiskie

Automounter. For simple handling of removable storage. Mounts to /run/media/$USER - can unmount with udiskie-umount [path]

vim

Text editor. Using nvim these days, but I try to keep as much of the config as possible inside .vimrc in case I can't use nvim for whatever reason.

Config .vimrc

wal

Palette generator. (Now pywal.) Use to generate colorschemes from an image; use in concert with feh to set both image/colorscheme at once.

No particular config, but I do save some colorscheme .json files to .config/wal/colorschemes to be loaded with wal -n --theme [path] (-n for "no wallpaper")

yay

Package manager. Thin convenience wrapper around pacman.

About

keep config files in source control

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published