style: alejandra, deadnix, statix

This commit is contained in:
Kat Inskip 2024-08-03 16:10:47 -07:00
parent 2e7ee0e4ca
commit 17c69c99de
Signed by: kat
GPG key ID: 465E64DECEA8CF0F
78 changed files with 1051 additions and 878 deletions

View file

@ -1,20 +1,20 @@
{ lib
, config
, pkgs
, ...
}:
let
{
lib,
config,
pkgs,
...
}: let
cfg = config.services.mautrix-slack;
dataDir = "/var/lib/mautrix-slack";
registrationFile = "${dataDir}/slack-registration.yaml";
settingsFile = "${dataDir}/config.yaml";
settingsFileUnsubstituted = settingsFormat.generate "mautrix-slack-config-unsubstituted.json" cfg.settings;
settingsFormat = pkgs.formats.json { };
settingsFormat = pkgs.formats.json {};
appservicePort = 29335;
# to be used with a list of lib.mkIf values
optOneOf = lib.lists.findFirst (value: value.condition) (lib.mkIf false null);
mkDefaults = lib.mapAttrsRecursive (n: v: lib.mkDefault v);
mkDefaults = lib.mapAttrsRecursive (_n: v: lib.mkDefault v);
defaultConfig = {
homeserver.address = "http://localhost:8448";
appservice = {
@ -35,8 +35,8 @@ let
displayname_template = "{{.RealName}} (S)";
bot_displayname_template = "{{.Name}} (bot)";
channel_name_template = "#{{.Name}}";
double_puppet_server_map = { };
login_shared_secret_map = { };
double_puppet_server_map = {};
login_shared_secret_map = {};
command_prefix = "!slack";
permissions."*" = "relay";
relay.enabled = true;
@ -50,15 +50,13 @@ let
};
};
};
in
{
in {
options.services.mautrix-slack = {
enable = lib.mkEnableOption "mautrix-slack, a Matrix-Signal puppeting bridge.";
settings = lib.mkOption {
apply = lib.recursiveUpdate defaultConfig;
type = settingsFormat.type;
inherit (settingsFormat) type;
default = defaultConfig;
description = ''
{file}`config.yaml` configuration as a Nix attribute set.
@ -113,7 +111,8 @@ in
serviceDependencies = lib.mkOption {
type = with lib.types; listOf str;
default = (lib.optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit)
default =
(lib.optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit)
++ (lib.optional config.services.matrix-conduit.enable "conduit.service");
defaultText = lib.literalExpression ''
(optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit)
@ -138,7 +137,6 @@ in
};
config = lib.mkIf cfg.enable {
users.users.mautrix-slack = {
isSystemUser = true;
group = "mautrix-slack";
@ -146,13 +144,13 @@ in
description = "Mautrix-Signal bridge user";
};
users.groups.mautrix-slack = { };
users.groups.mautrix-slack = {};
services.matrix-synapse = lib.mkIf cfg.registerToSynapse {
settings.app_service_config_files = [ registrationFile ];
settings.app_service_config_files = [registrationFile];
};
systemd.services.matrix-synapse = lib.mkIf cfg.registerToSynapse {
serviceConfig.SupplementaryGroups = [ "mautrix-slack" ];
serviceConfig.SupplementaryGroups = ["mautrix-slack"];
};
# Note: this is defined here to avoid the docs depending on `config`
@ -169,11 +167,11 @@ in
systemd.services.mautrix-slack = {
description = "mautrix-slack, a Matrix-Signal puppeting bridge.";
wantedBy = [ "multi-user.target" ];
wants = [ "network-online.target" ] ++ cfg.serviceDependencies;
after = [ "network-online.target" ] ++ cfg.serviceDependencies;
wantedBy = ["multi-user.target"];
wants = ["network-online.target"] ++ cfg.serviceDependencies;
after = ["network-online.target"] ++ cfg.serviceDependencies;
# ffmpeg is required for conversion of voice messages
path = [ pkgs.ffmpeg-headless ];
path = [pkgs.ffmpeg-headless];
preStart = ''
# substitute the settings file by environment variables
@ -240,12 +238,12 @@ in
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallErrorNumber = "EPERM";
SystemCallFilter = [ "@system-service" ];
SystemCallFilter = ["@system-service"];
Type = "simple";
UMask = 0027;
};
restartTriggers = [ settingsFileUnsubstituted ];
restartTriggers = [settingsFileUnsubstituted];
};
};
meta.maintainers = with lib.maintainers; [ kittywitch ];
meta.maintainers = with lib.maintainers; [kittywitch];
}

View file

@ -27,7 +27,7 @@ in {
autoRollback = mkOptionDefault true;
magicRollback = mkOptionDefault true;
fastConnection = mkOptionDefault false;
hostname = mkOptionDefault "${name}.inskip.me";
hostname = mkOptionDefault "${name}.tail0b3cc1.ts.net";
profiles.system = {
user = "root";
path = inputs.deploy-rs.lib.${config.system}.activate.nixos inputs.self.nixosConfigurations.${name};

View file

@ -79,18 +79,18 @@ in {
}
.${string.toLower config.type};
modules = mkMerge [
(mkIf (config.folder != "linux") [
# per-OS modules
tree.modules.${config.folder}
# per-OS user definition
tree.home.user.${config.folder}
])
(mkIf (config.folder != "linux" && config.folder != "home") [
# per-OS configuration
tree.${config.folder}.common
# true base module
tree.common
])
(mkIf (config.folder != "linux") [
# per-OS modules
tree.modules.${config.folder}
# per-OS user definition
tree.home.user.${config.folder}
])
(mkIf (config.folder != "linux" && config.folder != "home") [
# per-OS configuration
tree.${config.folder}.common
# true base module
tree.common
])
];
builder =
{
@ -107,23 +107,29 @@ in {
}
// args);
in
args: let
nixos = sys args;
in
nixos.extendModules {
modules =
nixos.config.scalpels
++ [
inputs.scalpel.nixosModules.scalpel
];
specialArgs = {prev = nixos;};
};
args: let
nixos = sys args;
in
nixos.extendModules {
modules =
nixos.config.scalpels
++ [
inputs.scalpel.nixosModules.scalpel
];
specialArgs = {prev = nixos;};
};
home = args: let
renamedArgs = set.rename "specialArgs" "extraSpecialArgs" args;
renamedArgsWithPkgs = renamedArgs // { inherit lib; pkgs = pkgs.${args.system}; };
attrsToRemove = [ "configuration" "username" "homeDirectory" "stateVersion" "extraModules" "system" ];
safeArgs = removeAttrs renamedArgsWithPkgs attrsToRemove;
in inputs.home-manager.lib.homeManagerConfiguration safeArgs;
renamedArgs = set.rename "specialArgs" "extraSpecialArgs" args;
renamedArgsWithPkgs =
renamedArgs
// {
inherit lib;
pkgs = pkgs.${args.system};
};
attrsToRemove = ["configuration" "username" "homeDirectory" "stateVersion" "extraModules" "system"];
safeArgs = removeAttrs renamedArgsWithPkgs attrsToRemove;
in
inputs.home-manager.lib.homeManagerConfiguration safeArgs;
darwin = inputs.darwin.lib.darwinSystem;
macos = inputs.darwin.lib.darwinSystem;
}
@ -145,4 +151,4 @@ in {
system = config;
};
};
}
}