on master help sign in
add overlay
commit69378382c3b679d0dc6ce0c2a1b5d9b32317c09b authorTimothy DeHerrera <tim.deh@pm.me> dateWed 9 Jun 2021, 15:56 (5 years ago) parent1a774d6
1 file changed+29−13
flake.nix+29−13
flake.nix+29−13
@@ -15,25 +15,41 @@
1515 };
1616
1717 outputs = inputs@{ self, nixpkgs, naersk, rust-overlay, flake-utils, ... }:
18− flake-utils.lib.eachDefaultSystem (system:
19− let
20− pkgs = import nixpkgs { inherit system; overlays = [ rust-overlay.overlay ]; };
21− rust = (pkgs.rustChannelOf {
22− date = "2021-05-01";
23− channel = "nightly";
18+ let
19+ rust = pkgs:
20+ (pkgs.rustChannelOf {
21+ date = "2021-05-01";
22+ channel = "nightly";
2423 }).minimal; # cargo, rustc and rust-std
25− naerskLib = naersk.lib."${system}".override {
24+
25+ mkNaerskLib = system: pkgs:
26+ naersk.lib."${system}".override {
2627 # naersk can't build with stable?!
2728 # inherit (pkgs.rust-bin.stable.latest) rustc cargo;
28− rustc = rust;
29− cargo = rust;
29+ rustc = rust pkgs;
30+ cargo = rust pkgs;
3031 };
31− in rec {
32− packages.helix = naerskLib.buildPackage {
32+
33+ pkg = naerskLib:
34+ naerskLib.buildPackage {
3335 pname = "helix";
3436 root = inputs.helix;
3537 };
38+
39+ in flake-utils.lib.eachDefaultSystem (system:
40+ let
41+ pkgs = import nixpkgs {
42+ inherit system;
43+ overlays = [ rust-overlay.overlay ];
44+ };
45+ naerskLib = mkNaerskLib system pkgs;
46+ in rec {
47+ packages.helix = pkg naerskLib;
3648 defaultPackage = packages.helix;
37− devShell = pkgs.callPackage ./shell.nix {};
38− });
49+ devShell = pkgs.callPackage ./shell.nix { };
50+ }) // {
51+ overlay = final: prev:
52+ let naerskLib = mkNaerskLib prev.system final;
53+ in (rust-overlay.overlay final prev) // { helix = pkg naerskLib; };
54+ };
3955}