My dotfiles, shell scripts, and packages.
This is a "note to self". I don't imagine anyone else will want to install my dotfiles 😁. It could provide some inspiration for your own dotfile management.
- First, move any existing dotfiles aside. For example, on a fresh machine, you might need something like:
mkdir dotfiles.bup && mv .profile .bashrc .bash_logout .zshrc dotfiles.bup/
- Install prerequisites
You'll need curl
, git
, and stow
. For example, on Ubuntu, issue the
following command:
sudo apt install -y curl git stow
- Run the bootstrap script
bash <(curl -s https://raw.githubusercontent.com/steshaw/shelly/main/script/shelly-bootstrap)
This downloads this repo and links my dotfiles.
You can stop right here for a minimal setup.
-
Install Nix
On NixOS, Nix is already installed. For other systems, follow the official installation instructions or try those that follow:
Linux systems:
sh <(curl -fsSL https://nixos.org/nix/install) --daemon --yes
For macOS systems:
You may need to set the umask to the traditional value:
umask 022
Install Nix with the following options:
sh <(curl -L https://nixos.org/nix/install)
-
Install Homebrew (macOS only)
Homebrew is used primarily to install desktop applications.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
Install packages
This will install packages.
shelly-bootstrap-pkgs
Generate an SSH key:
cd ~/.ssh
generate-ssh-key
Authenticate with GitHub:
gh auth login --git-protocol ssh --hostname github.com --web
If you are operating over ssh, you will get an error starting the browser (because the DISPLAY
environment variable isn't available). Instead, go directly to https://github.com/login/device to enter your one-time code.
On existing machine:
git-signing-key copy $newMachine
Clone my repos
cd ~/Code && mr checkout
doom install