this post was submitted on 29 May 2024
22 points (100.0% liked)

Linux

48077 readers
738 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I'm a i3 user that has been trying to migrate to sway.

I use it with these environment variables:

export XDG_DATA_HOME="$HOME/.local/share"
export XDG_STATE_HOME="$HOME/.local/var/state"
export XDG_CONFIG_HOME="$HOME/.local/config"
export XDG_CACHE_HOME="$HOME/.local/var/cache"

Which gives me a clean home with only ~/.local for my dotfiles.

And issue that I've noticed that I haven't been able to fix is that every time that I start sway, hyprland and also the alpha of cosmic is that I get a new ~/.cache directory created in my home that contains a mesa_shader_cache directory.

Btw in the middle of writing this post I just ran into another bug, thunar for some reason decided to steal my key presses from the web browser, and even though I had the browser window focused as I have sway configured to change the border color of the window with focus, thunar was like nope wtf.

Thank you all for the help, ended up opening a bug report at sway: https://github.com/swaywm/sway/issues/8191

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 5 months ago (4 children)

I mean I use bash for some of my scripts, but I mostly try to keep them POSIX compliant, and yes I also use dash as my sh. zsh is just my interactive and login shell, which by being the login shell I export all my variables on .zprofile instead of what you are doing with the sway wrapper.

I also try to use mawk instead of gawk as that one is even faster than dash. (And in some tests, even faster than C++ btw), check this out if you want: https://github.com/Samueru-sama/dotfiles

I just went with zsh because I first tried to get bash to work and couldn't lol.

I have .librewolf (if you want to not have this(this approach works with pretty much all firefox derivatives/family), then make a script, which basically launches librewolf with different home, like HOME=$XDG_DATA_HOME librewolf (or wherever you want),

https://github.com/Samueru-sama/dotfiles/blob/main/.local/scripts/xdg-hammer/librewolf.sh

I also use this one with steam: https://github.com/Samueru-sama/fixsteam/blob/main/steam

touch ${XDG_DATA_HOME}/bash-history

You may wanna move that to either XDG_CACHE_HOME or XDG_STATE_HOME (couldn't hold my xdg vigilantism sorry).

[–] [email protected] 1 points 5 months ago (3 children)

why would i want to delete my bash history, like to refer to my old commands (and yes i semi-regularly clear the XDG_CACHE_HOME because many apps treat them as temporary locations, STATE_HOME would be better, but i also do not remember about its existence all the time, and thank you for the librewolf script, i had something similar (i did not actually specify with this granularity though)

[–] [email protected] 1 points 5 months ago* (last edited 5 months ago) (2 children)

Yeah that is why I said either CACHE or STATE.

Before XDG_STATE_HOME there was a big question on whether log files would go on DATA or CACHE, because log files could go on either depending on how you treated them. To solve that issue XDG_STATE_HOME was created.

Ever since them the shell history gets treated with similar importance to log files. The arch wiki also suggests it for the bash history to be on STATE: https://wiki.archlinux.org/title/XDG_Base_Directory

And while XDG_CACHE_HOME is technically a temporary location, it doesn't really get used as one, one example is the very shader caches get placed in them, and I don't want to regularly clear my shader caches and wait a minute every time I start a game.

For that I use this script, which moves the cache I really want to be cleared to /tmp: https://github.com/Samueru-sama/dotfiles/blob/main/.local/scripts/tools/tmpfs.sh

And everything else stays in $XDG_CACHE_HOME and I don't clear it.

[–] [email protected] 1 points 5 months ago* (last edited 5 months ago) (1 children)

just 1 thing, why are you moving yay/paru to tmpdir, since they often have aur builds, and if you dont have a baller setup (i definitely do not), downloading the source and the compiles are not really temporary waste, also a general tip, dont remove browser cache also (depending upon how aggressively should the cache, like i have a slow cpu, but i got a ram upgrade and fair speed, i get almost near instantaneous load time when going to pages i have cached(for configuration, please check betterfox speed setup))

[–] [email protected] 1 points 5 months ago* (last edited 5 months ago)

I have 16 GiB of mem + zram. Nothing makes it run out of mem.

Zram gives me some insane compression ratios. Like I cannot get the system to run out of mem doing everything that I normally do at once.

Also that is old, I don't really use the aur anymore. The only aur package that I have installed is downgrade and that is used to troubleshoot issues with the official packages lol.

I also have the pacman cache in tmpfs, since I use btrfs snapshots for restoring.

Also my web pages and everything load just fine. I did mostly to reduce unnecessary writes to disk, the Gentoo wiki suggest moving the whole $XDG_CACHE_HOME to tmpfs which I think is extreme lol

Also my browser cache is not fully being cleared, notice that at the end of the script I have some syncing going on with rsync.