/nixpkgs

Experimental new dotfiles repo based on nix & home-manager

Primary LanguageShellGNU General Public License v3.0GPL-3.0

Smona’s Home Configuration

Installation

  1. If installing NixOS, go ahead and complete the installation with a generated configuration, and login with your user account.
  2. Clone this repository into $HOME/.config.
  3. Add your host and/or home manager configurations to flake.nix.
  4. If on NixOS, run ./install_nixos.sh <your hostname>. Otherwise, run install_non_nixos.sh.
  5. Reboot, and have fun!

Recommended manual steps

Set up 1password

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.

Set up syncthing shared folders

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?

Non-NixOS setup

Some installed packages require system-level configuration that can’t be automatically managed outside of NixOS.

fx_cast

The `fx_cast` bridge requires avahi daemon to be running with `nss-mdns` configured. Follow the Arch wiki instructions for setting it up.

Local Configuration

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.

Backlog

note about previous repo for finding git history

refresh doom env on startup or disable

It leads to time wasted debugging problems caused by the environment not being up to date when rapidly iterating on nix stuff.