My personal NixOS configuration
Find a file
Evie Litherland-Smith ecc9fae75a Major changes: switch to tracking nixos-23.11 and remove stylix.
Motivated by the xz backdoor bug, switch NixOS system to track 23.11
instead of unstable, and will bump version numbers as they come along
rather than do rolling release.
Reverted a couple of changes that were introduced in recent nixpkgs
versions, only major one was switching back to swaylock as hyprlock
isn't in nixpkgs 23.11

Remove stylix and replace with lower-level base16.nix, partly because
stylix was doing something strange pulling in extra flakes (and
breaking on 23.11), partly because I was most of the way there anyway.
Remove last references to stylix in config, mostly just changing
stylix.colors to scheme (from base16) and defining fonts in
specialArgs to be used in the same way as before.
2024-03-31 12:59:24 +01:00
home Major changes: switch to tracking nixos-23.11 and remove stylix. 2024-03-31 12:59:24 +01:00
hosts Remove remote workspace, replace with web browser workspace 2024-03-31 08:23:29 +01:00
schemes Add regular modus-vivendi as theme option 2024-02-27 15:22:26 +00:00
services File cleanup 2024-03-17 11:45:50 +00:00
specialisations Start adding specialisations to consider 2024-03-15 11:22:01 +00:00
system Major changes: switch to tracking nixos-23.11 and remove stylix. 2024-03-31 12:59:24 +01:00
wallpapers Add some hyprland wallpapers to collection 2024-01-29 06:41:39 +00:00
.gitignore Update gitignore rules 2023-10-24 09:21:23 +01:00
.stylua.toml Add custom styling to wezterm tab bar, move stylua.toml to top level directory 2023-02-19 12:16:22 +00:00
flake.lock Major changes: switch to tracking nixos-23.11 and remove stylix. 2024-03-31 12:59:24 +01:00
flake.nix Major changes: switch to tracking nixos-23.11 and remove stylix. 2024-03-31 12:59:24 +01:00
picrew.png Add custom picrew 2024-03-10 08:11:00 +00:00
README.org Update README for new script 2024-02-05 09:15:18 +00:00

README

Password store setup

Transfer GPG key(s)

  # Export key on existing machine
  gpg --export-secret-keys > key.gpg
  # Import key on new machine
  gpg --import key.gpg
  # Edit (for each key) to set trust
  gpg --edit-key ...

Clone password-store repository

  git clone https://git.xenia.me.uk/xenia/pass $PASSWORD_STORE_DIR

Email setup

Proton

Bridge

Run bridge in CLI mode to login, wait for initial sync and get app password

  nix run nixpkgs#protonmail-bridge -- -c
  # Follow prompts to login and get password

Restart using hyprctl:

  nix shell nixpkgs#protonmail-bridge -c hyprctl dispatch exec "protonmail-bridge -n"

Script protonmail-setup-bridge (provided with NixOS config) handles all of this

uidvalidity issue

Remove uid lines from .mbsyncrc (in each mail directory) and delete .uidvalidity, re-run mbsync to fix Above might be duplicating mail, faster to just delete local maildirs and let them re-sync.

Password

Get password from protonmail-bridge, save to password-store:

  pass insert mbsync/$(hostname)/proton
  # Insert pass at prompt

iCloud

Password

If not already done, save password to password-store:

  pass insert mbsync/$(hostname)/icloud
  # Insert pass at prompt

This will be synced across devices so only needs doing once

Outlook

Password

If not already done, save password to password-store:

  pass insert mbsync/$(hostname)/outlook
  # Insert pass at prompt

This will be synced across devices so only needs doing once

Configuration

On first run (or if token expires), stop systemd service and run manually to complete manual auth. Token will stay valid for a little while (no idea how long specifically).

  # Restart service to ensure ~/.davmail.properties exists
  systemctl --user restart davmail.service
  # Run to use manual authentication
  systemctl --user stop davmail.service && davmail -notray ~/.davmail.properties
  # Restart again so that service picks up available ports
  systemctl --user restart davmail.service