Opinionated user-agnostic NixOS configuration for PCs
  • Nix 97%
  • CSS 3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-17 19:12:18 +02:00
examples chore(deps): update flake inputs 2026-04-09 22:32:52 +02:00
home feat(apps): install jellyfin-desktop 2026-08-17 19:12:18 +02:00
system style: nix format 2026-08-15 12:42:44 +02:00
.gitignore feat(nushell): reconfigure using carapace 2026-05-16 15:19:40 +02:00
flake.lock chore(deps): update flake inputs 2026-08-17 19:11:55 +02:00
flake.nix style: nix format 2026-08-15 12:42:44 +02: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-29 21:34:04 +02: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