Don’t forget --recurse-submodules
when cloning!
The basic steps are:
- If on macOS, install Homebrew.
- Install Ansible.
- Install Ansible roles from Galaxy.
- Install software through the package manager.
- Install GitHub repos and programming languages.
- Deploy dotfiles.
- Set the shell to zsh.
To perform these steps,
bash ./bootstrap_package_installation.bash
# depending on the OS; this step isn't smart yet
ansible-playbook ./ansible/install_packages_{arch,debian}.yaml -b -K
# or
ansible-playbook ./ansible/install_packages_homebrew.yaml
# then
ansible-playbook ./ansible/install_all_system.yaml -b -K
ansible-playbook ./ansible/install_all.yaml
ansible-playbook ./ansible/set_shell.yaml -b -K
Multi-user install:
sh <(curl -L https://nixos.org/nix/install) --daemon
First time only:
nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.11.tar.gz home-manager
nix-channel --update
export NIX_PATH=$HOME/.nix-defexpr/channels:/nix/var/nix/profiles/per-user/root/channels${NIX_PATH:+:$NIX_PATH}
nix-shell '<home-manager>' -A install
Add to ~/.config/nix/nix.conf
:
experimental-features = nix-command flakes
Then:
cd ~/dotfiles
home-manager switch --flake .#eric@osmium