Opinionated user-agnostic NixOS configuration for PCs
Find a file
2026-03-17 19:40:49 +01:00
examples feat: make modules more modular 2026-02-16 22:33:23 +01:00
home fixup! feat(nushell): add git completions 2026-03-17 19:40:49 +01:00
system feat(programs): add rage 2026-03-16 21:51:27 +01:00
.gitignore feat(networking): setup using systemd-networkd 2025-11-16 20:42:39 +01:00
flake.lock chore(deps): flake update 2026-03-16 21:51:27 +01:00
flake.nix chore(deps): flake update 2026-03-16 21:51:27 +01:00
installation-iso.nix feat: make modules more modular 2026-02-16 22:33:23 +01:00
README.md docs(README): document FDE setup 2026-03-16 21:51:27 +01:00

Installation

Building Image

Build an installation image and copy it to a USB stick:

$ nix build .#nixosConfigurations.installationIso.config.system.build.isoImage
$ dd if=result of=/dev/<DEVICE> bs=4M status=progress

Configuration

The flake can be used to create a new flake containing a NixOS configuration by following the following example:

{
  description = "Example configuration for a NixOS installation";

  inputs = {
    plustik-pc-setup = {
      url = "git+https://code.tecks.eu/plustik/plustik-pc-setup?ref=main";
    };
  };

  outputs = { self, plustik-pc-setup, ... }: {
    nixosConfigurations = {
      "example" = plustik-pc-setup.lib.mkNixOSConfig {
        hostPlatform = "x86_64-linux";
        systemCustomModules = [
          ./examples/system.nix
        ];
        homeCustomModules = [
          ./examples/home.nix
        ];
      };
    };
  };
}

Setup FDE

Decryption using FIDO2-Keys

Assuming the hardware key is inserted and represented by file /dev/hidrawX:

# systemd-cryptenroll --fido2-device /dev/hidrawX /dev/nvme0n1p2