nix-config/users/sid/home/hyprland
2026-03-01 21:47:23 +01:00
..
anyrun.nix initial commit 2026-02-23 20:50:47 +01:00
default.nix add syncthing tray 2026-03-01 21:47:23 +01:00
flatpak.nix initial commit 2026-02-23 20:50:47 +01:00
fzf-open.nix initial commit 2026-02-23 20:50:47 +01:00
gpg.nix initial commit 2026-02-23 20:50:47 +01:00
hyprland.nix remove portuus connections 2026-03-01 16:46:21 +01:00
librewolf.nix initial commit 2026-02-23 20:50:47 +01:00
newsboat.nix remove portuus connections 2026-03-01 16:46:21 +01:00
obs-studio.nix initial commit 2026-02-23 20:50:47 +01:00
opencode.nix initial commit 2026-02-23 20:50:47 +01:00
packages.nix add syncthing tray 2026-03-01 21:47:23 +01:00
rclone.nix remove portuus connections 2026-03-01 16:46:21 +01:00
README.md remove portuus connections 2026-03-01 16:46:21 +01:00
recoll.nix initial commit 2026-02-23 20:50:47 +01:00
shell-aliases.nix remove portuus connections 2026-03-01 16:46:21 +01:00
spotify-player.nix initial commit 2026-02-23 20:50:47 +01:00
ssh-hosts.nix remove portuus connections 2026-03-01 16:46:21 +01:00
stylix.nix initial commit 2026-02-23 20:50:47 +01:00
syncthing-tray.nix add syncthing tray 2026-03-01 21:47:23 +01:00
vscode.nix initial commit 2026-02-23 20:50:47 +01:00
waybar.nix initial commit 2026-02-23 20:50:47 +01:00
xdg.nix initial commit 2026-02-23 20:50:47 +01:00
yazi.nix initial commit 2026-02-23 20:50:47 +01:00

Manual configuration

The following things are not (yet) automated by Nix. Follow these steps after finishing the installation (including Home Manager).

Import secrets

It is assumed that your secrets are stored on a LUKS encrypted USB drive partition (sda3 in this case).

USB=/dev/sda
USER=$(whoami)
HOST=$(cat /etc/hostname)

# Open crypt
sudo mkdir -p /mnt/crypt
sudo cryptsetup open "$USB"3 crypt
sudo mount /dev/mapper/crypt /mnt/crypt

# Copy secrets
sudo rsync -vP /mnt/crypt/gpg-backup.sec.asc /tmp
sudo rsync -vP /mnt/crypt/$HOST/keys.txt /tmp
sudo chown $USER:$USER /tmp/gpg-backup.sec.asc
sudo chown $USER:$USER /tmp/keys.txt

# Import secrets
mkdir -p ~/.config/sops/age && mv /tmp/keys.txt ~/.config/sops/age && chmod 0400 ~/.config/sops/age/keys.txt
gpg --decrypt /tmp/gpg-backup.sec.asc | gpg --import
gpg --edit-key D371C8E7D58F9D1E # replace with your key ID
gpg> trust
Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y
gpg> q

# Close crypt
sudo umount -lf /mnt/crypt
sudo cryptsetup close crypt

Clone password store repository

git clone ssh://forgejo@rx4.tail:2299/sid/password-store.git $PASSWORD_STORE_DIR

Librewolf

Librewolf is handled through its Home Manager module. Extensions do not need to be installed, just activated.

  • Extensions (allow every extension to run in private windows)
    • PassFF
      • Preferences
        • Behavior of Enter key: Fill and submit
        • Behavior of Shift-Enter key: Goto, fill and submit
    • floccus
      • Add profile
        • Nextcloud Bookmarks
          • Bookmarks folder: Bookmarks Toolbar

TODO

  • all custom search bookmarks lost their keywords
  • set Searx as the default search engine

Element Desktop

  • Authentication via username, password and security key
  • Settings
    • Appearance
      • Theme: Dark
    • Preferences
      • Allow spell check
        • Add: German (Germany)
      • Keyboard shortcuts
        • Use Ctrl + F to search timeline: true

Thunderbird

The account setup must be done manually, as the accounts.email HM module requires setting personal information that would end up being public on the Git web frontend.

  • Spelling
    • Add Dictionaries...
      • German: Download Dictionary

Spotify

  • Authentication via username and password

Jellyfin Media Player

  • Add server
  • Authentication via username and password

OBS-Studio

  • Scenes
    • Scene
      • Sources
        • Add: Screen Capture (PipeWire) > OK > Screen 0 (or a window or a region) > OK
  • Audio Mixer
    • Mic/Aux: Mute
  • File
    • Settings
      • Output
        • Recording
          • Recording Path: /home/sid/vid/recordings
          • Generate File Name without Space
      • Video
        • Base Resolution: 2560x1600
        • Output Resolution: 2560x1600
        • Common FPS Values: 60

TODO: adjust video and audio codecs/quality

TODO: keyboard shortcuts (currently using waybar tray icon)

Eduroam

Download the eduroam configuration script here.

Execute it:

nix-shell -p python3 python3Packages.dbus-python --run 'python eduroam-linux-THK-members_of_TH_Koln.py'

Zoom

  • Authentication via username and password
  • Check "Keep me signed in"