Go to file
Andreas Zweili cb3f315db9 Correct partition label 2024-01-13 12:12:31 +01:00
home-manager Unify the initrd ssh config 2024-01-09 21:59:57 +01:00
lib Add overlay for freshrss 2024-01-08 19:38:41 +01:00
modules Correct partition label 2024-01-13 12:12:31 +01:00
scripts Unify the scripts to format disks 2024-01-13 11:19:03 +01:00
scrts Switch from nixpkgs-fmt to nixfmt 2024-01-01 13:14:24 +01:00
systems Add f2fs to desktop systems 2024-01-10 22:03:54 +01:00
.editorconfig Extend editorconfig 2023-12-04 13:01:55 +01:00
.envrc Make the management scripts easier to use 2023-12-04 13:01:55 +01:00
.gitignore Ignore flycheck files 2023-11-08 20:02:10 +01:00
.gitmodules Add copilot 2023-12-13 14:56:21 +01:00
LICENSE Initial commit 2021-11-15 17:43:04 +01:00
README.md Unify the scripts to format disks 2024-01-13 11:19:03 +01:00
flake.lock Update flake 2024-01-13 11:19:10 +01:00
flake.nix Add management profile to test-raspi 2024-01-09 21:57:51 +01:00
setup-shell.nix Finalise UEFI support for Raspberry Pi 4 2024-01-09 21:57:51 +01:00
shell.nix Add pylsp to nix-shell 2024-01-10 22:03:54 +01:00

README.md

nixos

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.

Installation

  1. For Raspis it's the easiest if you prepare the SD card/disk on another system. For a PC you can just boot the installation ISO directly.
  2. For both devices you can format the disk/card with the following script sudo ./scripts/format-disk.py. It will walk you through the formatting process and for a Raspi4 it will prepare it for UEFI setup.
  3. Next install the system with sudo nixos-install --no-root-passwd --root /mnt/nixos --impure --flake .#SYSTEMNAME

When everything is finished you can reboot the system and remove the USB stick. You have now a fully encrypted NixOS system.

Update remote systems

Simply run the script scripts/remote_switch.sh and it will iterate over all defined systems. With the option -r the systems will reboot as well.

Non-Nixos System

  1. scripts/install-home-manager.sh

Development

Options template

{ config, lib, pkgs, ... }:
let
  cfg = config.programs.NAME;
in
{
  options = {
    programs.NAME.enable = lib.mkEnableOption "DESCRIPTION";
  };

  config = lib.mkIf cfg.enable {
  };
}