Emitter: Switch to Forgejo
|
@ -1,7 +1,7 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./gitea.nix
|
||||
./forgejo.nix
|
||||
./tls_sni.nix
|
||||
];
|
||||
|
||||
|
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
@ -2,18 +2,17 @@
|
|||
|
||||
let
|
||||
domain = "git.25120.org";
|
||||
giteaCustom = pkgs.callPackage ../packages/directory.nix {
|
||||
name = "gitea-custom";
|
||||
source = ./gitea-custom;
|
||||
forgejoCustom = pkgs.callPackage ../packages/directory.nix {
|
||||
name = "forgejo-custom";
|
||||
source = ./forgejo-custom;
|
||||
};
|
||||
in
|
||||
{
|
||||
services.gitea = {
|
||||
services.forgejo = {
|
||||
enable = true;
|
||||
appName = "${domain}";
|
||||
database = {
|
||||
type = "postgres";
|
||||
passwordFile = "/secrets/gitea_db_password";
|
||||
passwordFile = "/secrets/forgejo_db_password";
|
||||
createDatabase = false;
|
||||
};
|
||||
repositoryRoot = "/data/git/repositories";
|
||||
|
@ -22,12 +21,13 @@ in
|
|||
contentDir = "/data/git/data/lfs";
|
||||
};
|
||||
settings = let
|
||||
python = pkgs.python311;
|
||||
docutils =
|
||||
pkgs.python310.withPackages (ps: with ps; [
|
||||
python.withPackages (ps: with ps; [
|
||||
docutils # Provides rendering of ReStructured Text files
|
||||
pygments # Provides syntax highlighting
|
||||
]);
|
||||
nbconvert = pkgs.python310.withPackages (ps: with ps; [
|
||||
nbconvert = python.withPackages (ps: with ps; [
|
||||
jupyter
|
||||
ipykernel
|
||||
nbconvert
|
||||
|
@ -41,7 +41,7 @@ in
|
|||
input_file="$1"
|
||||
|
||||
command="${nbconvert}/bin/jupyter nbconvert --stdout --to html --template basic"
|
||||
cache_directory="${config.services.gitea.stateDir}/markup_cache/jupyter"
|
||||
cache_directory="${config.services.forgejo.stateDir}/markup_cache/jupyter"
|
||||
max_cache_file_count="${toString max_cached_jupyter_notebooks}"
|
||||
|
||||
cache_file="$cache_directory/$(md5sum "$input_file" | cut -d' ' -f1)"
|
||||
|
@ -64,6 +64,7 @@ in
|
|||
'';
|
||||
in
|
||||
{
|
||||
DEFAULT.APP_NAME = "${domain}";
|
||||
server = {
|
||||
SSH_PORT = lib.head config.services.openssh.ports;
|
||||
ROOT_URL = "https://${domain}/";
|
||||
|
@ -72,6 +73,7 @@ in
|
|||
};
|
||||
service.DISABLE_REGISTRATION = true;
|
||||
session.COOKIE_SECURE = true;
|
||||
UI.DEFAULT_THEME = "forgejo-auto";
|
||||
"markup.restructuredtext" = {
|
||||
ENABLED = true;
|
||||
FILE_EXTENSIONS = ".rst";
|
||||
|
@ -103,11 +105,11 @@ in
|
|||
services.postgresql = {
|
||||
enable = true;
|
||||
authentication = ''
|
||||
local gitea all ident map=gitea-users
|
||||
local forgejo all ident map=forgejo-users
|
||||
'';
|
||||
# Map the gitea user to postgresql
|
||||
# Map the forgejo user to postgresql
|
||||
identMap = ''
|
||||
gitea-users gitea gitea
|
||||
forgejo-users forgejo forgejo
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -124,14 +126,14 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
# users.users.gitea.extraGroups = [ "keys" ];
|
||||
systemd.services.gitea = {
|
||||
# users.users.forgejo.extraGroups = [ "keys" ];
|
||||
systemd.services.forgejo = {
|
||||
serviceConfig = {
|
||||
ReadOnlyPaths = [ "/secrets" ];
|
||||
};
|
||||
preStart = ''
|
||||
cp -frT "${giteaCustom}/" "${config.services.gitea.stateDir}/custom/"
|
||||
find "${config.services.gitea.stateDir}/custom/" -type d -exec chmod 0750 '{}' + -or -type f -exec chmod 0640 '{}' +
|
||||
cp -frT "${forgejoCustom}/" "${config.services.forgejo.stateDir}/custom/"
|
||||
find "${config.services.forgejo.stateDir}/custom/" -type d -exec chmod 0750 '{}' + -or -type f -exec chmod 0640 '{}' +
|
||||
'';
|
||||
};
|
||||
|