Move hydra jobsets to flake.nix

This commit is contained in:
adisbladis 2023-06-01 11:15:47 +12:00
parent 6ec96835d9
commit 7d59cba454
3 changed files with 75 additions and 2 deletions

View file

@ -29,6 +29,11 @@ jobs:
git config user.name github-actions
git config user.email github-actions@github.com
- name: Update flake inputs
run: |
nix flake update
git commit -m "Updated flake inputs" flake.lock || true
- name: Update inputs
run: |
./update

19
flake.lock generated
View file

@ -34,10 +34,27 @@
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1685468986,
"narHash": "sha256-YSj3K71KjRZgeL0hS3sYLYHI0g8aIVIf9lcsRMCIW2A=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9af373a61647257d16ae6062cddaa9094d24920c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-22.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
"nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable"
}
},
"systems": {

View file

@ -9,11 +9,13 @@
inputs = {
flake-utils.url = "github:numtide/flake-utils";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-22.11";
};
outputs =
{ self
, nixpkgs
, nixpkgs-stable
, flake-utils
}: {
# self: super: must be named final: prev: for `nix flake check` to be happy
@ -26,11 +28,14 @@
overlay = self.overlays.default;
} // flake-utils.lib.eachDefaultSystem (system: (
let
pkgs = import nixpkgs {
importPkgs = path: import path {
inherit system;
config.allowAliases = false;
overlays = [ self.overlays.default ];
};
pkgs = importPkgs nixpkgs;
inherit (pkgs) lib;
overlayAttributes = lib.pipe (import ./. pkgs pkgs) [
builtins.attrNames
@ -45,6 +50,52 @@
{
lib = attributesToAttrset overlayAttributes.wrong;
packages = attributesToAttrset overlayAttributes.right;
hydraJobs =
let
mkHydraJobs = pkgs: let
mkEmacsSet = emacs: pkgs.recurseIntoAttrs (
lib.filterAttrs
(n: v: builtins.typeOf v == "set" && ! lib.isDerivation v)
(pkgs.emacsPackagesFor emacs)
);
in {
emacsen = {
inherit (pkgs) emacsUnstable emacsUnstable-nox;
inherit (pkgs) emacsGit emacsGit-nox;
inherit (pkgs) emacsPgtk;
};
emacsen-cross =
let
crossTargets = [ "aarch64-multiplatform" ];
in
lib.fold lib.recursiveUpdate { }
(builtins.map
(target:
let
targetPkgs = pkgs.pkgsCross.${target};
in
lib.mapAttrs' (name: job: lib.nameValuePair "${name}-${target}" job)
({
inherit (targetPkgs) emacsUnstable emacsUnstable-nox;
inherit (targetPkgs) emacsGit emacsGit-nox;
inherit (targetPkgs) emacsPgtk;
}))
crossTargets);
packages = mkEmacsSet pkgs.emacs;
packages-unstable = mkEmacsSet pkgs.emacsUnstable;
};
in
{
"22.11" = mkHydraJobs (importPkgs nixpkgs-stable);
"unstable" = mkHydraJobs pkgs;
};
}
));