aboutsummaryrefslogtreecommitdiff
path: root/default.nix
diff options
context:
space:
mode:
authorQuentin Dufour <quentin@deuxfleurs.fr>2022-07-19 16:53:55 +0200
committerQuentin Dufour <quentin@deuxfleurs.fr>2022-07-24 09:47:31 +0200
commit0ef8313a67866fc172ed93aa3df5e1fb2e672f86 (patch)
tree32d0191748728361840597d7ad23d2e3bd019840 /default.nix
parent9ce0d22c99472534838c1afe7c6dffdd0aa659a8 (diff)
downloadbottin-nix.tar.gz
bottin-nix.zip
Add Nix packagingnix
Diffstat (limited to 'default.nix')
-rw-r--r--default.nix54
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" ];
+ };
+ };
+}