add workout-sync

This commit is contained in:
Joakim Repomaa
2025-02-08 00:47:15 +02:00
parent 0b4e55e0b4
commit d32a5dc147
4 changed files with 53 additions and 1 deletions

23
flake.lock generated
View File

@@ -577,7 +577,8 @@
"nixpkgs": "nixpkgs_5",
"nixpkgs-unstable": "nixpkgs-unstable",
"vimpeccable": "vimpeccable",
"windline-nvim": "windline-nvim"
"windline-nvim": "windline-nvim",
"workout-sync": "workout-sync"
}
},
"rust-overlay": {
@@ -677,6 +678,26 @@
"repo": "windline.nvim",
"type": "github"
}
},
"workout-sync": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1738967762,
"narHash": "sha256-TwYDSUqKEKJsI6qoGJ7PkiQEUYMTRvvxmPHyimOr5SQ=",
"owner": "~repomaa",
"repo": "workout-sync",
"rev": "f53dbab01db367309be8058e77e263f1b092e36a",
"type": "sourcehut"
},
"original": {
"owner": "~repomaa",
"repo": "workout-sync",
"type": "sourcehut"
}
}
},
"root": "root",

View File

@@ -42,6 +42,10 @@
url = "github:repomaa/ketchup";
inputs.nixpkgs.follows = "nixpkgs";
};
workout-sync = {
url = "sourcehut:~repomaa/workout-sync";
inputs.nixpkgs.follows = "nixpkgs";
};
ksoloti-pr.url = "github:repomaa/nixpkgs/pkg/ksoloti";
};
outputs = { nixpkgs, ... }@inputs:

View File

@@ -34,5 +34,6 @@
./workout-tracker.nix
./gotosocial.nix
./bin.nix
./workout-sync.nix
];
}

View File

@@ -0,0 +1,26 @@
{ pkgs, inputs, config, ... }:
let
fqdn = "ws.freun.dev";
port = 3344;
workout-sync = inputs.workout-sync.packages.${pkgs.system}.default;
in
{
systemd.services.workout-sync = {
enable = true;
description = "Workout sync service";
environment = {
PORT = toString port;
WORKOUT_TRACKER_URL = "http://localhost:${toString config.services.workout-tracker.port}";
};
serviceConfig = {
ExecStart = "${workout-sync}/bin/workout-sync";
Restart = "always";
DynamicUser = true;
EnvironmentFile = "/var/secrets/workout-sync.env";
};
wantedBy = [ "multi-user.target" ];
confinement.enable = true;
};
modules.webserver.vHosts.${fqdn}.locations."/".proxyPort = port;
}