aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2022-12-01 22:40:13 +0100
committerAlex Auvolat <alex@adnab.me>2022-12-01 22:40:13 +0100
commitde71260bbfbde953b2293bb0333dad0d5f9328cb (patch)
tree58eac9183d53a3e23f2db2ac826b83a8aecc252a
parent0ef8313a67866fc172ed93aa3df5e1fb2e672f86 (diff)
downloadbottin-de71260bbfbde953b2293bb0333dad0d5f9328cb.tar.gz
bottin-de71260bbfbde953b2293bb0333dad0d5f9328cb.zip
Make repo a Nix flake
-rw-r--r--.gitignore1
-rw-r--r--flake.lock79
-rw-r--r--flake.nix39
3 files changed, 119 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 2a2f53c..c7a6802 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ bottin
bottin.static
config.json
test/test
+result
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..1c2bd56
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,79 @@
+{
+ "nodes": {
+ "gomod2nix": {
+ "inputs": {
+ "nixpkgs": "nixpkgs",
+ "utils": "utils"
+ },
+ "locked": {
+ "lastModified": 1655245309,
+ "narHash": "sha256-d/YPoQ/vFn1+GTmSdvbSBSTOai61FONxB4+Lt6w/IVI=",
+ "owner": "tweag",
+ "repo": "gomod2nix",
+ "rev": "40d32f82fc60d66402eb0972e6e368aeab3faf58",
+ "type": "github"
+ },
+ "original": {
+ "owner": "tweag",
+ "repo": "gomod2nix",
+ "rev": "40d32f82fc60d66402eb0972e6e368aeab3faf58",
+ "type": "github"
+ }
+ },
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1653581809,
+ "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "83658b28fe638a170a19b8933aa008b30640fbd1",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_2": {
+ "locked": {
+ "lastModified": 1669764884,
+ "narHash": "sha256-1qWR/5+WtqxSedrFbUbM3zPMO7Ec2CGWaxtK4z4DdvY=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "0244e143dc943bcf661fdaf581f01eb0f5000fcf",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "0244e143dc943bcf661fdaf581f01eb0f5000fcf",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "gomod2nix": "gomod2nix",
+ "nixpkgs": "nixpkgs_2"
+ }
+ },
+ "utils": {
+ "locked": {
+ "lastModified": 1653893745,
+ "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..d4a4a28
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,39 @@
+{
+ description = "Bottin is a LDAP server that uses Consul's key-value store as a storage backend";
+
+ inputs.nixpkgs.url = "github:nixos/nixpkgs/0244e143dc943bcf661fdaf581f01eb0f5000fcf";
+ inputs.gomod2nix.url = "github:tweag/gomod2nix/40d32f82fc60d66402eb0972e6e368aeab3faf58";
+
+ outputs = { self, nixpkgs, gomod2nix }:
+ let
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [
+ (self: super: {
+ gomod = super.callPackage "${gomod2nix}/builder/" { };
+ })
+ ];
+ };
+ bottin = 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;
+ };
+ };
+ in
+ {
+ packages.x86_64-linux.bottin = bottin;
+ packages.x86_64-linux.default = self.packages.x86_64-linux.bottin;
+ };
+}