forked from
oeiuwq.com/den
Modular, context-aware and aspect-oriented dendritic Nix configurations.
Discussions: https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/
1# Some CI checks to ensure this template always works.
2# Feel free to adapt or remove when this repo is yours.
3{ inputs, ... }:
4{
5 perSystem =
6 {
7 pkgs,
8 self',
9 lib,
10 ...
11 }:
12 let
13 checkCond = name: cond: pkgs.runCommandLocal name { } (if cond then "touch $out" else "");
14 apple = inputs.self.darwinConfigurations.apple.config;
15 igloo = inputs.self.nixosConfigurations.igloo.config;
16 alice-at-igloo = igloo.home-manager.users.alice;
17 vmBuilds = !pkgs.stdenvNoCC.isLinux || builtins.pathExists (self'.packages.vm + "/bin/vm");
18 iglooBuilds = !pkgs.stdenvNoCC.isLinux || builtins.pathExists (igloo.system.build.toplevel);
19 appleBuilds = !pkgs.stdenvNoCC.isDarwin || builtins.pathExists (apple.system.build.toplevel);
20 in
21 {
22 checks."igloo builds" = checkCond "igloo-builds" iglooBuilds;
23 checks."apple builds" = checkCond "apple-builds" appleBuilds;
24 checks."vm builds" = checkCond "vm-builds" vmBuilds;
25
26 checks."alice enabled igloo nh" = checkCond "alice.provides.igloo" igloo.programs.nh.enable;
27 checks."igloo enabled alice helix" =
28 checkCond "igloo.provides.alice" alice-at-igloo.programs.helix.enable;
29
30 checks."alice-custom-emacs" = checkCond "hm.programs.emacs.package" (
31 "emacs-nox" == lib.getName alice-at-igloo.programs.emacs.package
32 );
33 };
34}