Flake-enable the project
This commit is contained in:
68
flake.nix
Normal file
68
flake.nix
Normal file
@@ -0,0 +1,68 @@
|
||||
{ inputs = {
|
||||
nixpkgs.url = github:NixOS/nixpkgs/22.05;
|
||||
|
||||
utils.url = github:numtide/flake-utils;
|
||||
|
||||
flake-compat = {
|
||||
url = "github:edolstra/flake-compat";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { nixpkgs, utils, ... }:
|
||||
utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
overlay = pkgsNew: pkgsOld: {
|
||||
haskellPackages = pkgsOld.haskellPackages.override (old: {
|
||||
overrides =
|
||||
pkgsNew.lib.fold pkgsNew.lib.composeExtensions (old.overrides or (_: _: { })) [
|
||||
(pkgsNew.haskell.lib.packagesFromDirectory {
|
||||
directory = ./nix;
|
||||
})
|
||||
(haskellPackagesNew: haskellPackagesOld: {
|
||||
nix-serve-ng =
|
||||
pkgsNew.haskell.lib.overrideCabal
|
||||
haskellPackagesOld.nix-serve-ng
|
||||
(old: {
|
||||
executableSystemDepends = (old.executableSystemDepends or []) ++ [
|
||||
pkgsNew.boost.dev
|
||||
];
|
||||
});
|
||||
})
|
||||
];
|
||||
});
|
||||
|
||||
nix-serve-ng =
|
||||
pkgsNew.haskell.lib.justStaticExecutables
|
||||
pkgsNew.haskellPackages.nix-serve-ng;
|
||||
};
|
||||
|
||||
pkgs = import nixpkgs {
|
||||
config = { };
|
||||
|
||||
overlays = [ overlay ];
|
||||
|
||||
inherit system;
|
||||
};
|
||||
|
||||
inherit (pkgs) nix-serve-ng;
|
||||
|
||||
in
|
||||
rec {
|
||||
packages.default = nix-serve-ng;
|
||||
|
||||
defaultPackage = packages.default;
|
||||
|
||||
apps.default = {
|
||||
type = "app";
|
||||
|
||||
program = "${nix-serve-ng}/bin/nix-serve-ng";
|
||||
};
|
||||
|
||||
defaultApp = apps.default;
|
||||
|
||||
devShells.default = pkgs.haskellPackages.nix-serve-ng.env;
|
||||
|
||||
devShell = devShells.default;
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user