diff options
author | Matej Cotman <cotman.matej@gmail.com> | 2014-10-06 21:25:10 +0200 |
---|---|---|
committer | Matej Cotman <cotman.matej@gmail.com> | 2014-10-13 13:10:49 +0200 |
commit | 561d3b38601dfe12b859ed6de402bd01d4196d3b (patch) | |
tree | c2b6b55b15f68ca4dae15cb5a517a29e62c34bef | |
parent | 76a7b0ba68bbf9446e9eac0e532e892be15b63ec (diff) | |
download | nixpkgs-561d3b38601dfe12b859ed6de402bd01d4196d3b.tar nixpkgs-561d3b38601dfe12b859ed6de402bd01d4196d3b.tar.gz nixpkgs-561d3b38601dfe12b859ed6de402bd01d4196d3b.tar.bz2 nixpkgs-561d3b38601dfe12b859ed6de402bd01d4196d3b.tar.lz nixpkgs-561d3b38601dfe12b859ed6de402bd01d4196d3b.tar.xz nixpkgs-561d3b38601dfe12b859ed6de402bd01d4196d3b.tar.zst nixpkgs-561d3b38601dfe12b859ed6de402bd01d4196d3b.zip |
seeks: nixos module
-rw-r--r-- | nixos/modules/misc/ids.nix | 2 | ||||
-rwxr-xr-x | nixos/modules/module-list.nix | 1 | ||||
-rw-r--r-- | nixos/modules/services/networking/seeks.nix | 75 |
3 files changed, 78 insertions, 0 deletions
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index dc5d1b7a6d2..d28624c4326 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -155,6 +155,7 @@ consul = 145; mailpile = 146; redmine = 147; + seeks = 148; prosody = 148; @@ -279,6 +280,7 @@ uhub = 142; mailpile = 146; redmine = 147; + seeks = 148; prosody = 148; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 35706f874ce..17d3140b087 100755 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -259,6 +259,7 @@ ./services/networking/rpcbind.nix ./services/networking/sabnzbd.nix ./services/networking/searx.nix + ./services/networking/seeks.nix ./services/networking/spiped.nix ./services/networking/ssh/lshd.nix ./services/networking/ssh/sshd.nix diff --git a/nixos/modules/services/networking/seeks.nix b/nixos/modules/services/networking/seeks.nix new file mode 100644 index 00000000000..155ecbb98ef --- /dev/null +++ b/nixos/modules/services/networking/seeks.nix @@ -0,0 +1,75 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.seeks; + + confDir = cfg.confDir; + + seeks = pkgs.seeks.override { seeks_confDir = confDir; }; + +in + +{ + + ###### interface + + options = { + + services.seeks = { + + enable = mkOption { + default = false; + type = types.bool; + description = " + Whether to enable the Seeks server. + "; + }; + + confDir = mkOption { + default = ""; + type = types.str; + description = " + The Seeks server configuration. If it is not specified, + a default configuration is used (${seeks}/etc/seeks). + "; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.seeks.enable { + + users.extraUsers.seeks = + { uid = config.ids.uids.seeks; + description = "Seeks user"; + createHome = true; + home = "/var/lib/seeks"; + }; + + users.extraGroups.seeks = + { gid = config.ids.gids.seeks; + }; + + systemd.services.seeks = + { + description = "Seeks server, the p2p search engine."; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + User = "seeks"; + ExecStart = "${seeks}/bin/seeks"; + }; + }; + + environment.systemPackages = [ seeks ]; + + }; + +} |