nixos/README.org
Evie Litherland-Smith a865ec1225 README: update git snippet to clone pass repo
Include config option to temporarily disable credential helper, logic
being if I'm closing the pass repo I don't have the pass credential
helper configured to authenticate me.
2024-03-31 19:56:23 +01:00

70 lines
2.3 KiB
Org Mode

#+title: README
#+author: Evie Litherland-Smith
#+email: evie@xenia.me.uk
* Password store setup
** Transfer GPG key(s)
#+begin_src bash
# 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 ...
#+end_src
** Clone password-store repository
#+begin_src bash
git -c credential.helper='' clone https://git.xenia.me.uk/pixelifytica/pass $PASSWORD_STORE_DIR
#+end_src
* Email setup
** Proton
*** Bridge
Run bridge in CLI mode to login, wait for initial sync and get app password
#+begin_src bash
nix run nixpkgs#protonmail-bridge -- -c
# Follow prompts to login and get password
#+end_src
Restart using ~hyprctl~:
#+begin_src bash
nix shell nixpkgs#protonmail-bridge -c hyprctl dispatch exec "protonmail-bridge -n"
#+end_src
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~:
#+begin_src bash
pass insert mbsync/$(hostname)/proton
# Insert pass at prompt
#+end_src
** iCloud
*** Password
If not already done, save password to ~password-store~:
#+begin_src bash
pass insert mbsync/$(hostname)/icloud
# Insert pass at prompt
#+end_src
This will be synced across devices so only needs doing once
** Outlook
*** Password
If not already done, save password to ~password-store~:
#+begin_src bash
pass insert mbsync/$(hostname)/outlook
# Insert pass at prompt
#+end_src
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).
#+begin_src bash
# 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
#+end_src