create bootable nixos system

This commit is contained in:
2025-07-23 13:31:38 -04:00
parent c16338fa6e
commit dfe95b66b0
2 changed files with 70 additions and 1 deletions

37
flake.lock generated
View File

@@ -1,5 +1,41 @@
{
"nodes": {
"nixlib": {
"locked": {
"lastModified": 1736643958,
"narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixos-generators": {
"inputs": {
"nixlib": "nixlib",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1751903740,
"narHash": "sha256-PeSkNMvkpEvts+9DjFiop1iT2JuBpyknmBUs0Un0a4I=",
"owner": "nix-community",
"repo": "nixos-generators",
"rev": "032decf9db65efed428afd2fa39d80f7089085eb",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixos-generators",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1751637120,
@@ -17,6 +53,7 @@
},
"root": {
"inputs": {
"nixos-generators": "nixos-generators",
"nixpkgs": "nixpkgs"
}
}

View File

@@ -3,9 +3,13 @@
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs }:
outputs = { self, nixpkgs, nixos-generators, ... }:
let
lastModifiedDate = self.lastModifiedDate or self.lastModified or "19700101";
version = builtins.substring 0 8 lastModifiedDate;
@@ -25,6 +29,34 @@
src = ./client;
vendorHash = null;
};
boot-env-iso = nixos-generators.nixosGenerate {
inherit system;
format = "iso";
modules = [
({modulesPath, ...}: {
imports = [
(modulesPath + "/profiles/minimal.nix")
(modulesPath + "/profiles/base.nix")
];
# Disable unneeded features
## boot.loader.grub.enable = true;
## boot.loader.grub.device = "nodev";
documentation.enable = false;
fonts.fontconfig.enable = false;
services.udisks2.enable = false;
services.getty.autologinUser = "root";
environment.etc."profile.local".text = ''
# Minimal shell prompt
echo "It works!"
'';
isoImage.squashfsCompression = "gzip -Xcompression-level 1";
})
];
};
});
devShells = forAllSystems (system: