- If installing NixOS, go ahead and complete the installation with a generated configuration, and login with your user account.
- Clone this repository into
$HOME/.config
. - Add your host and/or home manager configurations to flake.nix.
- If on NixOS, run
./install_nixos.sh <your hostname>
. Otherwise, runinstall_non_nixos.sh
. - Reboot, and have fun!
1password has to be installed at the system level to support the browser integration, system authentication, and the SSH agent. On NixOS it will already be installed, but otherwise go ahead and install it from your operating system’s package manager.
After installing, log in to 1password. 1password settings are managed, so the SSH agent and system authentication will be automatically enabled.
home-manager will install syncthing and enable its systemd service on machines that use it.
Ensure syncthing is started, then go to http://localhost:8384 to add a GUI password, link it to remote devices, and set up shared folders (such as ~/org in my case). Who needs dropbox?
Some installed packages require system-level configuration that can’t be automatically managed outside of NixOS.
The `fx_cast` bridge requires avahi daemon to be running with `nss-mdns` configured. Follow the Arch wiki instructions for setting it up.
Several tools are set up to include local configuration files, to allow overriding the reproducible configuration with arbitrary machine-specific options.
$HOME/.zsh.local
$HOME/.gitconfig.local
$HOME/.ssh/config.local
I may one day decide to do this in a nix-ey way, but this is how my old configuration worked, and it’s a good setup.
It leads to time wasted debugging problems caused by the environment not being up to date when rapidly iterating on nix stuff.