Skip to content

Commit 1ab5683

Browse files
committed
misc: update deps
1 parent 554f0d4 commit 1ab5683

File tree

8 files changed

+512
-299
lines changed

8 files changed

+512
-299
lines changed

Cargo.lock

Lines changed: 473 additions & 259 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ edition = "2021"
66
[dependencies]
77
clap = { version = "4.5", features = ["std", "color", "help", "usage", "error-context", "suggestions", "derive", "env"] }
88
lettre = { version = "0.11", default-features = false, features = ["tokio1", "smtp-transport", "pool", "hostname", "builder"] }
9-
tokio = { version = "1.38", features = ["macros", "rt-multi-thread", "net", "fs", "signal"] }
9+
tokio = { version = "1.43", features = ["macros", "rt-multi-thread", "net", "fs", "signal"] }
1010
tracing = { version = "0.1", features = ["release_max_level_info"] }
1111
tracing-subscriber = { version = "0.3", features = ["fmt", "ansi"] }
12-
axum = { version = "0.7", features = ["tokio", "http1", "json"] }
13-
tower-http = { version = "0.5", features = ["trace", "validate-request", "sensitive-headers", "auth"] }
12+
axum = { version = "0.8", features = ["tokio", "http1", "json"] }
13+
tower-http = { version = "0.6", features = ["trace", "validate-request", "sensitive-headers", "auth"] }
1414
tera = { version = "1.20", default-features = false }
1515
serde = { version = "1.0", features = ["derive"] }
1616
anyhow = { version = "1.0", features = ["std"] }

derivation.nix

Lines changed: 0 additions & 12 deletions
This file was deleted.

flake.lock

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
inputs = {
3-
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
3+
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
44
flake-utils.url = "github:numtide/flake-utils";
55
};
66

@@ -14,19 +14,17 @@
1414
in
1515
{
1616
packages = rec {
17-
post = pkgs.callPackage ./derivation.nix {
18-
cargoToml = ./Cargo.toml;
19-
};
17+
post = pkgs.callPackage ./package.nix { };
2018
default = post;
2119
};
2220
}
2321
) // {
2422
overlays.default = _: prev: {
25-
post = self.packages."${prev.system}".default;
23+
inherit (self.packages."${prev.system}") post;
2624
};
2725

2826
nixosModules = rec {
29-
post = import ./module.nix;
27+
post = ./module.nix;
3028
default = post;
3129
};
3230
};

module.nix

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,8 @@ let
55
in
66
{
77
options.services.post = {
8-
package = lib.mkOption {
9-
type = lib.types.package;
10-
default = pkgs.post;
11-
defaultText = lib.literalExpression "pkgs.post";
12-
description = "Which post derivation to use.";
13-
};
148
enable = lib.mkEnableOption "post";
9+
package = lib.mkPackageOption pkgs "post" { };
1510
listen = {
1611
addr = lib.mkOption {
1712
type = lib.types.str;
@@ -57,18 +52,17 @@ in
5752

5853
environment =
5954
let
60-
listenAddr = cfg.listen.addr;
61-
smtpAddr = cfg.listen.addr;
55+
addrToString = addr: port: "${if (lib.hasInfix ":" addr) then "[${addr}]" else addr}:${toString port}";
6256
in
6357
{
64-
POST_LISTEN_ADDR = "${if (lib.hasInfix ":" listenAddr) then "[${listenAddr}]" else listenAddr}:${toString cfg.listen.port}";
65-
POST_SMTP_ADDR = "${if (lib.hasInfix ":" smtpAddr) then "[${smtpAddr}]" else smtpAddr}:${toString cfg.smtp.port}";
58+
POST_LISTEN_ADDR = addrToString cfg.listen.addr cfg.listen.port;
59+
POST_SMTP_ADDR = addrToString cfg.smtp.addr cfg.smtp.port;
6660
POST_TEMPLATE_GLOB = cfg.templateGlob;
6761
POST_API_TOKEN_FILE = "%d/api_token";
6862
};
6963

7064
serviceConfig = {
71-
ExecStart = "${cfg.package}/bin/post";
65+
ExecStart = lib.getExe cfg.package;
7266
DynamicUser = true;
7367
User = "post";
7468
LoadCredential = "api_token:${cfg.apiTokenFile}";

package.nix

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{ lib, rustPlatform, ... }:
2+
3+
let
4+
manifest = (lib.importTOML ./Cargo.toml).package;
5+
in
6+
rustPlatform.buildRustPackage rec {
7+
pname = manifest.name;
8+
inherit (manifest) version;
9+
10+
src = lib.cleanSource ./.;
11+
cargoLock.lockFile = ./Cargo.lock;
12+
13+
cargoBuildFlags = "-p ${pname}";
14+
cargoTestFlags = "-p ${pname}";
15+
16+
meta = {
17+
mainProgram = "post";
18+
};
19+
}

src/routes/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ mod send;
88
pub(super) fn router() -> Router<Context> {
99
Router::new()
1010
.route("/v1/send", post(send::adhoc))
11-
.route("/v1/send/:template_name", post(send::template))
11+
.route("/v1/send/{template_name}", post(send::template))
1212
}

0 commit comments

Comments
 (0)