Add (Imperative) Overleaf
							parent
							
								
									aaeff0731b
								
							
						
					
					
						commit
						94d5d5f998
					
				| 
						 | 
					@ -6,5 +6,7 @@
 | 
				
			||||||
    ./servers/gitea.nix
 | 
					    ./servers/gitea.nix
 | 
				
			||||||
    # Online Remote Connectivity
 | 
					    # Online Remote Connectivity
 | 
				
			||||||
    ./servers/guac.nix
 | 
					    ./servers/guac.nix
 | 
				
			||||||
 | 
					    # Overleaf (Collaborative LaTeX)
 | 
				
			||||||
 | 
					    ./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.
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue