[-] [email protected] 1 points 5 months ago

Thank you OP for that, but... why should we prefer this over uBlue's work on streamlining this process?

[-] [email protected] 1 points 9 months ago

I’ve had a bit of a look into Tumbleweed and it sounds like it’s similar to Fedora in how it handles packaging of proprietary software which I found pretty annoying, but I could be wrong.

It's true that Arch is leaner towards proprietary software if that's what you mean. An example of this is how the Nvidia drivers are just found within repos for Arch (thus enabled by default), while on both Fedora and openSUSE it's not found in the official repos. Both have made it easier over the years to somehow include options and whatnot within the installer to ease Nvidia users in, but the experience on Arch is definitely smoother.

Furthermore, Fedora is indeed (kinda) hardcore on FOSS, similarly to Debian. While Arch simply doesn't care in most cases. My relatively short endeavor to find out where openSUSE fits in seems to point towards openSUSE leaning closer to Debian and Fedora.

What's perhaps important to note is that in all cases there are third party repos that can easily be enabled to acquire proprietary software.

[-] [email protected] 1 points 9 months ago

That was perfect! Thanks for sharing.

Thanks for your kind words. Much appreciated! 🙂

It does sound alot like they are taking time tested designs that have been in use in the datacenter & Infrastructure side within virtualization offerings for years

To be honest, I'm absolutely clueless on any of that 😂. So, unfortunately I don't feel confident to talk about that. Would you be so kind to enlighten me?

[-] [email protected] 3 points 9 months ago

Thanks for answering! Much appreciated!

I might be a distro hopper. Every distro just niggles me after a while

Perhaps you've yet to find the one 😜. Your criticism to the different distros is fair though.

I thought Arch because it is almost always up to date and seems to be widely recommended.

Yup, it's by far the most popular rolling release distro. Though, I'd argue that openSUSE Tumleweed -while not as popular- is definitely worth checking out as well. They're, however, quite different from one another. Arch offers a blank canvas, while openSUSE Tumbleweed is relatively opinionated; though it does offer excellent defaults. You would have to make up your own mind whichever 'style' of maintaining a distro suits you best.

I had a go at installing Arch today in a VM using archinstall and set up BTRFS with Timeshift and grub-btrfs and it all seemed fairly straightforward.

Well, that sure does sound promising!

[-] [email protected] 3 points 9 months ago* (last edited 9 months ago)

OP was relatively verbose so I act accordingly. Don't feel compelled to read larger pieces if you're sensitive to wasting your time. I don't recall forcing you to read it, so it's entirely on you. While information density might have suffered, "little info" is too harsh. Though, as long as there's even one sentence of 'original' information (compared to all the other comments) a piece of writing of that length is worth reading IMO. Though, thinking otherwise is definitely justifiable.

[-] [email protected] 14 points 9 months ago* (last edited 9 months ago)

Last year I upgraded to an Inspiron 15 7510 with i7-11800H and RTX3050. Since purchasing this laptop I’ve used Manjaro, Debian 11, Pop OS, Void Linux, Fedora Silverblue (37 & 38) and now Debian 12.

A distro-hopper. *Noted*.

I need to reinstall soon since I’ve stuffed up my NVIDIA drivers trying to install CUDA and didn’t realise that they changed the default swap size to 1GB.

Prefers starting from scratch instead of fixing. *Noted*.

I use this laptop for everything - development in C/C++, dart/flutter, nodejs and sometimes PHP. I occasionally play games on it through Proton and sometimes need to re-encode videos using Handbrake. I need some amount of reliability since I also use this for University.

General-use and reliable. *Noted*.

I’ve previously been against trying Arch due to instability issues such as the recent GRUB thing.

Understandable, but not entirely justified.

But I have been reading about BTRFS and snapshots which make me think I can have an up to date system and reliability (by rebooting into a snapshot).

Fair.

What’s everyone’s perspective on this, is there anything major I should keep an eye on?

It is almost common knowledge at this point that this approach has serious merits. That's why we find it on a myriad of rolling release distros. From Manjaro to Garuda, from SpiralLinux to Siduction. Heck, even Nobara -which is not strictly a rolling release distro- has it. I wouldn't even use/recommend a rolling release distro if not for (GRUB-)Btrfs+Timeshift/Snapper. But, while by itself it is already very powerful. It still benefits a lot from testing. Which, when utilized by openSUSE in particular, manages to elevate their Tumbleweed to a very high standard. So much so, that it has rightfully earned to be named the stable rolling release distro. But not all distros are as rigorous in their testing... if at all...

Should also note I use GNOME, vscode, Firefox and will need MATLAB to be installed, if there is anything to do with those that is problematic on Arch?

Nah, that's absolutely fine. *Noted*.

Should I give Arch a shot?

So there are some glaring issues here:

  • You've set some parameters and asked us if Arch satisfies. Which it does, but so do a lot of other distros. Which seems to tell me that this will become yet another chapter of your distro-hopper-phase. Which -to be clear- happens to be totally fine. I'd even argue that it's preferable to do it sooner rather than later. Though the mindset of a distro-hopper might deter you from being satiated...
  • As previously alluded, Arch is yet another distro that satisfies your needs. You didn't mention what attracted you towards it, nor why you'd prefer it specifically over all the other available options.
  • Btrfs snapshots, while powerful, are not 100% fail-safe. Sure, nothing actually is as a random SSD crash might loom around the corner. And I'd be one of the first to tell you that using Btrfs snapshots to rollback to is an exponentially better experience than without. But we're still able to improve upon it (mathematically speaking) infinitely times, to be more precise; some systems allow us to decrease the complexity from uncountably infinite amount of states (which therefore become "unknown states") to countably infinite or (better yet) finite amount of states (which therefore actually become "known states"). The reduction of complexity that this offers and its implications to system reliability are far more impactful than the simple use of Btrfs snapshots.

Consider answering the following questions:

  • Are you a distro-hopper? Or did you have very legit reasons to switch distros? If so, would you mind telling us why you changed distros?
    • Would it be fair to assume that it boils down to "I messed up, but instead of repairing I will opt for reinstalling."
      • If so, is this something you want to work on (eventually) or doesn't it bother you at all?
  • Why Arch?
  • Would you like to setup Btrfs yourself? Or would you prefer your distro to do it for you? Or don't you actually mind regardless?
[-] [email protected] 3 points 9 months ago* (last edited 9 months ago)

That's perhaps a bit too open of a question to ask 😅. But I'll give it a try:

I'll assume the following:

  • You asked specifically for the 'immutable' distros that are intended to be used on desktop. Which, moving forward will be referred to as 'immutable' desktops.
  • You asked me to look at them in a 'vacuum', thus not comparing it to other 'immutable' desktops. Or at least, it shouldn't be the primary focus.

So without further ado:

  • Out of the earlier named 'versions', Aeon (GNOME version) is clearly the most polished and the only one I would actually recommend using. Regarding Kalpa (KDE version); just a few months ago its (then) most active maintainer had stated the following:

'I am stating, right now, for those of you that are clamoring for it to be so, or asking when it will be “release ready” that microOS Desktop Plasma, is not, and will not be “release ready” anytime soon.'

This, indeed, is quite worrisome 😅. Unfortunately, Greybeard (Sway version) is arguably even less production ready... So for starters, if you want to use any of openSUSE's 'immutable' desktops, then you should definitely use openSUSE Aeon.

  • Regarding the inner-workings of openSUSE's immutable desktops: -though this is merely an oversimplification- one could understand it as openSUSE Tumbleweed's model with some 'extras'. With those extras being:
    • The base system components of the currently running system is snapshot and copied
    • Changes (be it installing/removing packages (natively) or upgrading base system components etc) are applied on the newly copied snapshot atomically; which means it either happens or doesn't. There's no in-between state, even with power outages and whatnot. Thus guaranteeing that a lot of the complexity with updating that would be found on traditional systems is removed. Btw, atomic updates is almost like a basic requirement with how prevalent it is on any distro that's considered 'immutable'.
    • After the changes have been applied successfully, the copy is made read-only.
    • Changes are then supposed to require a (soft-)reboot for them to take effect.

As this model is relatively 'simple' compared to other immutable distros and doesn't seem a radical departure from traditional systems, one might expect a lot of things to 'just continue working'. However, I'm not confident if that's actually the case. Though, I'd love others to chime in and tell us their experiences. This more simple model does come at a 'cost' though; as it stands, this model is not declarative, nor is it reproducible. Which are qualities found on some other 'immutable' distros.

  • The implementation of its release cycle, however, is a major win for openSUSE's immutable desktops and probably the best reason for choosing it over the others. For years openSUSE has pioneered what a stable rolling release is supposed to look like with their Tumbleweed. And its immutable desktops continue to benefit of this. So while blendOS, Fedora (on Rawhide) and NixOS (on unstable) technically are other 'immutable' distros with rolling release cycles, one simply can't deny that they're inferior (in the rolling release aspect) compared to openSUSE's immutable desktops.
  • On a final note, I've often heard that openSUSE's 'immutable' desktops have more 'sane' defaults compared to some of the others. Things like offering Firefox as a flatpak instead, shipping Distrobox by default or installing flatpaks not system-wide but per user etc. These might seem like little nitpicks, and arguably others might simply not agree with these choices. However, I agree that generally-speaking most users should prefer these defaults.

Please let me know in case you were expecting a different type of answer!

[-] [email protected] 4 points 9 months ago* (last edited 9 months ago)

I've already written another comment here. But I just noticed that you have edited OP's text to include that you were new to Linux. Which changes the rules of the game so much so that a simple edit of my other post wouldn't do it justice for the sake of visibility. Btw, perhaps you should have told us that earlier 😅.

So previously I had named Arch, Fedora and openSUSE Tumbleweed. These distros are still definitely worth the trouble. However, instead of Arch directly, you might wanna opt to an Arch-based distro. They often come with an installation that's done through a GUI, which you might perhaps conceive as being more intuitive. Though, there are some that argue anything Arch-related is not suited for new users. Personally, I don't buy into that. But there's definitely some truth to it in the sense that other distros might be better suited for some new users. We don't know what 'type of new user' you are, therefore we won't be able to answer that for you. However, my gut feeling tells me that you've got some potential to start out with (an) Arch(-based distro) right out of the gate. Though, I'm not very confident (yet)😅.

With that out of the way, I think the following is important to note as well:

  • If you want to avoid X11, then you have to use Wayland. Which, in turn, implies that you've got to use either GNOME or KDE as your desktop environment. Unless, of course, you want to try out a tiling window manager (like Sway or Hyprland etc) right out of the gate as well. Which, again, doesn't make it easier for you to start using Linux 😅. It's definitely worth it eventually, but perhaps it's better to not make it too hard on ourselves from the get-go. Coming back to GNOME and KDE, fortunately they're very well-supported on the previously mentioned three distros. So you should be fine regardless. As to which of the two suits you best...? Well, that's very personal. An oversimplified overview would be that GNOME is polished and 'limited in regards to customization out-of-the-box' while KDE allows you to customize to your heart's content at the cost of polish. GNOME does have support for extensions that allows it to be easily customized beyond what KDE allows one. However, this comes -once again- at the cost of polish 😅. It's best to make your own mind with this. Use both of them, and come to judge them yourself.

  • So I can't but notice that you're sensitive to your digital security (which is good thing 👍), but that you'd like your distro of choice to do the heavy lifting; which is totally fair. In that case, I would argue that Fedora and openSUSE Tumbleweed are better suited than Arch(-based distros), because they're distros that take security very seriously. Heck, they're the only popular 'upstream'/'independent' distros that have managed to configure SELinux for use on their distros. On Fedora this is done by default regardless, while on openSUSE Tumbleweed it can be installed at a later point. (IIRC openSUSE Aeon/Kalpa (old MicroOS Desktop) shipped with SELinux by default, but the linked article suggests otherwise 🤔.) In contrast, while you can make it work on Arch, it's not officially supported. AppArmor is still great though*.

  • If security is indeed important to you, have you perhaps considered using so-called 'immutable' distros? Btw, the name 'immutable' is not entirely correct as in most cases only some parts (mainly related to base system components) are read-only during runtime; changes to said base system components (through either installing/remove a package or upgrading) happens atomically and often times requires a (soft-)reboot to actually take effect. Some 'immutable' distros even manage to be reproducible and yet some actually manage to be declarative as well. The security-benefits for this can't be overstated. If you're interested in 'immutable' distros, then it's worth mentioning that both Fedora and openSUSE offer them through Silverblue/Kinoite/Sericea and Aeon/Kalpa(/Greybeard) respectively. The exact implementation of 'immutability' across Fedora's and openSUSE's offerings are different. However, I won't go over that for the sake of brevity 😅.

Please feel free to inquire if you so desire!

[-] [email protected] 2 points 9 months ago

I saw that there were some controversies but honestly if I avoided everything in my life over every little bit of bad press or disagreement I would have nothing left to eat and nowhere to live.

The choices we make and the actions we take mostly come with compromises anyway; just because it's on topic: Manjaro probably continued to function as you were used to and thus you didn't see any reason to change that which "just works". Which, I somewhat alluded to in my earlier comment with:

the continued use of Manjaro is at least justifiable.

Moving on.

I am not sure why any distro that attracts new users is an issue considering we want Linux as a desktop to keep growing as it improves the lives of all having both more users, contributors, and devs building software.

That's not what I said, nor what I implied. What you just said assumes/implies that people start using Linux because they want to try Manjaro, which is just simply not the case. You might have mistaken Manjaro for Valve's Steam Deck. Perhaps this chart does a better job at conveying my thoughts. As you can see, the search "install Manjaro" has for a considerable period in the last 5 years been more than half times as often searched as "install Arch". By comparison, it just dwarfs the hits for "install EndeavourOS" and "install Garuda". That's the problem. To put it onto perspective, I'll follow it up with charts for Ubuntu with its popular derivatives and Debian with its popular derivatives. I tried doing the same for Fedora and openSUSE, but their respective graphs just showed me why their derivates aren't talked about that often 😅. Even Nobara is absolutely dwarfed compared to Fedora.

[-] [email protected] 3 points 9 months ago* (last edited 9 months ago)

I'm of the opinion that systems and packages should be current and I find little to no merit in using a derived distro for myself. For this, the aforementioned three distros and NixOS are just plain superior over all the others IMO. NixOS was absent from my original comment due to how radically different it is compared to any other distro. But it's definitely worth checking out if one is not scared of learning a thing or two.

[-] [email protected] 5 points 9 months ago

Why does Linux do that’s “better” than Windows? That’s not meant to inflame anyone. More so what do you personally like better.

Linux offers me freedom and control over my systems far beyond Windows (or any proprietary OS for that matter) does. This allows me to:

  • Setup a system of which its parts have been deliberately chosen by yours truly to satisfy my particular needs and my needs only. And I can make it obey whatever I will. It won't do a thing I didn't require of it, nor will it overrule any of my configs at a later point in time.

  • Not have any spyware injected by the OS. Thus offering actually good privacy by default (for a change).

  • More 'modern' ways of maintaining a system are only properly supported on Linux. Fully declarative systems like NixOS/Guix have yet to show up for other OSes. Furthermore, while the likes of Android, iOS and macOS do have 'immutability' (at least) sprinkled to them. Windows has yet to show the capabilities of their CorePC. One might even argue that it's uncertain if it will come out in the near future as CoreOS (10X) didn't see the light of day either. Linux, on the other hand, offers a plethora of 'immutable' distros that should suit ones needs regardless.

What can I expect to find as a casual observer?

Perhaps not much of it honestly 😅. Sure, you should find a gratis system that just works and doesn't hoard your data. Updates go smoother, it'll have improved performance on older devices. And if you actually know what you're doing, then it'll have better performance on your newer devices as well. Installing software is just one command away by default. But some of the more advanced benefits might rely on a more profound understanding, which you may or may not be interested to indulge yourself with.

[-] [email protected] 1 points 9 months ago* (last edited 9 months ago)

Thanks for answering!

Just to be clear; the 'metrics' on how popular Manjaro is compared to Arch and other Arch-based distros reveal to us that Manjaro has been going strong for quite some time. While the numbers of its adoption during its heyday were IMO completely justifiable. I think that -currently- it continues to stay more relevant than it otherwise would have any right of based on its merits. Which has been something that has caught my attention and made me curious to find out why that was the case.

Thus, if you had been a relatively newer user, then I would have loved to know what made you gravitate towards Manjaro in the first place. But, as you've been using it since before the controversies and archinstall, I think your reasons to start using Manjaro were completely legit and the continued use of Manjaro is at least justifiable.

Don't get me wrong; I'm not in the "Manjaro is blatantly bad"-camp, I just think that it attracts more newer users than is desirable.

37
submitted 9 months ago* (last edited 9 months ago) by [email protected] to c/[email protected]

Incoming long post, please consider reading at least the following TL;DR before commenting.

TL;DR: Interested in finding the means to manage my dotfiles in a declarative, 'immutable'/read-only way and with automatic sync across two devices (and a fleet of container environments). The method shouldn't require the management of my packages.


First of all, I'm still relatively new to managing dotfiles. So far, git has been doing fine, but time has come to upgrade.

Goals: As I've moved from a non-declarative way of administrating my system to one in which some elements are declarative, it just feels appropriate to apply a touch of 'declarative-ness' to managing dotfiles as well.

Furthermore, as I've been using image-based ('immutable') distros for some time already, I want to explore the possibilities of managing dotfiles within that 'immutable' paradigm.

Specifics of my usage: The primary desire is to have it working on two systems simultaneously. If possible, changes to one should 'automatically' apply to the other and vice versa. Furthermore, the exact content of the managed dotfiles is not the same on both, so differentiation is a requirement. My container workloads can be handled by the likes of chezmoi and or yadm. Nonetheless, being able to manage their dotfiles as well is definitely a plus.

Options that I've explored and associated (potential) challenges:

  • Nix' Home Manager. From what I've gathered, this offers by default most of what I desire. However, I'm interested to know what the limitations are of managing dotfiles only as I'm not interested in installing any Nix packages. So it would have to manage the dotfiles of packages/software/whatever that weren't installed with Nix. ~~Furthermore, to my knowledge, Nix doesn't play nice with container environments; while this is not a hard requirement, I hope to be wrong on this.~~ EDIT: Could not find sources to back this up.

  • Guix with guix home. Unless I'm wrong, this is Guix' Home Manager. So it's met with similar challenges like those found in the previous paragraph. Furthermore, I'm interested to know if either of the two fares better than the other for my use case.

  • While chezmoi, yadm and other known dotfiles managers technically offer a solution, their respective solutions aren't declarative or 'immutable' by default. While I'm sure someone might be able to hack one of them to better fit my needs, I'm not sure if I'm personally willing to commit to that. EDIT: Apparently chezmoi is declarative. I currently wonder which other dotfiles managers I might have mistakenly dismissed for disregarding the possibility that they might be declarative. Furthermore, chezmoi seems to allow declarative control on the read-write permissions of files, which might allow restricting files to just read-only.

  • Old, trusty git. Probably furthest removed from what I desire by default, but perhaps someone knows how to make it fit regardless.

Please feel free to inform me if I've missed anything! Thanks in regards 🙂 !

EDIT: So far chezmoi has surprised me pleasantly with the possibilities it offers. But before committing, I would like to have some input from our residents that swear by Nix/Guix.


Update: It has been over 24 hours since the last time a comment was posted under this post. While I do hope to receive replies from at least two commenters eventually, I'm less optimistic on getting any replies from those that have significant experience with guix home. Though I'd love to be wrong on that.

For posterity's sake; first of all, this has been a great conversation and so I'd like to thank everyone that has contributed! Secondly, I've tried to spend a good portion of the last 24 hours to read up on the subjects that were touched upon and evaluate them accordingly. This has led to the following discoveries that might be worth sharing:

  • Ansible is a legitimately good piece of software that can be used for this purpose, even if chezmoi's author implies not to be a fan of this.
  • While Ansible applies configs 'convergent' (when done right), Nix' Home Manager is able to do so 'congruent' and does so effortlessly in the sense that -with the advent of flakes- one 'simply' does it the 'correct' way regardless (though checks and whatnot help elevate everyone to that level relatively easily). I'm not confident on how chezmoi fares compared to the other two. Refer to this article for more info on what 'convergent' and 'congruent' mean in this context. (TL;DR: "ansible will make changes to get it closer to a target state, whereas nix will reach the target state by constructing the target state again")
  • Due to the point raised in the previous bullet, (when mastered) Nix' Home Manager simply seems a far superior option compared to Ansible. Thus Ansible is dismissed in favor of Nix' Home Manager.
  • I've also come to appreciate how powerful of a tool chezmoi is. Nonetheless, I couldn't stop noticing how many people that have used chezmoi at some point in time eventually switched to Nix' Home Manager for salvation. With those that didn't stick to Nix' Home Manager being open that it was often related to not being able to get it to work *gulp*...
  • At this point it seems that Nix' Home Manager is the clear victor, but Guix' guix home hasn't been represented (yet). So that's what I intend to figure out before committing fully to either Nix' Home Manager or (perhaps) Guix' guix home.
  • As a final note, using any of the tools mentioned doesn't exclude the use of the other tools. Sometimes one tool just fares better in one particular task compared to the other. Thus, one should not be afraid to mix and match these to best fit their needs. As such; a setup in which Ansible, chezmoi and Nix' Home Manager are used together to manage the dotfiles is perfectly fine.

Final update: (for the foreseeable future)

  • The question how Nix' Home Manager fares against Guix' guix home didn't matter in the end 😅, but this is related to how my system works. In case it wasn't clear yet, I daily drive Fedora Silverblue. And as it stands, I'm unaware of any method that enables one to install Guix on Fedora Silverblue without putting SELinux from enforcing to permissive. I don't want to forego SELinux' enforcing mode for Guix, especially when Nix can be installed without being forced to do that. As such, I'll start my (perhaps long overdue) journey into the wonderful world of Nix. I would like to once again thank everyone that has contributed! And also thank you for reading this :P !
13
submitted 10 months ago* (last edited 10 months ago) by [email protected] to c/[email protected]
view more: next ›

throwawayish

joined 11 months ago