I spent sometime yesterday thinking about what queries I would like a filesystem (layout) to be able to answer.
-installed programs
-files installed (except configuration) by a program
-files installed (including configuration) by a program
-libraries
-a users personal files (including configuration).
-all files except bare bones install
-all files
-files on a specific hard drive
My conclusion was that my preferred layout would be
/os/ - bare bones install
/home/ - users files
/home/im3w1l/.conf/firefox - my configuration for firefox
/programs/ - installed program and libraries
/programs/libfuse/.conf - configuration for libfuse
/programs/firefox/.conf/im3w1l - my configuration for firefox
C:/programs - installed programs on specific hard drive
And that if a file is deleted from one place it is deleted from all. So
rm /home/im3w1l/.conf/firefox -rf
would be the same as
rm /programs/firefox/.conf/im3w1l -rf
But I think a general tagged system has some problems, most notable filename collisions. Adding a tag to a file could create a collision for instance.