Contains everything I use to setup a new machine (except ssh and gpg keys).
N.B. until I add better control over ordering, on the first run it is
necessary to clone the wrk_dotfile_dir
before running up
for the first time.
curl --create-dirs -Lo ~/bin/up https://github.com/gibfahn/up-rs/releases/latest/download/up-darwin
chmod +x ~/bin/up
~/bin/up --fallback-url https://github.com/gibfahn/dot
Then see manual.md.
Useful for remote machines you don't own (you still want some niceties, but you can't install a bunch of packages). Just copy and paste this one-line command:
git clone https://github.com/gibfahn/dot -o up && cd dot &&
GIT_NAME=$(git config --global user.name) GIT_EMAIL=$(git config --global user.email) NO_SUDO=true ./up
./update
Everything should be pretty self-explanatory and commented, it's all basic bash
scripting. From ./up
you can see what scripts get run. Each of them can be run
individually (and run more than once).
If you don't have root (and don't want sudo
prompts), just do:
export NO_SUDO=true
The scripts change your default shell to zsh, if you don't want this change
$NEWSHELL
to the path to the shell you'd like (or an empty string to not
change shell). Make sure the shell you choose is in /etc/shells
.
export NEWSHELL=/usr/local/bin/fish # Or NEWSHELL="" to keep current shell.
If you just want to update your dotfile symlinks, you can just run:
./link
Dotfiles are pretty personal, so feel free to adapt this repo as you wish. If you make a change feel free to send a Pull Request, you might fix something for me!
As long as it goes in $HOME
, just put it in the same relative directory inside
./dotfiles/
(so ~/.bashrc
becomes dot/dotfiles/.bashrc
). If you rerun
link
it should get symlinked into the right place.