initial dump
This commit is contained in:
parent
b5339485be
commit
448552016b
9 changed files with 617 additions and 11 deletions
83
flake.nix
Normal file
83
flake.nix
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
{
|
||||
description = "Federated Forge Discovery Indexer";
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
gomod2nix = {
|
||||
url = "github:tweag/gomod2nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.flake-utils.follows = "flake-utils";
|
||||
};
|
||||
};
|
||||
outputs = { self, nixpkgs, flake-utils, gomod2nix }: flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [ gomod2nix.overlays.default ];
|
||||
};
|
||||
ffd-indexer = pkgs.buildGoApplication {
|
||||
pname = "ffd-indexer";
|
||||
version = "0.0.1";
|
||||
src = ./.;
|
||||
modules = ./gomod2nix.toml;
|
||||
};
|
||||
go-test = pkgs.stdenvNoCC.mkDerivation {
|
||||
name = "go-test";
|
||||
dontBuild = true;
|
||||
src = ./.;
|
||||
doCheck = true;
|
||||
nativeBuildInputs = with pkgs; [
|
||||
go
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
checkPhase = ''
|
||||
go test -v ./...
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir "$out"
|
||||
'';
|
||||
};
|
||||
go-lint = pkgs.stdenvNoCC.mkDerivation {
|
||||
name = "go-lint";
|
||||
dontBuild = true;
|
||||
src = ./.;
|
||||
doCheck = true;
|
||||
nativeBuildInputs = with pkgs; [
|
||||
golangci-lint
|
||||
go
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
checkPhase = ''
|
||||
golangci-lint run
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir "$out"
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
checks = { inherit go-test go-lint; };
|
||||
formatter = pkgs.nixfmt-tree;
|
||||
devShells.default = pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
go
|
||||
go-tools # staticcheck
|
||||
gomod2nix.packages.${system}.default
|
||||
];
|
||||
packages = with pkgs; [
|
||||
mkcert
|
||||
];
|
||||
};
|
||||
packages = {
|
||||
default = ffd-indexer;
|
||||
container = pkgs.dockerTools.buildImage {
|
||||
name = "ffd-indexer";
|
||||
config = {
|
||||
Cmd = [ "${ffd-indexer}/bin/ffd-indexer" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
nixosModules.default = import ./option.nix;
|
||||
}
|
||||
);
|
||||
}
|
||||
Loading…
Reference in a new issue