This commit is contained in:
2025-02-06 21:02:25 -05:00
parent 33c2718d40
commit 748894f99f
4 changed files with 41 additions and 5 deletions

View File

@@ -128,6 +128,7 @@
"maxtime",
"mechatroner",
"mediainfo",
"microvm",
"mklabel",
"mkpart",
"modesetting",

View File

@@ -33,8 +33,8 @@
inputs.nixpkgs.follows = "nixpkgs";
};
system_tools = {
url = "github:RichieCahill/system_tools";
microvm = {
url = "github:astro/microvm.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
@@ -47,6 +47,10 @@
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
system_tools = {
url = "github:RichieCahill/system_tools";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
@@ -56,6 +60,7 @@
systems,
nixos-cosmic,
sops-nix,
microvm,
...
} @ inputs: let
inherit (self) outputs;
@@ -71,10 +76,35 @@
in {
inherit lib;
overlays = import ./overlays {inherit inputs outputs;};
devShells = forEachSystem (pkgs: import ./shell.nix {inherit pkgs;});
formatter = forEachSystem (pkgs: pkgs.alejandra);
emulated-dev = nixpkgs.lib.nixosSystem {
# host system
system = "x86_64-linux";
modules = let
guestSystem = "aarch64-unknown-linux-gnu";
# you can use packages in the guest machine with cross system configuration
pkgs = import nixpkgs {
system = "x86_64-linux";
crossSystem.config = guestSystem;
};
in [
{nixpkgs.crossSystem.config = guestSystem;}
microvm.nixosModules.microvm
{
microvm = {
# you can choose what CPU will be emulated by qemu
cpu = "cortex-a53";
hypervisor = "qemu";
};
environment.systemPackages = with pkgs; [ cowsay htop ];
services.getty.autologinUser = "root";
system.stateVersion = "23.11";
}
];
};
nixosConfigurations = {
bob = lib.nixosSystem {
modules = [

View File

@@ -1,6 +1,8 @@
{ pkgs, ... }:
{
imports = [ ./nix_builder.nix ];
imports = [
./nix_builder.nix
];
users = {
users.github-runners = {

View File

@@ -1,4 +1,4 @@
{ config, lib, ... }:
{ config, inputs, lib, ... }:
with lib;
@@ -6,6 +6,8 @@ let
vars = import ../vars.nix;
in
{
imports = [ inputs.microvm.nixosModules.microvm ];
options.services.nix_builder.containers = mkOption {
type = types.attrsOf (types.submodule ({ name, ... }: {
options.enable = mkEnableOption "GitHub runner container";
@@ -81,3 +83,4 @@ in
}
) config.services.nix_builder.containers;
}