diff options
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 37 |
1 files changed, 23 insertions, 14 deletions
@@ -2,14 +2,17 @@ description = "Cynerd's personal flake"; inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable"; nixos-hardware.url = "nixos-hardware"; - nixdeploy.url = "gitlab:cynerd/nixosdeploy"; + nixosdeploy.url = "gitlab:cynerd/nixosdeploy"; personal-secret.url = "git+ssh://git@cynerd.cz/nixos-personal-secret"; shellrc.url = "git+https://git.cynerd.cz/shellrc"; agenix.url = "github:ryantm/agenix"; shvcli.url = "github:silicon-heaven/shvcli"; + shvcli-ell = { + url = "gitlab:elektroline-predator/shvcli-ell"; + inputs.shvcli.follows = "shvcli"; + }; usbkey.url = "gitlab:cynerd/usbkey"; @@ -21,11 +24,11 @@ self, flake-utils, nixpkgs, - nixdeploy, + nixosdeploy, personal-secret, shellrc, agenix, - shvcli, + shvcli-ell, usbkey, nixturris, ... @@ -35,14 +38,14 @@ in { overlays = { - lib = _: prev: import ./lib prev; + lib = final: prev: import ./lib final prev; pkgs = final: prev: import ./pkgs final prev; default = nixpkgs.lib.composeManyExtensions [ agenix.overlays.default - nixdeploy.overlays.default + nixosdeploy.overlays.default self.overlays.pkgs shellrc.overlays.default - shvcli.overlays.default + shvcli-ell.overlays.default usbkey.overlays.default ]; }; @@ -50,7 +53,7 @@ nixosModules = import ./nixos/modules { inherit (nixpkgs) lib; default_modules = [ - nixdeploy.nixosModules.default + nixosdeploy.nixosModules.default nixturris.nixosModules.default personal-secret.nixosModules.default shellrc.nixosModules.default @@ -63,17 +66,23 @@ } // eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages."${system}".extend self.overlays.default; - in { - packages = - {default = pkgs.nixdeploy;} - // mapAttrs' (n: v: let + + osFilterMap = attr: + mapAttrs' (n: v: let os = if v.config.nixpkgs.hostPlatform.system == system then v else (v.extendModules {modules = [{nixpkgs.buildPlatform.system = system;}];}); in - nameValuePair "tarball-${n}" os.config.system.build.tarball) - (filterAttrs (_: v: v.config.system.build ? tarball) self.nixosConfigurations); + nameValuePair "${attr}-${n}" os.config.system.build."${attr}") + (filterAttrs (_: v: v.config.system.build ? "${attr}") + self.nixosConfigurations); + in { + packages = + {inherit (nixosdeploy.packages.${system}) default;} + // (osFilterMap "toplevel") + // (osFilterMap "tarball") + // (osFilterMap "firmware"); legacyPackages = pkgs; devShells = filterPackages system (import ./devShells pkgs); formatter = pkgs.alejandra; |