xplshn / dbin

📦 Poor man's package manager. +2825 statically linked binaries in the repos! The easy to use, easy to get, suckless software distribution system
Other
142 stars 3 forks source link

Please add support for `$XDG_BIN_HOME` #6

Closed Samueru-sama closed 3 weeks ago

Samueru-sama commented 3 weeks ago

I know it is not in the spec, but it is already used by several other applications, basically XDG_BIN_HOME would be used if it is defined, else the common $HOME/.local/bin is used.

Reasoning: I have mental issues with having dotfiles in $HOME and that's my coping mechanism.


Btw I'm surprised that you have a fastfetch static binary that's only 1.7 MiB, fastfetch releases their binaries and they are 25 MiB and aren't even fully statically linked 👀

This static fastfetch also starts up faster than the official binary by 10 ms.

xplshn commented 3 weeks ago

I know it is not in the spec, but it is already used by several other applications, basically XDG_BIN_HOME would be used if it is defined, else the common $HOME/.local/bin is used.

Reasoning: I have mental issues with having dotfiles in $HOME and that's my coping mechanism.

Absolutely, going to check that. I usually make all of my programs configurable via ~/.profile, and I have everything very tidy, I also have a ~/.config/profile.d. I'll add support for XDG_BIN_HOME but if DBIN_INSTALL_DIR is set, it will take prescedence


Btw I'm surprised that you have a fastfetch static binary that's only 1.7 MiB, fastfetch releases their binaries and they are 25 MiB and aren't even fully statically linked 👀

This static fastfetch also starts up faster than the official binary by 10 ms.

The binaries are built by the one and only @Ajam

xplshn commented 3 weeks ago

Just pushed the changes. :)

Samueru-sama commented 3 weeks ago

Just pushed the changes. :)

Thank you!

Absolutely, going to check that. I usually make all of my programs configurable via ~/.profile, and I have everything very tidy, I also have a ~/.config/profile.d

I don't have any top level dotfile in my home, I only have 2 hidden files in my home and those are the .zshrc and the .zprofile which I have in $XDG_CONFIG_HOME/zsh

image

xplshn commented 3 weeks ago

Just pushed the changes. :)

Thank you!

Absolutely, going to check that. I usually make all of my programs configurable via ~/.profile, and I have everything very tidy, I also have a ~/.config/profile.d

I don't have any top level dotfile in my home, I only have 2 hidden files in my home and those are the .zshrc and the .zprofile which I have in $XDG_CONFIG_HOME/zsh

image

Pretty neat!

image

Samueru-sama commented 3 weeks ago

Btw off topic since I notice that .floorp, have you checked out zen-browser? I recently migrated it to it.

They also provide an appimage (which floorp iirc never did) and I think it should be easy to turn into an appbundle, they even have a x86-64 v3 appimage for those cpu optimizations which is something I always missed from using stuff like the Aur to build my own binaries.

The combination of zen plus some themes it has to remove UI elements + vimium is almost perfect.

image

xplshn commented 3 weeks ago

It doesn't seem to work in my system, sadly; image

Samueru-sama commented 3 weeks ago

It doesn't seem to work in my system, sadly

Yeah that's why I mentioned turning it into an AppBundle because you are on a musl system. Maybe it is also worth trying to use the deploy everything mode of go-appimage and see if it works for once lol.

Btw I assume you have a fairly old hardware if you are trying the generic build.

xplshn commented 3 weeks ago

It doesn't seem to work in my system, sadly

Yeah that's why I mentioned turning it into an AppBundle because you are on a musl system. Maybe it is also worth trying to use the deploy everything mode of go-appimage and see if it works for once lol.

Btw I assume you have a fairly old hardware if you are trying the generic build.

Its an i3, 7th gen, laptop CPU... SS3 probably works tho, I tested both and neither ran. Seems like the appimage is correctly constructed but the apprun is trying to call external binaries instead of those in its bin directory

Samueru-sama commented 3 weeks ago

Its an i3, 7th gen, laptop CPU... SS3 probably works tho, I tested both and neither ran. Seems like the appimage is correctly constructed but the apprun is trying to call external binaries instead of those in its bin directory

The error you have is because the zen binary is made for glibc systems instead, I just tested it on alpine.

Installing gcompat doesn't help, it has a segfault: image

I will try and see if the deploy everything mode works though.

xplshn commented 3 weeks ago

I will try and see if the deploy everything mode works though.

An AppImage of an AppImage?

Samueru-sama commented 3 weeks ago

I will try and see if the deploy everything mode works though.

An AppImage of an AppImage?

Yes, run appimagetool -s deploy over the extracted appdir to bundle all the libs it needs.

Samueru-sama commented 3 weeks ago

I will try and see if the deploy everything mode works though.

An AppImage of an AppImage?

Yes, run appimagetool -s deploy over the extracted appdir to bundle all the libs it needs.

Annnnd it didn't work, what a shame.

I had to make a dummy ./usr/share/bin/zen symlink that pointed to the ../../zen binary to trick appimagetool into deploying (since it wants a FHS structure).

Now it is broken, running the AppRun results in a Couldn't load XPCOM. error.

xplshn commented 3 weeks ago

I will try and see if the deploy everything mode works though.

An AppImage of an AppImage?

Yes, run appimagetool -s deploy over the extracted appdir to bundle all the libs it needs.

Annnnd it didn't work, what a shame.

I had to make a dummy ./usr/share/bin/zen symlink that pointed to the ../../zen binary to trick appimagetool into deploying (since it wants a FHS structure).

Now it is broken, running the AppRun results in a Couldn't load XPCOM. error.

Yeah, that's just how glibc is, if they provided the same binary but also compiled with musl, the could include ld.so/libc.so within it, and run zen like this: ./ld.so ./$PATH_TO_ZEN/zen, it would be smaller than what they ship currently and also actually portable.

Samueru-sama commented 3 weeks ago

Yeah, that's just how glibc is, if they provided the same binary but also compiled with musl, the could include ld.so/libc.so within it, and run zen like this: ./ld.so ./$PATH_TO_ZEN/zen, it would be smaller than what they ship currently and also actually portable.

I would tell you suggest the dev to optimize the build process but I don't have much hopes that it will succeed though.

It seems zen uses some weird build setup because the NixOS people have been trying to get a working flake for a while.

Regardless, I think zen releases fairly small binaries, their appimage is 92 MiB which is smaller than the librewolf appimage which is a very stripped down version of firefox, I don't know how much smaller it can really get.

Azathothas commented 3 weeks ago

Btw I'm surprised that you have a fastfetch static binary that's only 1.7 MiB, fastfetch releases their binaries and they are 25 MiB and aren't even fully statically linked 👀

This static fastfetch also starts up faster than the official binary by 10 ms.

Sadly, the author refuses any constructive feedback/criticism. If the author had followed through, it would have made our whole build process finish sooner (by 10-20 mins) as we could just pull the binary straight from the official release. See: https://github.com/fastfetch-cli/fastfetch/issues/808

Samueru-sama commented 3 weeks ago

Btw I'm surprised that you have a fastfetch static binary that's only 1.7 MiB, fastfetch releases their binaries and they are 25 MiB and aren't even fully statically linked 👀 This static fastfetch also starts up faster than the official binary by 10 ms.

Sadly, the author refuses any constructive feedback/criticism. If the author had followed through, it would have made our whole build process finish sooner (by 10-20 mins) as we could just pull the binary straight from the official release. See: fastfetch-cli/fastfetch#808

What a shame, for what is worth fastfetch detects am packages and the static fastfetch has no problem displaying it.

I really wasn't expecting CarterLi to end the thread like that omg.

xplshn commented 3 weeks ago

@Azathothas Is Loonix still around? It seemed dead, or are you in another chill nix-related chatroom? If so, could you add me? I'd also like to invite Samu, he seems like a nice guy :)

Azathothas commented 3 weeks ago

It is still around but no more texts, so pretty dead. I no longer have time like I used to, so I am not in any nix-related rooms either. It's one off texts here there like you see in https://t.me/thcorg but that's primarily security related. I will try to respond to anyone here on GitHub or pm (https://ajam.dev/contact) whenever I have time. Sadly, the time of chatrooms, forums and the likes has already passed me by.

Samueru-sama commented 3 weeks ago

Alright cringe warning: I just use discord so if anyone is interested: samueru8584

xplshn commented 3 weeks ago

Alright cringe warning: I just use discord so if anyone is interested: samueru8584

My PC is so slow, opening Discord crashes the computer if I have my web browser open, and opening Discord on the web browser renders the system unusable until I exit out of Firefox using pkill. (I have 4GB of RAM)

xplshn commented 3 weeks ago

Sadly, the time of chatrooms, forums and the likes has already passed me by.

You've been taught the art of talking with real people, :(

Samueru-sama commented 3 weeks ago

Alright cringe warning: I just use discord so if anyone is interested: samueru8584

My PC is so slow, opening Discord crashes the computer if I have my web browser open, and opening Discord on the web browser renders the system unusable until I exit out of Firefox using pkill. (I have 4GB of RAM)

Try setting up zram with zstd compression, it will get you thru anything, and I mean anything, like I even managed to play totk on yuzu with 4 GiB of ram with zram.

The other method is some matrix chat.

xplshn commented 3 weeks ago

Alright cringe warning: I just use discord so if anyone is interested: samueru8584

My PC is so slow, opening Discord crashes the computer if I have my web browser open, and opening Discord on the web browser renders the system unusable until I exit out of Firefox using pkill. (I have 4GB of RAM)

Try setting up zram with zstd compression, it will get you thru anything, and I mean anything, like I even managed to play totk on yuzu with 4 GiB of ram with zram.

I wish I knew how, I think I have to recompile the kernel to do this in Alpine. Probably going to do it some time this month, since my machine crashes constantly while running Floorp/Firefox for extended periods of time.

Samueru-sama commented 3 weeks ago

Alright cringe warning: I just use discord so if anyone is interested: samueru8584

My PC is so slow, opening Discord crashes the computer if I have my web browser open, and opening Discord on the web browser renders the system unusable until I exit out of Firefox using pkill. (I have 4GB of RAM)

Try setting up zram with zstd compression, it will get you thru anything, and I mean anything, like I even managed to play totk on yuzu with 4 GiB of ram with zram.

I wish I knew how, I think I have to recompile the kernel to do this in Alpine. Probably going to do it some time this month, since my machine crashes constantly while running Floorp/Firefox for extended periods of time.

https://chat.suyu.dev/channel/general

My username is the same as in here, just direct message me.

Azathothas commented 1 week ago

@Azathothas Is Loonix still around? It seemed dead, or are you in another chill nix-related chatroom? If so, could you add me? I'd also like to invite Samu, he seems like a nice guy :)

It's resurrected (mostly after the pains of having to translate Russian) at: https://t.me/official_loonix

The most relevant topic is FOSS/*Nix/Tools : https://t.me/official_loonix/3966