My Nix home-manager configuration flake
This repository has been archived on 2024-07-03. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
2024-06-12 10:44:53 +01:00
home Add teams-for-linux config file back 2024-06-12 10:44:53 +01:00
programs Add teams-for-linux back, remove signal-desktop 2024-06-12 07:36:48 +01:00
scripts Add pull step back to git-sync-all.sh 2024-06-07 06:01:43 +01:00
services Update to nixos-24.05 2024-06-01 07:16:06 +01:00
.dir-locals.el Set compile-command to build instead of switch 2024-06-06 06:44:42 +01:00
.envrc Add .envrc to use nix flake devShell 2024-05-24 07:30:07 +01:00
.gitignore Initial add of copied files 2024-05-11 13:55:23 +01:00
.stylua.toml Initial add of copied files 2024-05-11 13:55:23 +01:00
flake.lock flake.lock: Update 2024-06-10 08:24:04 +01:00
flake.nix Change accentColour, add accentColour2 for certain programs (e.g. sway) 2024-06-12 07:32:03 +01:00
Makefile Cleanup Makefile 2024-06-07 20:16:32 +01:00
picrew.png Add picrew and wallpapers directory 2024-05-11 15:42:38 +01:00
README.org Missed command "switch" from install instructions 2024-05-21 09:18:06 +01:00

README

Nix home-manager configuration files.

Can be used on any Linux-based system if the nix package manager is installed, but works best with a NixOS system.

To set up without cloning the repository, run:

  nix run "git+https://git.xenia.me.uk/pixelifytica/home-manager.git?ref=main" -- switch --flake "git+https://git.xenia.me.uk/pixelifytica/home-manager.git?ref=main"

Password store setup

Transfer GPG key(s)

  # Export keys on existing machine
  gpg -a --export > publickeys.asc
  gpg -a --export-secret-keys > privatekeys.asc
  # Import key on new machine
  gpg --import privatekeys.asc
  gpg --import publickeys.asc
  # Edit (for each key) to set trust
  gpg --edit-key evie@xenia.me.uk

Clone password-store repository

  git -c credential.helper='' clone https://git.xenia.me.uk/pixelifytica/pass $PASSWORD_STORE_DIR

Email setup

Proton

Bridge

Run

protonmail-setup-bridge
to automate this process.

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 swaymsg:

  nix shell nixpkgs#protonmail-bridge -c swaymsg exec "protonmail-bridge -n"
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

Run

davmail-setup
to automate this process.

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