A set of Ansible tools for commissioning new development machines.
The software configuration is broken into two stages:
-
Comissioning (Ansible)
-
Configuration (Syncthing)
Tested on Ubuntu 20.04 (focal)
Depending on your system, some of these steps may be optional.
-
Update and upgrade your APT sources and install some required packages
sudo apt update && sudo apt upgrade sudo apt install -y git curl python3-distutils python3-testresources
-
Create a new SSH key pair
ssh-keygen -t ed25519
and provide the public key to GitHub so you can authenticate.
-
Clone this repo.
git clone [email protected]:brahste/commssn.git .commssn cd .commssn
-
Install Ansible with pip.
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3 get-pip.py --user python3 -m pip install --user ansible rm get-pip.py
-
Set your hosts.
./setup
-
Commission the device (first, export the path to Ansible if not done already).
export PATH=$PATH:$HOME/.local/bin ./commission
-
Reset your font cache and set Zsh as your default shell.
fc-cache -fv chsh -s $(which zsh)
-
Exit and reopen your console (Ctrl+Shft+W then Ctrl+Shft+T). Terminator should open. Change the default font to JetBrains Mono Nerd Font Regular (right click > Preferences > Profiles).
By the end of these steps your terminal will look pretty bare, you need to configure and sync with existing devices to get your system back up to its expected state.
-
Install Syncthing from their releases page here. Do not install with APT, since the version on APT is out of date, the Systemd service auto-start functionailty won't work properly.
cd Downloads curl -LO "https://github.com/syncthing/syncthing/releases/download/v1.22.0/syncthing-linux-amd64-v1.22.0.tar.gz" tar -xzvf syncthing-linux-amd64-v1.22.0.tar.gz cd syncthing-linux-amd64-v1.22.0/ sudo cp syncthing /usr/bin/
-
Run
syncthing
and add your new device to the set of nodes (see Getting Started: Syncthing documentation).- Select Add Remote Device (bottom right)
-
Once your device is synced, go to ~/.braden-home-overlay and set up you symlinks.
cd ~/.braden-home-overlay ./setup_symlinks
-
Install your Nvim packages with
:PackerSync
. TreeSitter may fail to install correctly, this is okay, it will resolve itself on future launches of Nvim.
Voila! Your new device is (nearly) set up, now go make some bugs.
-
Update your Terminator colors to match the colours in extras/terminal_colors
-
Setup the Systemd service for Syncthing in extras/syncthing.service
cp extras/syncthing.service ~/.config/systemd/user/ systemctl --user start syncthing systemctl --user enable syncthing