xrsh-buildroot/buildroot-v86/package/fusescript/README.md

1.6 KiB

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