You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andreas Zweili 0f37cfabbd Automatically setup the remote with git 13 hours ago
custom Bump the version 1 month ago
hardware Remove unused pkgs 3 months ago
home-manager Automatically setup the remote with git 13 hours ago
lib Remove nix-alien 3 months ago
modules Extend mime types for Firefox 2 days ago
scripts Remove the pihole system 3 weeks ago
scrts Mount the documents to a different location 7 days ago
systems Add a webdav share to management 1 week ago
.envrc extend the development environment 11 months ago
.gitignore Update gitignore 3 months ago
.gitmodules Remove unused submodule 3 months ago
LICENSE Initial commit 1 year ago Update README 2 months ago
flake.lock Update flake 2 weeks ago
flake.nix Add fix for rapid-photo-downloader 2 weeks ago
requirements.txt rename requirements 1 year ago
shell.nix extend the development environment 11 months ago


This repository contains my configuration for my Nixos systems. I don't provide any garantuees that it will work on other systems. In addition some of the scripts required for installation will destroy your data when used.

VM installation

This allows you to setup a VM with minimal effort. However this requires some prerequisites.

  • A VM running the minimal NixOS ISO reachable with SSH under nixos@nixos.2li.local.
  • The VM runs UEFI.
  • You've set a password for the nixos user.
  1. ./scripts/
  2. Provide the required information and wait until the script is finished.
  3. Reboot and profit!

Raspberry Pi installation

  1. Add the new system to flake.nix.
  2. Build the image with scripts/ SYSTEMNAME
  3. Flash the image to an SD card dd if=~/Downloads/SYSTEMNAME.img of=/dev/mmcblk0 bs=4M.
  4. After you've booted the Pi get the new SSH key with ssh-keyscan hostname.custom.domain and add it to scrts/secrets.nix.
  5. Then login into the new Pi and mount the FIRMWARE partition with sudo mkdir -p /mnt && sudo mount /dev/disk/by-label/FIRMWARE /mnt and make sure that your config.txt looks like ./systems/raspi4/config.txt
  6. Change the password

x86 installation

  1. curl | tar xz
  2. cd nixos && nix-shell
  3. sudo python3 scripts/
  4. sudo nixos-install --no-root-passwd --root /mnt --impure --flake .#SYSTEMNAME

Update remote systems

Simply run the script scripts/update_all_systems.xsh and it will iterate over all defined systems. The script requires Xonsh but can be easily adapted to BASH or similar.

Non-Nixos System

  1. scripts/