Deployment and lifecycle management for Nix
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

ci: add devshell and wrap build in it

+54 -47
+2 -4
.forgejo/workflows/build-x86_64.yaml
··· 27 27 - run: | 28 28 export HOME=$PWD 29 29 30 - # Setup attic cache 31 - attic login main $ATTIC_URL $ATTIC_KEY 30 + nix develop .#ci --command attic login main $ATTIC_URL --set-default $ATTIC_KEY 32 31 33 - # Build and push to attic 34 - nix run .#cli -- builder push --workers 4 --system x86_64-linux --target "attic:main:$ATTIC_CACHE" --debug 32 + nix develop .#ci --command sower builder push --workers 4 --system x86_64-linux --target "attic:main:$ATTIC_CACHE" --debug
+52 -43
flake.nix
··· 50 50 os = if pkgs.stdenv.isDarwin then "darwin" else "linux"; 51 51 in 52 52 { 53 - devShells.default = pkgs.mkShell { 54 - inputsFrom = [ config.process-compose.devServices.services.outputs.devShell ]; 53 + devShells = { 54 + ci = pkgs.mkShell { 55 + packages = [ 56 + pkgs.attic-client 57 + self'.packages.cli 58 + ]; 59 + }; 55 60 56 - packages = [ 57 - # elixir 58 - beamPackages.erlang 59 - beamPackages.elixir 60 - beamPackages.hex 61 - pkgs.next-ls 62 - inputs'.expert.packages.expert 61 + default = pkgs.mkShell { 62 + inputsFrom = [ config.process-compose.devServices.services.outputs.devShell ]; 63 63 64 - # elixir deps build deps 65 - pkgs.cargo 64 + packages = [ 65 + # elixir 66 + beamPackages.erlang 67 + beamPackages.elixir 68 + beamPackages.hex 69 + pkgs.next-ls 70 + inputs'.expert.packages.expert 66 71 67 - # go 68 - pkgs.go 69 - pkgs.delve 70 - # broken 2025-09-19 pkgs.gci 71 - pkgs.golangci-lint 72 - pkgs.gopls 73 - pkgs.oapi-codegen 72 + # elixir deps build deps 73 + pkgs.cargo 74 74 75 - pkgs.attic-client 76 - self'.packages.seed-ci 77 - pkgs.nushell 75 + # go 76 + pkgs.go 77 + pkgs.delve 78 + # broken 2025-09-19 pkgs.gci 79 + pkgs.golangci-lint 80 + pkgs.gopls 81 + pkgs.oapi-codegen 82 + 83 + pkgs.attic-client 84 + self'.packages.seed-ci 85 + pkgs.nushell 78 86 79 - pkgs.just 80 - pkgs.mix2nix 81 - pkgs.nix-eval-jobs 82 - pkgs.nvfetcher 83 - pkgs.process-compose 84 - config.process-compose.devServices.services.postgres.postgres1.package 85 - config.process-compose.devServices.outputs.package 86 - pkgs.sd-switch 87 - pkgs.entr 88 - ] 89 - ++ lib.optionals pkgs.stdenv.isLinux [ 90 - # elixir 91 - pkgs.inotify-tools 92 - ]; 87 + pkgs.just 88 + pkgs.mix2nix 89 + pkgs.nix-eval-jobs 90 + pkgs.nvfetcher 91 + pkgs.process-compose 92 + config.process-compose.devServices.services.postgres.postgres1.package 93 + config.process-compose.devServices.outputs.package 94 + pkgs.sd-switch 95 + pkgs.entr 96 + ] 97 + ++ lib.optionals pkgs.stdenv.isLinux [ 98 + # elixir 99 + pkgs.inotify-tools 100 + ]; 93 101 94 - shellHook = '' 95 - export PC_CONFIG_FILES=${config.process-compose.devServices.outputs.settingsFile} 102 + shellHook = '' 103 + export PC_CONFIG_FILES=${config.process-compose.devServices.outputs.settingsFile} 96 104 97 - mkdir -vp _build 105 + mkdir -vp _build 98 106 99 - ln -sf ${lib.getExe pkgs.tailwindcss_3} _build/tailwind-${os}-${arch} 100 - ln -sf ${lib.getExe pkgs.esbuild} _build/esbuild-${os}-${arch} 101 - ''; 107 + ln -sf ${lib.getExe pkgs.tailwindcss_3} _build/tailwind-${os}-${arch} 108 + ln -sf ${lib.getExe pkgs.esbuild} _build/esbuild-${os}-${arch} 109 + ''; 102 110 103 - # go delve fix 104 - hardeningDisable = [ "fortify" ]; 111 + # go delve fix 112 + hardeningDisable = [ "fortify" ]; 113 + }; 105 114 }; 106 115 107 116 checks = lib.optionalAttrs pkgs.stdenv.isLinux {