This repository contains the user configuration (i.e. "dotfiles") for the following tools:
- zsh (shell)
- antigen (zsh plugin manager)
- fzf (fuzzy finder)
- vim (text editor)
- Vundle (vim plugin manager)
- hyper.js (terminal emulator)
- WakaTime (track time spent programming)
The install and update scripts also install:
- Volta (JavaScript tool manager)
This project is to be used on Unix-like systems such as Linux or macOS.
These configurations represent my personal preferences. I sync them between the various machines I use. MacOS, Arch Linux (Yes, I use Arch, btw) and the occasional Debian-based distro tend to be the main operating systems on those devices. If this setup is to your liking, feel free to use it as a starting point for your own config. Because these dotfiles have to work on both macOS and various Linux distros they are quite generic and environment-agnostic.
- Linux, macOS or any other POSIX-compliant operating system that can run Shell/Bash/Zsh
- Git (see: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
- Zsh (see: https://wiki.archlinux.org/title/zsh)
- cURL (see: https://curl.se/)
Protip: Try these scripts out in a virtual machine or suitable Docker image first.
The git configration and setup methods are based on the following tutorial: Simplest Way to Sync Dotfiles and Config Using Git by Victor Augusteo
Note: Make sure that zsh is installed and set as your default shell.
Choose one (A or B) of the following setup options:
Run the install script:
curl -o- https://raw.githubusercontent.com/RubenSibon/dotfiles/master/.dotfiles/scripts/install.zsh | zsh
You're done!
-
Clone the repository:
git clone --bare --recursive https://github.com/RubenSibon/dotfiles.git $HOME/.dotfiles/.gitrepo
-
Check out the cloned bare branch:
/usr/bin/git --git-dir=$HOME/.dotfiles/.gitrepo --work-tree=$HOME checkout HEAD --force
-
Pull the submodules:
/usr/bin/git --git-dir=$HOME/.dotfiles/.gitrepo --work-tree=$HOME submodule update --init --recursive
-
(optional) Install the vim plugins with Vundle:
vim +PluginInstall +qall
-
Start a new terminal emulator with Zsh:
zsh
-
(optional) Try an update to see if you get more changes
cd ~ && dotfiles-update
Use Volta that came installed with the scripts to install Node.js and Yarn globally:
volta install node
volta install yarn
The update script can be run with a handy alias:
cd ~ && dotfiles-update
Or directly:
zsh ~/.dotfiles/scripts/update.zsh
Everything should be up-to-date.
dotfiles
is an alias for git
in the user's home directory (~
). It should be used instead of the git
command to make changes to the dotfiles' git repository.
The alias is needed because this repository's .git/
directory does not exist in the working directory (~
), but in ~/.dotfiles/
as .gitrepo/
instead.
Check your .zshrc
for the alias.
-
Go to your home folder:
cd ~
-
Update the repo to make sure that you have the latest changes. This also pulls in the latest changes from the git server (i.e. GitHub):
dotfiles-update
-
Edit a dotfile, such as this README for example.
-
Save your changes and commit them:
dotfiles status # Make sure that everything is correct. dotfiles add . # Add the changes to git's staging area. dotfiles commit # Commit the changes. dotfiles push # Push the changes to the git server.
That's how you can use these dotfiles.
Enjoy!