mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-01-21 18:41:34 +01:00
forgejo: use package from unstable and the new default robots.txt
This commit is contained in:
parent
222841a064
commit
9bed5391ab
1 changed files with 6 additions and 21 deletions
|
|
@ -1,15 +1,11 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs-unstable,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.custom.services.forgejo;
|
cfg = config.custom.services.forgejo;
|
||||||
originalCfg = config.services.forgejo;
|
|
||||||
|
|
||||||
user = config.users.users.forgejo.name;
|
|
||||||
inherit (config.users.users.forgejo) group;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.custom.services.forgejo = {
|
options.custom.services.forgejo = {
|
||||||
|
|
@ -31,12 +27,13 @@ in
|
||||||
ports.list = [ cfg.port ];
|
ports.list = [ cfg.port ];
|
||||||
};
|
};
|
||||||
|
|
||||||
sops.secrets."forgejo/admin-password".owner = user;
|
sops.secrets."forgejo/admin-password".owner = config.users.users.forgejo.name;
|
||||||
|
|
||||||
services.forgejo = {
|
services.forgejo = {
|
||||||
enable = true;
|
enable = true;
|
||||||
lfs.enable = true;
|
package = pkgs-unstable.forgejo;
|
||||||
|
|
||||||
|
lfs.enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
server = {
|
server = {
|
||||||
DOMAIN = cfg.domain;
|
DOMAIN = cfg.domain;
|
||||||
|
|
@ -74,7 +71,7 @@ in
|
||||||
systemd = {
|
systemd = {
|
||||||
services.forgejo.preStart =
|
services.forgejo.preStart =
|
||||||
let
|
let
|
||||||
userCmd = "${lib.getExe originalCfg.package} admin user";
|
userCmd = "${lib.getExe config.services.forgejo.package} admin user";
|
||||||
credentials = lib.concatStringsSep " " [
|
credentials = lib.concatStringsSep " " [
|
||||||
"--username SebastianStork"
|
"--username SebastianStork"
|
||||||
"--password \"$PASSWORD\""
|
"--password \"$PASSWORD\""
|
||||||
|
|
@ -86,23 +83,11 @@ in
|
||||||
${userCmd} create ${credentials} --email "sebastian.stork@pm.me" --admin \
|
${userCmd} create ${credentials} --email "sebastian.stork@pm.me" --admin \
|
||||||
|| ${userCmd} change-password ${credentials} --must-change-password=false
|
|| ${userCmd} change-password ${credentials} --must-change-password=false
|
||||||
'';
|
'';
|
||||||
|
|
||||||
tmpfiles.rules =
|
|
||||||
let
|
|
||||||
disallow-all-robots = pkgs.writeText "disallow-all-robots.txt" ''
|
|
||||||
User-agent: *
|
|
||||||
Disallow: /
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
[
|
|
||||||
"d ${originalCfg.customDir}/public 750 ${user} ${group} - -"
|
|
||||||
"L+ ${originalCfg.customDir}/public/robots.txt 750 - - - ${disallow-all-robots}"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
custom.services.resticBackups.forgejo = lib.mkIf cfg.doBackups {
|
custom.services.resticBackups.forgejo = lib.mkIf cfg.doBackups {
|
||||||
conflictingService = "forgejo.service";
|
conflictingService = "forgejo.service";
|
||||||
extraConfig.paths = [ originalCfg.stateDir ];
|
extraConfig.paths = [ config.services.forgejo.stateDir ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue