init new repo
This commit is contained in:
+43
@@ -0,0 +1,43 @@
|
||||
Build ISO installer
|
||||
nix build .#nixosConfigurations.installer-iso.config.system.build.isoImage
|
||||
|
||||
Build kiosk system and push to Attic cache
|
||||
nix build .#nixosConfigurations.rhemawavekiosk.config.system.build.toplevel
|
||||
attic push kiosk ./result
|
||||
|
||||
Deploy to a specific kiosk over SSH
|
||||
nixos-rebuild switch --flake .#rhemawavekiosk --target-host root@<host>
|
||||
|
||||
---
|
||||
|
||||
## How these build paths work
|
||||
|
||||
The build commands follow the flake output attribute tree. Start with `flake.nix`:
|
||||
|
||||
```nix
|
||||
nixosConfigurations = {
|
||||
rhemawavekiosk = nixpkgs.lib.nixosSystem { ... }; # production machine
|
||||
installer-iso = nixpkgs.lib.nixosSystem { ... }; # USB installer
|
||||
};
|
||||
```
|
||||
|
||||
Each `nixosConfiguration` is a full NixOS system. You access what you want to build
|
||||
by walking the attribute tree with dots:
|
||||
|
||||
```
|
||||
.#nixosConfigurations.<name>.config.system.build.<target>
|
||||
│ │ │ │
|
||||
│ │ │ └─ what to build:
|
||||
│ │ │ toplevel = full system closure
|
||||
│ │ │ isoImage = bootable ISO
|
||||
│ │ │
|
||||
│ │ └─ name from flake.nix (rhemawavekiosk, installer-iso)
|
||||
│ │
|
||||
│ └─ nixosConfigurations = standard flake output for NixOS systems
|
||||
│
|
||||
└─ .# = "this flake, attribute..."
|
||||
```
|
||||
|
||||
You can explore what's available with:
|
||||
nix eval .#nixosConfigurations --apply builtins.attrNames
|
||||
nix eval .#nixosConfigurations.rhemawavekiosk.config.system.build --apply builtins.attrNames
|
||||
Reference in New Issue
Block a user