diff options
| -rw-r--r-- | flake.lock | 20 | ||||
| -rw-r--r-- | flake.nix | 10 | ||||
| -rw-r--r-- | system-profiles/core.nix | 13 |
3 files changed, 38 insertions, 5 deletions
| @@ -42,6 +42,23 @@ | |||
| 42 | "flake-compat_2": { | 42 | "flake-compat_2": { |
| 43 | "flake": false, | 43 | "flake": false, |
| 44 | "locked": { | 44 | "locked": { |
| 45 | "lastModified": 1641205782, | ||
| 46 | "narHash": "sha256-4jY7RCWUoZ9cKD8co0/4tFARpWB+57+r1bLLvXNJliY=", | ||
| 47 | "owner": "edolstra", | ||
| 48 | "repo": "flake-compat", | ||
| 49 | "rev": "b7547d3eed6f32d06102ead8991ec52ab0a4f1a7", | ||
| 50 | "type": "github" | ||
| 51 | }, | ||
| 52 | "original": { | ||
| 53 | "owner": "edolstra", | ||
| 54 | "ref": "master", | ||
| 55 | "repo": "flake-compat", | ||
| 56 | "type": "github" | ||
| 57 | } | ||
| 58 | }, | ||
| 59 | "flake-compat_3": { | ||
| 60 | "flake": false, | ||
| 61 | "locked": { | ||
| 45 | "lastModified": 1627913399, | 62 | "lastModified": 1627913399, |
| 46 | "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", | 63 | "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", |
| 47 | "owner": "edolstra", | 64 | "owner": "edolstra", |
| @@ -109,7 +126,7 @@ | |||
| 109 | }, | 126 | }, |
| 110 | "nvfetcher": { | 127 | "nvfetcher": { |
| 111 | "inputs": { | 128 | "inputs": { |
| 112 | "flake-compat": "flake-compat_2", | 129 | "flake-compat": "flake-compat_3", |
| 113 | "flake-utils": "flake-utils", | 130 | "flake-utils": "flake-utils", |
| 114 | "nixpkgs": [ | 131 | "nixpkgs": [ |
| 115 | "nixpkgs" | 132 | "nixpkgs" |
| @@ -133,6 +150,7 @@ | |||
| 133 | "root": { | 150 | "root": { |
| 134 | "inputs": { | 151 | "inputs": { |
| 135 | "deploy-rs": "deploy-rs", | 152 | "deploy-rs": "deploy-rs", |
| 153 | "flake-compat": "flake-compat_2", | ||
| 136 | "home-manager": "home-manager", | 154 | "home-manager": "home-manager", |
| 137 | "nixpkgs": "nixpkgs", | 155 | "nixpkgs": "nixpkgs", |
| 138 | "nvfetcher": "nvfetcher", | 156 | "nvfetcher": "nvfetcher", |
| @@ -36,6 +36,13 @@ | |||
| 36 | ref = "master"; | 36 | ref = "master"; |
| 37 | inputs.nixpkgs.follows = "nixpkgs"; | 37 | inputs.nixpkgs.follows = "nixpkgs"; |
| 38 | }; | 38 | }; |
| 39 | flake-compat = { | ||
| 40 | type = "github"; | ||
| 41 | owner = "edolstra"; | ||
| 42 | repo = "flake-compat"; | ||
| 43 | ref = "master"; | ||
| 44 | flake = false; | ||
| 45 | }; | ||
| 39 | }; | 46 | }; |
| 40 | 47 | ||
| 41 | outputs = { self, nixpkgs, home-manager, sops-nix, deploy-rs, nvfetcher, ... }@inputs: | 48 | outputs = { self, nixpkgs, home-manager, sops-nix, deploy-rs, nvfetcher, ... }@inputs: |
| @@ -166,9 +173,6 @@ | |||
| 166 | homeConfigurations = listToAttrs (concatLists (mapAttrsToList (hostname: nixosConfig: mapAttrsToList (username: configuration: nameValuePair "${username}@${hostname}" { inherit (configuration.home) activationPackage; }) nixosConfig.config.home-manager.users) self.nixosConfigurations)); | 173 | homeConfigurations = listToAttrs (concatLists (mapAttrsToList (hostname: nixosConfig: mapAttrsToList (username: configuration: nameValuePair "${username}@${hostname}" { inherit (configuration.home) activationPackage; }) nixosConfig.config.home-manager.users) self.nixosConfigurations)); |
| 167 | 174 | ||
| 168 | overlays = mapAttrs (_name: path: mkOverlay path) overlayPaths; | 175 | overlays = mapAttrs (_name: path: mkOverlay path) overlayPaths; |
| 169 | overlays-path = forAllSystems (system: systemPkgs: systemPkgs.writeText "overlays.nix" '' | ||
| 170 | map import (builtins.attrValues (builtins.fromJSON ${escapeNixString (toJSON overlayPaths)})) | ||
| 171 | ''); | ||
| 172 | 176 | ||
| 173 | packages = mapAttrs (_name: filterAttrs (_name: isDerivation)) packages; | 177 | packages = mapAttrs (_name: filterAttrs (_name: isDerivation)) packages; |
| 174 | packages' = mapAttrs (_name: filterAttrs (_name: value: !(isDerivation value))) packages; | 178 | packages' = mapAttrs (_name: filterAttrs (_name: value: !(isDerivation value))) packages; |
diff --git a/system-profiles/core.nix b/system-profiles/core.nix index 92e068b4..8c4325e2 100644 --- a/system-profiles/core.nix +++ b/system-profiles/core.nix | |||
| @@ -53,7 +53,18 @@ in { | |||
| 53 | ''; | 53 | ''; |
| 54 | nixPath = [ | 54 | nixPath = [ |
| 55 | "nixpkgs=${flakeInputs.nixpkgs.legacyPackages.${config.nixpkgs.system}.path}" | 55 | "nixpkgs=${flakeInputs.nixpkgs.legacyPackages.${config.nixpkgs.system}.path}" |
| 56 | # "nixpkgs-overlays=${flake.overlays-path.${config.nixpkgs.system}}" | 56 | "nixpkgs-overlays=${pkgs.writeText "overlays.nix" '' |
| 57 | attrValues (import | ||
| 58 | ( | ||
| 59 | let lock = builtins.fromJSON (builtins.readFile ${toString ../flake.lock}); in | ||
| 60 | fetchTarball { | ||
| 61 | url = "https://github.com/edolstra/flake-compat/archive/''${lock.nodes.flake-compat.locked.rev}.tar.gz"; | ||
| 62 | sha256 = lock.nodes.flake-compat.locked.narHash; | ||
| 63 | } | ||
| 64 | ) | ||
| 65 | { src = ${toString ../.}; } | ||
| 66 | ).defaultNix.overlays | ||
| 67 | ''}" | ||
| 57 | ]; | 68 | ]; |
| 58 | registry = | 69 | registry = |
| 59 | let override = { self = "nixos"; }; | 70 | let override = { self = "nixos"; }; |
