Skip to content
Snippets Groups Projects
Commit d043198f authored by Volker Schukai's avatar Volker Schukai :alien:
Browse files

chore: create nix.flake

parent 8cd8f9cc
No related branches found
No related tags found
No related merge requests found
{
description = "A reasonably complete and well-tested golang port of Kenneth Reitz's httpbin service, with zero dependencies outside the go stdlib."
# Nixpkgs / NixOS version to use.
inputs.nixpkgs.url = "nixpkgs/nixos-23.05";
outputs = { self, nixpkgs }:
let
# to work with older version of flakes
lastModifiedDate = self.lastModifiedDate or self.lastModified or "19700101";
rootPath = ./.;
# System types to support.
supportedSystems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
# Helper function to generate an attrset '{ x86_64-linux = f "x86_64-linux"; ... }'.
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
# Nixpkgs instantiated for supported system types.
nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; });
in
{
packages = forAllSystems (system:
let
pkgs = nixpkgsFor.${system};
in
{
version = pkgs.buildGoModule {
name = "go-httpbin";
# In 'nix develop', we don't need a copy of the source tree
# in the Nix store.
src = ././cmd/go-httpbin;
vendorSha256 = pkgs.lib.fakeSha256;
#vendorSha256 = "sha256-zdoTGTcC0NpVKWR8O7pQhmqOdcAwHhgFwR62uqi/EKo=";
meta = with nixpkgs.legacyPackages.${system}.lib; {
description = "A reasonably complete and well-tested golang port of Kenneth Reitz's httpbin service, with zero dependencies outside the go stdlib.";
homepage = "https://gitlab.schukai.com/oss/utilities/version";
license = licenses.mit;
maintainers = with maintainers; [ "mccutchen and more"];
};
};
});
# Add dependencies that are only needed for development
devShells = forAllSystems (system:
let
pkgs = nixpkgsFor.${system};
in
{
default = pkgs.mkShell {
buildInputs = with pkgs; [ go gopls gotools go-tools ];
};
});
# The default package for 'nix build'. This makes sense if the
# flake provides only one package or there is a clear "main"
# package.
defaultPackage = forAllSystems (system: self.packages.${system}.version);
};
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment