-
Notifications
You must be signed in to change notification settings - Fork 64
Installing as a user, not globally as root for a whole system? (Linux) #150
Comments
It is not possible at this time. Gofish was built entirely to be a systems package manager like homebrew/apt/yum. I’m curious to see how this might be possible... perhaps as a flag on |
A flag on |
Using gofish to install standalone utilities was a use case I was interested in as well. The installer would need to a flag too, since stripping sudo would be desirable in that case. curl -fsSL https://raw.githubusercontent.com/fishworks/gofish/master/scripts/install.sh \
| sed -e 's/sudo //' | INSTALL_PREFIX=~/bin bash |
Maybe a better example would be a programming language? I can install python packages into a system location, or tell pip to use a place in my home directory. |
I've been circling back to this idea recently. I'm starting to think this might be better overall to allow packages full write access to the user's home directory. We're changing the ownership of This would be considered a major breaking change, too, as users would have to migrate to the new install path. This is pre-1.0 software, but... Eww I'll have a look into how feasible this may be to implement for the next release. |
It's important to note that package managers for a programming language are an entirely different breed of package manager than an OS package manager, so you can't draw the same conclusions based on what they do compared to an OS package manager. Sam's blog post "so you want to write a package manager" goes into great detail over what goes into a package manager for programming languages and how they differ from OS package managers. |
Thanks for the link. I agree there are major differences, but there aren't a lot of examples on the OS side I could think of that would support installation in user home dirs. Nix would be the closest, but it's not a typical package manager. Given that gofish is like homebrew, and both install in /usr/local but with $USER ownership, it seemed a logical next step that a user could just use their home dir as an installation target. Obviously homebrew doesn't really support this, but if feasible I'd love to see gofish allow it. |
Homebrew creates the "linuxbrew" user as a sort of config repository. I like the pip idea and using say a Now, that I think about it, I'm liking the idea of having gofish use a If you do say, I'm actually planning on coding something like this for gofish. |
If we're changing conventions... I'd prefer Gofish follows the XDG base directory convention, where GoFish's configuration should live under The only thing the user would have to set is
That sounds like a good idea. I prefer that over a An alternative idea would be to detect if we're root, and if so we assume the user wants to install the packages globally. As in, |
Is it possible? (For both
gofish
itself and its packages)The text was updated successfully, but these errors were encountered: