home-manager | ||
lib | ||
modules | ||
scripts | ||
scrts | ||
systems | ||
.editorconfig | ||
.envrc | ||
.gitignore | ||
.gitmodules | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
README.md | ||
setup-shell.nix | ||
shell.nix |
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
- 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.
- 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. - 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
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 {
};
}