I use JuNest which basically allows to have a really tiny linux distribution (containing just the package manager) inside your $HOME/.jujujunest directory.
It allows to have your custom system inside the home directory accessible via proot and, therefore, you can install any packages without root privileges. It will run properly to all the major linux distributions, the only limitation is that JuNest can run on linux kernel with minimum reccomendedrecommended version 2.6.32.