all repos — honk @ 1a6d7ff9a8960ce83b3ec36be42317fe5f2ef88d

my fork of honk

flake.nix (view raw)

 1{
 2  inputs.nixpkgs.url = "github:nixos/nixpkgs";
 3
 4  outputs =
 5    { self
 6    , nixpkgs
 7    ,
 8    }:
 9    let
10      supportedSystems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
11      forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
12      nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; });
13    in
14    {
15      packages = forAllSystems (system:
16        let
17          pkgs = nixpkgsFor.${system};
18          honk = self.packages.${system}.honk;
19          files = pkgs.lib.fileset.toSource {
20            root = ./.;
21            fileset = pkgs.lib.fileset.unions [
22              ./.
23            ];
24          };
25        in
26        {
27          honk = pkgs.buildGoModule {
28            name = "honk";
29            rev = "master";
30            src = pkgs.lib.fileset.toSource
31              {
32                root = ./.;
33                fileset = pkgs.lib.fileset.unions [
34                  ./go.mod
35                  ./go.sum
36                  ./views
37                  ./memes
38                  ./schema.sql
39                  ./activity.go
40                  ./admin.go
41                  ./avatar.go
42                  ./backend.go
43                  ./backupdb.go
44                  ./bloat.go
45                  ./cli.go
46                  ./database.go
47                  ./deliverator.go
48                  ./encrypt.go
49                  ./fun.go
50                  ./hfcs.go
51                  ./honk.go
52                  ./import.go
53                  ./main.go
54                  ./masto.go
55                  ./masto_util.go
56                  ./sensors.go
57                  ./skulduggery.go
58                  ./syndicate.go
59                  ./unveil.go
60                  ./upgradedb.go
61                  ./util.go
62                  ./web.go
63                ];
64              };
65            CGO_ENABLED = 1;
66            nativeBuildInputs = [ pkgs.gcc ];
67            buildInputs = [ pkgs.sqlite ];
68
69            vendorHash = "sha256-ahOYBN6lMQz68CN+8a04atsEEUDpQxRES7HWtZgQTmc=";
70          };
71          docker = pkgs.dockerTools.buildLayeredImage {
72            name = "sini:5000/honk";
73            tag = "latest";
74            contents = [ files honk pkgs.cacert ];
75            config = {
76              Entrypoint = [ "${honk}/bin/honk" ];
77              ExposedPorts = { "5555/tcp" = { }; };
78            };
79          };
80        });
81
82      defaultPackage = forAllSystems (system: self.packages.${system}.honk);
83      devShells = forAllSystems (system:
84        let
85          pkgs = nixpkgsFor.${system};
86        in
87        {
88          default = pkgs.mkShell {
89            nativeBuildInputs = with pkgs; [
90              go
91            ];
92          };
93        });
94    };
95}
96