Flake-enable the project
This commit is contained in:
parent
1881b0385b
commit
670846795d
9
default.nix
Normal file
9
default.nix
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
(import (
|
||||||
|
let
|
||||||
|
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
|
||||||
|
in fetchTarball {
|
||||||
|
url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
|
||||||
|
sha256 = lock.nodes.flake-compat.locked.narHash; }
|
||||||
|
) {
|
||||||
|
src = ./.;
|
||||||
|
}).defaultNix
|
||||||
60
flake.lock
generated
Normal file
60
flake.lock
generated
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1650374568,
|
||||||
|
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1653936696,
|
||||||
|
"narHash": "sha256-M6bJShji9AIDZ7Kh7CPwPBPb/T7RiVev2PAcOi4fxDQ=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "ce6aa13369b667ac2542593170993504932eb836",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "22.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"utils": "utils"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"utils": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1656065134,
|
||||||
|
"narHash": "sha256-oc6E6ByIw3oJaIyc67maaFcnjYOz1mMcOtHxbEf9NwQ=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "bee6a7250dd1b01844a2de7e02e4df7d8a0a206c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
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;
|
||||||
|
});
|
||||||
|
}
|
||||||
@ -36,7 +36,7 @@ executable nix-serve-ng
|
|||||||
|
|
||||||
cxx-sources: cbits/nix.cpp
|
cxx-sources: cbits/nix.cpp
|
||||||
|
|
||||||
cxx-options: -std=c++17
|
cpp-options: -std=c++17
|
||||||
|
|
||||||
build-depends: base < 5
|
build-depends: base < 5
|
||||||
, base16
|
, base16
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
{ mkDerivation, base, base16, base32, bytestring, charset
|
{ mkDerivation, base, base16, base32, bytestring, charset
|
||||||
, http-types, managed, megaparsec, mtl, network, nix
|
, http-types, lib, managed, megaparsec, mtl, network, nix
|
||||||
, optparse-applicative, stdenv, vector, wai, wai-extra, warp
|
, optparse-applicative, vector, wai, wai-extra, warp, warp-tls
|
||||||
, warp-tls
|
|
||||||
}:
|
}:
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
pname = "nix-serve-ng";
|
pname = "nix-serve-ng";
|
||||||
@ -15,5 +14,5 @@ mkDerivation {
|
|||||||
];
|
];
|
||||||
executablePkgconfigDepends = [ nix ];
|
executablePkgconfigDepends = [ nix ];
|
||||||
description = "A drop-in replacement for nix-serve that's faster and more stable";
|
description = "A drop-in replacement for nix-serve that's faster and more stable";
|
||||||
license = stdenv.lib.licenses.asl20;
|
license = lib.licenses.asl20;
|
||||||
}
|
}
|
||||||
|
|||||||
37
shell.nix
37
shell.nix
@ -1,28 +1,9 @@
|
|||||||
let
|
(import (
|
||||||
nixpkgs = builtins.fetchTarball {
|
let
|
||||||
url = "https://github.com/NixOS/nixpkgs/archive/87d9c84817d7be81850c07e8f6a362b1dfc30feb.tar.gz";
|
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
|
||||||
sha256 = "0pcasnmdbs2lrsp4m8ww06xd7b318agfygi61qjsizb328nxhcqa";
|
in fetchTarball {
|
||||||
};
|
url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
|
||||||
|
sha256 = lock.nodes.flake-compat.locked.narHash; }
|
||||||
overlay = pkgsNew: pkgsOld: {
|
) {
|
||||||
haskellPackages = pkgsOld.haskellPackages.override (old: {
|
src = ./.;
|
||||||
overrides =
|
}).shellNix
|
||||||
pkgsNew.lib.composeExtensions
|
|
||||||
(old.overrides or (_: _: { }))
|
|
||||||
(haskellPackagesNew: haskellPackagesOld: {
|
|
||||||
nix-serve-ng =
|
|
||||||
pkgsNew.haskell.lib.overrideCabal
|
|
||||||
(haskellPackagesNew.callPackage ./nix/nix-serve-ng.nix { })
|
|
||||||
(old: {
|
|
||||||
executableSystemDepends = (old.executableSystemDepends or []) ++ [
|
|
||||||
pkgsNew.boost.dev
|
|
||||||
];
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
pkgs = import nixpkgs { config = { }; overlays = [ overlay ]; };
|
|
||||||
|
|
||||||
in
|
|
||||||
pkgs.haskellPackages.nix-serve-ng.env
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user