Format the entire project.
This commit is contained in:
parent
1dc50ae17d
commit
6f9db5e3a4
115 changed files with 3451 additions and 2901 deletions
|
@ -1,10 +1,29 @@
|
|||
{ stdenv, buildPythonPackage, fetchgit
|
||||
, aiosmtpd, alembic, atpublic, click, dnspython, falcon, flufl_bounce, flufl_i18n, flufl_lock
|
||||
, importlib-resources, lazr_config, passlib, requests, sqlalchemy
|
||||
, zope_component, zope_configuration, zope_event, zope_interface
|
||||
# optional database dependencies
|
||||
, pymysql, psycopg2 }:
|
||||
|
||||
{
|
||||
stdenv,
|
||||
buildPythonPackage,
|
||||
fetchgit,
|
||||
aiosmtpd,
|
||||
alembic,
|
||||
atpublic,
|
||||
click,
|
||||
dnspython,
|
||||
falcon,
|
||||
flufl_bounce,
|
||||
flufl_i18n,
|
||||
flufl_lock,
|
||||
importlib-resources,
|
||||
lazr_config,
|
||||
passlib,
|
||||
requests,
|
||||
sqlalchemy,
|
||||
zope_component,
|
||||
zope_configuration,
|
||||
zope_event,
|
||||
zope_interface,
|
||||
# optional database dependencies
|
||||
pymysql,
|
||||
psycopg2,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
name = "mailman3_core-${version}";
|
||||
version = "3.2.2";
|
||||
|
@ -33,7 +52,8 @@ buildPythonPackage rec {
|
|||
zope_configuration
|
||||
zope_event
|
||||
zope_interface
|
||||
pymysql psycopg2
|
||||
pymysql
|
||||
psycopg2
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
|
@ -48,7 +68,7 @@ buildPythonPackage rec {
|
|||
meta = with stdenv.lib; {
|
||||
description = "GNU Mailman, a mailing list management system";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ ];
|
||||
maintainers = with maintainers; [];
|
||||
homepage = http://list.org/;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,14 +1,18 @@
|
|||
{ stdenv, lib, fetchPypi, buildPythonPackage
|
||||
, atpublic }:
|
||||
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchPypi,
|
||||
buildPythonPackage,
|
||||
atpublic,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "aiosmtpd";
|
||||
version = "1.2";
|
||||
pname = "aiosmtpd";
|
||||
version = "1.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1xdfk741pjmz1cm8dsi4n5vq4517i175rm94696m3f7kcgk7xsmp";
|
||||
};
|
||||
doCheck = false;
|
||||
propagatedBuildInputs = [ atpublic ];
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1xdfk741pjmz1cm8dsi4n5vq4517i175rm94696m3f7kcgk7xsmp";
|
||||
};
|
||||
doCheck = false;
|
||||
propagatedBuildInputs = [atpublic];
|
||||
}
|
||||
|
|
|
@ -1,13 +1,17 @@
|
|||
{ stdenv, lib, fetchPypi, buildPythonPackage }:
|
||||
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchPypi,
|
||||
buildPythonPackage,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "atpublic";
|
||||
version = "1.0";
|
||||
pname = "atpublic";
|
||||
version = "1.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0i3sbxkdlbb4560rrlmwwd5y4ps7k73lp4d8wnmd7ag9k426gjkx";
|
||||
};
|
||||
doCheck = false;
|
||||
# propagatedBuildInputs = [];
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0i3sbxkdlbb4560rrlmwwd5y4ps7k73lp4d8wnmd7ag9k426gjkx";
|
||||
};
|
||||
doCheck = false;
|
||||
# propagatedBuildInputs = [];
|
||||
}
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
{ stdenv, lib, fetchPypi, buildPythonPackage
|
||||
, atpublic, zope_interface }:
|
||||
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchPypi,
|
||||
buildPythonPackage,
|
||||
atpublic,
|
||||
zope_interface,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "flufl.bounce";
|
||||
|
@ -11,7 +16,7 @@ buildPythonPackage rec {
|
|||
sha256 = "0k5kjqa3x6gvwwxyzb2vwi1g1i6asm1zw5fivylxz3d583y4kid2";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ atpublic zope_interface ];
|
||||
propagatedBuildInputs = [atpublic zope_interface];
|
||||
|
||||
doCheck = false;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
{ stdenv, lib, fetchPypi, buildPythonPackage
|
||||
, atpublic }:
|
||||
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchPypi,
|
||||
buildPythonPackage,
|
||||
atpublic,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "flufl.i18n";
|
||||
|
@ -11,7 +15,7 @@ buildPythonPackage rec {
|
|||
sha256 = "1csgds59nx0ann9v2alqr69lakp1cnc1ikmbgn96l6n23js7c2ah";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ atpublic ];
|
||||
propagatedBuildInputs = [atpublic];
|
||||
|
||||
doCheck = false;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
{ stdenv, lib, fetchPypi, buildPythonPackage
|
||||
, atpublic }:
|
||||
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchPypi,
|
||||
buildPythonPackage,
|
||||
atpublic,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "flufl.lock";
|
||||
|
@ -11,7 +15,7 @@ buildPythonPackage rec {
|
|||
sha256 = "0nzzd6l30ff6cwsrlrb94xzfja4wkyrqv3ydc6cz0hdbr766mmm8";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ atpublic ];
|
||||
propagatedBuildInputs = [atpublic];
|
||||
|
||||
doCheck = false;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
{ stdenv, lib, fetchPypi, buildPythonPackage
|
||||
, lazr_delegates }:
|
||||
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchPypi,
|
||||
buildPythonPackage,
|
||||
lazr_delegates,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "lazr.config";
|
||||
|
@ -11,7 +15,7 @@ buildPythonPackage rec {
|
|||
sha256 = "1s7pyvlq06qjrkaw9r6nc290lb095n25ybzgavvy51ygpxkgqxwn";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ lazr_delegates ];
|
||||
propagatedBuildInputs = [lazr_delegates];
|
||||
|
||||
doCheck = false;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
{ stdenv, lib, fetchPypi, buildPythonPackage
|
||||
, nose, zope_interface }:
|
||||
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchPypi,
|
||||
buildPythonPackage,
|
||||
nose,
|
||||
zope_interface,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "lazr.delegates";
|
||||
|
@ -11,7 +16,7 @@ buildPythonPackage rec {
|
|||
sha256 = "1rdnl85j9ayp8n85l0ciip621j9dcziz5qnmv2m7krgwgcn31vfx";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ nose zope_interface ];
|
||||
propagatedBuildInputs = [nose zope_interface];
|
||||
|
||||
doCheck = false;
|
||||
}
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
mailman3 = import ./release.nix { };
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
mailman3 = import ./release.nix {};
|
||||
cfg = config.services.mailman3;
|
||||
usePostgresql = cfg.database.type == "postgresql";
|
||||
useSqlite = cfg.database.type == "sqlite3";
|
||||
|
@ -102,7 +104,7 @@ in {
|
|||
|
||||
database = {
|
||||
type = mkOption {
|
||||
type = types.enum [ "sqlite3" "mysql" "postgres" ];
|
||||
type = types.enum ["sqlite3" "mysql" "postgres"];
|
||||
default = "sqlite3";
|
||||
example = "mysql";
|
||||
description = ''
|
||||
|
@ -271,7 +273,7 @@ in {
|
|||
mta = {
|
||||
# TODO: add Sentmail and qmail
|
||||
type = mkOption {
|
||||
type = types.enum [ "postfix" "exim4" ];
|
||||
type = types.enum ["postfix" "exim4"];
|
||||
default = "postfix";
|
||||
example = "exim4";
|
||||
description = ''
|
||||
|
@ -357,7 +359,6 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
users = mkIf (cfg.user == "mailman3") {
|
||||
users.mailman3 = {
|
||||
|
@ -365,7 +366,7 @@ in {
|
|||
home = cfg.paths.var_dir;
|
||||
createHome = true;
|
||||
useDefaultShell = true;
|
||||
packages = [ mailman3.core ];
|
||||
packages = [mailman3.core];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -374,25 +375,25 @@ in {
|
|||
services.postfix.mapFiles."local_recipient_maps" = mkIf usePostfix (mkDefault "${cfg.paths.data_dir}/postfix_lmtp");
|
||||
services.postfix.mapFiles."relay_domains" = mkIf usePostfix (mkDefault "${cfg.paths.data_dir}/postfix_domains");
|
||||
|
||||
warnings = optional (cfg.database.password != "")
|
||||
''config.services.mailman3.database.password will be stored as plaintext
|
||||
in the Nix store. Use database.passwordFile instead.'';
|
||||
warnings =
|
||||
optional (cfg.database.password != "")
|
||||
'' config.services.mailman3.database.password will be stored as plaintext
|
||||
in the Nix store. Use database.passwordFile instead.'';
|
||||
|
||||
# Create database passwordFile default when password is configured.
|
||||
services.mailman3.database.passwordFile =
|
||||
(mkDefault (toString (pkgs.writeTextFile {
|
||||
name = "mailman3-database-password";
|
||||
text = cfg.database.password;
|
||||
})));
|
||||
services.mailman3.database.passwordFile = mkDefault (toString (pkgs.writeTextFile {
|
||||
name = "mailman3-database-password";
|
||||
text = cfg.database.password;
|
||||
}));
|
||||
|
||||
systemd.services.mailman3 = {
|
||||
description = "GNU Mailing List Manager";
|
||||
after = [ "network.target" ] ++ lib.optional usePostgresql "postgresql.service" ++ lib.optional useMysql "mysql.service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = ["network.target"] ++ lib.optional usePostgresql "postgresql.service" ++ lib.optional useMysql "mysql.service";
|
||||
wantedBy = ["multi-user.target"];
|
||||
|
||||
preStart = let
|
||||
dbpass = (fileContents cfg.database.passwordFile);
|
||||
smtppass = (fileContents cfg.mta.smtp_passFile);
|
||||
dbpass = fileContents cfg.database.passwordFile;
|
||||
smtppass = fileContents cfg.mta.smtp_passFile;
|
||||
in ''
|
||||
mkdir -p ${cfg.paths.etc_dir}
|
||||
cp ${configFile} ${cfg.paths.etc_dir}/mailman.cfg
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
{ pkgs ? import <nixpkgs> {}, python3Packages ? pkgs.python3Packages }:
|
||||
|
||||
let
|
||||
{
|
||||
pkgs ? import <nixpkgs> {},
|
||||
python3Packages ? pkgs.python3Packages,
|
||||
}: let
|
||||
mailman3 = {
|
||||
core = python3Packages.callPackage ./core.nix ( with deps; {
|
||||
core = python3Packages.callPackage ./core.nix (with deps; {
|
||||
inherit aiosmtpd atpublic flufl_bounce flufl_i18n flufl_lock lazr_config;
|
||||
});
|
||||
};
|
||||
|
@ -10,7 +11,7 @@ let
|
|||
aiosmtpd = python3Packages.callPackage ./extraPackages/aiosmtpd.nix {
|
||||
inherit atpublic;
|
||||
};
|
||||
atpublic = python3Packages.callPackage ./extraPackages/atpublic.nix { };
|
||||
atpublic = python3Packages.callPackage ./extraPackages/atpublic.nix {};
|
||||
flufl_bounce = python3Packages.callPackage ./extraPackages/flufl_bounce.nix {
|
||||
inherit atpublic;
|
||||
};
|
||||
|
@ -23,6 +24,7 @@ let
|
|||
lazr_config = python3Packages.callPackage ./extraPackages/lazr_config.nix {
|
||||
inherit lazr_delegates;
|
||||
};
|
||||
lazr_delegates = python3Packages.callPackage ./extraPackages/lazr_delegates.nix { };
|
||||
lazr_delegates = python3Packages.callPackage ./extraPackages/lazr_delegates.nix {};
|
||||
};
|
||||
in mailman3
|
||||
in
|
||||
mailman3
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue