Config...:FuseUI(3pm)

πŸ’… Config::Model::FuseUI β€” the manual page, but make it cute

okay so bestie, welcome to the Config...:FuseUI(3pm) page πŸ’– (it's a User Contributed Perl Documentation situation, we love that for us). Sit down, grab a strawberry πŸ“, and let me tell you about the module that turns your whole config into a literal folder of files. Main character energy, no cap.


✨ NAME ✨

Config::Model::FuseUI β€” a Fuse virtual file interface for Config::Model. yes the name is long, we're aware, it's giving "my full legal name on the attendance sheet" 😭


🌸 VERSION 🌸

version 2.166 β€” iconic, current, obsessed.


πŸŽ€ SYNOPSIS πŸŽ€

so there's two ways to do this and both are valid:

# command line
mkdir mydir
cme fusefs popcon -fuse-dir mydir
ll mydir
fusermount -u mydir

# programmatic
use Config::Model ;
use Config::Model::FuseUI ;

my $model = Config::Model -> new;
my $root = $model -> instance (root_class_name => "PopCon") -> config_root ;
my $ui = Config::Model::FuseUI->new( root => $root, mountpoint => "mydir" );
$ui -> run_loop ;  # blocking call

# explore mydir in another terminal then umount mydir directory
⚠️ heads up: that run_loop line is a blocking call, so don't be out here thinking your terminal is broken when it just… waits. πŸ’€

πŸ¦‹ DESCRIPTION πŸ¦‹

This module hands you a virtual file system interface for your configuration data. Every single possible parameter of your configuration file gets mapped to a file of its own. yes. every parameter. a file. it's a whole vibe ✨

🌈 Example

$ cme fusefs popcon -fuse-dir fused
Mounting config on fused in background.
Use command 'fusermount -u fused' to unmount
$ ll fused
total 4
-rw-r--r-- 1 domi domi  1 Dec  8 19:27 DAY
-rw-r--r-- 1 domi domi  0 Dec  8 19:27 HTTP_PROXY
-rw-r--r-- 1 domi domi  0 Dec  8 19:27 MAILFROM
-rw-r--r-- 1 domi domi  0 Dec  8 19:27 MAILTO
-rw-r--r-- 1 domi domi 32 Dec  8 19:27 MY_HOSTID
-rw-r--r-- 1 domi domi  3 Dec  8 19:27 PARTICIPATE
-rw-r--r-- 1 domi domi  0 Dec  8 19:27 SUBMITURLS
-rw-r--r-- 1 domi domi  3 Dec  8 19:27 USEHTTP
$ fusermount -u fuse_dir

look at all those little files, they're like a tiny army of config 🫢


πŸ’€ BUGS πŸ’€

ngl there are a couple of things you should know before you get attached:

  • For some configurations, mapping each parameter to its own file can lead to a high number of files. like. a LOT. your ll output could be a whole novel πŸ“š
  • The content of a file gets trashed when you write a wrong value. I.e. the file is empty and the old value is lost. gone. deleted. not coming back 😭 so maybe don't yolo random values in there bestie, fr fr.

πŸ’… constructor

new

the parameters are:

  • model β€” a Config::Model object
  • root β€” the root of the configuration tree (a Config::Model::Node object)
  • mountpoint

πŸ‘‘ Methods

run_loop

Parameters: ( fork_in_loop => 1|0, debug => 1|0 )

This mounts the file system, and it can do it two ways: right in the current process, or by forking a new process before mounting. In the first case the call is blocking (you're stuck there, bestie, living in the mount πŸ’€). In the second case the call returns after forking off a process that does the actual mount. The debug parameter gets passed along to the Fuse system so you can get traces back from Fuse. slay ✨

fuse_mount

Mounts the fuse file system. This method blocks until the file system is unmounted β€” and you unmount it with the fusermount -u mount_point command. so yeah, blocking. again. it's a theme πŸŽ€


🌟 SEE ALSO 🌟

Fuse, Config::Model, cme


πŸ’œ AUTHOR πŸ’œ

Dominique Dumont πŸ‘‘


This software is Copyright (c) 2005-2022 by Dominique Dumont.

This is free software, licensed under:

The GNU Lesser General Public License, Version 2.1, February 1999

and that's the whole page, bestie!! πŸŽ€βœ¨ written for perl v5.42.3, dated 2026-07-23, under the Config...:FuseUI(3pm) manual name. go mount something cute, and remember to fusermount -u before you leave πŸ’–πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from