Refactor flake, update inputs

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

View File

@ -17,18 +17,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1646044487,
"narHash": "sha256-2BN9xRr3NeLL9x9X66DiSATzm4nA/G0inc5D0+FtHTA=",
"owner": "nixos",
"lastModified": 1647199004,
"narHash": "sha256-37aHbLhcX6zqeru24AoPPfem6fUQ6are5E38NdbIgJg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "321b67a7448c79a110af2b9eceb0ad4b28f9db8c",
"rev": "328bd3c30e4fc4c3d69bc08516f27e8d85f839b6",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "release-21.11",
"repo": "nixpkgs",
"type": "github"
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_2": {
@ -59,11 +57,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1646014761,
"narHash": "sha256-HdXvdU+wV+E1nNzG2vaQsUuBJQID3AB3BX88N8lA37M=",
"lastModified": 1647224709,
"narHash": "sha256-Lt8Vo2eRahkww3Ia7AyxAiKCf59TW0OWZ9vKd5WvAJ4=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "c7d9566796b3ad5b257e187e1628488c7429b89e",
"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;
};
}