nixos/soju: add sojuctl wrapper with config path

The config is a in an arbitrary nix store path, and is necessary to
invoke sojuctl. Without the wrapper, you have to read the systemd unit
or use a similar trick to find it.
This commit is contained in:
Benjamin Lee 2023-10-01 17:36:26 -07:00
parent 5207bb723a
commit d772ac182f
No known key found for this signature in database
GPG Key ID: FB9624E2885D55A4
2 changed files with 7 additions and 1 deletions

View File

@ -485,7 +485,7 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- The `krb5` module has been rewritten and moved to `security.krb5`, moving all options but `security.krb5.enable` and `security.krb5.package` into `security.krb5.settings`.
- `services.soju` now has the option `adminSocket.enable`. This option defaults to `true`, and creates a unix admin socket at `/run/soju/admin`.
- `services.soju` now has a wrapper for the `sojuctl` command, pointed at the service config file. It also has the new option `adminSocket.enable`, which creates a unix admin socket at `/run/soju/admin`.
- Gitea 1.21 upgrade has several breaking changes, including:
- Custom themes and other assets that were previously stored in `custom/public/*` now belong in `custom/public/assets/*`

View File

@ -25,6 +25,10 @@ let
${cfg.extraConfig}
'';
sojuctl = pkgs.writeShellScriptBin "sojuctl" ''
exec ${cfg.package}/bin/sojuctl --config ${configFile} "$@"
'';
in
{
###### interface
@ -120,6 +124,8 @@ in
}
];
environment.systemPackages = [ sojuctl ];
systemd.services.soju = {
description = "soju IRC bouncer";
wantedBy = [ "multi-user.target" ];