diff options
author | Quentin Dufour <quentin@deuxfleurs.fr> | 2022-07-19 16:53:55 +0200 |
---|---|---|
committer | Quentin Dufour <quentin@deuxfleurs.fr> | 2022-07-24 09:47:31 +0200 |
commit | 0ef8313a67866fc172ed93aa3df5e1fb2e672f86 (patch) | |
tree | 32d0191748728361840597d7ad23d2e3bd019840 /default.nix | |
parent | 9ce0d22c99472534838c1afe7c6dffdd0aa659a8 (diff) | |
download | bottin-0ef8313a67866fc172ed93aa3df5e1fb2e672f86.tar.gz bottin-0ef8313a67866fc172ed93aa3df5e1fb2e672f86.zip |
Add Nix packagingnix
Diffstat (limited to 'default.nix')
-rw-r--r-- | default.nix | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..35c8ba1 --- /dev/null +++ b/default.nix @@ -0,0 +1,54 @@ +let + pkgsSrc = fetchTarball { + # As of 2022-07-19 + url = "https://github.com/NixOS/nixpkgs/archive/d2db10786f27619d5519b12b03fb10dc8ca95e59.tar.gz"; + sha256 = "0s9gigs3ylnq5b94rfcmxvrmmr3kzhs497gksajf638d5bv7zcl5"; + }; + gomod2nix = fetchGit { + url = "https://github.com/tweag/gomod2nix.git"; + ref = "master"; + rev = "40d32f82fc60d66402eb0972e6e368aeab3faf58"; + }; + + pkgs = import pkgsSrc { + overlays = [ + (self: super: { + gomod = super.callPackage "${gomod2nix}/builder/" { }; + }) + ]; + }; +in rec { + bin = pkgs.gomod.buildGoApplication { + pname = "bottin-bin"; + version = "0.1.0"; + src = builtins.filterSource + (path: type: (builtins.match ".*/test/.*\\.(go|sum|mod)" path) == null) + ./.; + modules = ./gomod2nix.toml; + + CGO_ENABLED=0; + + meta = with pkgs.lib; { + description = "A cloud-native LDAP server backed by a Consul datastore"; + homepage = "https://git.deuxfleurs.fr/Deuxfleurs/bottin"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; + }; + pkg = pkgs.stdenv.mkDerivation { + pname = "bottin"; + version = "0.1.0"; + unpackPhase = "true"; + + installPhase = '' + mkdir -p $out/ + cp ${bin}/bin/bottin $out/bottin + ''; + }; + docker = pkgs.dockerTools.buildImage { + name = "dxflrs/bottin"; + config = { + Cmd = [ "${pkg}/bottin" ]; + }; + }; +} |