From 8fb207dbb8c944847cc523f844fd05b6e7fe6fae Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Wed, 6 Apr 2022 14:05:08 +0200 Subject: ... --- flake.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index e5aa1329..163e7bd5 100644 --- a/flake.nix +++ b/flake.nix @@ -57,7 +57,7 @@ inherit (nixpkgs) lib; utils = import ./utils { inherit lib; }; inherit (utils) nixImport overrideModule; - inherit (lib) nixosSystem mkIf splitString filterAttrs listToAttrs mapAttrsToList nameValuePair concatMap composeManyExtensions mapAttrs mapAttrs' recursiveUpdate genAttrs unique elem optionalAttrs isDerivation concatLists concatStringsSep; + inherit (lib) nixosSystem mkIf splitString filterAttrs listToAttrs mapAttrsToList nameValuePair concatMap composeManyExtensions mapAttrs mapAttrs' recursiveUpdate genAttrs unique elem optionalAttrs isDerivation concatLists concatStringsSep fix filter makeOverridable; inherit (lib.strings) escapeNixString; accountUserName = accountName: @@ -139,7 +139,9 @@ // { imports = [self.nixosModules.users.${userName} or ({...}: { imports = defaultUserProfiles userName; })] ++ (outputs.imports or []); }); systemsSelector = "x86_64-linux"; - forAllSystems = f: mapAttrs f (filterAttrs (system: _systemPkgs: !(isNull (builtins.match systemsSelector system))) nixpkgs.legacyPackages); + systems = filter (system: !(isNull (builtins.match systemsSelector system))) nixpkgs.lib.systems.supported.hydra; + nixpkgsPackages = localSystem: (makeOverridable (import (nixpkgs.outPath + "/pkgs/top-level"))) { inherit localSystem; }; + forAllSystems = f: mapAttrs f (genAttrs systems nixpkgsPackages); forAllUsers = genAttrs (unique (map accountUserName (attrNames self.nixosModules.accounts))); activateNixosConfigurations = forAllSystems (system: _pkgs: mapAttrs' (hostName: nixosConfig: nameValuePair "${hostName}-activate" { type = "app"; program = "${nixosConfig.config.system.build.toplevel}/bin/switch-to-configuration"; }) self.nixosConfigurations); @@ -147,7 +149,7 @@ overlayPaths = nixImport rec { dir = ./overlays; _import = (path: _name: dir + "/${path}"); }; installerProfiles = system: - let nixpkgs-path = nixpkgs.legacyPackages.${system}.path; + let nixpkgs-path = nixpkgs.outPath; in mapAttrs (name: {path, output}: { profile = mkSystemProfile nixpkgs-path path "installer-${name}"; inherit output; }) { cd-dvd = { path = "nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"; output = out: out.config.system.build.isoImage; }; netboot = { path = "nixos/modules/installer/netboot/netboot-minimal.nix"; output = out: (self.legacyPackages.${system}.symlinkJoin { name = "netboot"; paths = with out.config.system.build; [ netbootRamdisk kernel netbootIpxeScript ]; preferLocalBuild = true; }); }; @@ -160,7 +162,7 @@ in forAllSystems (system: _systemPkgs: optionalAttrs (!(isNull installerConfig)) (mkInstallers system)); installerNixosConfigurations = listToAttrs (concatLists (mapAttrsToList (system: mapAttrsToList (profile: { config, ... }: nameValuePair ("installer-${system}-${profile}") config)) installers)); - packages = forAllSystems (system: systemPkgs: composeManyExtensions (attrValues self.overlays) self.legacyPackages.${system} systemPkgs); + # packages = forAllSystems (system: systemPkgs: composeManyExtensions (attrValues self.overlays) self.legacyPackages.${system} systemPkgs); activateHomeManager = system: base: (deploy-rs.lib.${system}.activate.custom // { dryActivate = "DRY_RUN=1 $PROFILE/activate"; }) base.activationPackage "$PROFILE/activate"; in @@ -180,10 +182,10 @@ overlays = mapAttrs (_name: path: mkOverlay path) overlayPaths; - packages = mapAttrs (_name: filterAttrs (_name: isDerivation)) packages; - packages' = mapAttrs (_name: filterAttrs (_name: value: !(isDerivation value))) packages; + # packages = mapAttrs (_name: filterAttrs (_name: isDerivation)) packages; + # packages' = mapAttrs (_name: filterAttrs (_name: value: !(isDerivation value))) packages; - legacyPackages = forAllSystems (system: systemPkgs: recursiveUpdate systemPkgs packages.${system}); + legacyPackages = forAllSystems (system: systemPkgs: systemPkgs.override { overlays = attrValues self.overlays; }); apps = activateNixosConfigurations; -- cgit v1.2.3