From fcf23007329f54f8ef4a2448220f8c144f4ed754 Mon Sep 17 00:00:00 2001 From: William P Date: Wed, 23 Jul 2025 21:24:34 -0400 Subject: [PATCH] implement bootable orphan client --- flake.nix | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/flake.nix b/flake.nix index fa404c7..bae79e2 100644 --- a/flake.nix +++ b/flake.nix @@ -21,14 +21,15 @@ packages = forAllSystems (system: let pkgs = nixpkgsFor.${system}; - in - { - default = pkgs.buildGoModule { + clientPackage = pkgs.buildGoModule { pname = "client"; inherit version; src = ./client; vendorHash = null; }; + in + { + default = clientPackage; boot-env-iso = nixos-generators.nixosGenerate { inherit system; format = "iso"; @@ -39,18 +40,22 @@ (modulesPath + "/profiles/base.nix") ]; + system.stateVersion = "25.05"; + # Disable unneeded features - ## boot.loader.grub.enable = true; - ## boot.loader.grub.device = "nodev"; + ##boot.loader.grub.enable = true; # Not needed as iso-image.nix in modulesPath defines these and cause conflict + ##boot.loader.grub.device = "nodev"; documentation.enable = false; fonts.fontconfig.enable = false; services.udisks2.enable = false; + networking.firewall.enable = false; # Technically we COULD use the firewall, but given that this is a network-dependent, one-time-use service, it would cause more issues + services.getty.autologinUser = "root"; + environment.systemPackages = [ clientPackage ]; environment.etc."profile.local".text = '' - # Minimal shell prompt - echo "It works!" + client ''; isoImage.squashfsCompression = "gzip -Xcompression-level 1"; @@ -70,6 +75,7 @@ pkgs.bashInteractive pkgs.go pkgs.delve + pkgs.qemu_kvm ]; }; });