|
|
| Line 6: |
Line 6: |
| * it is easy to add your own programs to the image | | * it is easy to add your own programs to the image |
|
| |
|
| == how to build such an image == | | == how to build your own image == |
| we will use the NIXREPOS variable, which points to the nixpkgs/nixos checkouts, see [[Create and debug nix packages]]
| |
|
| |
|
| just run this command (for 64 bit):
| | Create a file "iso.nix": |
| export NIX_PATH=$NIXREPOS
| |
| nix-build -A iso_graphical.x86_64-linux $NIXREPOS/nixos/release.nix
| |
|
| |
|
| for 32 bit:
| |
| export NIX_PATH=$NIXREPOS
| |
| nix-build -A iso_graphical.i686-linux $NIXREPOS/nixos/release.nix
| |
|
| |
| once the building process is over, you should see multiple nix distributions built (for multiple archs). See contents to find iso image path:
| |
|
| |
| $ cat /nix/store/2y4bivmrzg4d2dgby2b7prvfj7445088-nixos-iso-0.1pre1234/nix-support/hydra-build-products
| |
| file iso /nix/store/94rrfklbk2hcqhkr4627vsrlprlyva50-iso9660-image/iso/nixos-minimal-0.1pre1234-i686-linux-test.iso
| |
|
| |
| and copy the new image from there to your USB drive (or use unetbootin).
| |
|
| |
| == adding additional software to the image ==
| |
| the basic script '''/etc/nixos/nixos/release.nix''' contains several entry points for custom images. as we are using '''-A iso_minimal''' have a look at: iso_minimal which will redirect us to:
| |
|
| |
| * ./modules/installer/cd-dvd/installation-cd-minimal.nix -> /etc/nixos/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix
| |
| # This module defines a small NixOS installation CD. It does not | | # This module defines a small NixOS installation CD. It does not |
| # contain any graphical stuff. | | # contain any graphical stuff. |
| {config, pkgs, ...}: | | {config, pkgs, ...}: |
| { | | { |
| require = [ | | imports = [ |
| ./installation-cd-base.nix
| | <nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix> |
| ../../profiles/minimal.nix
| | <nixpkgs/nixos/modules/installer/cd-dvd/channel.nix> |
| ]; | | ]; |
| } | | } |
| | |
| | Build the image via: |
| | nix-build -A config.system.build.isoImage -I nixos-config=iso.nix /path/to/nixpkgs/nixos |
|
| |
|
| === Start SSH with your SSH key | | === Start SSH with your SSH key |
|
| |
|
| In your configuration.nix: | | In your iso.nix: |
|
| |
|
| <code> | | <code> |