Dotfiles are custom configuration files used to maintain user preferred settings across the operating system. Thanks to version control systems (like Git) and repository hosting services (like GitHub) dotfiles are now easy to maintain as well as share with others.
Looking at someone else's dotfiles helps to discover new configurations and tweaks of commonly used software to increase productivity and comfort.
The dotfiles repository contains directories with configuration files. Each
directory corresponds to a "package" for convenience. For instance, all
Neovim related configuration files are stored in neovim
"package" (directory).
GNU Stow is used to install the packages.
GNU Stow is a symlink farm manager which takes distinct packages of software and/or data located in separate directories on the file system, and makes them appear to be installed in the same place.
Install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Clone dotfiles repository:
git clone http://github.com/rkiyanchuk/dotfiles && cd dotfiles
Install dependencies in Brewfile:
brew bundle install
Run stow
with dotfiles bundle you want to use:
stow -t ~ {bundle}
where {bundle}
is a bundle to install (e.g. bash
or vim
).
Install dotfiles:
stow -t ~ -Svv fish git neovim gnupg tmux sage
Configure Fish shell:
echo $(which fish) | sudo tee -a /etc/shells
chsh -s $(which fish)
Install fisher
plugin manager for Fish:
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
Install pynvim
for neovim:
pip3 install pynvim
Configure tmux.
Install tmux plugin manager:
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
Fix tmux terminfo.
curl -LO https://invisible-island.net/datafiles/current/terminfo.src.gz && gunzip terminfo.src.gz
/usr/bin/tic -xe tmux-256color terminfo.src
Enable key repeat:
defaults write -g ApplePressAndHoldEnabled -bool false
Podman, fix to run x86 images: containers/podman#12899
Font IOSEVKA
Additional software:
TheIne Obinskit NoteBurner LogitTune LogiOoptions+ Kindle Final Cut Pro
Controller For HomeKit ClearVPN Affinity Photo Affinity Designer Affinity Publisher Adobe Acrobat NoteBurner
Youlean Loudness meter XCode