diff options
Diffstat (limited to 'parts/deployment.nix')
| -rw-r--r-- | parts/deployment.nix | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/parts/deployment.nix b/parts/deployment.nix deleted file mode 100644 index 9fb754e..0000000 --- a/parts/deployment.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ - inputs, - self, - ... -}: { - flake.nixosModules.default = import ./module.nix self; - - perSystem = { - lib, - pkgs, - system, - config, - inputs', - ... - }: let - name = "getchoo/teawiebot"; - - crossPkgsFor = lib.fix (finalAttrs: { - "x86_64-linux" = { - "x86_64" = pkgs.pkgsStatic; - "aarch64" = pkgs.pkgsCross.aarch64-multiplatform.pkgsStatic; - }; - - "aarch64-linux" = { - "x86_64" = pkgs.pkgsCross.musl64; - "aarch64" = pkgs.pkgsStatic; - }; - - "x86_64-darwin" = { - "x86_64" = pkgs.pkgsCross.musl64; - "aarch64" = pkgs.pkgsCross.aarch64-multiplatform.pkgsStatic; - }; - - "aarch64-darwin" = finalAttrs."x86_64-darwin"; - }); - - wieFor = arch: let - target = "${arch}-unknown-linux-musl"; - target' = builtins.replaceStrings ["-"] ["_"] target; - targetUpper = lib.toUpper target'; - - toolchain = with inputs'.fenix.packages; - combine [ - minimal.cargo - minimal.rustc - targets.${target}.latest.rust-std - ]; - - naersk' = inputs.naersk.lib.${system}.override { - cargo = toolchain; - rustc = toolchain; - }; - - teawiebot = config.packages.teawiebot.override { - naersk = naersk'; - optimizeSize = true; - }; - - inherit (crossPkgsFor.${system}.${arch}.stdenv) cc; - in - lib.getExe ( - teawiebot.overrideAttrs (_: - lib.fix (finalAttrs: { - CARGO_BUILD_TARGET = target; - "CC_${target'}" = "${cc}/bin/${cc.targetPrefix}cc"; - "CARGO_TARGET_${targetUpper}_RUSTFLAGS" = "-C target-feature=+crt-static"; - "CARGO_TARGET_${targetUpper}_LINKER" = finalAttrs."CC_${target'}"; - })) - ); - - containerFor = arch: - pkgs.dockerTools.buildLayeredImage { - inherit name; - tag = "latest-${arch}"; - contents = [pkgs.dockerTools.caCertificates]; - config.Cmd = [(wieFor arch)]; - - architecture = crossPkgsFor.${system}.${arch}.go.GOARCH; - }; - in { - packages = { - container-x86_64 = containerFor "x86_64"; - container-aarch64 = containerFor "aarch64"; - }; - }; -} |
