Unless its sarcasm, GNOME is well deserving as the most polished and optimally performant DE. GNOME is so good, Windows 11 copied its workflow, layouts and even the taskbar right-click menu with 23H2.
In addition to all the sound advice you’ve been give so far, you should have a support contract in case you run into problems and ideally, contract someone to set up your laptop so you have proper encryption, backup etc. You have to consider both meeting the business deadlines, and ensuring the confidentiality and availability of the data. If you want to do this yourself, contract someone to validate your configuration.
Source code is available at GitHub but it require you to have your phone by yourside e.g. connected via usb or in the same network so you can connect via IP
So despite the desire for one, Vega won’t be an Android-killer, won’t bring an influx of big name apps to benefit regular Linux distros, nor see Amazon do something crazy cool like create its own Linux tablet UI.
You know how much overhead Electron apps are? Well, here’s React Native! Enjoy all the annoyances of mobile development with the ugliest that is React!
It actually works pretty great, it genuinely does compile to native code pretty well. The js code just drives - everything visual or I/O is native, so it’s faster than you’d think
Idk if I’m the only person who thinks this, but I feel like React has gotten worse over the last couple of major versions. Not only does the code look a lot messier when you use their new syntax, but the end result seems unreliable. Facebook is barely even usable now. Their history management is laughable, and it’ll drop you out of the site randomly when using the back buttons. I used to think React was really neat, but I’m not a big fan anymore. There’s too much re-engineering for problems that were solved decades ago.
If you like it, then use it. There’s no point in jumping every time some new framework comes out. Most of them don’t last. I have used React off and on since it came out, and I personally don’t like how the syntax has changed. My personal website is React and doesn’t have any browser history issues. Idk what’s up with Facebook history management. I guess they just don’t care very much because they’re too busy trying to gobble up data.
React is having the same problems Angular had, and jQuery had. New ECMAscript features make formerly complex things easier, and JS frameworks adapt.
Lots of solutions. But as more edge cases start to show up, they continue to add more and more little things that shape the language into more different variants.
Many of the changes are pretty good. But New devs will go, “Why are there 7 ways to do this React thing?” And that adds to the noise.
Again, that’s not a React problem. It’s just coding in general. PHP also had a “damn you ugly” phase. But unlike PHP, I don’t think React (and most JS frameworks of today) will continue to be as popular as some hot new JS framework in 2027-2030 sweeps the landscape.
And PHP will still be chugging along. lol. It’s weird that React syntax went from being fairly pretty, and structured, to looking like a plate of spaghetti. Usually languages and frameworks go the other direction.
I love how PHP 7 looks, and PHP 8 only continues to improve.
Totally agree. React is going backwards. Vue is so attractive. Heck, I’m even starting to rebuild react apps in Web components because react is getting weird.
It’s about being in the free software ecosystem, which is really a licensing issue.
Forcing people to contribute their modifications to software when they are editing free software ensures we’re never dependent on the decisions of one entity. This is what the GNU General Public License (GPL) is all about.
If we don’t like what someone did, we can take that part out and redistribute a better version that we can continue to modify. This might not matter to someone who doesn’t program, but it should.
You don’t have to be the one to get your hands dirty with code. Just being a user in the ecosystem opens you up to these benefits. Other people are going to take advantage of them, and you can just piggyback on their work.
I, personally, think it’s always just a matter of time before businesses make products worse by charging more/giving less. Look at Adobe. Look at Microsoft. Look at Apple. All of them want to lock people into endless subscriptions because they’re dependent on their ecosystem. What happens when Adobe decides they’re not charging enough for photoshop? They charge more, and everyone just has to deal with it. Same goes for Office. Same goes for Apple, they just do it the old-fashioned way by charging for the latest versions and making you buy new hardware.
As others have stated, as long as you are using a distribution with reasonably modern (and maybe frequent) updates of the kernel and mesa stack, it doesn’t matter much. The updates of these two packages are what will provide updated hardware support and performance improvements.
Steer clear of Nvidia. It can work on linux, but is a pain due to Nvidia not providing proper open-source driver support. I also highly recommend ensuring you have an intel chip if you need wifi, as realtek and broadcom can be a bit variable in terms of support and stability for wifi.
Wayland is also preferable in my view, due to its significant benefits over X11 - it is more secure, makes your computer much smoother, and supports modern niceties like better multi-monitor support, gestures, lack of tearing, HDR (in the future), etc.
This segues into my next point. It makes more difference what DE you use when gaming - GNOME currently doesn’t support VRR on Wayland (appears to be coming in next release at least experimentally), while KDE does. So that is something to think about. I would stick to either of these two DEs as these are the only two that are both user friendly for beginners, and have excellent wayland support. Cinnamon, MATE and XFCE all do not yet support Wayland.
I would steer clear of distributions that are not established, and/or only have very small or single person teams (as this has potential security, stability and support implications) and would recommend Fedora. Fedora has a bleeding edge mesa and kernel (that roll between releases), but stability elsewhere with a solid community behind it and a dedicated security team, built on cutting edge technologies throughout. If you need VRR I would use the Fedora KDE spin. OpenSUSE tumbleweed is also a great choice.
Many users will recommend Arch Linux systems, as this is the hotness, particularly as this is what SteamOS is based on. I wouldn’t recommend this even as a very happy Gentoo user, however, as relatively “pure” Arch Linux distributions (and Gentoo), will require you to follow notices on the website, and will require your knowledge and intervention at some point based on this notice; without your intervention, it will likely break your system. So as a beginner I would avoid Arch Linux and Endeavour OS.
Manjaro has had many too issues with the security and stability of their distribution to allow me to comfortably recommend it, and the Nobara and Garuda Linux teams are both too small for me to be comfortable recommending them. Zorin OS, Pop_OS and Linux Mint are all excellent workstation distributions, but their outdated kernels and software (they are based on a long-term support base) mean you may be either giving up some performance or hardware compatibility.
Now that’s quite an interesting NixOS setup, I’m especially intrigued by the tmpfs root portion. The link you provided was a great read, and I’ll keep this and honestly most of what you’ve described in mind for when I mess with NixOS again.
There are also these two blog posts by elis on setting up tmpfs specifically. Though these posts rather are setup guides, than “talking about the philosophy” of systems design.
This is a very interesting setup would you mind providing more explanation / documentation? Also would you mind sharing your nixOS config? I would love to try it.
My system configuration can be found on git.sr.ht/~sntx/flake. I’ve linked the file tree pinned to the version 0.1.1 of my config, since I’m currrently restructuring the entire config[^1] as the current tree is non-optimal[^2].
The documentation in the README in combination with the files should cover most of what I’ve described, with the following exception: disko is not present to the repo yet, since I’ve set it up with a forked version of my config and the merge depends on finishing the restructuring of my system configuration.
You can take a look at these (non-declarative) installation steps to get an idea on how TMPFS as root can be setup
If you’re interested, I can also DM you the disko expression for it
[^1]: The goal is to provide definitions for desktops, user-packages, system-packages, themes and users. Each system can then enable a set of users, which in turn have their own desktop, user-packages and theme. A system can also enable system-packages for itself, independent of users. If a user is enabled that has a desktop set, the system will need to have display-manager set as well, which should launch the users configured desktop.
[^2]: The current config assumes a primary user, and can only configure a single DE and apply the application/service configs only to that user.
This looks like a whole project. What is the overall goal of this build?
I am very new to nixOS and am interested in it. Specifically for ansible scripts to build out easily replicateable docker hosts for lab. I have also considered it for switching my primary desktop and laptops as being able to have the same OS with everything the way I like it is also intriguing.
Sorry for theate response. P.S. I love your wallpaper.
There’s no overall goal to the project. It’s just the result of me tinkering with my systems from time to time (I’m allocating a bit less than three hours each day to coding on personal projects to improve my skills, some of that time flows into my nixos config).
I am very new to nixOS and am interested in it. Specifically for ansible scripts to build out easily replicateable docker hosts for lab.
I’ve extensively used docker/compose before I switched my systems to NixOS, since then I’ve barely touched it.
The thing with Ansible and Docker is that you mostly define the steps you want your systems to automatically go through to reach a specific state.
Nix[^1] approaches the problem the other way around. You define the state you want to have, and Nix solves for the steps that need to be taken to reach that state.
If you want to try your hands at that concept, I recommend installing just Nix on one of your test machines and trying out development shells/devshellswith it.
For example the SwayFXrepo contains a flake.nix providing a devShell. This allows everyone working on the project to just run nix develop in the cloned repo, or nix develop github:WillPower3309/swayfx without cloning the repo to enter the development environment.
This can be combined with tools like direnvto automatically setup development environments, based on the current directory.
If you want a more encompassing example of what Nix can provide, take a look at:
This presentation by Matthew Croughan on Nix-Flakes and Dockerfiles.
[^1]: The “package manager” that NixOS is build around. Though I think of it more as a “build system” - not to be confused with Nix, the language the build “scripts” are written in.
I have also considered it for switching my primary desktop and laptops as being able to have the same OS with everything the way I like it is also intriguing.
While I personally think NixOS is one of the most potent software in existence, and a computer without feels less capable for me, I do not recommend it easily.
Just take a look at hlissner’s FAQon his system config (which I greatly agree with).
That said, I initially tried NixOS on my PC and pushed the config to a git-forge. I then installed the base NixOS ISO on my laptop and told it to build the config from git. And that worked flawlessly.
In leaving the PC unattended for about 20mins, it went from a full Gnome desktop to my Sway setup.
That’s the point when I was sold.
Sorry for theate response. P.S. I love your wallpaper.
Don’t worry about the late reponse ^^
The wallpaper can be build with nix build sourcehut:~sntx/nix-bg#abstract-liquid btw.
Humm good points in the articles. I think my goal of building docker hosts makes more sense. It is interesting how the took the declarative concepts of something like terraform and kubernetes and built it into an OS. It’s kind of like fedora silverblue but the two took different approaches. Perhaps fedora makes more sense on a desktop. I have a dev and DevOps background and like the idea of being able to more deeply learn Linux without having to rebuild my system from scratch when I bust it.
Can you explain home manager? What about things to consider when installing NIX package manager on another distro?
Perhaps figuring out how to get the wallpaper out of a nix distrobox would be a good learning experience.
BlendOS. You can easily switch between DEs without any conflicts or dependency hell, as they’re all containerised (and would therefore perform better than running them inside a full-fledged VM).
I just spent an hour trying to get this installed in a Proxmox VM. No dice. After install, it just boots to the GRUB rescue prompt. Oh well, seems like a cool idea.
AppStream makes machine-readable software metadata easily accessible. It is a foundational block for modern Linux software centers, offering a seamless way to retrieve information about available software, no matter the repository it is contained in. It can provide data about available applications as well as available firmware, drivers, fonts and other components. This project it part of freedesktop.org.
So many options. As others have mentioned, rsync, borg, restic, etc. You might want to look into filesystem snapshots. If you use something like BTRFS you can create instant snapshots and send them to a second BTRFS formatted disk or even a remote system with a BTRFS filesystem.
ZFS would also work here.
I use btrbk for automatic BTRFS snapshots and backing them up to remote systems.
If you want built-in encryption you can use Borg or Restic, which also has the advantage of deduplicating within a single backup set. Restic can also backup to an s3 bucket, in case you want to use a cloud service.
Yes of course. On the btrbk homepage they even describe how to set it up so that a backup gets triggered automatically when you plug in a designated backup drive.
My setup is to create local snapshots and keep X amount of local snapshots. Copy snapshots to a remote server and keep a different amount of snapshots there. Finally I also have a backup drive and btrbk is setup to copy all my local snapshots to that backup drive when it’s plugged in.
linux
Active
This magazine is from a federated server and may be incomplete. Browse more on the original instance.