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 99ee1a9008 Remove gnumake (installed in NixOS), add rclone
Ensure fd and ripgrep installed for Emacs

Don't install language servers by default, nil already installed at
NixOS system level, and python needs to be installed per-environment
anyway. Don't need the other LSPs
2024-05-30 13:41:12 +01:00
home Remove gnumake (installed in NixOS), add rclone 2024-05-30 13:41:12 +01:00
programs Remove gnumake (installed in NixOS), add rclone 2024-05-30 13:41:12 +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