aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
blob: 774663475e055843e27158b2aa0572fcc702d587 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
{
  description = "A simple LDAP web interface for Bottin";

  inputs.nixpkgs.url =
    "github:nixos/nixpkgs/f758d66c9cc3011f5327f8583908a7803cc019b1";
  inputs.gomod2nix.url =
    "github:tweag/gomod2nix/f95720e89af6165c8c0aa77f180461fe786f3c21";

  outputs = { self, nixpkgs, gomod2nix }:
    let
      pkgs = import nixpkgs {
        system = "x86_64-linux";
        overlays = [
          (import "${gomod2nix}/overlay.nix")
          /*(self: super: {
            gomod = super.callPackage "${gomod2nix}/builder/" { };
          })*/
        ];
      };
      src = ./.;
      bottin = pkgs.buildGoApplication {
        pname = "guichet";
        version = "0.1.0";
        src = src;
        modules = ./gomod2nix.toml;

        CGO_ENABLED = 0;

        ldflags = [
          "-X main.templatePath=${src + "/templates"}"
          "-X main.staticPath=${src + "/static"}"
        ];

        meta = with pkgs.lib; {
          description = "A simple LDAP web interface for Bottin";
          homepage = "https://git.deuxfleurs.fr/Deuxfleurs/guichet";
          license = licenses.gpl3Plus;
          platforms = platforms.linux;
        };
      };
    in {
      packages.x86_64-linux.bottin = bottin;
      packages.x86_64-linux.default = bottin;
      
      devShell.x86_64-linux = pkgs.mkShell { nativeBuildInputs = [ pkgs.go pkgs.gomod2nix ]; };
    };
}