From c56659cc5664c179e756df51196d8472f564becb Mon Sep 17 00:00:00 2001 From: Daniel Flanagan Date: Wed, 24 Jul 2024 12:14:01 -0500 Subject: [PATCH] Use homemade nix image --- .forgejo/workflows/nix.yaml | 1 - flake.nix | 55 ++++++++++++++++++++++++++++++++++++- nixos/beefcake.nix | 6 ++-- 3 files changed, 57 insertions(+), 5 deletions(-) diff --git a/.forgejo/workflows/nix.yaml b/.forgejo/workflows/nix.yaml index baf96cd..aa41e6f 100644 --- a/.forgejo/workflows/nix.yaml +++ b/.forgejo/workflows/nix.yaml @@ -4,4 +4,3 @@ jobs: runs-on: nix steps: - run: nix flake check - diff --git a/flake.nix b/flake.nix index 7e664b6..6d794a0 100644 --- a/flake.nix +++ b/flake.nix @@ -88,7 +88,7 @@ # kind of a quirk, but package definitions are actually in the "additions" # overlay I did this to work around some recursion problems # TODO: https://discourse.nixos.org/t/infinite-recursion-getting-started-with-overlays/48880 - packages = genPkgs (pkgs: {inherit (pkgs) iosevkaLyteTerm iosevkaLyteTermSubset;}); + packages = genPkgs (pkgs: {inherit (pkgs) iosevkaLyteTerm iosevkaLyteTermSubset nix-base-container-image;}); diskoConfigurations = import ./disko; templates = import ./templates; formatter = genPkgs (p: p.alejandra); @@ -134,6 +134,59 @@ iosevkaLyteTermSubset = prev.callPackage ./packages/iosevkaLyteTermSubset.nix { inherit iosevkaLyteTerm; }; + nix-base-container-image = final.dockerTools.buildImageWithNixDb { + name = "git.lyte.dev/lytedev/nix"; + tag = "latest"; + + copyToRoot = with final; [ + bash + coreutils + curl + gawk + gitFull + git-lfs + gnused + nodejs + wget + sudo + nixFlakes + cacert + gnutar + gzip + openssh + xz + (pkgs.writeTextFile { + name = "nix.conf"; + destination = "/etc/nix/nix.conf"; + text = '' + accept-flake-config = true + experimental-features = nix-command flakes + ''; + }) + ]; + + extraCommands = '' + # enable /usr/bin/env for scripts + # mkdir -p usr + # ln -s ../bin usr/bin + + # create HOME + # mkdir -vp root + ''; + config = { + Cmd = ["/bin/bash"]; + Env = [ + "LANG=en_GB.UTF-8" + "ENV=/etc/profile.d/nix.sh" + "BASH_ENV=/etc/profile.d/nix.sh" + "NIX_BUILD_SHELL=/bin/bash" + "PAGER=cat" + "PATH=/usr/bin:/bin" + "SSL_CERT_FILE=${final.cacert}/etc/ssl/certs/ca-bundle.crt" + "USER=root" + ]; + }; + }; }; modifications = final: prev: { diff --git a/nixos/beefcake.nix b/nixos/beefcake.nix index b8011b4..1f45169 100644 --- a/nixos/beefcake.nix +++ b/nixos/beefcake.nix @@ -720,8 +720,8 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00 LEVEL = "Debug"; }; ui = { - THEMES = "catppuccin-mocha-sapphire,forgejo,arc-green,auto,pitchblack"; - DEFAULT_THEME = "catppuccin-mocha-sapphire"; + THEMES = "forgejo-auto,forgejo-light,forgejo-dark,catppuccin-mocha-sapphire"; + DEFAULT_THEME = "forgejo-auto"; }; indexer = { REPO_INDEXER_ENABLED = "true"; @@ -754,7 +754,7 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00 labels = [ # type ":host" does not depend on docker/podman/lxc "podman" - "nix:docker://nixos/nix:2.23.3" + "nix:docker://git.lyte.dev/lytedev/nix:latest" ]; tokenFile = config.sops.secrets."forgejo-runner.env".path; hostPackages = with pkgs; [