From 654a1c9cf53164d59e89babd301fefd92515ee8e Mon Sep 17 00:00:00 2001 From: Sridhar Ratnakumar Date: Tue, 26 Mar 2024 13:16:53 -0400 Subject: [PATCH] Add a new host, WIP --- flake.lock | 6 +-- flake.nix | 10 ++-- nixos/disko/trivial.nix | 54 ++++++++++--------- .../linux-builder => nixos}/parallels-vm.nix | 0 systems/github-runner.nix | 30 +++++++++++ .../parallels-vm/linux-builder/default.nix | 2 +- 6 files changed, 69 insertions(+), 33 deletions(-) rename {systems/parallels-vm/linux-builder => nixos}/parallels-vm.nix (100%) create mode 100644 systems/github-runner.nix diff --git a/flake.lock b/flake.lock index 3b3d0fb..f8534da 100644 --- a/flake.lock +++ b/flake.lock @@ -172,11 +172,11 @@ ] }, "locked": { - "lastModified": 1707524024, - "narHash": "sha256-HmumZ8FuWAAYZrWUKm3N4G4h8nmZ5VUVX+vXLmCJNKM=", + "lastModified": 1711462743, + "narHash": "sha256-3wKGpHy9Kyh98DrziqC/s//60Q0pE17NgbY93L0uWng=", "owner": "nix-community", "repo": "disko", - "rev": "d07de570ba05cec2807d058daaa044f6955720c7", + "rev": "a6717b1afee7ae955c61eefdf0ce8f864ef78115", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 78c5ee9..45af4d3 100644 --- a/flake.nix +++ b/flake.nix @@ -72,9 +72,13 @@ ./systems/darwin.nix; # Configuration for a NixOS VM (running on my Mac) - nixosConfigurations.parallels-linux-builder = - self.nixos-flake.lib.mkLinuxSystem - ./systems/parallels-vm/linux-builder; + nixosConfigurations = { + parallels-linux-builder = + self.nixos-flake.lib.mkLinuxSystem + ./systems/parallels-vm/linux-builder; + github-runner = self.nixos-flake.lib.mkLinuxSystem + ./systems/github-runner.nix; + }; }; perSystem = { self', system, pkgs, lib, config, inputs', ... }: { diff --git a/nixos/disko/trivial.nix b/nixos/disko/trivial.nix index 2c6e0ac..a7fd981 100644 --- a/nixos/disko/trivial.nix +++ b/nixos/disko/trivial.nix @@ -1,33 +1,35 @@ # A trivial disk configuration with single root partition taking whole disk # space. -{ device, ... }: { - disk = { - main = { - inherit device; - type = "disk"; - content = { - type = "gpt"; - partitions = { - boot = { - size = "1M"; - type = "EF02"; # for grub MBR - }; - ESP = { - size = "512M"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; + disko.devices = { + disk = { + main = { + # When using disko-install, we will overwrite this value from the commandline + device = "/dev/disk/by-id/some-disk-id"; + type = "disk"; + content = { + type = "gpt"; + partitions = { + boot = { + size = "1M"; + type = "EF02"; # for grub MBR }; - }; - root = { - size = "100%"; - content = { - type = "filesystem"; - format = "ext4"; - mountpoint = "/"; + ESP = { + size = "512M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + }; + }; + root = { + size = "100%"; + content = { + type = "filesystem"; + format = "ext4"; + mountpoint = "/"; + }; }; }; }; diff --git a/systems/parallels-vm/linux-builder/parallels-vm.nix b/nixos/parallels-vm.nix similarity index 100% rename from systems/parallels-vm/linux-builder/parallels-vm.nix rename to nixos/parallels-vm.nix diff --git a/systems/github-runner.nix b/systems/github-runner.nix new file mode 100644 index 0000000..b6882a7 --- /dev/null +++ b/systems/github-runner.nix @@ -0,0 +1,30 @@ +# TODO: WIP +{ flake, pkgs, lib, ... }: + +let + inherit (flake) inputs; + inherit (inputs) self; +in +{ + imports = [ + inputs.disko.nixosModules.disko + "${self}/nixos/disko/trivial.nix" + "${self}/nixos/parallels-vm.nix" + "${self}/nixos/self/primary-as-admin.nix" + "${self}/nixos/server/harden/basics.nix" + ]; + + system.stateVersion = "23.11"; + networking.hostName = "github-runner"; + nixpkgs.hostPlatform = "aarch64-linux"; + boot = { + binfmt.emulatedSystems = [ "x86_64-linux" ]; + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + }; + + services.openssh.enable = true; + +} diff --git a/systems/parallels-vm/linux-builder/default.nix b/systems/parallels-vm/linux-builder/default.nix index 3a83fd7..3b2c067 100644 --- a/systems/parallels-vm/linux-builder/default.nix +++ b/systems/parallels-vm/linux-builder/default.nix @@ -14,7 +14,7 @@ ../../../nixos/self/primary-as-admin.nix ../../../nixos/server/harden/basics.nix ../../../nixos/current-location.nix - ./parallels-vm.nix + ../../../nixos/parallels-vm.nix # Dev ./dev.nix ];