-
Notifications
You must be signed in to change notification settings - Fork 1
/
iso.nix
46 lines (41 loc) · 1.01 KB
/
iso.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
{nixpkgs ? <nixpkgs>, system ? builtins.currentSystem}:
let
hello_syncom = (import ./custom_configuration.nix {}).hello_syncom;
syncomisoconfig = {config, pkgs, ...}:
{
imports = [
<nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix>
<nixpkgs/nixos/modules/installer/cd-dvd/channel.nix>
];
isoImage.includeSystemBuildDependencies = false;
isoImage.storeContents = with pkgs; [
bash
git
(python38.withPackages(p: with p; [ protobuf ]))
cmake
gnumake
binutils
protobuf
clang-tools
gcc
patchelf
hello_syncom
];
# programs that should be available in the installer
environment.systemPackages = with pkgs; [
bash
git
(python38.withPackages(p: with p; [ protobuf ]))
cmake
gnumake
binutils
protobuf
clang-tools
gcc
patchelf
];
};
evalNixos = configuration: import "${nixpkgs}/nixos/default.nix" {
inherit system configuration;
};
in { iso = (evalNixos syncomisoconfig).config.system.build.isoImage; }