My personal NixOS configuration
Find a file
2024-03-13 07:03:49 +00:00
home Alacritty: don't hide mouse when typing 2024-03-12 15:34:27 +00:00
hosts Fix accidentally disabling work email on work machines... 2024-03-11 15:35:01 +00:00
schemes Add regular modus-vivendi as theme option 2024-02-27 15:22:26 +00:00
services sshd: disable root login again 2024-03-10 08:07:48 +00:00
system Switch to texlive medium scheme, add lmodern font to system 2024-03-12 13:53:20 +00: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 flake.lock: Update 2024-03-12 05:47:08 +00:00
flake.nix nix default to max-jobs=auto 2024-03-13 07:03:49 +00:00
Makefile Add flake update shortcut to Makefile 2024-03-02 09:29:31 +00: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