20 src = fetchFromGitHub {
24 hash = "sha256-FHBaefwSGZXwn1jdU7zK8WhwjarknvyeUJTlhmk/hPM=";
27 offlineCache = fetchYarnDeps {
28 yarnLock = src + "/site/yarn.lock";
29 hash = "sha256-nRmEXR9fjDxvpbnT+qpGeM0Cc/qW/kN53sKOXwZiBXY=";
32 vendorHash = "sha256-+AvmJkZCFovE2+5Lg98tUvA7f2kBHUMzhl5IyrEGuy8=";
39 "-X github.com/coder/coder/buildinfo.tag=${version}"
42 subPackages = [ "cmd/..." ];
48 yarn config --offline set yarn-offline-mirror ${offlineCache}
49 fixup_yarn_lock yarn.lock
51 # node-gyp tries to download always the headers and fails: https://github.com/NixOS/nixpkgs/issues/195404
52 # playwright tries to download Chrome and fails
53 yarn remove --offline jest-canvas-mock canvas @playwright/test playwright
55 export PATH=$PATH:$(pwd)/node_modules/.bin
56 NODE_ENV=production node node_modules/.bin/vite build
65 nodePackages.node-pre-gyp
73 installShellCompletion --cmd coder \
74 --bash <($out/bin/coder completion bash) \
75 --fish <($out/bin/coder completion fish) \
76 --zsh <($out/bin/coder completion zsh)
78 wrapProgram $out/bin/coder --prefix PATH : ${lib.makeBinPath [ terraform ]}
81 # integration tests require network access
85 description = "Provision software development environments via Terraform on Linux, macOS, Windows, X86, ARM, and of course, Kubernetes";
86 homepage = "https://coder.com";
87 license = lib.licenses.agpl3;
88 maintainers = [ lib.maintainers.ghuntley lib.maintainers.urandom ];