Compare commits

...

12 commits

Author SHA1 Message Date
ltadeu6
eb1c0dba4d
Trim matrix-android description 2026-05-25 18:12:54 -03:00
ltadeu6
a7481769e5
Fix matrix-android description: Cloudflare Worker is not self-hosted 2026-05-25 18:12:10 -03:00
ltadeu6
c08f061187
Homepage: static project list with descriptions from READMEs 2026-05-25 18:10:14 -03:00
ltadeu6
63ed960353
Homepage: remove duplicate source link from project list 2026-05-25 18:08:26 -03:00
ltadeu6
c67e1a7a71
Add CORS header for Forgejo API via nginx (fix homepage project fetch) 2026-05-25 18:05:47 -03:00
ltadeu6
9208326389
Enable Forgejo CORS for tadix.dev (homepage git projects fetch) 2026-05-25 18:03:28 -03:00
ltadeu6
f88d8bc51d
Fix Nextcloud warnings: opcache interned_strings_buffer=16, run mimetype repair 2026-05-25 18:00:36 -03:00
ltadeu6
c20f1e23aa
Add nextcloud-minimize service: disable unused apps, dark minimal theme 2026-05-25 17:51:18 -03:00
ltadeu6
76488c13cf
Set Nextcloud admin username to ltadeu6 2026-05-25 17:43:48 -03:00
ltadeu6
540f819b18
Set nextcloud dbtype = pgsql (required since 25.05) 2026-05-25 17:28:52 -03:00
ltadeu6
6e293a5c8d
Use nextcloud32 (nextcloud31 is EOL in nixpkgs 25.11) 2026-05-25 17:28:36 -03:00
ltadeu6
b047f80dd1
Add Nextcloud to NixOracle with dynamic project homepage
- services.nextcloud with PostgreSQL, hostName nextcloud.tadix.dev
- nginx vhost with ACME for nextcloud.tadix.dev
- Homepage PROJECTS section now fetches repos from Forgejo API
- Added nextcloud link to footer
2026-05-25 17:28:12 -03:00
2 changed files with 92 additions and 4 deletions

View file

@ -69,6 +69,7 @@ in {
systemd.tmpfiles.rules = [
"d /home/${username}/notebooks 0750 ${username} users -"
"d /etc/nextcloud-secrets 0750 nextcloud nextcloud -"
];
environment.etc."jupyter/jupyter_server_config.py".text = ''
@ -95,6 +96,10 @@ in {
forceSSL = true;
root = "${site}";
};
virtualHosts."nextcloud.tadix.dev" = {
enableACME = true;
forceSSL = true;
};
virtualHosts."git.tadix.dev" = {
enableACME = true;
forceSSL = true;
@ -107,6 +112,15 @@ in {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
'';
};
locations."/api/" = {
proxyPass = "http://127.0.0.1:3000";
extraConfig = ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header 'Access-Control-Allow-Origin' 'https://tadix.dev' always;
'';
};
};
virtualHosts."biolab.tadix.dev" = {
enableACME = true;
@ -129,6 +143,63 @@ in {
};
};
services.nextcloud = {
enable = true;
package = pkgs.nextcloud32;
hostName = "nextcloud.tadix.dev";
https = true;
database.createLocally = true;
config = {
adminuser = "ltadeu6";
adminpassFile = "/etc/nextcloud-secrets/admin-password";
dbtype = "pgsql";
};
phpOptions."opcache.interned_strings_buffer" = "16";
settings = {
default_phone_region = "BR";
maintenance_window_start = 1;
};
};
systemd.services.nextcloud-minimize = {
description = "Configure Nextcloud for minimal file-storage use";
after = [ "nextcloud-setup.service" ];
requires = [ "nextcloud-setup.service" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
User = "nextcloud";
Group = "nextcloud";
};
unitConfig.X-Restart-Triggers = [
(builtins.toFile "nextcloud-minimize-trigger" ''
defaultapp=files
disabled=activity,calendar,contacts,dashboard,firstrunwizard,photos,weather_status,circles,recommendations,user_status,systemtags
theme=dark,#7aa2f7,plain
repair=mimetypes
'')
];
script = ''
set -eu
occ=/run/current-system/sw/bin/nextcloud-occ
$occ config:system:set defaultapp --value=files
for app in activity calendar contacts dashboard firstrunwizard photos weather_status circles recommendations user_status systemtags; do
$occ app:disable "$app" 2>/dev/null || true
done
$occ config:app:set theming defaultColorScheme --value=dark
$occ config:app:set theming color --value="#7aa2f7"
$occ config:app:set theming background --value="plain"
$occ config:app:set theming name --value="Files"
$occ config:app:set theming slogan --value=""
$occ maintenance:repair --include-expensive
'';
};
services.forgejo = {
enable = true;
database.type = "sqlite3";
@ -141,6 +212,11 @@ in {
};
service.DISABLE_REGISTRATION = true;
log.LEVEL = "Warn";
cors = {
ENABLED = true;
ALLOW_DOMAIN = "tadix.dev";
METHODS = "GET,HEAD,OPTIONS";
};
};
};

View file

@ -23,10 +23,20 @@
<section>
<h2>PROJECTS</h2>
<p>
<a href="https://biolab.tadix.dev">BioLab</a>
<span class="dim"> — bioprocess modeling and parameter estimation tool</span>
<br>
<span class="dim"><a href="https://git.tadix.dev/ltadeu6/BioLab">source</a> · <a href="https://biolab.tadix.dev">live</a></span>
<a href="https://git.tadix.dev/ltadeu6/BioLab">BioLab</a>
<span class="dim"> — web tool for kinetic parameter estimation from experimental growth data.<br>
Fits seven microbial models simultaneously via PSO and ranks results by AIC.</span>
<br><span class="dim"><a href="https://biolab.tadix.dev">live</a></span>
</p>
<p>
<a href="https://git.tadix.dev/ltadeu6/matrix-android">matrix-android</a>
<span class="dim"> — minimal Android Matrix client with a terminal aesthetic.<br>
Text-only, E2EE via libolm, SSO login.</span>
</p>
<p>
<a href="https://git.tadix.dev/ltadeu6/Nixos-Config">nixos-config</a>
<span class="dim"> — NixOS and Home Manager config for desktop and Oracle VPS.<br>
Covers system services, secrets via agenix, Hyprland, and self-hosted infrastructure.</span>
</p>
</section>
@ -42,6 +52,8 @@
<a href="https://github.com/ltadeu6">github</a>
<a href="https://git.tadix.dev">git</a>
<a href="https://jupyter.tadix.dev">jupyter</a>
<a href="https://nextcloud.tadix.dev">nextcloud</a>
</footer>
</body>
</html>