Personal configuration files for various Linux applications.
  • Lua 36.3%
  • Shell 35.8%
  • CSS 20.5%
  • Sass 7.4%
Find a file
2026-01-16 18:23:47 -05:00
assets fixed screenshot again 2026-01-09 18:28:35 -05:00
dunst/.config/dunst decided i like the gap in notifications instead 2025-12-28 16:48:08 -05:00
fish/.config/fish couple of config changes required by an update 2025-12-30 11:55:59 -05:00
foot/.config/foot theme tweakin 2025-12-22 15:16:46 -05:00
hypr/.config/hypr adjust hyprlock spacing of elements 2026-01-16 18:23:47 -05:00
ly/.config/ly added ly config 2025-11-29 21:52:50 -05:00
nvim/.config/nvim faskfj 2025-12-29 20:03:21 -05:00
rofi/.config/rofi updated rofi theme 2026-01-04 21:19:40 -05:00
starship/.config/starship changed starship preset from pure back to nerd-fonts-symbols 2025-12-10 20:56:51 -05:00
sway/.config/sway tweaked border colors or sway 2025-12-03 20:59:20 -05:00
tmux/.config/tmux changed right length from 50 to 100 2025-12-10 20:50:35 -05:00
waybar/.config/waybar updated readme and tweaked waybar config 2026-01-09 18:20:26 -05:00
yazi/.config/yazi added yazi config 2025-11-28 12:38:06 -05:00
.gitignore added .gitignore file 2025-11-25 07:57:34 -05:00
README.md updated readme and tweaked waybar config 2026-01-09 18:20:26 -05:00

Another dotfiles Repo

I keep all of my configs in the typical Linux config file directory /home/username/.config/ or the shorthand ~/.config/ and I use GNU Stow to symlink my configs from the git repo directory to my actual config directory.

The initial setup consists of creating a 'dotfiles' directory in my home directory, ~/dotfiles/, which will be initialized as a git repo with git init. Then for each config I want to add to my git repo, I move either the entire folder, or just the config files to my new dotfiles folder. The approach I take allows for easy stowing of individual configs which can be useful if you want to manage different configs for different systems.

For each dotfile I want to store in my ~/dotfiles/ git repo, I create a directory for the application I want to manage. For example, for my fish config, I would create ~/dotfiles/fish/. This allows me to use the stow command $stow fish in my dotfiles directory, where stow would create a symlink for items in the fish directory under the parent of dotfiles directory. Since I want stow to symlink my config to ~/.config/fish/config.fish, I need to use this exact file path in my dotfiles. Here is an example to illustrate exactly how the symlinking works.

# symlinking the entire config directory for fish
$ mkdir --parents ~/dotfiles/fish/.config/
$ mv ~/.config/fish/ ~/dotfiles/fish/.config/

# now my fish config directory is moved to my dotfiles directory
# now running the following command from the dotfiles directory
~/dotfiles $ stow fish

# creates a symlink from
~/dotfiles/fish/.config/fish/
# to
~/.config/fish/

# if instead you want to do individual files instead of the whole
# directory, you could take the following approach
$ mkdir --parents ~/dotfiles/fish/.config/fish/
mv ~/.config/fish/* ~/dotfiles/fish/.config/fish/

# then when  you run the stow command above, it would symlink the
# individual files instead of the entire directory

That's the setup. In order to apply to a new system you can simply clone the git repo, install stow, and begin stowing your desired configs. Existing config directories/files on the new target machine will need to be deleted before you can stow a new config. If you create, for example, an additional fish config (~/dotfiles/fish2/.config/) you can switch to that by deleting the existing stow symlink with stow --delete fish, then stow the alternate config with stow fish2.

I had previously used the bare git repo setup and I find this setup to much simpler and more flexible.

Configs in Use

My plan is to try and keep this updated with some details and screenshots of most of my stored dotfiles. But realistically this will often lag behind and I may choose to not bother documenting some configs.

Theme

Currently most colors used throughout most of my configs are using colors based on the onedarkpro.nvim Neovim theme. Tired eyes appreciate the more high contrast color schemes.

  1. Terminal
    1. Foot, Fish, Starship, Tmux, Neovim
  2. Desktop
    1. Hyprland, Hyprlock, Waybar, Rofi

Terminal

Nothing too special about my foot terminal configuration. Using a onedarkpro color scheme. Hack and FiraCode Nerd fonts. I use Fish Shell with the Starship prompt set to the Pure theme.

foot terminal showing neofetch, solid background foot neofetch screenshot

foot terminal showing neofetch, transparent background foot neofetch transparent
screenshot

I have a blog post talking about my current Neovim configuration. I fear I've already moved past my 'staying minimal' desire, but all in all, I'm quite happy with where it's at. I finally have a config that works the way I want it to and that I feel I actually know how to utilize half decently.

neovim screenshot

Desktop

My 'Desktop' is primarily made up of 3 main pieces, Hyprland, Rofi launcher, and Waybar.

desktop screenshot desktop screenshot

hyprlock screenshot hyprlock screenshot

Waybar

My waybar config is fairly simple and attached the top of the desktop. It has the following sections from left to right:

  • Date & Time
  • Arch Logo
  • Focused Window Title
  • Workspaces
  • Tray
  • System Utilities (Systemd Error-Check, Pacman Updates, Brightness, Volume, Network, Bluetooth, Awake)
  • Battery