NixOS configuration
README.md

Prerequisites #

In order to use this repo, first fork it. Then create a nix-secrets flake with the following outputs:

{
  outputs = {...}: {
    # git email and name configuration
    git = {
      email = "git@ed209.dev";
      name = "ed209";
    };
    # username/home director
    username = "nixos";
    name = "ED-209";
    homeDirectory = "/home/nixos";
    ssh-keys = [
      ...
    ];
    timeZone = "Etc/GMT";
  };
}

Edit flake.nix to point nix-secrets to the location of your nix-secrets flake and push it up. You'll also likely want to provide secrets.nix for agenix, or you can modify the flake to your liking.

Installing #

With custom ISO #

Build the ISO with:

nix build git+https://tangled.org/ed209.dev/nix-config#sachiel#iso

Copy this to a USB drive or use it to build a VM.

⚠️ Note #

You must use EFI with this flake. Make sure your VM is using EFI.

Boot the ISO and simply run:

sudo disko-install --flake git+https://tangled.org/ed209.dev/nix-config#sachiel --write-efi-boot-entries --disk vda /dev/vda

It will prompt you for a disk encryption password. Once complete, reboot. If you receive a message about no EFI variables, please confirm the ISO was booted with EFI.

With standard NixOS installer #

It's also possible to install this with the standard NixOS installer.

sudo nix run 'github:nix-community/disko/latest#disko-install' -- --flake git+https://tangled.org/ed209.dev/nix-config#sachiel --write-efi-boot-entries --disk vda /dev/vda

⚠️ Note #

Building the latest version of disko inside the install tempfs environment uses a lot of RAM. If you get errors do to the disk filling up, you can use the version of disko in nixpkgs:

sudo nix run 'nixpkgs#disko-install' -- --flake git+https://tangled.org/ed209.dev/nix-config#sachiel --write-efi-boot-entries --disk vda /dev/vda

Using Home Manager #

This flake also provides a standalone Home Manager entrypoint.

home-manager switch --flake .#<username>

where <username> is whatever you set in your nix-secrets flake.