xrsh-buildroot/buildroot-v86/package/fusescript
Leon van Kammen 9442cde73e upgraded to latest buildroot + added fusescript 2024-12-11 18:23:05 +01:00
..
.gitignore upgraded to latest buildroot + added fusescript 2024-12-11 18:23:05 +01:00
Config.in upgraded to latest buildroot + added fusescript 2024-12-11 18:23:05 +01:00
LICENSE upgraded to latest buildroot + added fusescript 2024-12-11 18:23:05 +01:00
Makefile upgraded to latest buildroot + added fusescript 2024-12-11 18:23:05 +01:00
README.md upgraded to latest buildroot + added fusescript 2024-12-11 18:23:05 +01:00
fusescript.c upgraded to latest buildroot + added fusescript 2024-12-11 18:23:05 +01:00
fusescript.mk upgraded to latest buildroot + added fusescript 2024-12-11 18:23:05 +01:00
fusescript.nix upgraded to latest buildroot + added fusescript 2024-12-11 18:23:05 +01:00
fusescript.svg upgraded to latest buildroot + added fusescript 2024-12-11 18:23:05 +01:00

README.md

Fusescript

scriptable filesystems via python,lua,awk,shellscript etc.

Hackable & prototypable FUSE3 script-bindings for your favorite programming language!

Usage

$ mkdir /mnt/helloworld
$ fusescript fs/helloworld /mnt/helloworld
$ ls /mnt/helloworld
file1
$ cat /mnt/helloworld/file1
Hello world

Profit! The helloworld-script serves a 'virtual filesystem' on the fly ❤

To see how this works, see the fs/helloworld shellscript, or the python, nodejs, AWK script.

Compile

  • nix: nix-build fusescript.nix
  • debian: sudo apt-get install libfuse3-dev && make
  • buildroot [embedded]: put this repository in the packages directory and select it in 'External' (last menuitem when running make menuconfig)

Rationale

  • App-development usually adds various layers of tree-structures
  • the filesystem is already a tree-structure

Fusescript is an exploration into mapping things to a filesystem asap.
In such case, we'd want to prototype with 1% FUSE-functionality, without being forced into building/debugging C (on an embedded device).

"Files are awesome, everything depends on it"

Crazy ideas:

  • navigate database via the filesystem
  • navigate REST api via the filesystem
  • navigate fileformat-internals via the filesystem
  • you name it!

Inspired by

Projects using fusescript