fix nixpkgs

This commit is contained in:
Leon van Kammen 2025-08-05 13:57:59 +02:00
parent 8c4adb4188
commit 8924f70a59
7 changed files with 42 additions and 10 deletions

View file

@ -20,6 +20,7 @@ $ docker load < $(nix-build nix/docker.nix)
| `NO_OVERLAYFS` | `` | disable the filesystem overlay mechanism |
| `NO_DEFAULTDB` | `` | disable the default db (activates manyfold installer) |
| `NO_DELETEBIGFILES` | `` | disable deleting big files which are older than 5 days and bigger than ($currentyear-2020) MB's |
| `NO_PACKAGEALL` | `` | don't package all experiences every hour to /usr/src/app/public/experiences.zip |
| `RCLONE_REMOTE` | `` | specify **single** rclone remote name (without semicolon) to mount |
| `UPLOAD_PATH` | `/mnt/models`| specify default library where user-files are uploaded (regular dir or mounted rclone path) |
@ -36,7 +37,7 @@ $ docker load < $(nix-build nix/docker.nix)
The server-image will boot `manyfold/cli/manyfold.sh boot` and check for directory `/manyfold` (in the container).
When found, it uses the files in there instead (`/manyfold/usr/src/app/public/404.html` instead of `/usr/src/app/public/404.html` e.g.).
# Remote network-drives (with models)
# Federated (remote) network-drives
> Thanks to [rclone](https://rclone.org) network-drives automatically show up as manyfold libraries.
@ -72,6 +73,7 @@ You can put scripts in there, which are fired when needed.
> Example: [manyfold/root/hook.d/daily/delete_big_files.sh] is triggered daily to cleanup files which exceed a certain age/size.
Currently inotify events (`inotify_MODIFY` e.g.) are triggered when files in `/mnt/models` change.
Currently inotify events (`inotify_MODIFY` e.g.) are triggered for local file-changes (`/mnt/models` e.g.).
In theory, federated drives can still be reacted upon, but by integrating with XRForge's ActivityPub (**Follow** feature e.g.)
> Perhaps in the future this will also work for rclone remotes, by writing a `hourly`-script which scans them and fires `inotify_MODIFY` accordingly.

View file

@ -77,7 +77,7 @@ start_hook_daemon(){
$0 infinite 86400 hook daily &
$0 infinite 3600 hook hourly &
# trigger hooks when files change in /mnt/models
inotifywait -r -m /mnt/models | awk '$2 ~ /(CREATE|MODIFY|MOVED_TO)/ { system("'$0' hook inotify_"$2" "$1""$3) }' &
inotifywait -r -m /mnt/models | awk '$2 ~ /(CREATE|MODIFY|MOVED_TO|DELETE)/ { system("'$0' hook inotify_"$2" "$1""$3) }' &
}
@ -148,7 +148,10 @@ set_modelpath(){
rename_app(){
echocolor "[$APPNAME]" "renaming manyfold to $APPNAME"
sed -i 's/title: Manyfold/title: '$APPNAME'/g' /usr/src/app/config/locales/*.yml
sed -i 's|powered_by_html:.*|powered_by_html: Powered by <a href="https://forgejo.isvery.ninja/coderofsalvation/xrforge">XR Forge</a>, <a href="https://manifold.app" target="_blank">Manyfold</a>, <a href="https://xrfragment.org">XR Fragments</a> and <a href="https://nixos.org" target="_blank">NIX</a>|g' /usr/src/app/config/locales/*.yml
sed -i 's|powered_by_html:.*|powered_by_html: Radically opensource-powered by <a href="https://forgejo.isvery.ninja/coderofsalvation/xrforge">XR Forge</a>, <a href="https://manifold.app" target="_blank">Manyfold</a>, <a href="https://xrfragment.org">XR Fragments</a> and <a href="https://nixos.org" target="_blank">NIX</a>|g' /usr/src/app/config/locales/*.yml
sed -i 's|Models|Experiences|g' /usr/src/app/config/locales/*.yml
sed -i 's|Model|Experience|g' /usr/src/app/config/locales/*.yml
}
start_syslog(){

View file

@ -0,0 +1,17 @@
#!/bin/sh
test -n "$NO_PACKAGEALL" && exit 0; # nothing to do
cd /mnt/models
{
echo "# XRForge experiences"
echo ""
echo "XRForge [$PUBLIC_HOSTNAME] snapshot made at $(date)"
echo ""
echo "# How to view"
echo ""
echo "You'll need a 3D app/website/viewer with:"
echo ""
echo "* support for multiple 3D fileformats"
echo "* XR Fragments support (at least href extras) to teleport between them"
} > /mnt/models/README.md
zip -r /usr/src/app/public/experiences.zip *

View file

@ -1,2 +0,0 @@
#!/bin/sh
echo $0 $*

View file

@ -1 +0,0 @@
../hourly/placeholder.sh

View file

@ -1,8 +1,21 @@
{ pkgs ? import <nixpkgs> { }
, pkgsLinux ? import <nixpkgs> { system = "x86_64-linux"; }
}:
#{ pkgs ? import <nixpkgs> { }
# , pkgsLinux ? import <nixpkgs> { system = "x86_64-linux"; }
#}:
{} :
let
pkgs = import (builtins.fetchGit {
#name = "nixos-24.05";
#url = "https://github.com/nixos/nixpkgs/";
#ref = "refs/heads/nixos-unstable";
#rev = "ef99fa5c5ed624460217c31ac4271cfb5cb2502c";
name = "nixos-25.05";
url = "https://github.com/NixOS/nixpkgs";
rev = "b65adef5fe1f68db0bbd27dbb1d5f779805c2b8b";
#hash = "sha256-P+QnQOEh8n+4terom/1ZijQYgv4SnrFLfRzIcFzT1MI=";
}) {};
vars = import ./vars.nix;
# generate the reproducable blob below via: