feat: do CI builds in podman
Some checks failed
/ check (push) Has been cancelled

This commit is contained in:
Daniel Flanagan 2025-03-19 13:21:15 -05:00
parent b42b6011d8
commit 4f96a415f0
6 changed files with 38 additions and 13 deletions

View file

@ -5,22 +5,24 @@
... ...
}: }:
{ {
config = lib.mkIf (config.virtualisation.oci-containers.backend == "podman") { config = lib.mkIf config.virtualisation.podman.enable {
environment = { environment = {
systemPackages = with pkgs; [ systemPackages = with pkgs; [
podman-tui
podman-compose podman-compose
]; ];
}; };
virtualisation = { virtualisation = {
podman = { podman = {
# enable = true;
dockerCompat = true; dockerCompat = true;
dockerSocket.enable = true; dockerSocket.enable = true;
defaultNetwork.settings.dns_enabled = true; defaultNetwork.settings.dns_enabled = true;
}; };
oci-containers = { oci-containers = {
# backend = "podman"; backend = "podman";
}; };
}; };

View file

@ -3,14 +3,10 @@ let
iosevkaLyteTerm = pkgs.callPackage ./iosevkaLyteTerm.nix { }; iosevkaLyteTerm = pkgs.callPackage ./iosevkaLyteTerm.nix { };
in in
{ {
iosevka = pkgs.callPackage ./iosevka.nix { };
inherit iosevkaLyteTerm; inherit iosevkaLyteTerm;
iosevka = pkgs.callPackage ./iosevka.nix { };
iosevkaLyteTermSubset = pkgs.callPackage ./iosevkaLyteTermSubset.nix { iosevkaLyteTermSubset = pkgs.callPackage ./iosevkaLyteTermSubset.nix { };
inherit iosevkaLyteTerm;
};
installer = pkgs.callPackage ./installer.nix { }; installer = pkgs.callPackage ./installer.nix { };
ghostty-terminfo = pkgs.callPackage ./ghostty-terminfo.nix { }; ghostty-terminfo = pkgs.callPackage ./ghostty-terminfo.nix { };
forgejo-actions-container = pkgs.callPackage ./forgejo-actions-container.nix { };
} }

View file

@ -0,0 +1,23 @@
{
nodejs_23,
nix,
dockerTools,
}:
let
pname = "forgejo-actions-container";
in
# bootstrap this into the forgejo server with
# $ podman login ${FORGEJO_ENDPOINT:-git.lyte.dev}
# $ podman image load -i (nix build .#forgejo-actions-container --print-out-paths)
# $ podman image push git.lyte.dev/lytedev/nix:forgejo-actions-container-$NIX_VERSION
dockerTools.buildLayeredImage {
name = "git.lyte.dev/lytedev/nix";
tag = "${pname}-${nix.version}";
config = {
Cmd = [ "/bin/nix" ];
};
contents = [
nix
nodejs_23
];
}

View file

@ -108,7 +108,7 @@
}; };
}; };
virtualisation.oci-containers.backend = "podman"; virtualisation.podman.enable = true;
services.deno-netlify-ddns-client = { services.deno-netlify-ddns-client = {
enable = true; enable = true;
@ -1066,9 +1066,10 @@
labels = [ labels = [
# type ":host" does not depend on docker/podman/lxc # type ":host" does not depend on docker/podman/lxc
"podman" "podman"
"nix:docker://git.lyte.dev/lytedev/nix:latest" "nix-2.24.12:docker://git.lyte.dev/lytedev/nix:forgejo-actions-container-2.24.12"
"beefcake:host" "nix-latest:docker://git.lyte.dev/lytedev/nix:forgejo-actions-container-latest"
"nixos-host:host" # "beefcake:host"
# "nixos-host:host"
]; ];
tokenFile = config.sops.secrets."forgejo-runner.env".path; tokenFile = config.sops.secrets."forgejo-runner.env".path;
hostPackages = with pkgs; [ hostPackages = with pkgs; [

View file

@ -15,5 +15,6 @@ in
generic-headless = stableHost ./generic-headless.nix { }; generic-headless = stableHost ./generic-headless.nix { };
generic = stableHost ./generic.nix { }; generic = stableHost ./generic.nix { };
# arm-dragon = host ./dragon.nix { system = "aarch64-linux"; }; # arm-dragon = host ./dragon.nix { system = "aarch64-linux"; };
} }

View file

@ -33,6 +33,7 @@
common-gpu-amd common-gpu-amd
common-pc-ssd common-pc-ssd
]; ];
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
powerManagement.cpuFreqGovernor = "performance"; powerManagement.cpuFreqGovernor = "performance";
@ -49,6 +50,7 @@
services.postgresql.enable = true; services.postgresql.enable = true;
programs.steam.enable = true; programs.steam.enable = true;
lyte.desktop.enable = true; lyte.desktop.enable = true;
virtualisation.podman.enable = true;
home-manager.users.daniel = { home-manager.users.daniel = {
lyte = { lyte = {