Add docker deploy to flake

This commit is contained in:
2026-01-24 19:43:26 +01:00
parent dc6654ee93
commit 7f52f27085

View File

@@ -14,20 +14,55 @@
flake-utils.lib.eachDefaultSystem ( flake-utils.lib.eachDefaultSystem (
system: let system: let
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
deploy = pkgs.writeShellScriptBin "deploy" ''
set -e; set -o pipefail; set -x;
nix build .#docker
image=$((docker load < result) | sed -n '$s/^Loaded image: //p')
docker image tag "$image" harbor.julian-mutter.de/sheetless/sheetless-server:latest
docker push harbor.julian-mutter.de/sheetless/sheetless-server:latest
'';
in { in {
devShells.default = pkgs.mkShell { devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [ buildInputs = with pkgs; [
go go
gopls gopls
go-tools go-tools
deploy
]; ];
}; };
packages.default = pkgs.buildGoModule { packages = rec {
pname = "sheetless-server"; default = sheetless-server;
version = "0.1.0";
src = ./src; sheetless-server = pkgs.buildGoModule {
vendorHash = "sha256-NnHo1wcsX0aCBpay8eEyjmtO7+Qe8gcBPITobP7WtkA="; pname = "sheetless-server";
version = "0.1.0";
src = ./src;
vendorHash = "sha256-NnHo1wcsX0aCBpay8eEyjmtO7+Qe8gcBPITobP7WtkA=";
};
docker = pkgs.dockerTools.buildImage {
name = "sheetless-server";
tag = "latest";
copyToRoot = with pkgs; [
dockerTools.usrBinEnv
dockerTools.binSh
dockerTools.caCertificates
coreutils
sheetless-server
];
config = {
Cmd = ["/bin/sheetless-server"];
Expose = "8080";
};
created = "now";
};
}; };
} }
); );