Skip to content

Commit 3fb7c88

Browse files
committed
Add Docker image
1 parent 37f9d4b commit 3fb7c88

File tree

1 file changed

+68
-40
lines changed

1 file changed

+68
-40
lines changed

flake.nix

Lines changed: 68 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -11,50 +11,78 @@
1111
flake-utils.lib.eachDefaultSystem (system:
1212
let
1313
pkgs = nixpkgs.legacyPackages.${system};
14-
in
15-
{
1614
formatter = pkgs.nixpkgs-fmt;
17-
devShells.default = pkgs.mkShell {
18-
buildInputs = with pkgs; [
19-
bash
20-
bat
21-
cairo
22-
drpc.defaultPackage.${system}
23-
exa
24-
getopt
25-
git
26-
go-migrate
27-
go_1_20
28-
golangci-lint
29-
gopls
30-
gotestsum
31-
jq
32-
kubernetes-helm
33-
mockgen
34-
nfpm
35-
nodePackages.pnpm
36-
nodePackages.typescript
37-
nodePackages.typescript-language-server
38-
nodejs
39-
openssh
40-
openssl
41-
pango
42-
pixman
43-
pkg-config
44-
postgresql
45-
protoc-gen-go
46-
ripgrep
47-
screen
48-
shellcheck
49-
shfmt
50-
sqlc
15+
devShellPackages = with pkgs; [
16+
bat
17+
cairo
18+
curl
19+
docker
20+
drpc.defaultPackage.${system}
21+
exa
22+
getopt
23+
git
24+
go_1_20
25+
go-migrate
26+
golangci-lint
27+
gopls
28+
gotestsum
29+
jq
30+
kubernetes-helm
31+
mockgen
32+
nfpm
33+
nix
34+
nodejs
35+
nodePackages.pnpm
36+
nodePackages.typescript
37+
nodePackages.typescript-language-server
38+
openssh
39+
openssl
40+
pango
41+
pixman
42+
pkg-config
43+
postgresql
44+
protoc-gen-go
45+
ripgrep
46+
screen
47+
shellcheck
48+
shfmt
49+
sqlc
50+
terraform
51+
typos
52+
yq
53+
zip
54+
zstd
55+
];
56+
baseImage = pkgs.dockerTools.pullImage {
57+
imageName = "ubuntu";
58+
imageDigest = "sha256:7a520eeb6c18bc6d32a21bb7edcf673a7830813c169645d51c949cecb62387d0";
59+
sha256 = "090zricz7n1kbphd7gwhvavj7m1j7bhh4aq3c3mrik5q8pxh4j58";
60+
finalImageName = "ubuntu";
61+
finalImageTag = "lunar";
62+
};
63+
dockerImage = pkgs.dockerTools.buildLayeredImage {
64+
name = "dev-environment";
65+
fromImage = baseImage;
66+
contents = with pkgs; [
5167
terraform
52-
typos
53-
yq
54-
zip
55-
zstd
5668
];
69+
# extraCommands = ''
70+
# mv bin nixbin
71+
# ln -s usr/bin bin
72+
# '';
73+
config = {
74+
# Env = [ "PATH=${pkgs.lib.makeBinPath devShellPackages}:$PATH" ];
75+
Entrypoint = [ "/bin/bash" ];
76+
};
77+
};
78+
in
79+
{
80+
packages = {
81+
devEnvironmentDocker = dockerImage;
82+
# other packages you want to define for this system
5783
};
84+
defaultPackage = formatter; # or replace it with your desired default package.
85+
devShell = pkgs.mkShell { buildInputs = devShellPackages; };
5886
}
5987
);
6088
}

0 commit comments

Comments
 (0)