summaryrefslogtreecommitdiff
path: root/nix/module.nix
diff options
context:
space:
mode:
authorseth <[email protected]>2024-12-19 16:26:18 -0500
committerGitHub <[email protected]>2024-12-19 21:26:18 +0000
commit2ae2b978f3fad7a58cb129333b36a210bb200488 (patch)
treeef12b9e1a29462c4de6b787fcf9c34d80b563b9f /nix/module.nix
parent77309844e6b890544bc4eea7f03bbafe493ba61e (diff)
jolly winter cleanup (#251)
* ci: bump DeterminateSystems/nix-installer-action from 13 to 16 Bumps [DeterminateSystems/nix-installer-action](https://github.com/determinatesystems/nix-installer-action) from 13 to 16. - [Release notes](https://github.com/determinatesystems/nix-installer-action/releases) - [Commits](https://github.com/determinatesystems/nix-installer-action/compare/v13...v16) --- updated-dependencies: - dependency-name: DeterminateSystems/nix-installer-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> * crates: bump serde from 1.0.209 to 1.0.215 Bumps [serde](https://github.com/serde-rs/serde) from 1.0.209 to 1.0.215. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](https://github.com/serde-rs/serde/compare/v1.0.209...v1.0.215) --- updated-dependencies: - dependency-name: serde dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> * crates: bump serde_json from 1.0.127 to 1.0.133 Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.127 to 1.0.133. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.127...v1.0.133) --- updated-dependencies: - dependency-name: serde_json dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> * crates: bump tokio from 1.40.0 to 1.41.1 Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.40.0 to 1.41.1. - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.40.0...tokio-1.41.1) --- updated-dependencies: - dependency-name: tokio dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> * crates: bump reqwest from 0.12.7 to 0.12.9 Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.7 to 0.12.9. - [Release notes](https://github.com/seanmonstar/reqwest/releases) - [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md) - [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.7...v0.12.9) --- updated-dependencies: - dependency-name: reqwest dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> * nix: update flake.lock * ci: bump DeterminateSystems/magic-nix-cache-action from 7 to 8 Bumps [DeterminateSystems/magic-nix-cache-action](https://github.com/determinatesystems/magic-nix-cache-action) from 7 to 8. - [Release notes](https://github.com/determinatesystems/magic-nix-cache-action/releases) - [Commits](https://github.com/determinatesystems/magic-nix-cache-action/compare/v7...v8) --- updated-dependencies: - dependency-name: DeterminateSystems/magic-nix-cache-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> * treewide: debrand * nix: adopt new darwin sdk * nix: drop treefmt * nix: misc formatting changes * ci: cleanup * nix: pass version info to static builds * nix: mv {derivation,package}.nix * eyre -> anyhow * remove 2024 edition warnings * format with rustfmt * remove optional commands * ci: don't include internal variables in job names * nix: enable for lto builds --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: getchoo-bot[bot] <183349775+getchoo-bot[bot]@users.noreply.github.com>
Diffstat (limited to 'nix/module.nix')
-rw-r--r--nix/module.nix52
1 files changed, 31 insertions, 21 deletions
diff --git a/nix/module.nix b/nix/module.nix
index 4e3b683..8220e3f 100644
--- a/nix/module.nix
+++ b/nix/module.nix
@@ -5,14 +5,11 @@ self:
pkgs,
...
}:
-let
- cfg = config.services.teawiebot;
- defaultUser = "teawiebot";
+let
inherit (lib)
getExe
literalExpression
- mdDoc
mkEnableOption
mkIf
mkOption
@@ -20,17 +17,22 @@ let
optionals
types
;
-
inherit (pkgs.stdenv.hostPlatform) system;
+
+ cfg = config.services.chill-discord-bot;
+
+ defaultUser = "chill-discord-bot";
+ flakePackages = self.packages.${system} or (throw "getchoo/chill: ${system} is not supported");
in
+
{
- options.services.teawiebot = {
- enable = mkEnableOption "teawieBot";
- package = mkPackageOption (self.packages.${system} or (builtins.throw "${system} is not supported!")
- ) "teawie-bot" { };
+ options.services.chill-discord-bot = {
+ enable = mkEnableOption "chill";
+
+ package = mkPackageOption flakePackages "chill-discord-bot" { };
user = mkOption {
- description = mdDoc ''
+ description = ''
User under which the service should run. If this is the default value,
the user will be created, with the specified group as the primary
group.
@@ -43,7 +45,7 @@ in
};
group = mkOption {
- description = mdDoc ''
+ description = ''
Group under which the service should run. If this is the default value,
the group will be created.
'';
@@ -55,7 +57,7 @@ in
};
redisUrl = mkOption {
- description = mdDoc ''
+ description = ''
Connection to a redis server. If this needs to include credentials
that shouldn't be world-readable in the Nix store, set environmentFile
and override the `REDIS_URL` entry.
@@ -69,28 +71,36 @@ in
};
environmentFile = mkOption {
- description = mdDoc ''
+ description = ''
Environment file as defined in {manpage}`systemd.exec(5)`
'';
type = types.nullOr types.path;
default = null;
example = literalExpression ''
- "/run/agenix.d/1/teawieBot"
+ "/run/agenix.d/1/chillDiscordBot"
'';
};
};
+ imports = [
+ (lib.mkRenamedOptionModule [ "services" "teawiebot" ] [ "services" "chill-discord-bot" ])
+ ];
+
config = mkIf cfg.enable {
- services.redis.servers.teawiebot = mkIf (cfg.redisUrl == "local") {
- enable = true;
- inherit (cfg) user;
- port = 0; # disable tcp listener
+ services.redis.servers = mkIf (cfg.redisUrl == "local") {
+ chill-discord-bot = {
+ enable = true;
+ inherit (cfg) user;
+ port = 0; # disable tcp listener
+ };
};
- systemd.services."teawiebot" = {
+ systemd.services.chill-discord-bot = {
enable = true;
wantedBy = [ "multi-user.target" ];
- after = [ "network.target" ] ++ optionals (cfg.redisUrl == "local") [ "redis-teawiebot.service" ];
+ after = [
+ "network.target"
+ ] ++ optionals (cfg.redisUrl == "local") [ "redis-chill-discord-bot.service" ];
script = ''
${getExe cfg.package}
@@ -99,7 +109,7 @@ in
environment = {
REDIS_URL =
if cfg.redisUrl == "local" then
- "unix:${config.services.redis.servers.teawiebot.unixSocket}"
+ "unix:${config.services.redis.servers.chill-discord-bot.unixSocket}"
else
cfg.redisUrl;
};