My personal NixOS configuration
Find a file
Evie Litherland-Smith 6c176a9222 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/613691f285dad87694c2ba1c9e6298d04736292d?narHash=sha256-oJDtWPH1oJT34RJK1FSWjwX4qcGOBRkcNQPD0EbSfNM%3D' (2024-12-28)
  → 'github:nix-community/home-manager/bd65bc3cde04c16755955630b344bc9e35272c56?narHash=sha256-dinzAqCjenWDxuy%2BMqUQq0I4zUSfaCvN9rzuCmgMZJY%3D' (2025-01-08)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/cbd8ec4de4469333c82ff40d057350c30e9f7d36?narHash=sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60%3D' (2025-01-05)
  → 'github:nixos/nixpkgs/666e1b3f09c267afd66addebe80fb05a5ef2b554?narHash=sha256-6L%2BWXKCw5mqnUIExvqkD99pJQ41xgyCk6z/H9snClwk%3D' (2025-01-30)
• Updated input 'stylix':
    'github:danth/stylix/5204b085385c0bfaa1eb1bb0f8dc81922012128d?narHash=sha256-MWe3RXEV9dov1wFZraWagVAxynPo/VceStIYfNRgqG4%3D' (2025-01-04)
  → 'github:danth/stylix/70505ba00ff09390b84cf50d52d48ee828727976?narHash=sha256-O0iFoytYpSxQdWeggIvrHjU5kmX/SRC9mcah9GbwlHk%3D' (2025-01-28)
• Added input 'stylix/firefox-gnome-theme':
    'github:rafaelmardojai/firefox-gnome-theme/92f4890bd150fc9d97b61b3583680c0524a8cafe?narHash=sha256-A9PxLienMYJ/WUvqFie9qXrNC2MeRRYw7TG/q7DRjZg%3D' (2024-12-23)
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/13c913f5deb3a5c08bb810efd89dc8cb24dd968b?narHash=sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw%3D' (2025-01-06)
  → 'github:numtide/treefmt-nix/bebf27d00f7d10ba75332a0541ac43676985dea3?narHash=sha256-j6jC12vCFsTGDmY2u1H12lMr62fnclNjuCtAdF1a4Nk%3D' (2025-01-28)
2025-02-01 07:49:24 +00:00
system Revert "Change default terminal to foot (from alacritty)" 2025-01-31 15:43:26 +00:00
.gitignore Update Makefile 2024-06-22 09:41:24 +01:00
.stylua.toml Add .stylua.toml back 2025-01-05 07:16:43 +00:00
flake.lock flake.lock: Update 2025-02-01 07:49:24 +00:00
flake.nix Add and switch to modified build of Iosevka font 2025-01-07 08:18:05 +00:00
Makefile Add and switch to modified build of Iosevka font 2025-01-07 08:18:05 +00:00
README.org Use libsecret for mbsync and git-credential-helper 2024-07-08 08:58:32 +01:00
treefmt.nix Add some more formatters to treefmt, reformat repo 2024-12-27 13:05:12 +00:00

README

My personal NixOS + home-manager configuration files.

To set up without cloning the repository (assuming an already running NixOS system), run:

  sudo nixos-rebuild switch --flake "git+https://git.xenia.me.uk/pixelifytica/nixos.git?ref=main"\#$(hostname)

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 clone https://git.xenia.me.uk/pixelifytica/pass $PASSWORD_STORE_DIR

Email setup

Passwords for mbsync

Run

mbsync-ensure-pass
to check for passwords required by mbsync, and query for missing passwords.

Static app-specific passwords are stored in password-store, fetch from there to add to secret service.

Proton

Bridge

Start Proton Mail Bridge application, if needed configure to store using SecretService and log in. Application will auto-start with desktop session.

Use password from Bridge for mbsync.

Outlook

Davmail

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

Flathub setup

  flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Further reading: