blob: 132667dcaa2dd150e0eacc4d96aff4c3c5fd158c (
plain)
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
48
49
50
51
52
53
54
55
56
|
{
inputs.nixpkgs.url = "git+https://github.com/nixos/nixpkgs.git?shallow=1?ref=nixos-24.11";
inputs.flake-utils.url = "git+https://github.com/numtide/flake-utils";
outputs =
{ self, nixpkgs, flake-utils, ... }:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [ ];
};
package-and-docker = name: system: (let
pkgname = name + "-pkg";
dockername = name + "-docker";
in {
# the raw package
${pkgname} = import ./${name} { inherit pkgs name; };
# the docker image
${dockername} = pkgs.dockerTools.buildImage {
name = "${name}";
config.Cmd = [ "${self.packages.${system}.${pkgname}}/bin/${name}" ];
};
});
in
{
packages = { }
// (package-and-docker "backend" system)
// (package-and-docker "frontend" system);
devShells.default = pkgs.mkShell {
buildInputs = builtins.attrValues {
inherit (pkgs)
go
gopls
helix
ripgrep
fd
tokei
tree
eza
;
};
shellHook = ''
alias ls=eza
echo "goapp shell"
export PS1='>; '
'';
};
}
);
}
|