Modular, context-aware and aspect-oriented dendritic Nix configurations. Discussions: https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/
at main 34 lines 1.4 kB view raw
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}