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

View File

@ -3,39 +3,48 @@
inputs.rust.url = "github:oxalica/rust-overlay"; 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 }: overlays.default = final: prev:
let let rust' = (prev.extend rust.overlay).rust-bin.nightly.latest.default;
forEachSystem = nixpkgs.lib.genAttrs [ "aarch64-linux" "x86_64-linux" ]; in {
libOverlay = import ./lib.nix; inherit (self) lib;
in {
lib = nixpkgs.lib.extend libOverlay;
overlay = final: prev: nimPackages = prev.nimPackages.overrideScope' (final': prev': {
let rust' = (prev.extend rust.overlay).rust-bin.nightly.latest.default; preserves = final'.callPackage ./preserves-nim { };
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;
}); });
nixosModules.syndicate-server = preserves-tools = final.callPackage ./preserves-tools { rust = rust'; };
# A little hack to apply our overlay to this module only. syndicate-server =
let f = import ./nixos/syndicate-server.nix; final.callPackage ./syndicate-server { rust = rust'; };
in { config, lib, pkgs, ... }: };
f {
inherit config lib; legacyPackages =
pkgs = pkgs.extend self.overlay; 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;
};
} }