“just browse the internet” doesn’t indicate that you don’t need a powerful computer in 2023. Modern browsers are really heavy - and rendering websites are much more complex now.
Unless you’re really frugal about your PC budget, I think it’s definitely “to-go” for 32G
Going to sound like a boring pleb but… if your OS takes less than 1h to install and setup (which is my experience with Debian/Ubuntu on a SSD with a fiber connection, or even on a RPi with a modern microSD on an ADSL connection over WiFi) then it doesn’t matter much what you use. You grab a mug of coffee, click here or there from time to time and if your /home partition is saved you are good to go faster than most people even respond to an email.
I should add if you want to tinker “shallowly” containers are amazing. If you need to tinker deep, using a VM proper or even another physical machine (with a KVM or another keyboard and monitor) while your main machine remains untouched, it should NOT affect your uptime.
I think the funniest part of this is I was recently preparing some laptops for work with Windows 10 and it literally took 6 hours thanks to slow updates, one laptop corrupting the keyboard and touchpad driver so completely it required a full reinstall (on a fresh install mind you) and other impressively terrible snags. Granted it would’ve been more like 1-2 hours if I started with an install image that wasn’t about 2 years old, but it was still impressive how much of a time sink it was
Ah I was getting it confused. At one point Steam stored everything in ~/.local/share/steam and symlinked ~/.steam to it. Doesn’t appear to be the case on Ubuntu 22.04, though I used to use Debian and grab the .deb from Valve’s website. My bad! :)
No, .cache is similar to a temporary directory (or at least in theory) where important data isn’t supposed to be stored there, instead only temporary files that might speed things up (e.g. images in a browser or thumbnails in a file manager). In this case it looks like all of my AUR packages had their source files cached, which added up over the ~1.75 years that I’ve been running this distro
I know I’m part of the minority in liking the Gnome 3+ designs, but with so many people lamenting the death of GTK+2, why don’t they fork the toolkit? It’s not as if you’ll break any compatibility by backporting fixes and extending the classic UI components.
Perhaps you’ll need to rename your project (except for the system libraries) to avoid trademark issues, but if all the developers came together, I’m sure you could write a drop-in replacement for the old GTK+2 libraries. Such a project may have some difficult tasks ahead of it (bringing Wayland support and fractional scaling, for example) but they can copy Gnome’s homework, they don’t need to invent everything from scratch.
I don’t think you need 32GB of RAM. 16GB should be enough, and 8 will still do for light tasks (though modern apps and websites are starting to push that, which is terrible). Your OS uses any RAM you don’t use to cache files, which speeds up your system, reduces power consumption, and could save you some SSD wear by caching the writes.
If you haven’t already, you can mount a tmpfs over your browsers’ cache directories (a bunch of them in ~/.cache or ~/. config). It used to really speed up browsing back in the HDD days. I doubt it’s still necessary, but hey you’ve got plenty of RAM, right?
If you really don’t do anything but browsing, you could boot your entire OS into RAM and have a 0 SSD latency browsing experience.
You could also use the RAM to run a bunch of VMs or containers. I used to run a separate Pihole VM, for example; virtual machines are nice and isolated, so you don’t risk ruining your /etc directory with a billion different configured services. The big downside of running such stuff on your machine is that you quickly end up with a whole bunch of duplicates (I have like four versions of postgres running on a server somewhere because I’m lazy) but if you have RAM to spare, that doesn’t matter.
One container that may be worth looking at is Waydroid (or Anbox if you’re on X11) to run Android apps on your desktop. I find that a bunch of different services have web interfaces thst just don’t work as well as their apps, and running those can be nice. How much of a difference this makes will depend on the services you use, of course.
Lastly: don’t underestimate the advantages of plenty of RAM when programming. It’ll depend on what language you use, but many compilers will generate a million tiny files that will all be written to disk and read back. SSDs are fast, but random reads are still nowhere close to RAM speed. Your OS will hide most of this overhead, but I definitely felt the difference going from 16GB to 32GB because of file system caching alone.
I love both. I can’t decide on which to make my full daily. GNOME sleek. KDE is nostalgic and customizable. I have Fedora with GNOME and OpenSuse with KDE. OpenSuse has issues with some SD cards and some phone’s flash memory. GNOME can’t have desktop shortcuts, which I find annoying. I may just go back to Debian with KDE and GNOME and switch back and forth. I think that still possible. I haven’t tried that in a while.
Sleek is a great way to describe GNOME. It’s really pretty and slick, and I was sure happy with how it worked. Plus, with all my google accounts hooked into GNOME, Evolution just pulled all that info and gave me real easy access to my mail. I wish KMail did the same thing.
I see the merit in it, but I see the desktop as a shortcut area for most used apps. Like the dock, but I can’t stand docks. I normally have 2-3 icons on the desktop. Terminal is by keyboard shortcut.
I used to like the idea of nixos because it felt “tidy” to configure everything centrally. However that tidyness is achieved by adding an extra layer which just replicates the configuration options of every program. If there is a bug in that layer or something is just not implemented, either you have to learn the whole inernals of nixos and nixpkgs, for which there is no real documentation, or you have to resort to doing things imperatively again, which is hard because of the opacity of the generated system and also defeats the whole purpose. So basically, you are completely dependent on nixos developers for things you could have easily done yourself on arch.
I have to disagree with this, with home-manager you can pretty much put just put your normal config files inside your NixOS config and map them into wherever they’re meant to go, except now they’re managed by nix
The built in config options are really nice but you don’t have to use them in the slightest as long as the package itsself is in nixpkgs
after a day of messing with it I just wanted to thank you again. I love the 1 FPS mode, it’s more than enough for me and it isn’t wasting resources. I don’t need to refresh my battery percentage or disk space more than once per second.
I get that Windows is kinda boring, but it’s still like a thousand times more interesting and customizable than anything Apple makes. I find the whole Apple aesthetic to be painfully boring and restrictive. I get that it’s more fashionable or whatever. I just hate it.
I’ve haven’t spent much time on mac OS but doesn’t it allow you to run your own desktop environments? I’ve seen things that look like tiling window managers on mac OS.
No, custom desktop environments and window managers can’t be used. What you’re referring to are applications which simply modify window geometry automatically, which emulates a tiling window manager.
That’s a shame. I’d probably be content using Mac OS if there was a switch somewhere that put it in “developer mode” or something which would allow you to do that.
Which things do you find boring and restrictive about it? I think it’s rather nice although I don’t like some of the changes after Catalina like moving from skeuomorphic icons to more symbolic ones.
Other than aesthetics I think editing and writing is fast on macOS even when not using vim. I even changed my PCs to use mac keyboard layout because it’s better. Of course when using vim, editing should work same on any system at least in theory.
Thanks for this! I’ve been meaning to start getting into learning more about systemd and making services, this is super detailed and gives me a pretty good starting point!
Did you happen to see which subdirectory was using up this much space? I don’t think I’ve ever seen .cache go above 10GB, so this may be a bug in a piece of software you use.
Looks like yay is storing every previous binary for AUR bin packages (also excuse the unreadable terminal theme, it doesn’t play very well with a lot of TUI apps unless they support custom theming)
You should run yay -Sc from time to time. This cleans a) your pacman cache (which is normally done by executing pacman -Sc) b) your AUR build cache, which is what’s taking up 160GB. But this one seems rather unusual, I use paru (which also has the command paru -Sc), so I can’t really tell if this is normal with yay.
The command also asks you for every directory if you want to delete it or not, so it’s completely save to run that command.
Something I noticed was that it was mostly the binary packages that were taking up so much space, it may be because of how yay stores the programs (does it use git?), the ones that were compiled from source code usually took up the least amount of space, while the binary programs were the ones taking up tens of gigabytes
Indeed, yay utilizes the AUR, which essentially serves as a Git repository for each package. These repositories typically include a PKGBUILD file and a .SRCINFO file, along with possible additional files like patches, desktop, or service files.
For example, take a look at IntelliJ Ultimate: [aur.archlinux.org/cgit/aur.git/tree/?h=intellij-i…]. It contains the .SRCINFO and PKGBUILD, as well as a .desktop file. These files themselves do not occupy much space.
The PKGBUILD specifies the sources for dependencies. For instance:
The PKGBUILD is essentially a Bash script with predefined functions and variables. You can learn more about it here: [wiki.archlinux.org/title/PKGBUILD].
This script primarily downloads and extracts the tar file. In this specific case, it only relocates the files to their intended installation locations, like moving the desktop file to /usr/share/applications.
With such packages, there’s a possibility of wasting significant space since the tar file is downloaded and possibly retained in the cache.
However, other packages, especially those compiled from source, usually involve Git clones. These clones bring the Git repository into a subdirectory of the already cloned AUR package Git repo. Some might also have source tarballs. These types of packages generally do not consume much space in the cache, as they are often just text files, like C source code or Python scripts. These packages frequently rely on external libraries and packages, which are not included in this package’s cache.
While binary packages often bundle all necessary libraries and other components in their source tarballs.
The AUR cache is mostly beneficial if you’re rebuilding the same version or can reuse components from a previous version. For example, a package might depend on a large, static file that doesn’t change often.
In Paru, I’ve enabled the “CleanAfter” option to prevent my cache from overflowing. Given my relatively fast internet speed, redownloading large files isn’t a major concern for me.
You could have a cronjob run something like find /home/user/.cache -type f -atime +30 -delete, which would find files that haven’t been accessed in the last 30 days and delete them. Make sure your home partition is not mounted with the noatime option though.
linux
Active
This magazine is from a federated server and may be incomplete. Browse more on the original instance.