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 22dbc09500 Move some config from home/default.nix and nixos system config
Add options to desktop.nix from home/default.nix that are
desktop-relevant.

Add mimeapp config back from nixos system config

Move fd, ripgrep to enabled programs, remmina to enable service

Emacs config now imports shell config to ensure requirements are met
instead of duplicating some

Move Zsh config into it's own file zsh.nix
2024-06-07 10:51:35 +01:00
home Move some config from home/default.nix and nixos system config 2024-06-07 10:51:35 +01:00
programs Move some config from home/default.nix and nixos system config 2024-06-07 10:51:35 +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-07 07:00:52 +01:00
flake.nix Change to light theme (Latte), change wallpaper to Outset Island 2024-06-04 14:55:20 +01:00
Makefile Add copy command to Makefile 2024-06-03 05:46:16 +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