summaryrefslogtreecommitdiffstats
path: root/krebs
diff options
context:
space:
mode:
Diffstat (limited to 'krebs')
-rw-r--r--krebs/2configs/wiki.nix2
-rw-r--r--krebs/3modules/default.nix1
-rw-r--r--krebs/3modules/gollum.nix112
3 files changed, 1 insertions, 114 deletions
diff --git a/krebs/2configs/wiki.nix b/krebs/2configs/wiki.nix
index e4f05a6e6..c3d126187 100644
--- a/krebs/2configs/wiki.nix
+++ b/krebs/2configs/wiki.nix
@@ -27,7 +27,7 @@ let
in
{
- krebs.gollum = {
+ services.gollum = {
enable = true;
extraConfig = ''
Gollum::Hook.register(:post_commit, :hook_id) do |committer, sha1|
diff --git a/krebs/3modules/default.nix b/krebs/3modules/default.nix
index 8866e91ae..30ca82b97 100644
--- a/krebs/3modules/default.nix
+++ b/krebs/3modules/default.nix
@@ -29,7 +29,6 @@ let
./github-known-hosts.nix
./git.nix
./go.nix
- ./gollum.nix
./hidden-ssh.nix
./hosts.nix
./htgen.nix
diff --git a/krebs/3modules/gollum.nix b/krebs/3modules/gollum.nix
deleted file mode 100644
index 4b4e04d16..000000000
--- a/krebs/3modules/gollum.nix
+++ /dev/null
@@ -1,112 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
- cfg = config.krebs.gollum;
-in
-
-{
- options.krebs.gollum = {
- enable = mkOption {
- type = types.bool;
- default = false;
- description = "Enable the Gollum service.";
- };
-
- address = mkOption {
- type = types.str;
- default = "0.0.0.0";
- description = "IP address on which the web server will listen.";
- };
-
- port = mkOption {
- type = types.int;
- default = 4567;
- description = "Port on which the web server will run.";
- };
-
- extraConfig = mkOption {
- type = types.lines;
- default = "";
- description = "Content of the configuration file";
- };
-
- mathjax = mkOption {
- type = types.bool;
- default = false;
- description = "Enable support for math rendering using MathJax";
- };
-
- allowUploads = mkOption {
- type = types.nullOr (types.enum [ "dir" "page" ]);
- default = null;
- description = "Enable uploads of external files";
- };
-
- emoji = mkOption {
- type = types.bool;
- default = false;
- description = "Parse and interpret emoji tags";
- };
-
- branch = mkOption {
- type = types.str;
- default = "master";
- example = "develop";
- description = "Git branch to serve";
- };
-
- stateDir = mkOption {
- type = types.path;
- default = "/var/lib/gollum";
- description = "Specifies the path of the repository directory. If it does not exist, Gollum will create it on startup.";
- };
-
- };
-
- config = mkIf cfg.enable {
-
- users.users.gollum = {
- group = config.users.users.gollum.name;
- description = "Gollum user";
- home = cfg.stateDir;
- createHome = false;
- isSystemUser = true;
- };
-
- users.groups.gollum = { };
-
- systemd.tmpfiles.rules = [
- "d '${cfg.stateDir}' - ${config.users.users.gollum.name} ${config.users.groups.gollum.name} - -"
- ];
-
- systemd.services.gollum = {
- description = "Gollum wiki";
- after = [ "network.target" ];
- wantedBy = [ "multi-user.target" ];
- path = [ pkgs.git ];
-
- preStart = ''
- # This is safe to be run on an existing repo
- git init ${cfg.stateDir}
- '';
-
- serviceConfig = {
- User = config.users.users.gollum.name;
- Group = config.users.groups.gollum.name;
- ExecStart = ''
- ${pkgs.gollum}/bin/gollum \
- --port ${toString cfg.port} \
- --host ${cfg.address} \
- --config ${pkgs.writeText "gollum-config.rb" cfg.extraConfig} \
- --ref ${cfg.branch} \
- ${optionalString cfg.mathjax "--mathjax"} \
- ${optionalString cfg.emoji "--emoji"} \
- ${optionalString (cfg.allowUploads != null) "--allow-uploads ${cfg.allowUploads}"} \
- ${cfg.stateDir}
- '';
- };
- };
- };
-}