Refactor flake, update inputs

This commit is contained in:
Emery Hemingway 2022-03-14 14:12:50 -05:00
parent 51480849e2
commit 2e58706000
2 changed files with 49 additions and 42 deletions

View File

@ -17,18 +17,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1679048363,
"narHash": "sha256-afY4G9yA0MD/wxfAd7kks2yaCUOMuDtiwecDYIVxYfY=",
"owner": "nixos",
"lastModified": 1647199004,
"narHash": "sha256-37aHbLhcX6zqeru24AoPPfem6fUQ6are5E38NdbIgJg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2766f77c32e171a04d59b636a91083bae862274e",
"rev": "328bd3c30e4fc4c3d69bc08516f27e8d85f839b6",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "release-21.11",
"repo": "nixpkgs",
"type": "github"
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_2": {
@ -58,11 +56,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1630548746,
"narHash": "sha256-SLzeWhEN0kRDTzL+AHfDxwbYEZm09UEcdIcPDdOIZew=",
"lastModified": 1647224709,
"narHash": "sha256-Lt8Vo2eRahkww3Ia7AyxAiKCf59TW0OWZ9vKd5WvAJ4=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "00f6332f8c690480c7b7137fb8b1f069e7b2e18a",
"rev": "fea74aea1b2b99e13338a345034089a344399359",
"type": "github"
},
"original": {

View File

@ -3,39 +3,48 @@
inputs.rust.url = "github:oxalica/rust-overlay";
inputs.nixpkgs.url = "github:nixos/nixpkgs/release-21.11";
outputs = { self, nixpkgs, rust }: {
lib = nixpkgs.lib.extend (import ./lib.nix);
outputs = { self, nixpkgs, rust }:
let
forEachSystem = nixpkgs.lib.genAttrs [ "aarch64-linux" "x86_64-linux" ];
libOverlay = import ./lib.nix;
in {
lib = nixpkgs.lib.extend libOverlay;
overlays.default = final: prev:
let rust' = (prev.extend rust.overlay).rust-bin.nightly.latest.default;
in {
inherit (self) lib;
overlay = final: prev:
let rust' = (prev.extend rust.overlay).rust-bin.nightly.latest.default;
in {
lib = prev.lib.extend libOverlay;
preserves-nim = final.callPackage ./preserves-nim { };
preserves-tools =
final.callPackage ./preserves-tools { rust = rust'; };
syndicate-server =
final.callPackage ./syndicate-server { rust = rust'; };
};
packages = forEachSystem (system:
let pkgs = nixpkgs.legacyPackages.${system}.extend self.overlay;
in with pkgs; {
inherit preserves-nim preserves-tools syndicate-server;
nimPackages = prev.nimPackages.overrideScope' (final': prev': {
preserves = final'.callPackage ./preserves-nim { };
});
nixosModules.syndicate-server =
# A little hack to apply our overlay to this module only.
let f = import ./nixos/syndicate-server.nix;
in { config, lib, pkgs, ... }:
f {
inherit config lib;
pkgs = pkgs.extend self.overlay;
};
};
preserves-tools = final.callPackage ./preserves-tools { rust = rust'; };
syndicate-server =
final.callPackage ./syndicate-server { rust = rust'; };
};
legacyPackages =
self.lib.mapAttrs (system: pkgs: pkgs.extend self.overlays.default) {
inherit (nixpkgs.legacyPackages) aarch64-linux x86_64-linux;
};
packages = self.lib.mapAttrs (system: pkgs:
with pkgs; {
inherit preserves-tools syndicate-server;
preserves-nim = nimPackages.preserves;
}) self.legacyPackages;
nixosModules.syndicate-server =
# A little hack to apply our overlay to this module only.
let f = import ./nixos/syndicate-server.nix;
in { config, lib, pkgs, ... }:
f {
inherit config lib;
pkgs = pkgs.extend self.overlays.default;
};
devShells = self.lib.mapAttrs (system: pkgs:
with pkgs; {
default =
mkShell { packages = builtins.attrValues self.packages.${system}; };
}) self.legacyPackages;
};
}