Merge remote-tracking branch 'ni/master'

This commit is contained in:
lassulus 2017-10-09 13:25:49 +02:00
commit 25c07e2c0a
4 changed files with 40 additions and 17 deletions
tv
1systems/mu
2configs
3modules/ejabberd

View file

@ -52,9 +52,6 @@ with import <stockholm/lib>;
networking.networkmanager.enable = true;
environment.systemPackages = with pkgs; [
(pkgs.kdeApplications.callPackage
(import <nixpkgs/pkgs/applications/kde/kde-locale-5.nix> "de" {})
{})
chromium
firefoxWrapper
gimp

View file

@ -80,6 +80,12 @@ with import <stockholm/lib>;
dmesg = "dmesg -L --reltime";
view = "vim -R";
deploy = pkgs.writeDash "deploy" ''
set -eu
cd ~/stockholm
export SYSTEM="$1"
exec nix-shell -I stockholm="$PWD" --run 'deploy --system="$SYSTEM"'
'';
reload = "systemctl reload";
restart = "systemctl restart";
start = "systemctl start";

View file

@ -31,7 +31,7 @@ with import <stockholm/lib>;
## other
https://nixos.org/channels/nixos-17.03/git-revision
https://nixos.org/channels/nixos-17.09/git-revision
https://nixos.org/channels/nixos-unstable/git-revision
## 2014-10-17

View file

@ -34,18 +34,24 @@ in {
hosts = mkOption {
type = with types; listOf str;
};
pkgs.ejabberdctl = mkOption {
pkgs.ejabberd = mkOption {
type = types.package;
default = pkgs.writeDashBin "ejabberdctl" ''
exec ${pkgs.ejabberd}/bin/ejabberdctl \
--config ${toFile "ejabberd.yaml" (import ./config.nix {
inherit pkgs;
config = cfg;
})} \
--logs ${shell.escape cfg.user.home} \
--spool ${shell.escape cfg.user.home} \
"$@"
'';
default = pkgs.symlinkJoin {
name = "ejabberd-wrapper";
paths = [
(pkgs.writeDashBin "ejabberdctl" ''
exec ${pkgs.ejabberd}/bin/ejabberdctl \
--config ${toFile "ejabberd.yaml" (import ./config.nix {
inherit pkgs;
config = cfg;
})} \
--logs ${shell.escape cfg.user.home} \
--spool ${shell.escape cfg.user.home} \
"$@"
'')
pkgs.ejabberd
];
};
};
registration_watchers = mkOption {
type = types.listOf types.str;
@ -66,7 +72,21 @@ in {
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.pkgs.ejabberdctl ];
environment.systemPackages = [
(pkgs.symlinkJoin {
name = "ejabberd-sudo-wrapper";
paths = [
(pkgs.writeDashBin "ejabberdctl" ''
set -efu
cd ${shell.escape cfg.user.home}
exec /run/wrappers/bin/sudo \
-u ${shell.escape cfg.user.name} \
${cfg.pkgs.ejabberd}/bin/ejabberdctl "$@"
'')
cfg.pkgs.ejabberd
];
})
];
krebs.secret.files = {
ejabberd-certfile = cfg.certfile;
@ -79,7 +99,7 @@ in {
after = [ "network.target" "secret.service" ];
serviceConfig = {
ExecStartPre = "${gen-dhparam} ${cfg.dhfile.path}";
ExecStart = "${cfg.pkgs.ejabberdctl}/bin/ejabberdctl foreground";
ExecStart = "${cfg.pkgs.ejabberd}/bin/ejabberdctl foreground";
PermissionsStartOnly = true;
SyslogIdentifier = "ejabberd";
User = cfg.user.name;