Go to file
2024-07-18 21:26:56 +02:00
home-manager Enable nix garbage collection for home-manager 2024-07-16 22:05:53 +02:00
lib Update FreshRSS to version 1.24.1 2024-06-08 14:27:04 +02:00
modules Use altgr-intl for the moment because intl is broken on Linux 2024-07-18 21:26:56 +02:00
pkgs/send-to-kindle Remove firefox from send-to-kindle 2024-05-15 21:54:02 +02:00
scripts Add function to create host keys 2024-07-16 22:05:54 +02:00
scrts Rekey secrets for budget 2024-07-16 22:05:55 +02:00
systems Enable restic backups for budget server 2024-07-17 21:41:12 +02: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
flake.lock Update flake inputs 2024-07-15 14:24:15 +02:00
flake.nix Add a budget server 2024-07-16 22:05:47 +02:00
LICENSE Initial commit 2021-11-15 17:43:04 +01:00
README.md Add no-channel-copy option to install command 2024-03-04 18:22:15 +01:00
setup-shell.nix Switch to nixfmt-rfc-style 2024-02-02 13:45:05 +01:00
shell.nix Update shell 2024-06-04 19:39:49 +02:00

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.sh. Make sure to edit it beforehand, to point it to the correct disk.
  3. Next install the system with sudo nixos-install --no-root-passwd --root /mnt/nixos --impure --flake .#SYSTEMNAME --no-channel-copy
  4. Rename the partitions with the script sudo ./scripts/rename-partitions.sh. With this script as well. Check that you're pointing to the correct disk.

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

Additional script

  • If you only want to prepare an SD card with an UEFI partition for a Raspberry Pi 4 you can use the script sudo ./scripts/create-uefi.sh

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 {
  };
}