From 9c2239488fb0c879ea98b6ec9eeda73603366bde Mon Sep 17 00:00:00 2001 From: seth Date: Thu, 25 May 2023 15:10:45 -0400 Subject: move lib to nix-exprs --- lib/ci.nix | 70 --------------------------------------------------------- lib/configs.nix | 37 ------------------------------ lib/default.nix | 18 --------------- 3 files changed, 125 deletions(-) delete mode 100644 lib/ci.nix delete mode 100644 lib/configs.nix delete mode 100644 lib/default.nix (limited to 'lib') diff --git a/lib/ci.nix b/lib/ci.nix deleted file mode 100644 index 36185f6..0000000 --- a/lib/ci.nix +++ /dev/null @@ -1,70 +0,0 @@ -lib: supportedSystems: let - inherit (builtins) attrNames baseNameOf elem getContext head mapAttrs seq stringLength substring; - inherit (lib) filterAttrs; - check = string: elem string supportedSystems; -in rec { - # filters systems in basic flake output - # ex: - # - # packages = { - # x86_64-linux = {}; - # aarch64-linux = {}; - # x86_64-darwin = {}; - # aarch64-darwin = {}; - # }; - # mkCompatible packages -> {x86_64-linux = {}; aarch64-linux = {};} - mkCompatible = filterAttrs (system: _: check system); - - # mkCompatible but for apps, since their attribute - # also needs to be editied in order to be picked up - # by hydra - mkCompatibleApps = apps: - mkCompatible (mapAttrs ( - _: - mapAttrs (_: v: { - program = let - ctx = getContext v.program; - drvPath = head (attrNames ctx); - basename = baseNameOf drvPath; - hashLength = 33; - l = stringLength basename; - in { - name = substring hashLength (l - hashLength - 4) basename; - type = "derivation"; - inherit drvPath; - }; - }) - ) - apps); - - # mkCompatible but for formatters - mkCompatibleFormatters = filterAttrs (system: fmt: check system && elem system (fmt.meta.platforms or [])); - - # mkComaptible, but maps nixosConfigurations - # to their toplevel build attribute so they can - # be picked up by hydra - mkCompatibleCfg = configs: - filterAttrs (_: config: check config.system) - (mapAttrs (_: v: v.config.system.build.toplevel) configs); - - # mkCompatibleCfg, but the toplevel build attribute - # is only evaluated - mkCompatibleCfg' = configs: - filterAttrs (_: config: check config.system) - (mapAttrs (_: v: - seq - v.config.system.build.toplevel - v._module.args.pkgs.emptyFile) - configs); - - # mkCompatible, but maps homeConfigurations - # to their activationPackage so they can be - # picked up by hydra - mkCompatibleHM = configs: - filterAttrs (system: _: check system) - (mapAttrs (_: mapAttrs (_: deriv: deriv.activationPackage or {})) configs); - - # mkCompatible, but for packages - # meta.platforms is also checked to ensure compatibility - mkCompatiblePkgs = mapAttrs (system: filterAttrs (_: deriv: elem system (deriv.meta.platforms or []))); -} diff --git a/lib/configs.nix b/lib/configs.nix deleted file mode 100644 index 8da37bc..0000000 --- a/lib/configs.nix +++ /dev/null @@ -1,37 +0,0 @@ -inputs: { - mkNixOS = { - name, - profile, - modules ? profile.modules, - system ? profile.system, - specialArgs ? profile.specialArgs, - }: - profile.builder { - inherit specialArgs system; - modules = - [../hosts/${name}] - ++ ( - if modules == profile.modules - then modules - else modules ++ profile.modules - ); - }; - - mkHMUser = { - name, - modules ? [], - pkgs ? import inputs.nixpkgs {system = "x86_64-linux";}, - extraSpecialArgs ? inputs, - }: - inputs.home-manager.lib.homeManagerConfiguration { - inherit pkgs extraSpecialArgs; - modules = - [ - { - programs.home-manager.enable = true; - } - ] - ++ [../users/${name}/home.nix] - ++ modules; - }; -} diff --git a/lib/default.nix b/lib/default.nix deleted file mode 100644 index 67a102e..0000000 --- a/lib/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - lib, - inputs, -}: let - configs = import ./configs.nix inputs; -in - lib.extend (_: _: { - my = { - inherit (configs) mkHMUser mkNixOS; - - ci = import ./ci.nix lib; - - mkFlakeFns = systems: nixpkgs: rec { - forAllSystems = lib.genAttrs systems; - nixpkgsFor = forAllSystems (system: import nixpkgs {inherit system;}); - }; - }; - }) -- cgit v1.2.3