My personal NixOS configuration
Find a file
Evie Litherland-Smith f00e8be0a2 Update git-sync-all
Add extra checks to pull section (ensure directory exists, echo
current dir, set URL)
2024-03-08 08:15:32 +00:00
home Update git-sync-all 2024-03-08 08:15:32 +00:00
hosts Disable autoUpgrade for regular machines, only keep for server 2024-03-08 08:03:03 +00:00
schemes Add regular modus-vivendi as theme option 2024-02-27 15:22:26 +00:00
services Legion: temp revert username change, enable key-based root login only 2024-03-08 07:14:19 +00:00
system Set XDG defaults in sessionVariables 2024-03-08 08:10:36 +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 Revert "flake.lock: Update" 2024-03-05 07:51:42 +00:00
flake.nix Disable autoUpgrade for regular machines, only keep for server 2024-03-08 08:03:03 +00:00
Makefile Add flake update shortcut to Makefile 2024-03-02 09:29:31 +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