programs.senpai: add module (#2076)
* maintainers: add malvo * programs.senpai: add module
This commit is contained in:
parent
afb5fd962c
commit
3ffe2a4cdf
2
.github/CODEOWNERS
vendored
2
.github/CODEOWNERS
vendored
|
@ -167,6 +167,8 @@
|
|||
/modules/programs/scmpuff.nix @cpcloud
|
||||
/tests/modules/programs/scmpuff @cpcloud
|
||||
|
||||
/modules/programs/senpai.nix @malte-v
|
||||
|
||||
/modules/programs/ssh.nix @rycee
|
||||
|
||||
/modules/programs/starship.nix @marsam
|
||||
|
|
|
@ -87,4 +87,10 @@
|
|||
githubId = 12465195;
|
||||
name = "Bruno BELANYI";
|
||||
};
|
||||
malvo = {
|
||||
email = "malte@malvo.org";
|
||||
github = "malte-v";
|
||||
githubId = 34393802;
|
||||
name = "Malte Voos";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -126,6 +126,7 @@ let
|
|||
(loadModule ./programs/rofi-pass.nix { })
|
||||
(loadModule ./programs/rtorrent.nix { })
|
||||
(loadModule ./programs/scmpuff.nix { })
|
||||
(loadModule ./programs/senpai.nix { })
|
||||
(loadModule ./programs/skim.nix { })
|
||||
(loadModule ./programs/starship.nix { })
|
||||
(loadModule ./programs/sbt.nix { })
|
||||
|
|
73
modules/programs/senpai.nix
Normal file
73
modules/programs/senpai.nix
Normal file
|
@ -0,0 +1,73 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.programs.senpai;
|
||||
cfgFmt = pkgs.formats.yaml { };
|
||||
in {
|
||||
options.programs.senpai = {
|
||||
enable = mkEnableOption "senpai";
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.senpai;
|
||||
defaultText = literalExample "pkgs.senpai";
|
||||
description = "The <literal>senpai</literal> package to use.";
|
||||
};
|
||||
config = mkOption {
|
||||
type = types.submodule {
|
||||
freeformType = cfgFmt.type;
|
||||
options = {
|
||||
addr = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
The address (host[:port]) of the IRC server. senpai uses TLS
|
||||
connections by default unless you specify no-tls option. TLS
|
||||
connections default to port 6697, plain-text use port 6667.
|
||||
'';
|
||||
};
|
||||
nick = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
Your nickname, sent with a NICK IRC message. It mustn't contain
|
||||
spaces or colons (:).
|
||||
'';
|
||||
};
|
||||
password = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
Your password, used for SASL authentication. Note that it will
|
||||
reside world-readable in the Nix store.
|
||||
'';
|
||||
};
|
||||
no-tls = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Disables TLS encryption.";
|
||||
};
|
||||
};
|
||||
};
|
||||
example = literalExample ''
|
||||
{
|
||||
addr = "libera.chat:6697";
|
||||
nick = "nicholas";
|
||||
password = "verysecurepassword";
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Configuration for senpai. For a complete list of options, see
|
||||
<citerefentry><refentrytitle>senpai</refentrytitle>
|
||||
<manvolnum>5</manvolnum></citerefentry>.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ cfg.package ];
|
||||
xdg.configFile."senpai/senpai.yaml".source =
|
||||
cfgFmt.generate "senpai.yaml" cfg.config;
|
||||
};
|
||||
|
||||
meta.maintainers = [ hm.maintainers.malvo ];
|
||||
}
|
Loading…
Reference in a new issue