No description
  • Shell 69.4%
  • Nix 29.6%
  • Makefile 1%
Find a file
Sebastian Fischer a85289b595 [TASK] Manage composer GitHub token via activation script
The composer container reads its GitHub token from
~/.config/composer/auth.json, which was a hand-written, world-readable
file. Keep the token in /mnt/data/.composer/github-token so it is covered
by the PBS backup and stays out of the Nix store and this repository, and
merge it into auth.json on activation. Other keys in auth.json are kept
and the file is rewritten with mode 600.
2026-09-30 08:08:36 +02:00
nixos [TASK] Manage composer GitHub token via activation script 2026-09-30 08:08:36 +02:00
scripts [TASK] Add background image 2026-02-15 10:00:04 +01:00
.editorconfig [TASK] Initialize config 2026-02-03 21:56:52 +01:00
.gitignore [TASK] Add ignores 2026-03-07 09:20:10 +01:00
CLAUDE.md [TASK] Add viewer for backup with pbs 2026-08-23 15:50:18 +02:00
install.sh [TASK] Restructure 2026-02-05 20:48:35 +01:00
kvm.xml [TASK] Initialize config 2026-02-03 21:56:52 +01:00
Makefile [TASK] Add viewer for backup with pbs 2026-08-23 15:50:18 +02:00
README.md [TASK] Update rustdesk to 1.4.5 from nixos-unstable 2026-03-31 21:04:49 +02:00

NixOS

Playground (QEMU)

sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
  • Video: QXL
  • If the HDD for the VM is too small: qemu-img resize nixos.qcow2 +20G

Manuelle Installation (UEFI)

1. Root-Shell starten

sudo -i

# Use german keyboard layout
loadkeys de

# Short for all the stuff below !!! TAKE CARE OF THE USERDATA !!!
curl -L https://www.fischer.im/nixos/minimal-install --output install.sh
chmod 744 ./install.sh
./install.sh

reboot

If you don't use the installation script, you need to follow the steps 2-8

2. Partitionierung

The following schema creates four partitions on /dev/sda:

Partition Typ Groesse Mountpoint
/dev/sda1 FAT32 (EFI) 512 MB /boot
/dev/sda2 linux-swap 8 GB —
/dev/sda3 ext4 (Root) Rest minus Home /
/dev/sda4 ext4 (Home) 50% des Rests /home

HINT: The sizes must be adapted to your hard drive. In the example it's assumed that a 100GB drive is in use.

# GPT-partition table
parted /dev/sda -- mklabel gpt

# EFI-partition (512 MB)
parted /dev/sda -- mkpart esp fat32 1MB 512MB
parted /dev/sda -- set 1 esp on

# Swap-partition (8 GB)
parted /dev/sda -- mkpart swap linux-swap 512MB 8626MB

# Root-partition (ca. 45 GB)
parted /dev/sda -- mkpart root ext4 8636MB 40000MB

# Home-partition (Rest)
parted /dev/sda -- mkpart home ext4 40000MB 100%

# Check result
parted /dev/sda -- print

3. Dateisysteme erstellen

# EFI-Partition formatieren
mkfs.fat -F 32 -n boot /dev/sda1

# Swap-Partition formatieren
mkswap -L swap /dev/sda2

# Root-Partition formatieren
mkfs.ext4 -L nixos /dev/sda3

# Home-Partition formatieren
mkfs.ext4 -L home /dev/sda4

4. Partitionen einhängen

Die Reihenfolge ist wichtig — zuerst Root, dann die Unterverzeichnisse:

# Root mounten
mount /dev/disk/by-label/nixos /mnt

# Boot-Verzeichnis erstellen und mounten
mkdir /mnt/boot
mount -o umask=077 /dev/disk/by-label/boot /mnt/boot

# Home-Verzeichnis erstellen und mounten
mkdir -p /mnt/home
mount /dev/disk/by-label/home /mnt/home

# Swap aktivieren
swapon /dev/disk/by-label/swap

6. Generate configuration

nixos-generate-config --root /mnt

This creates two files:

  • /mnt/etc/nixos/hardware-configuration.nix — detected hardware and mountpoints
  • /mnt/etc/nixos/configuration.nix — Base configuration

7. Check the detected bootloader

Check in /mnt/etc/nixos/configuration.nix, that the bootloader is configured like this:

{
    boot.loader = {
      systemd-boot.enable = true;
      efi.canTouchEfiVariables = true;
    };
}

8. Install system

nixos-install

# After the installation the script sets your root password. (Test1)

reboot

9. After the first reboot

curl --output release.tar.gz https://gitea.fischer.im/sebastian/nixos-cesium/archive/[0.0.2].tar.gz
tar xzf release.tar.gz
chmod 744 nixos-cesium/script/post-install.sh
./nixos-cesium/script/post-install.sh

If you don't use the post-installation script, follow the next step

cp -r ~/nixos-cesium/config/* /etc/nixos/

# Remember to activate vm-guest.nix or vm-host.nix in configuration.nix

nix-channel --add https://github.com/nix-community/home-manager/archive/release-25.11.tar.gz home-manager
nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable
nix-channel --update

# Konfiguration anwenden
nixos-rebuild switch --option experimental-features "nix-command flakes"

reboot

10. Post Installation

Generate SMB-credentials (if network mounts are used)

sudo /etc/nixos/setup-smb-credentials.sh

Wartung

Optimise Nix Store and remove old generations

sudo nix-store --optimise && sudo nix-collect-garbage -d