Warning
I have moved my dotfiles to use Nix Home Manager. You can find my new dotfiles in my walnut-environment repo. Therefore, this repo is now archived and no longer being updated.
This directory contains the dotfiles for the main tools I use on my Arch linux system. The dotfiles should work on other Unix-based operating systems.
It includes the dotfiles for the following:
- Zsh and Starship prompt
- Bat
- Zoxide and fzf
- Zsh-syntax-highlighting
- Zsh-autosuggestions
- Node version manager
- Alacritty
- Neovim (with lazy.nvim)
- tmux (with TPM)
- Miniconda
- R
- Julia
- Ruff and some other useful tools.
GNU stow is used to keep all the dotfiles in one directory, allowing for easier version control, maintenance, and symlinking.
Ensure you have the following:
- Git
- A nerd font or patched font
Tip
I designed this repo to be placed in the home (~/
) directory. If you choose to place it somewhere else, you may have to change some of the configurations. For example, instead of stow .
, you will need to use the --dir/-d
flag to point to where you've placed the dotfiles e.g. stow -d ~/foo/dotfiles -t ~/
.
If you do not want to use GNU stow or would like to maintain all of your dotfiles yourself, you can copy whatever files you like from this repository.
Otherwise, if you'd like to use GNU stow to maintain all of your symlinks for you, you can replace or add any of the files with ones you already have and would like to keep.
You can install GNU stow by running
sudo pacman -S stow
Important
Make sure that the file structure of the dotfiles is the same as it would be in the HOME directory. E.g. if you have a dotfile /home/user/foo/.bar
, make sure that it's placed in dotfiles/foo/
To use GNU stow to setup the symlinks, in the dotfiles directory run (assuming it's placed in ~/
)
$ stow .
That should symlink all the files for you.
Note
If you have files that already exists in the location that will be overwritten by stow, stow will abort the symlinking process for those files. To instead replace those files with the ones that exist in the dotfiles directory, run the following:
stow . --adopt
git diff
git reset --hard
If you'd like to ignore directories or files from being symlinked by stow, you can either delete them or add them into the .stow-local-ignore
file.
- Replace the
.gitconfig
with your config. - Run
stow .
whenever you want to create or update the symlinks. - To clean up any symlinks of deleted files, run
stow -R .
- Idea and methodology is based on Dreams of Autonomy's video Stow has forever changed the way I manage my dotfiles.