diff --git a/assets/forgejo/apple-touch-icon.png b/assets/forgejo/apple-touch-icon.png
new file mode 100644
index 0000000..78da40f
Binary files /dev/null and b/assets/forgejo/apple-touch-icon.png differ
diff --git a/assets/forgejo/avatar_default.png b/assets/forgejo/avatar_default.png
new file mode 100644
index 0000000..ce6f772
Binary files /dev/null and b/assets/forgejo/avatar_default.png differ
diff --git a/assets/forgejo/favicon.png b/assets/forgejo/favicon.png
new file mode 100644
index 0000000..f6e48b9
Binary files /dev/null and b/assets/forgejo/favicon.png differ
diff --git a/assets/forgejo/favicon.svg b/assets/forgejo/favicon.svg
new file mode 100644
index 0000000..7cf10f5
--- /dev/null
+++ b/assets/forgejo/favicon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/forgejo/logo.png b/assets/forgejo/logo.png
new file mode 100644
index 0000000..ca1d390
Binary files /dev/null and b/assets/forgejo/logo.png differ
diff --git a/assets/forgejo/logo.svg b/assets/forgejo/logo.svg
new file mode 100644
index 0000000..7cf10f5
--- /dev/null
+++ b/assets/forgejo/logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/flake.nix b/flake.nix
index c49e260..821117f 100644
--- a/flake.nix
+++ b/flake.nix
@@ -65,6 +65,10 @@
# racket
"*.rkt"
"**/rashrc"
+
+ # custom assets
+ "*.png"
+ "*.svg"
];
settings.on-unmatched = "fatal";
};
diff --git a/services/forgejo.nix b/services/forgejo.nix
index 2f69a55..5e7be6f 100644
--- a/services/forgejo.nix
+++ b/services/forgejo.nix
@@ -37,6 +37,19 @@
};
};
+ systemd.tmpfiles.rules =
+ let
+ cfg = config.services.forgejo;
+ imgDir = pkgs.runCommand "forgejo-img-dir" { } ''
+ cp -R ${../assets/forgejo} "$out"
+ '';
+ in
+ [
+ "d '${cfg.customDir}/public' 0750 ${cfg.user} ${cfg.group} - -"
+ "d '${cfg.customDir}/public/assets' 0750 ${cfg.user} ${cfg.group} - -"
+ "L+ '${cfg.customDir}/public/assets/img' - - - - ${imgDir}"
+ ];
+
services.nginx = {
enable = true;
recommendedProxySettings = true;