Suppose we threw away all FHS-based applications, and started with a clean slate and made an operating system with NixOS that could run pure Nix-only applications.
Suppose we don’t need to focus any efforts on making existing FHS applications run (no patching ELF/RPATH, etc), and that we have the chance to design only the ideal type of applications strictly for this Nix-based OS, packaged and managed by only by Nix.
Nix as of now, or also change the Nix for better replaceability of dependencies?
Do any concepts like this already exist? If not, what would these applications be like? What language? How would they resolve dependencies? Etc?
If we talk Nix-as-of-now, then basically any well-managed software ecosystems is OK?
· dependencies can be passed via command line or environment variables (or maybe symlinking is OK) during build
· dependency absolute or relative-to-installation-directory paths can get encoded into the built output
· runtime loadable modules/configuration can be specified via command line or environment variables
In the ideal world both dependencies and software’s installed data are located via paths relative to the installation path, I guess (this would make dependency rewriting cheap, easy and pleasant)