From 98d01885300119b9904e055ba29adf05381169ea Mon Sep 17 00:00:00 2001 From: mtgmonkey Date: Tue, 10 Jun 2025 07:06:37 -0400 Subject: [PATCH] fix --- flake.nix | 147 +++++++++++++++++++++++------------------------- jank-client.nix | 85 ---------------------------- result | 1 - 3 files changed, 71 insertions(+), 162 deletions(-) delete mode 100644 jank-client.nix delete mode 120000 result diff --git a/flake.nix b/flake.nix index 453d58b..eb075f7 100644 --- a/flake.nix +++ b/flake.nix @@ -23,86 +23,11 @@ cp . $out/src ''; }; - port = 8920; - source = "${pkgs.callPackage pkg}/src"; - module = { - lib, - config, - ... - }: { - virtualisation.docker = { - enable = true; - autoPrune.enable = true; - }; - virtualisation.oci-containers.backend = "docker"; - virtualisation.oci-containers.containers."jank-client-jank" = { - image = "compose2nix/jank-client-jank"; - ports = [ - "${port}:8080/tcp" - ]; - log-driver = "journald"; - extraOptions = [ - "--network-alias=jank" - "--network=jank-client_default" - ]; - }; - systemd.services."docker-jank-client-jank" = { - serviceConfig = { - Restart = lib.mkOverride 90 "always"; - RestartMaxDelaySec = lib.mkOverride 90 "1m"; - RestartSec = lib.mkOverride 90 "100ms"; - RestartSteps = lib.mkOverride 90 9; - }; - after = [ - "docker-network-jank-client_default.service" - ]; - requires = [ - "docker-network-jank-client_default.service" - ]; - partOf = [ - "docker-compose-jank-client-root.target" - ]; - wantedBy = [ - "docker-compose-jank-client-root.target" - ]; - }; - systemd.services."docker-network-jank-client_default" = { - path = [pkgs.docker]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStop = "docker network rm -f jank-client_default"; - }; - script = '' - docker network inspect jank-client_default || docker network create jank-client_default - ''; - partOf = ["docker-compose-jank-client-root.target"]; - wantedBy = ["docker-compose-jank-client-root.target"]; - }; - systemd.services."docker-build-jank-client-jank" = { - path = [pkgs.docker pkgs.git]; - serviceConfig = { - Type = "oneshot"; - TimeoutSec = 300; - }; - script = '' - cd ${source} - docker build -t compose2nix/jank-client-jank . - ''; - }; - systemd.targets."docker-compose-jank-client-root" = { - unitConfig = { - Description = "Root target generated by compose2nix."; - }; - wantedBy = ["multi-user.target"]; - }; - }; in { packages.${system}.default = pkg; nixosModules.${system}.default = { lib, config, - module, ... }: { options = { @@ -113,6 +38,11 @@ default = pkgs.callPackage pkg; type = lib.types.package; }; + port = lib.mkOption { + description = "port to bind to"; + default = 8080; + type = lib.types.int; + }; }; }; config = lib.mkIf config.services.jank-client.enable { @@ -120,7 +50,72 @@ (lib.getExe config.services.jank-client.package) ]; - inherit module; + virtualisation.docker = { + enable = true; + autoPrune.enable = true; + }; + virtualisation.oci-containers.backend = "docker"; + virtualisation.oci-containers.containers."jank-client-jank" = { + image = "compose2nix/jank-client-jank"; + ports = [ + "${config.services.jank-client.port}:8080/tcp" + ]; + log-driver = "journald"; + extraOptions = [ + "--network-alias=jank" + "--network=jank-client_default" + ]; + }; + systemd.services."docker-jank-client-jank" = { + serviceConfig = { + Restart = lib.mkOverride 90 "always"; + RestartMaxDelaySec = lib.mkOverride 90 "1m"; + RestartSec = lib.mkOverride 90 "100ms"; + RestartSteps = lib.mkOverride 90 9; + }; + after = [ + "docker-network-jank-client_default.service" + ]; + requires = [ + "docker-network-jank-client_default.service" + ]; + partOf = [ + "docker-compose-jank-client-root.target" + ]; + wantedBy = [ + "docker-compose-jank-client-root.target" + ]; + }; + systemd.services."docker-network-jank-client_default" = { + path = [pkgs.docker]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStop = "docker network rm -f jank-client_default"; + }; + script = '' + docker network inspect jank-client_default || docker network create jank-client_default + ''; + partOf = ["docker-compose-jank-client-root.target"]; + wantedBy = ["docker-compose-jank-client-root.target"]; + }; + systemd.services."docker-build-jank-client-jank" = { + path = [pkgs.docker pkgs.git]; + serviceConfig = { + Type = "oneshot"; + TimeoutSec = 300; + }; + script = '' + cd ${config.services.jank-client.package}/src + docker build -t compose2nix/jank-client-jank . + ''; + }; + systemd.targets."docker-compose-jank-client-root" = { + unitConfig = { + Description = "Root target generated by compose2nix."; + }; + wantedBy = ["multi-user.target"]; + }; }; }; }; diff --git a/jank-client.nix b/jank-client.nix deleted file mode 100644 index 03b51b6..0000000 --- a/jank-client.nix +++ /dev/null @@ -1,85 +0,0 @@ -# Auto-generated using compose2nix v0.3.1. -{ - pkgs, - lib, - port, - ... -}: { - # Runtime - virtualisation.docker = { - enable = true; - autoPrune.enable = true; - }; - virtualisation.oci-containers.backend = "docker"; - - # Containers - virtualisation.oci-containers.containers."jank-client-jank" = { - image = "compose2nix/jank-client-jank"; - ports = [ - "${port}:8080/tcp" - ]; - log-driver = "journald"; - extraOptions = [ - "--network-alias=jank" - "--network=jank-client_default" - ]; - }; - systemd.services."docker-jank-client-jank" = { - serviceConfig = { - Restart = lib.mkOverride 90 "always"; - RestartMaxDelaySec = lib.mkOverride 90 "1m"; - RestartSec = lib.mkOverride 90 "100ms"; - RestartSteps = lib.mkOverride 90 9; - }; - after = [ - "docker-network-jank-client_default.service" - ]; - requires = [ - "docker-network-jank-client_default.service" - ]; - partOf = [ - "docker-compose-jank-client-root.target" - ]; - wantedBy = [ - "docker-compose-jank-client-root.target" - ]; - }; - - # Networks - systemd.services."docker-network-jank-client_default" = { - path = [pkgs.docker]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStop = "docker network rm -f jank-client_default"; - }; - script = '' - docker network inspect jank-client_default || docker network create jank-client_default - ''; - partOf = ["docker-compose-jank-client-root.target"]; - wantedBy = ["docker-compose-jank-client-root.target"]; - }; - - # Builds - systemd.services."docker-build-jank-client-jank" = { - path = [pkgs.docker pkgs.git]; - serviceConfig = { - Type = "oneshot"; - TimeoutSec = 300; - }; - script = '' - cd /home/mtgmonkey/JankClient - docker build -t compose2nix/jank-client-jank . - ''; - }; - - # Root service - # When started, this will automatically create all resources and start - # the containers. When stopped, this will teardown all resources. - systemd.targets."docker-compose-jank-client-root" = { - unitConfig = { - Description = "Root target generated by compose2nix."; - }; - wantedBy = ["multi-user.target"]; - }; -} diff --git a/result b/result deleted file mode 120000 index 5f346d4..0000000 --- a/result +++ /dev/null @@ -1 +0,0 @@ -/nix/store/2ry4rsr3bp9p0b7bgdwy1yh2iksc4vaz-jank-client \ No newline at end of file