A personal collection of dotfiles (i.e., configuration files) managed with GNU Stow. Reference dotfiles.github.io or this youtube video to learn more about dotfiles.
-
Clone the Repository
git clone https://github.com/sgtoj/.dotfiles.git ~/.dotfiles
-
Navigate to the Dotfiles Directory
cd ~/.dotfiles
-
Use GNU Stow to Symlink Configurations
stow .
-
Updating Dotfiles
cd ~/.dotfiles git pull stow --adopt [package]
-
Removing a Configuration
stow -D [package]
The ./.local/bin/provision.sh
script provisions a
new MacBook with essential tools and configurations terminal centric workflow
and development. It is designed to be idempotent, meaning it is safe to run
multiple times.
This script was originally designed to run on MacOS, but works on debian or
ubuntu too. It has been used on (WSL) Ubuntu 24. However, none of the brew
casts are supported, so uses apt
as an alternative. Finally, setting zsh
as
the default shell must be done manually since chsh
does not work from script.
-
Run the script directly from your terminal using:
sudo -v && curl -fsSL https://raw.githubusercontent.com/sgtoj/.dotfiles/main/.local/bin/provision.sh | bash
-
Save SSH keys in 1Password to
~/.ssh
-
Open a terminal (Ghostty) and signin to 1Password CLI and GitHub CLI
eval $(op signin) op vault list gh auth login
-
Import AWS CLI Config and GPG Keys from 1Password
op-aws pull op-gpg pull
-
Open
nvim
and install LSPs using:MasonInstallAll
-
Change shell to
zsh
if Linux.chsh -s /bin/zsh