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"; }; |