flakeCompat = import ../lib/flake-compat.nix;
in
{
- myids = ./myids.nix;
+ myids = (flakeCompat ../flakes/myuids).nixosModule;
secrets = ./secrets.nix;
filesWatcher = ./filesWatcher.nix;
+++ /dev/null
-{ ... }:
-{
- # Check that there is no clash with nixos/modules/misc/ids.nix
- config = {
- ids.uids = {
- acme = 388;
- backup = 389;
- vhost = 390;
- openarc = 391;
- opendmarc = 392;
- peertube = 394;
- redis = 395;
- nullmailer = 396;
- mediagoblin = 397;
- diaspora = 398;
- mastodon = 399;
- };
- ids.gids = {
- nagios = 11; # commented in the ids file
- acme = 388;
- backup = 389;
- vhost = 390;
- openarc = 391;
- opendmarc = 392;
- peertube = 394;
- redis = 395;
- nullmailer = 396;
- mediagoblin = 397;
- diaspora = 398;
- mastodon = 399;
- };
- };
-}
+++ /dev/null
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
- cfg = config.services.openarc;
-
- defaultSock = "local:/run/openarc/openarc.sock";
-
- args = [ "-f"
- "-p" cfg.socket
- ] ++ optionals (cfg.configFile != null) [ "-c" cfg.configFile ];
-
-in {
-
- ###### interface
-
- options = {
-
- services.openarc = {
-
- enable = mkOption {
- type = types.bool;
- default = false;
- description = "Whether to enable the OpenARC sender authentication system.";
- };
-
- socket = mkOption {
- type = types.str;
- default = defaultSock;
- description = "Socket which is used for communication with OpenARC.";
- };
-
- user = mkOption {
- type = types.str;
- default = "opendmarc";
- description = "User for the daemon.";
- };
-
- group = mkOption {
- type = types.str;
- default = "opendmarc";
- description = "Group for the daemon.";
- };
-
- configFile = mkOption {
- type = types.nullOr types.path;
- default = null;
- description = "Additional OpenARC configuration.";
- };
-
- };
-
- };
-
-
- ###### implementation
-
- config = mkIf cfg.enable {
-
- users.users = optionalAttrs (cfg.user == "openarc") (singleton
- { name = "openarc";
- group = cfg.group;
- uid = config.ids.uids.openarc;
- });
-
- users.groups = optionalAttrs (cfg.group == "openarc") (singleton
- { name = "openarc";
- gid = config.ids.gids.openarc;
- });
-
- environment.systemPackages = [ pkgs.openarc ];
-
- systemd.services.openarc = {
- description = "OpenARC daemon";
- after = [ "network.target" ];
- wantedBy = [ "multi-user.target" ];
-
- serviceConfig = {
- ExecStart = "${pkgs.openarc}/bin/openarc ${escapeShellArgs args}";
- User = cfg.user;
- Group = cfg.group;
- RuntimeDirectory = optional (cfg.socket == defaultSock) "openarc";
- PermissionsStartOnly = true;
- };
- };
-
- };
-}
+++ /dev/null
-{ stdenv, autoconf, automake, file, libtool, libbsd, mylibs, openssl, pkg-config, libmilter }:
-
-stdenv.mkDerivation (mylibs.fetchedGithub ./openarc.json // rec {
- buildInputs = [ automake autoconf libbsd libtool openssl pkg-config libmilter ];
-
- configureFlags = [
- "--with-milter=${libmilter}"
- ];
- preConfigure = ''
- autoreconf --force --install
- sed -i -e "s@/usr/bin/file@${file}/bin/file@" ./configure
- '';
- meta = with stdenv.lib; {
- description = "Open source ARC implementation";
- homepage = https://github.com/trusteddomainproject/OpenARC;
- platforms = platforms.unix;
- };
-})
+++ /dev/null
-{
- "tag": "355ee2a-master",
- "meta": {
- "name": "openarc",
- "url": "https://github.com/trusteddomainproject/OpenARC",
- "branch": "master"
- },
- "github": {
- "owner": "trusteddomainproject",
- "repo": "OpenARC",
- "rev": "355ee2a1ca85acccce494478991983b54f794f4e",
- "sha256": "0101k6hwwf3pb3jrc88x86d4l698gjmynn9v2rpvxwxv200r2i65",
- "fetchSubmodules": true
- }
-}