diff --git a/flake.nix b/flake.nix index 6d73dbe..b00ca33 100644 --- a/flake.nix +++ b/flake.nix @@ -17,40 +17,39 @@ , crane , rust-overlay }: - flake-utils.lib.eachSystem [ "x86_64-linux" ] - (system: - let - overlays = [ - haskellNix.overlay - (final: _prev: { - hixProject = - final.haskell-nix.hix.project { - src = ./.; - evalSystem = "x86_64-linux"; - }; - }) - (import rust-overlay) + flake-utils.lib.eachSystem [ "x86_64-linux" ] (system: + let + overlays = [ + haskellNix.overlay + (final: _prev: { + hixProject = + final.haskell-nix.hix.project { + src = ./.; + evalSystem = "x86_64-linux"; + }; + }) + (import rust-overlay) + ]; + pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; }; + haskell = pkgs.hixProject.flake { }; + rust = (crane.mkLib pkgs).overrideToolchain (p: p.rust-bin.selectLatestNightlyWith ( + toolchain: toolchain.default.override { + extensions = [ "rust-src" ]; + targets = [ "x86_64-unknown-linux-gnu" ]; + } + )); + in + { + devShells.default = pkgs.mkShell { + inputsFrom = [ + haskell.devShells.default + (rust.devShell { }) ]; - pkgs = import nixpkgs { inherit system overlays; inherit (haskellNix) config; }; - haskell = pkgs.hixProject.flake { }; - rust = (crane.mkLib pkgs).overrideToolchain (p: p.rust-bin.selectLatestNightlyWith ( - toolchain: toolchain.default.override { - extensions = [ "rust-src" ]; - targets = [ "x86_64-unknown-linux-gnu" ]; - } - )); - in - { - devShells.default = pkgs.mkShell { - inputsFrom = [ - haskell.devShells.default - (rust.devShell { }) - ]; - }; - packages = { - haskell = haskell.packages."aoc:exe:aoc"; - rust = rust.buildPackage { src = rust.cleanCargoSource ./rust; }; - }; - } - ); + }; + packages = { + haskell = haskell.packages."aoc:exe:aoc"; + rust = rust.buildPackage { src = rust.cleanCargoSource ./rust; }; + }; + } + ); }