| assets | ||
| dunst/.config/dunst | ||
| fish/.config/fish | ||
| foot/.config/foot | ||
| hypr/.config/hypr | ||
| ly/.config/ly | ||
| nvim/.config/nvim | ||
| rofi/.config/rofi | ||
| starship/.config/starship | ||
| sway/.config/sway | ||
| tmux/.config/tmux | ||
| waybar/.config/waybar | ||
| yazi/.config/yazi | ||
| .gitignore | ||
| README.md | ||
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.
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 terminal showing neofetch, transparent background

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.
Desktop
My 'Desktop' is primarily made up of 3 main pieces, Hyprland, Rofi launcher, and Waybar.
Waybar
My waybar config is floating/detached at the top of the desktop. It has the following sections from left to right:
- Arch Logo
- Date & Time
- System Stats (CPU %, Disk %, RAM %, CPU Temp)
- Focused Window Title
- Workspaces
- Tray
- System Utilities (Pacman Updates, Brightness, Volume, Network, Bluetooth, Awake)
- Battery

