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-05-27 20:48:40 +01:00
home Add niri config, restructure files 2024-05-27 20:07:18 +01:00
programs Foot: add slight padding 2024-05-27 20:48:40 +01:00
scripts Re-add pulling emacs config to git-sync-all.sh 2024-05-22 07:08:06 +01:00
services Remove password-store otp plugin 2024-05-13 06:54:53 +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 Move niri to nixos configuration instead 2024-05-27 18:44:54 +01:00
flake.nix Move niri to nixos configuration instead 2024-05-27 18:44:54 +01:00
Makefile Change Makefile to use nix run instead of home-manager directly 2024-05-22 07:10:47 +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