Create custom iso

This commit is contained in:
SebastianStork 2024-08-16 21:38:40 +02:00
parent b2351be830
commit a4fca57ff7
6 changed files with 82 additions and 1 deletions

3
.gitignore vendored
View file

@ -1 +1,2 @@
.direnv/
.direnv/
result/

37
flake.lock generated
View file

@ -188,6 +188,42 @@
"type": "github"
}
},
"nixlib": {
"locked": {
"lastModified": 1723337705,
"narHash": "sha256-znSU0DeNDPt7+LMAfFkvKloMaeQ6yl/U5SqV/ktl1vA=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "ace7856d327b618d3777e31b1f224b3ab57ed71a",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixos-generators": {
"inputs": {
"nixlib": "nixlib",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1723683171,
"narHash": "sha256-hQMQQHOVVkiCO5hmbjI3EVimWFIkRNkGIGUhyIQ0mQ0=",
"owner": "nix-community",
"repo": "nixos-generators",
"rev": "1cb3dc2f3af215ea40911de8fd0942c1ff3fb673",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixos-generators",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1723362943,
@ -241,6 +277,7 @@
"home-manager": "home-manager",
"nix-index-database": "nix-index-database",
"nix-vscode-extensions": "nix-vscode-extensions",
"nixos-generators": "nixos-generators",
"nixpkgs": "nixpkgs",
"sops-nix": "sops-nix",
"treefmt-nix": "treefmt-nix",

View file

@ -4,6 +4,11 @@
flake-parts.url = "github:hercules-ci/flake-parts";
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";

View file

@ -19,5 +19,12 @@ in
inherit specialArgs;
modules = modulesOf "inspiron";
};
installer = inputs.nixpkgs.lib.nixosSystem {
inherit specialArgs;
modules = [
{ networking.hostName = "installer"; }
"${self}/hosts/installer"
];
};
};
}

View file

@ -0,0 +1,28 @@
{
modulesPath,
inputs,
pkgs,
lib,
...
}:
{
imports = [
inputs.nixos-generators.nixosModules.all-formats
"${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix"
../common.nix
];
nixpkgs.hostPlatform = "x86_64-linux";
environment.systemPackages = [ inputs.disko.packages.${pkgs.system}.default ];
users.users.root.openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGBUORYC3AvTPQmtUEApTa9DvHoJy4mjuQy8abSjCcDd seb@north"
];
installer.cloneConfig = lib.mkForce false;
isoImage = {
edition = lib.mkForce "seb-minimal";
isoName = lib.mkForce "NixOS";
};
}

View file

@ -25,3 +25,6 @@ fmt:
check:
nix flake check
build-iso:
nix build .#nixosConfigurations.installer.config.formats.iso -o result