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
Evie Litherland-Smith 8f179c9f6b Update kanshi to use settings instead of profiles
Add kanshi config to Northstar

Standardise monitor config across machines

Move waybar alt bar definition to Vanguard config specifically, don't
need to use hacky solution
2024-06-15 09:57:26 +01:00
home Update kanshi to use settings instead of profiles 2024-06-15 09:57:26 +01:00
programs Update kanshi to use settings instead of profiles 2024-06-15 09:57:26 +01:00
scripts Check and set upstream information in git-sync-all 2024-06-13 17:38:20 +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