3 nixpkgs.url = "nixpkgs/nixos-unstable";
4 flake-utils.url = "flake-utils";
5 stacklock2nix.url = "github:cdepillabout/stacklock2nix";
8 outputs = { self, flake-utils, nixpkgs, stacklock2nix }:
11 [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ];
12 compilerVersion = "966";
13 in flake-utils.lib.eachSystem supportedSystems (system:
15 pkgs = import nixpkgs {
17 overlays = [ stacklock2nix.overlay ];
19 appendGhcFlags = opts: drv:
20 pkgs.haskell.lib.appendBuildFlag drv
21 ''--ghc-options="${builtins.concatStringsSep " " opts}"'';
22 insaneOptimizationFlags =
23 [ "-O2" "-fexpose-all-unfoldings" "-fspecialise-aggressively" ];
25 (pkgs.haskell.lib.overrideCabal
26 (pkgs.haskell.lib.justStaticExecutables package)
27 (drv: { disallowGhcReference = false; }));
30 default = justStatic (pkgs.stacklock2nix {
31 stackYaml = ./stack.yaml;
32 baseHaskellPkgSet = pkgs.haskell.packages."ghc${compilerVersion}";
33 additionalHaskellPkgSetOverrides = (hfinal: hprev:
34 builtins.mapAttrs (name: value:
35 if (builtins.tryEval (!(builtins.isAttrs value)
36 || !(value ? pname))).value or true then
38 else if value ? doCheck && value.pname != "ghc" then
39 pkgs.lib.pipe value (with pkgs.haskell.lib; [
44 disableLibraryProfiling
45 disableExecutableProfiling
46 (appendGhcFlags insaneOptimizationFlags)
50 }).pkgSet.project-m36-rest;
52 devShells.default = pkgs.mkShell {
53 buildInputs = with pkgs; [
54 haskell.compiler."ghc${compilerVersion}"
55 (pkgs.haskell-language-server.override {
56 supportedGhcVersions = [ compilerVersion ];
62 extra-substituters = [ "https://cache.garnix.io" ];
63 extra-trusted-public-keys =
64 [ "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" ];
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list