Prerequisites

Global prerequisites

Make sure to follow EPNix’ global Prerequisites.

NixOS flake

One prerequisite is having a NixOS machine with a flake configuration.

If you’re not sure how to do this, you can follow the Creating an Archiver Appliance instance tutorial, which is a good introduction on how to make a NixOS VM.

If you have such a configuration, make sure that:

  • You have the epnix flake input

  • You have added epnix as an argument to your flake outputs

  • You have imported EPNix’ NixOS module

For example:

flake.nix
 {
   # ...
   inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
+  inputs.epnix.url = "github:epics-extensions/EPNix/nixos-25.05";

   # ...
   outputs = {
     self,
     nixpkgs,
+    epnix,
   }: {
     nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
       modules = [
+        epnix.nixosModules.nixos

         # ...
       ];
     };
   };
 }

Hostname consistency

In your flake.nix, you should see the line nixosConfigurations.hostname = ....

Make sure the specified hostname is consistent with the machine’s hostname, which is defined by the option networking.hostName.