From 94d5d5f998f43779b727b5b1e7915214893e272e Mon Sep 17 00:00:00 2001 From: David Crompton Date: Tue, 7 Nov 2023 09:46:33 -0500 Subject: [PATCH] Add (Imperative) Overleaf --- machines/kcnhub/servers.nix | 2 ++ machines/kcnhub/servers/overleaf.nix | 35 ++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 machines/kcnhub/servers/overleaf.nix diff --git a/machines/kcnhub/servers.nix b/machines/kcnhub/servers.nix index 4cc9d96..2370d6c 100644 --- a/machines/kcnhub/servers.nix +++ b/machines/kcnhub/servers.nix @@ -6,5 +6,7 @@ ./servers/gitea.nix # Online Remote Connectivity ./servers/guac.nix + # Overleaf (Collaborative LaTeX) + ./servers/overleaf.nix ]; } diff --git a/machines/kcnhub/servers/overleaf.nix b/machines/kcnhub/servers/overleaf.nix new file mode 100644 index 0000000..b808f2c --- /dev/null +++ b/machines/kcnhub/servers/overleaf.nix @@ -0,0 +1,35 @@ +{ config, pkgs, lib, ... }: let + stateDir = "/var/lib/overleaf"; +in { + users = { + users.overleaf = { + description = "Overleaf LaTeX Server"; + useDefaultShell = true; + group = "overleaf"; + isSystemUser = true; + home = stateDir; + }; + groups.overleaf = {}; + }; + # Overleaf only officially supports container based installation + # For ease of use and compatability we shall follow suit (for now) + # An imperative installation is described below, to be updated + # to a declarative installation at a later date (with no loss of data) + # + # Imperative Description: + # + # Overleaf/toolkit installed in $stateDir: + # https://github.com/overleaf/toolkit + # + # This repository contains scripts to configure + # and instantiate overleaf in the same directory + # (hence making declarative pure description more difficult) + # + # These scripts configure a set of containers (docker/podman) + # overleaf (sharelatex) + # MongoDB + # Redis + # + # These are the things that will need to be migrated, come a declarative port + # All Relevant files will be stored in the $stateDir. +}