Samueru

@Samueru@lemmy.world
0 Post – 101 Comments
Joined 7 months ago

Some defaults I would like to see:

  • Have zsh as the interactive shell (And also have its dotfiles in a better location like XDG_CONFIG_HOME/zsh)

  • Btrfs with compression enabled and subvolumes set. (Maybe also timeshift installed, not sure because not everyone uses timeshift for btrfs snapshots).

  • ZRAM (With proper sysctl.conf like PopOS does).

  • Pacman as the package manager with an Aur helper already installed.

  • No bloat™ preinstalled, nothing of shipping flatpak or snap by default or even a DE. So I can just boot into a tty without having to do the minimal install from zero.

  • Comply with the FHS and XDG specs (Arch fucking installs packages to /opt and doesnt set ~/.local/bin as part of PATH)

  • Dont break userspace (arch did this recently with an update to glibc that removed a patch that breaks steam games)


Edit: Also forgot to mention:

  • Ship x86-64 v3 binaries, common arch, even Gentoo is doing it while on arch you have to use non official repos.
5 more...

Looks like Mozilla will always depend on that google check lol.

5 more...

Been using Btrfs for a year, I once had an issue that my filesystem was read only, I went to the Btrfs reddit and after some troubleshooting it turned out that my ssd was dying, I couldn't believe it at first because my SMART report was perfectly clean and the SSD was only 2 years old, then a few hours later SMART began reporting thousands of dead sectors.

The bloody thing was better than smart at detecting a dying ssd lol.

It is a bug, and not only that, it is KDE6 related lmao. It's the steam bug again!

In this case the issue was that a change between kde5 and kde6 let to the variable being defined as somepath / (notice the space).

?

I said: "I will daily drive wayland once sway fixes their compatibility bugs with i3" That is I am not using wayland at the moment and I'm using i3 (x11) due to bugs in sway.

Sway is the wayland window manager that is a "drop in" replacement of i3. I can't use it right now because it has several bugs that prevent me from using it.

4 more...

I will daily drive wayland once sway fixes all their compatibility bugs with i3 and once polybar works on wayland as well.

8 more...

MiB and MB are not the same thing. Just that many CLI tools in linux use MiB instead so I just got used to typing MiB lol.

3 more...

I moved to Libretube because newpipe crashes when I try to play a vid fullscreen on my phone running lineageOS. For some reason I have to first toggle picture in picture mode before going fullscreen, otherwise it crashes lol

1 more...

Both servers were running musl libc instead of glibc for a while. This gave me a couple of random issues, but eventually I got tired and switched back to glibc.

musl in a nutshell

i3 here, mine is very different from the usual, I made it to use the left hand as much as possible:

How I launch commonly used programs:

bindsym $mod+F1 exec --no-startup-id pgrep librewolf && i3-msg "[class=LibreWolf] focus" && dunstify -r 34 -t 1500 "LibreWolf"  || librewolf | dunstify -r 34 -t 2000 "Launching non-XDG Compliant Software: LibreWolf"
bindsym $mod+Shift+F1 exec --no-startup-id librewolf | dunstify -r 35 -t 1000 "New LibreWolf Window"
bindsym $mod+F2 exec --no-startup-id thunar
bindsym $mod+F3 exec --no-startup-id pgrep deadbeef && i3-msg "[class=Deadbeef] focus" && dunstify -r 36 -t 1500 "DeaDBeef" || deadbeef | dunstify -r 36 -t 2000 "Launching DeaDBeef"
bindsym $mod+F4 exec --no-startup-id pgrep ferdium && i3-msg "[class=Ferdium] focus" && dunstify -r 37 -t 1500 "Ferdium" || ferdium | dunstify -r 37 -t 2000 "Launching Ferdium"
bindsym $mod+F5 exec --no-startup-id pgrep freetube && i3-msg "[class=FreeTube] focus" && dunstify -r 38 -t 1500 "FreeTube" || freetube | dunstify -r 38 -t 2000 "Launching Freetube"
bindsym $mod+F6 exec --no-startup-id pgrep steam && i3-msg "[class=steam] focus" && dunstify -r 39 -t 1500 "Steam" || exec steam | dunstify -r 39 -t 2000 "Launching Ruthless non-XDG Compliant Software: Steam" "(Also fucks your screensaver lol)"
bindsym $mod+F7 exec --no-startup-id pgrep yuzu && i3-msg "[class=yuzu] focus" && dunstify -r 40 -t 1500 "yuzu" || gamemoderun yuzu | dunstify -r 40 -t 2000 "Launching yuzu"

If the program is already opened and I press the key it will focus on it instead of opening another window, to open another window for the browser I need to press Shift. (And yes I have some beef against programs that don't follow xdg base directory specs lol)

For navigation keys, I use esdf instead of wasd, I can also use the arrow keys:


bindsym $mod+Shift+r layout toggle splitv tabbed splith
bindsym $mod+r layout toggle splith tabbed splitv
bindsym $mod+q kill
bindsym $mod+z split toggle
bindsym $mod+g fullscreen toggle
bindsym $mod+Shift+space floating toggle, resize set 710 400, move position center
bindsym $mod+Mod1+space floating toggle
bindsym $mod+space focus mode_toggle
bindsym $mod+Shift+x move scratchpad, exec --no-startup-id dunstify -r 33 -t 1500 "Window Moved to Scratchpad"
bindsym $mod+x scratchpad show, exec --no-startup-id dunstify -r 33 -t 1500 "Scratchpad Show"
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
bindsym $mod+a exec --no-startup-id ~/.local/bin/scripts/togglefocus.sh 

bindsym $mod+s focus left
bindsym $mod+d focus down
bindsym $mod+e focus up
bindsym $mod+f focus right

bindsym $mod+Ctrl+Left resize shrink width 100 px or 15 ppt
bindsym $mod+Ctrl+Down resize shrink height 100 px or 15 ppt
bindsym $mod+Ctrl+Up resize grow height 100 px or 15 ppt
bindsym $mod+Ctrl+Right resize grow width 100 px or 15 ppt

bindsym $mod+Ctrl+s resize shrink width 100 px or 15 ppt
bindsym $mod+Ctrl+d resize shrink height 100 px or 15 ppt
bindsym $mod+Ctrl+e resize grow height 100 px or 15 ppt
bindsym $mod+Ctrl+f resize grow width 100 px or 15 ppt

I had to use an script for mod+a because i3 can't use the same keybind to focus parent and focus child (I use it like select all thing).

The default config of i3 has a resize mode, I got rid of all of that, it is much better to use mod+control to resize lol.

I also have the mouse side buttons to control media playback as well as making the window float with middleclick:

bindsym --whole-window $mod+button2 floating toggle, resize set 710 400, move position center
bindsym --whole-window $mod+button9 exec --no-startup-id playerctl next
bindsym --whole-window $mod+button8 exec --no-startup-id playerctl previous
bindsym --whole-window $mod+Shift+button8 exec --no-startup-id playerctl play-pause && sleep 0.2 && playerctl metadata --format '{{ status }}: {{ title }} by {{ artist }}' | xargs -0 -I {} dunstify -r 11 -t 2000 "Playback" "{}"

edit: lemmy can’t display && when I paste it as code lol

I have a similar story with an RX580, I replaced my GTX 1060 3GB for a 8GB RX 580 mostly because the 3GB of vram were an issue for BeamNG.

Now I can't record my 3 displays with the RX 580, it just fails when trying to do so, and 2 displays results in constant encoder overloads, something that the 1060 had issues at all, also my colors are off when recording and I have no idea why, it even happens when recording with the CPU:

https://bbs.archlinux.org/viewtopic.php?id=292196

Also kernel 6.6 broke the power reporting on all polaris GPUs, thankfully that was fixed recently in kernel 6.7.2, but holy shit it took like 6 months to fix that.

3 more...

doas uses like 10MIB less of mem than sudo.

7 more...

Oh I totally agree with that. But I don't think the regular a new user should be using CLI tools to install packages. There are plenty of GUI tools that should be doing that for you instead.

And if they did, it should be very simplified with a wrapper script like in the example above, iirc the common command update-grub is a wrapper script that simplifies it, it is a shame this isn't more common with other tasks.

This could be even standardized, like regardless of the distro if you type installpkg vim, the installpkg script would do something like this that will run it thru the most popular packages managers to do the simple operation:

# Install with 'pacman' (if available)
if command -v pacman >/dev/null 2>&1; then
    sudo pacman -S $@ || exit 1
fi

# Install with 'apt' (if available)
if command -v apt >/dev/null 2>&1; then
    sudo apt install $@ || exit 1
fi

# Install with 'dnf' (if available)
if command -v dnf >/dev/null 2>&1; then
    sudo dnf install $@ || exit 1
fi

echo "No package manager found"

I don't distro hop, but I keep my most commonly used programs as appimages in my home, as well as some locally compiled programs that I install in ~/.local/bin and ~/.local/lib.

Those include essentials like:

  • i3wm
  • polybar
  • rofi
  • handlr (regex one)

And for the programs, those include:

  • brave

  • ferdium

  • freetube

  • gimp

  • librewolf

  • libreoffice

That way I can drop my home onto any distro and everything will work at once. No need to manually install programs.

I also have wrapper scripts on my PATH that force applications that don't comply with the xdg base dir spec to use a fakehome in ~/.local, like steam and the web browsers.

amdgpu_top it is so good that it wasn't affected by a recent kernel change that broke power reporting on polaris GPUs.

It has everything, it can even emulate nvidia-smi looks.

Brave is an interesting case, they found a way to make money that doesn't involve tracking their users, making deals with google or be closed source lol

If you hate that fine, I definitely prefer that than the other alternatives lol.

They also warned Iran before ISIS-K did their other attack.

I was like you using arch packages for everything until ferdium was hit by a terrible bug that broke its zoom function and wont be fixed in months since it is an issue with electron. Now I use the appimage version of it to downgrade to an older version.

And then there are the rust programs that you can only find as aur git packages which means installing a bunch of dependencies and all the crap that cargo puts into my home dir just to build one binary, for that I just instead take the appimage version or sometimes the binary if they release it and place it in ~/.local/bin.

Another good thing is that the appimages get compressed and take less disk space, for example the libreoffice package in arch is 600 MiB while the appimage is 300 MiB.

And the great thing is that I can just drop my homedir into any distro and as long as I make sure that fuse is installed everything will work out of the box.

5 more...

It is just that zram is much faster than zswap because it uses the ram to store compressed memory. Android already uses it by default.

These are worth reading:

https://old.reddit.com/r/Fedora/comments/mzun99/new_zram_tuning_benchmarks/ https://linuxreviews.org/The_Benefits_Of_Having_A_Compressed_zram_Swap_Device_On_Linux

1 more...

I have mod+c for the calculator:

bindsym $mod+c exec --no-startup-id pgrep mate-calc && killall mate-calc || mate-calc

mod+c opens it and if I press mod+c again it will close it instead. Same trick with mod+b for pavucontrol.

edit: lemmy can't display && when I paste it as code lol

No I did not, I knew the website because I had used the tool before, not the other way around.

Thanks for letting me know about the conflict of interest, do you have any suggestions of a similar test?

You can get vertical tabs on firefox with custom userChrome.css but it is a nightmare to setup and mozilla is only interested on breaking userChrome with every update lol.

2 more...

An equivalent to Time Machine

Doesn't timeshift work? If you installed fedora with Btrfs which is the default it should work unless the default subvolumes used by fedora are not compatible with what timeshift expects.

Sorry if you meant to say that they should have it by default and you are already using timeshift.

3 more...

alias totally works, but if you want to simplify it for multiple package managers then it is better to use a script.

Like this example that when the user types pkginstall vim, pkginstall would be a script in path that would do the operation regarless of the package manager:

# Install with 'pacman' (if available)
if command -v pacman >/dev/null 2>&1; then
    sudo pacman -S $@ || exit 1
fi

# Install with 'apt' (if available)
if command -v apt >/dev/null 2>&1; then
    sudo apt install $@ || exit 1
fi

# Install with 'dnf' (if available)
if command -v dnf >/dev/null 2>&1; then
    sudo dnf install $@ || exit 1
fi

They could even install it in their ~/.local/bin, and as long as their distro makes that part of PATH (which arch does not kek) by just using that same home with another distro they already could install/remove packages and update using those wrapper scripts regardless of the distro.

If you are wondering why the script needs to check if the package manager exists, it is because when testing it I discovered that if the first one is not installed it will cancel the operation and not continue, and if I remove the exit 1 it will attempt to use the next package manager when canceling the operation with ctrl+c.

It pains me to say this, but voidlinux, though I'm still not in the stage of "this one is not for me", it has potential and hopefully I can sort all the issues I've encountered so far.

I've tried multiple distros, and also used artix for a while so I'm used to not using systemd but man void is really another thing, this isn't the first time I've used it, I tried it a year ago and gave up, recently I decided that I'm up for the challenge and began using it again, here's what has happened so far:

Well right now I'm dealing with the pc freezing when quitting the user session, for some reason I need to exit i3 before logging out, otherwise the system freezes.

Also I wasn't able to get a clean boot screen even though I had the typical kernel parameters quiet, loglevel, etc, it even prints info on the login prompt where I should be putting my username, though I managed to mitigate this a lot by passing a kernel parameter that tells it to use another tty for the boot messages.

file-roller is broken, I can't compress some directories to 7zip, the weird thing is that it only happens to some directories and not all.

Though the very good news is that they fix issues very fast, puddletag was broken and they fixed it in like 2 hours after I reported the issue.

Edit: It is not just file-roller that is broken, it is all of 7zip on void, I can't compress with xarchiver either

My time with nvidia on linux was 0 issues in performance or usability.

The only sort of issue that I had was that the GTX 1060 drew 20W at idle when using the 3 displays, this was a bug that nvidia fixed for the RTX 20 series and newer cards but never fixed for pascal lol.

But even on BeamNG, there was a period were the native linux version didn't work on mesa while it worked for nvidia, now to be fair with amd this was because the vulkan implementation of beamng is horrible and right now it does not work on either lol.

You can also fix it with a custom userChrome.css, which lets you set the min and max tab width before they begin to scroll.

In other words you can make it so that if one or two tabs are open they take all the space and the more you open they all shrink equally up to a point.

2 more...

librewolf, but should work on firefox.

Here is mine, it is very keyboard driven so it might not work for you, but you can copy the tab width settings: https://pastebin.com/f5AvQuJu

https://streamable.com/wj7iri

But a shitty $50 no name PSU is probably gonna blow up before the $150 unit from a solid company with a well established history of quality parts

Nope haha, I don't know if you know, but Evga, Corsair and Gigabyte already had their issues with entire series of PSUs exploding, all those had the issue that the active pfc diode/transistor were failing.

You will never have that issue if you buy a very low end PSU that is NRTL certified (plenty of sub 40 usd PSUs do) because they don't have active pfc to begin with.

quality parts

At most maybe the more expensive PSU because it has better quality capacitors will last longer before the PSU will eventually refuse to turn on due to the caps degrading, but at no point it will explode.

But the transistors, resistors, diodes, etc are all the same quality, there isn't a quality difference in those.

They are also "better" in the sense that they usually have less ripple and better regulation than their cheaper counterparts, but that does not make them safer, in fact it is the opposite:

High end PSUs have DC-DC regulation, that is the 5V is taken from the 12V instead of it being its own output from the transformer winding, you have to hope that they implemented the supersivor IC right in these PSUs, because in DC-DC PSUs there is the posibility of a 5V failure resulting in 12V in the 5V rail if the 5V regulator fails. With cheap group regulated PSUs this isn't possible because all regulation is done from the primary transistors and if anything fails the output voltages will just drop to 0V.

I use mod+enter or mod+~ (the key is called grave) to open rofi

mod+q closes the program while mod+shift+q opens rofi-power-menu which is what I use to reset, shutdown, logout, etc

mod+d is part of my navigation keys, that way I can move focus or programs around with just the left hand:

mod+esdf to move focus

mod+shift+esdf to move the window

mod+control+esdf to resize the window

tell me about it! literally the ONE thing keeping me from FF at the moment. vertical tabs are too vital to my workflow at this point to sacrifice.

I don't know exactly how to do it, I know you can because when I was in the firefoxcss subreddit there were many posts on how people came up with their own solutions for vertical tabs.

I wanted vertical tabs to save on screenspace, for some reason the default firefox has the biggest top bar of all browsers and it is horrible, this is the userChrome.css that I use, it does what I wanted but it is not vertical tabs:

https://imgur.com/h39dsHL.png

https://pastebin.com/r54QRbKx

It is also keyboard centric, I also had to install an extension because firefox (and this only happens on linux) uses alt+number to switch between tabs instead of control+number.

The issue with many of those distros is that it usually means that you have to install everything from 0.

Arch is good at this because the archinstall script speeds it up and you don't have to choose a DE. But with other distros that use a graphical installer, you are forced to use whatever they ship as the default desktop environment.

edit: And holy shit properly configuring Btrfs subvolumes from 0 is something that I tried with voidlinux and I ended up breaking the entire install.

This is because the protestors are not allowed to damage property to protect lives.

What live are people protecting by burning a car lot? Or by punching an old man in the face that had a fire extinguisher (yes that happened the day before the shooting).

https://www.reddit.com/r/PublicFreakout/comments/igd88n/old_man_beaten_while_defending_a_business_from/

18 more...

https://github.com/swaywm/sway/issues/8002

https://github.com/swaywm/sway/issues/8001

https://github.com/swaywm/sway/issues/8000

Also this issue which affects xfce apps in wayland:

https://gitlab.xfce.org/xfce/thunar/-/issues/1304

I also need to find a way to do "window devour" in sway.

I also tried Hyprland and it was a total nope for me, I wasted my time reading the wiki pinning workspaces to certain monitors only for hyprland to tell me that shit was deprecated. I also found that I can't move a floating window between displays in hyprland, as the move left/right commands move the floating window to the left or right of the display and don't actually move it left or right, that means the window gets stuck in the left or right side of the display when trying to move it into the next.

edit: And my polybar is a long config for multiple displays as well that has several features I worked on and I really don't wanna bother migrating to another bar:

https://imgur.com/2GXp2L6.png

I have indicators of cpu usage (which when click change the cpu scheduler), mem, gpu, etc, It also prints the names of the windows in the scratchpad which is the Xfce4-terminal Mate-calc in this case, the current workspace, the window class name and instance of the window with focus, the currently playing music track with playerctl, the volume in decibels, the current network speed, etc.

By recently you mean this year? The paradox launcher was broken on the steamdeck a year ago, should be working now.

Also iirc that game has a native linux version.

2 more...

This is common on the cheap X79 and X99 motherboard combos being sold in aliexpress, they even add nvme support.

Is NixOS xdg base dir compliant? that is one of the reasons I don't use flatpak.

A flake from cornflakes

Flatpak usually ships very outdated drivers.

I've been in the support channel for yuzu linux, and you would not believe all the issues people have with games freezing, etc that are instantly fixed by using the appimage instead of the flatpak.

Also flatpaks are non-xdg compliant, since it creates the useless ~/.var directory. And they have said over and over that they won't fix that. So fuck them.

Not to mention all the issues people have with their theming and integration into the system.

Appimages are just simpler and better, the other day I was thinking how many issues would be fixed if Steam shipped as an appimage.

  • It would allow for shipping a patch glibc with EAC
  • It would allow for moving all the nonsense that steam puts in the home user dir, since appimages support a portable home.
  • It would allow for shipping the 32bit libraries instead of having to install them system wide.

And depending on how you go about, appimages will even take less disk space than flatpaks or native packages even though you don't get shared libraries with those, because they are compressed which reduces their size significantly.

Like for example the LibreWolf appimage is 110MiB while a the native package for librewolf 300MiB. Same with LibreOffice, the appimage is 300MiB while the native package is 600 MiB.

It also makes it easier to downgrade if you run into an issue, like I had to had an older appimage of ferdium because the latest version is affected by an electron bug that broke its zoom functionality.

2 more...