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

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/4005c3ff7505313cbc21081776ad0ce5dfd7a3ce?narHash=sha256-VIAjBr1qGcEbmhLwQJD6TABppPMggzOvqFsqkDoMsAY%3D' (2024-12-25)
  → 'github:nixos/nixpkgs/cbd8ec4de4469333c82ff40d057350c30e9f7d36?narHash=sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60%3D' (2025-01-05)
• Updated input 'stylix':
    'github:danth/stylix/9015d5d0d5d100f849129c43d257b827d300b089?narHash=sha256-fp1iV2JldCSvz%2B7ODzXYUkQ%2BH7zyiWw5E0MQ4ILC4vw%3D' (2024-12-13)
  → 'github:danth/stylix/5204b085385c0bfaa1eb1bb0f8dc81922012128d?narHash=sha256-MWe3RXEV9dov1wFZraWagVAxynPo/VceStIYfNRgqG4%3D' (2025-01-04)
• Added input 'stylix/git-hooks':
    'github:cachix/git-hooks.nix/cd1af27aa85026ac759d5d3fccf650abe7e1bbf0?narHash=sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf%2BInnSMT4jlMU%3D' (2024-11-11)
• Added input 'stylix/git-hooks/flake-compat':
    follows 'stylix/flake-compat'
• Added input 'stylix/git-hooks/gitignore':
    'github:hercules-ci/gitignore.nix/637db329424fd7e46cf4185293b9cc8c88c95394?narHash=sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs%3D' (2024-02-28)
• Added input 'stylix/git-hooks/gitignore/nixpkgs':
    follows 'stylix/git-hooks/nixpkgs'
• Added input 'stylix/git-hooks/nixpkgs':
    follows 'stylix/nixpkgs'
• Added input 'stylix/git-hooks/nixpkgs-stable':
    follows 'stylix/git-hooks/nixpkgs'
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/9e09d30a644c57257715902efbb3adc56c79cf28?narHash=sha256-8T3K5amndEavxnludPyfj3Z1IkcFdRpR23q%2BT0BVeZE%3D' (2024-12-25)
  → 'github:numtide/treefmt-nix/13c913f5deb3a5c08bb810efd89dc8cb24dd968b?narHash=sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw%3D' (2025-01-06)
• Updated input 'treefmt-nix/nixpkgs':
    'github:nixos/nixpkgs/2c15aa59df0017ca140d9ba302412298ab4bf22a?narHash=sha256-9hbb1rqGelllb4kVUCZ307G2k3/UhmA8PPGBoyuWaSw%3D' (2024-12-02)
  → 'github:nixos/nixpkgs/0e82ab234249d8eee3e8c91437802b32c74bb3fd?narHash=sha256-zExSA1i/b%2B1NMRhGGLtNfFGXgLtgo%2BdcuzHzaWA6w3Q%3D' (2024-12-30)
2025-01-06 09:27:15 +00:00
system Switch back to using nm-connection-editor and blueman-manager 2025-01-06 09:26:11 +00:00
.gitignore Update Makefile 2024-06-22 09:41:24 +01:00
.pre-commit-config.yaml Add pre-commit hook to run gitleaks 2024-06-24 07:31:02 +01:00
.stylua.toml Add .stylua.toml back 2025-01-05 07:16:43 +00:00
flake.lock flake.lock: Update 2025-01-06 09:27:15 +00:00
flake.nix Remove Tone (work desktop) 2024-12-28 07:55:43 +00:00
Makefile Add server directive to Makefile 2024-12-28 08:06:53 +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: