Shareni

@Shareni@programming.dev

This profile is from a federated server and may be incomplete. View on remote instance

Did I just solve the packaging problem? (please feel free to tell me why I'm wrong)

You know what I just realised? These "universal formats" were created to make it easier for developers to package software for Linux, and there just so happens to be this thing called the Open Build Service by OpenSUSE, which allows you to package for Debian and Ubuntu (deb), Fedora and RHEL (rpm) and SUSE and OpenSUSE (also...

Shareni ,

standards

Also, different solutions have different benefits and downsides, and are better in different scenarios.

Decision of Next Os

I was Nobara user, then I am using Fedora right now. I want to use things like Hyprland etc. and ya know, Its damn cool to say I am using arch btw. So I've decided to use Arch Linux. But everyone says its always breaking and gives problems. That's because of users, not OS.. right? I love to deal with problems but I don't want to...

Shareni ,

That's because of users, not OS.. right?

It's a factor, but constantly upgrading to the newest version of software does come with risks. I've had Arch and derivatives fail to boot on multiple devices plenty of times after an update.

Some people say that they run arch for years without having any issues, but that's either extreme luck or bs.

I love to deal with problems but I don't want to waste my time.

You can usually just use a btrfs snapshot to rollback, boot, and try to update later. But there were situations when I had to use arch-chroot, and it can be problematic to install new packages in that situation.

All setups have tradeoffs, but I'd wholeheartedly suggest a stable distro like MX and nix + home-manager. It avoids all of the previously mentioned issues, and comes with other benefits. Do note that you might need to make or copy a hyprland.desktop file because home-manager can only alter files in your ~.

Should I worry about referencing other people's code?

Thanks to the current SEO nightmare, I can no longer use search engines the same reliability as before. Stackoverflow is too toxic and often all I need is to properly look up some more obscure stuff about some API, which "could just be googled". AI, of course, is very unreliable....

Shareni ,

e.g. don’t touch AGPL code unless you also use AGPL

Just to clear this up: copyleft licenses, GPL variants for example, require the license of your code to equally preserve the freedoms provided to your users, or in other words also be a copyleft license. There are some loopholes like GPL on a server, but be very careful when using copyleft code unless you want to use a copyleft license as well.

It gets somewhat murkier when you use someone’s code and base yours on that. IANAL, and that’s very much the legal territory. If at all possible, just reuse the original copyright and license and then derive your work (given the license allows that).

That all depends on the license AFAIK, but IANAL. Most FOSS licenses allow you to do whatever you want while preserving copyright claims, and that includes rewriting or changing the license. GPL forces copyleft, so even if you rewrote it from scratch, you could still be liable if you saw the original code.

For example I've heard that corpos bootleg copyleft code by having completely separate teams doing design and implementation. The implementation team can't ever see any part of the original code, and they have limited communication with the design team. I think that would also go around the copyright claims as well.

If at all possible, just reuse the original copyright and license and then derive your work (given the license allows that).

Or just slap a GPL and subsume everything within a vortex of FREEDOM, and thusly become a true FOSS dude

http://techrights.org/wp-content/uploads/2019/12/copying-all-or-parts-of-a-program.jpg

Shareni ,

GPL is hard or tough to monetize

What do you mean?

stuff will get even spicier when we have conservations whether code is asset itself (especially scripts).

That's true. What about LGPL?

Shareni ,
Shareni ,

It's not pretty, but it's uniform, obvious, and easy to understand.

go is good grug friend who chase away complexity demon by limit damage of big brain developer

Shareni ,

Julia, Clojure and Go.
Are any of these good for a beginner or should I start with something else?

That totally depends on what you want to do.

Go should be easiest since it's purposefully simplified in order to make learning it easier. There are some more difficult concepts, but the start should be easy enough. I know about go with tests, but it's not really programming beginner friendly.

I'd avoid clojure as a beginner. It's more for people who know java, but don't want to write java. Common lisp and schemes are good for learning programming, but they're not a popular group of languages and that can be a problem.

Shareni ,

there are very few “starter” Clojure jobs; they mostly expect you to have years of experience.

That's because the language is made for people who wrote java for the last 10 years. It's cool and all, but it's horrible for learning programming when you compare it to cl or scheme. Neither of them break language uniformity and simplicity in order to accommodate java interop, while also having decades worth of excellent teaching material.

It’s a Lisp language which is the oldest kind.

Fortran, COBOL, ALGOL are older

Instead of “object oriented”, I think if it as verb oriented. Each statement is a verb (function) possibly followed by all the nouns you want to apply it to. Easy peasy, right?

I think you're over complicating the explanation, it's just a different notation:

(1 + 2 + 3) == (+ 1 2 3)

(1 + (2 * 3)) == (+ 1 (* 2 3))

People complain that there’s “too many parentheses”. People like to complain about dumb stuff.

I think it's got more to do with everything seemingly being completely different. Most languages have C-style syntax, and python is like the only popular exception. It's like knowing only latin and having to learn cyrilic or alphabet.

Shareni ,

Reports in the New York Post newspaper said that viewers in the US had seen people in Dublin exposing body parts, making inappropriate gestures and holding up footage of 9/11 since the installation opened last week.

Based

Shareni ,

Aaah, so that's why it takes them so long to update packages.

I'll bet you anything they're not reading the code for every random package and dependency. But yeah, with free distros it's at least possible to read everything that's on your machine.

Shareni OP ,

It's pretty easy for home-manager use, but still really useful. You can:

  • choose which packages to install from stable and which from unstable
  • add packages from repos that have flake.nix in them
  • correctly match nix and home-manager versions, and always update them at the same time
  • allow-unfree without nixpkgs conf, so 1 less directory required in .config (if they accepted the "experimental" features it'd be down to 1)

Here's an example:

flake.nix
{
  description = "home flake";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    home-manager.url = "github:nix-community/home-manager/master";
    home-manager.inputs.nixpkgs.follows = "nixpkgs";
    nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11";

    # nixgl.url = "github:guibou/nixGL";
  };

  outputs =
    {
      self,
      nixpkgs,
      nixpkgs-stable,
      home-manager,
      # nixgl,
      ...
    }@inputs:
    let
      system = "x86_64-linux";
      pkgs = import nixpkgs {
        system = system;
        config = {
          allowUnfree = true;
        };
      };
      pkgsStable = import nixpkgs-stable {
        system = system;
        config = {
          allowUnfree = true;
        };
      };
    in
    {
      homeConfigurations = {
        shareni = home-manager.lib.homeManagerConfiguration {
          inherit pkgs;
          modules = [ ./home.nix ];
          extraSpecialArgs = {
            inherit inputs;
            inherit system;

            kmonad = pkgsStable.kmonad;
          };
        };
      };
    };
}
Shareni OP ,

It's much simpler because you're using text files to define the expected state, the cli is there only to tell nix to figure out what it needs to do and to get on with it. Meanwhile with git you're manually doing each of the steps until you reach the desired state.

I only need cd ~/dotfiles/nix/ && nix-channel --update && nix flake update && home-manager switch for everyday package management. It's the nix version of apt update upgrade and install.

nix shell and nix run are pretty useful as well, and you'd want home-manager generations to rollback.

The confusion arises because there are 5 different ways to do the same thing, the non-experimental methods shouldn't be used even though they're recommended in the official docs, and you need to get lucky to get the info that you can use home-manager and that one liner.

Shareni OP ,

You're ignoring the difference between using something declaratory and imperatively. Just because it's difficult to get to that one liner, it doesn't change the fact you'll still only use that one command. Git by it's nature requires you to use different commands to achieve different results. Home-manager allows you to both update your packages and delete all of them with the same command, because that command is "sync the state with the source of truth".

Shareni OP ,

It's far better in theory, but in practice it's got some massive issues:

  • non-free packages are taboo in the official guix community
  • binary support was lacking the last time I used it (firefox didn't have a precompiled bin for example, and that means you need to leave your browser to compile overnight)
  • far less packages than nixpkgs even when you account for the non-free repo
  • packages are seriously out of date (I tried using it as an additional pm a few months ago, and debian 12 was newer in a lot of cases)
  • essentially no support for some programming languages and package managers (node and npm for example)

In it's current state it's really only good for emacs, lisps, and some other languages like haskell.

Shareni OP , (edited )

I don’t really care about the declarative/imperative thing, to me how many commands you “really need” is beside the point.

Caring is not required, but you need to at least understand the difference.

This is essentially the same argument as the people who say “git is not complex because you only really need checkout/commit/push, just ignore all the other commands.”

It's really not.

Stage,commit,push,fetch,merge,etc. are all commands you need issue to git in order to manually create a desired state. You need to know what you're doing, and what to do differently if there's an issue.

home-manager switch does all of it on its own. You don't use a different cli command if something's broken, you change the source of truth. All of the commands you might use in an imperative package manager like apt update/upgrade/install/remove are instead that one command.

Even home-manager has this warning at the very top of the page that basically tells you “you need to understand all the other commands first before you use this,” and “if your directory gets messed up you have to fix it yourself.”

It's quite a disingenuous interpretation of "beware: home-manager uses the nix language and so gives nix language errors" and "choosing to create configuration files might overwrite the existing ones for that package"...

If you're using a programming language, expect error messages specific to that language/compiler/interpreter/whatever. And it's not like every other PM is using standardised error messages, you still need to learn to read them.

Config files aren't generated randomly, you need to manually enable the configuration of each package. If someone is capable of getting to the info required to know how to configure a package, it's reasonable to expect that they can guess that changing a config might overwrite the existing one.

These are exactly the same kinds of problems people have with git.

Do tell me how you can solve git problems without changing the git commands.

You're essentially saying that the terraform cli has the exact same problems as the aws cli, and that's just ridiculous. They both let you host your blog, but they do it in a completely different way and therefore have different issues.

Shareni OP ,

In case you missed topic of the whole discussion:

Nix has the same mix of conceptual simplicity and atrocious user interface as git,

Nobody at any point compared the difficulty of learning the entirety of each of those systems, and my entire point is that the complexity of nix is not in the cli commands...

Shareni OP ,

That's such a bad name, I only see lixmaballs.

How do you like it, that's one of the earlier forks, right?

Shareni OP ,

I’m going to have to come back to Nix/NixOS in a bit.

Use nix + home-manager first for sure. It's far easier, and you can slowly get into it while making a list of bleeding edge packages.

I’ll probably wait until the official docs catch up as it appears that they are quite a bit behind

Skip them altogether when you're starting out. I gave up on trying nix the first few times due to how bad they are. zero-to-nix.com is better for learning the basics of nix.

That and I’m not sure how I feel about a DSL for package management. I’d much rather use JSON or YAML, or even INI or TOML.

The closest you can get is home-manager with a list of packages in a json-like format. It's really not practical to develop a declarative system without a programming language. A basic example would be variables, more advanced would be to write a wrapper that modifies the package so it automatically runs the required cli commands to use your dediated gpu and nixGL with specific packages (nvidia-run-mx nixVulkanNvidia-525.147.05 obs for example).

It's sort of like IaC where you've got terraform (dsl), pulumi (various languages), and cloudformation (json/yaml). Can you guess which one is universally despised?

Maybe if I were a LISP or Haskell guy.

Then you'd use guix and a dsl made within an actual programming language (much better approach IMO).

Shareni OP ,

declarative > imperative all day, every day

Shareni ,

RHEL - 16 free licences and you can use them for whatever you want

Ubuntu pro - 5 free licences for personal use

SEL - you can try it out for 60 days or cobble something together while testing our enterprise packages

Shareni ,

And how is SEL less for a rich person than RHEL?

Shareni ,

You're not using KDE connect perhaps?

Shareni ,

It's not, Xfce can only have one systray

Shareni ,

I would rather Linux just be able to detect what's missing and install it for me. In the case of a lot of missing components, what it says is missing will be named completely different from the package you need to install which makes it really hard.

That does happen, but Linux doesn't have anything to do with installing packages, your package manager does. If this package was installed through apt for example, it would also download all of the dependencies. But this package is using a makefile to build and install, therefore it has nothing to do with your package manager.

Tldr: use the package manager, and don't use DIY packages if you don't want to DIY

Additional package managers like flatpak and nix solve different issues:

  • dependency mismatch: let's say libreoffice and this package require a different version of glibc -> flatpak downloads both versions and symlinks them in a different location in order for each package to have the correct version while not impacting your system and the glibc your DE is using

  • newer packages: Debian freezes packages for 2+ years, flatpak gives you a fresh version

  • easier packaging for developers: you can package for flatpak instead of having to maintain packages for every popular package manager and distro

Shareni ,

Thou shalt write two k's, no more, no less. Two shall be the number of k's thou will write, and the number of k's of the writing will be two. Four shalt thou not write, neither write thou one, excepting that thou then proceed to two. Three is right out. Once the number is two, being the second k is written, then lobbest thou thy message towards thy foe.

Shareni ,

Nix + home-manager are a much better starting point than NixOS

  • your system still respects FHS and can still use like npm
  • you can still leverage decades of Linux knowledge
  • it's much easier to slowly build up knowledge than to have to immediately learn everything
Shareni , (edited )

It's not clear what device you want to install Linux on.

If it's an apple arm you're pretty much limited to what Asahi is doing (Fedora now afaik).

If it's a regular amd64, I'd suggest something more stable like MX, Mint, Suse leap, etc. You can use an alternative package manager to keep what you need fresh, but your base system won't change for years.

I'd maybe suggest starting first with nix and home-manager while you're still on macos. Do note that I haven't used it on mac, but the idea is for it to be cross platform. You can start adding your packages to the list, and have everything you need immediately when you start using Linux. That's going to be your best option for programming, but it's more difficult. This should help you out to get started

As for gaming, I wouldn't have high hopes on arm. You can use lutris to run windows games for example, but if your device also needs to emulate a different CPU architecture, it wont be happy. Docker had serious performance issues before they introduced arm base images.

Shareni ,

Tbh home-manager is going to be overkill in most scenarios. A dotfile directory + git is going to be more than enough, and you can use stow to symlink everything.

Shareni ,

I'm running MX + nix unstable, and it's pretty great. Although it's got some annoying parts like nixGL, it's nothing compared to simply updating your systyem and it failing to boot.

Shareni ,

Usually extremely fast and venomous

Shareni ,

More like genocidal sociopaths. Can you guess what two species are the main cause of multiple extinctions?

https://www.theextinctions.com/articles-1/the-flightless-wren-and-the-lighthousekeepers-cat

Shareni ,

No ads, at least for the most part.

Don't forget terminal ads for Ubuntu pro

Shareni ,

Dude is just starting out, no matter what arch derivative you're suggesting, it's a bad idea. Flatpak is perfectly fine for installing fresher versions of those packages AFAIK.

Shareni ,

Dude writes code, that makes me a lot more comfortable recommending an arch install of some kind.

You drive trucks for a living, so you should commute in a rocket car that breaks down randomly. Or are you going to be a chicken and choose something slower, but far more dependable?

Agreed on flatpak, it's fine.

It's pretty counterproductive to suggest something that requires significantly more maintenance if the features are not required. So if flatpak is fine, there's no need for arch, unless the OP is FOMOing for plasma 6 or something.

Shareni ,

Ubuntu lots of the promised customizability and deep control wasn't there (if you are a first time user who don't know about the 4-5 places config files can be located,

How's arch any different?

often differing between distros so google doesnt always hekp

It's either following FHS or not. I've never seen them dropped in random places and also differing between distros.

Not knowing about FHS is not distro specific.

you have no idea what sysctl is, how compiling works, how to manage dependencies)

And why would a brand new beginner touch any of those? If you need to enable something specific, the guide will most likely include systemd instructions. If you need something that's not in the repo, use flatpak for example. If you're not pointlessly compiling, you don't need to manage dependencies, your PMs are doing it for you.

When I got manjaro for the first time, I was blown away about how much you could do with Linux even when not a programmer, because smart people on the AUR have paved the way.

You can do the same things, and AUR doesn't change that, it only gives you an additional source of packages that can't be blindly trusted.

Also you had things like btrfs which are just plain better then win NTFS or linux ext.

They can be set up on other distros, if you don't like timeshift or other solutions. Btrfs is also not really necessary on a stable distro. A security patch is far less likely to break your system when compared to random bleeding edge releases.

But you are right, it broke way to often, that's why I settled for debian after all, as it has the right amount of stability and options imho

Check out MX, it's Debian with some desktop improvements, and a far more sensible default DE for the distro. I'm using it and it's pretty great, nix makes it a lot better, but flatpak does the job as well.

Also, it's really funny that a Debian user goes all fangirl over plasma 6

Plasma 6 - soon on a desktop near you (in 1-3+ years when it stops being a broken mess early enough to be tested and included in the new release)

Shareni ,

Yeah, a company that's been partnered with Microsoft for a decade, and has had horrible corpo ideas like selling user searches to Amazon and running ads in the terminal, has totally nothing to do with windows. Nope, definitely not spelunking in MS's ass to get defaulted in WSL and Azure, it just happened because it's the most beloved and bestest distro ever...

Shareni ,

I mean, they've been partnered for a decade... EEE anyone?

Shareni ,

You seem to be a lot more vehement about this than I am.

No, I'm simply standing behind my initial statement, and pointing out why your counter argument is bad.

Not to mention confidently uninformed on arch.

Wat is arch? I only used it and its derivatives on multiple devices for multiple years in my 15+ years of Linux

I don't think this is worth getting into further. You've already decided I'm some kind of elitist, deserving of insulting analogies thrown at them.

How I'm imagining this response in real life

If you think a hyperbolised analogy is an insult, take care of your delicate constitution and don't risk maladies by entering discussions on the internet.

Shareni ,

part 1/2

If I want to have glassy themed desktop for example on Ubuntu I need to understand kvantum, which folder need which permissions, download themes from a website, kvantum from the terminal and install them, while on arch I type yay glassy-themeXY

huh?

But yeah, the large repo + AUR do make some things easier. Although the additional package managers are quite close, while allowing for a more dependable base system.

When installing teamspeak for Ubuntu I need to understand how to make my own desktop entries, mark files as executable, how to install .deb packages etc, while on arch I type yay teamspeak, done.

flatpak search teamspeak -> flatpak install com.teamspeak.TeamSpeak -> done (I'll get to flatpak later)

Sure aur is not the most secure source, but better (and easier) then blindly copy pasting commands from some forum or manually downloading dubious python scripts from github.

Sure, and that's why you can use something like flatpak in any scenario. I prefer nix, but that's still not user friendly.

For the customization at the time Ubuntu only had gnome,

They have flavours for each DE, same as Fedora has spins. It's an easy way to ensure default apps go with the correct DE.

I don’t know what you are talking about with everything in the same place regardless of distro

Most packages follow FHS and XDG, but there are still plenty of them that just drop it in ~ and call it a day.

The FHS ones (/etc, /usr/share, /usr/local/etc) are where you're supposed to find default configs. But, /usr should be read-only and only ever copied from, while /etc is for system wide configs.

The XDG configs are tied to your user, and only located at your ~. Usually in ~/.config but there are some cases where you might want to use ~/.local/

On Linux, the steam installation via snap has another file structure than via apt, and another for flatpack and another for appimage and another for the aur version which is different from the selfcompiled version.

Yes, but that's got nothing to do with the distro.

Apt and pacman follow the FHS, AUR just provides instructions to pacman.

Appimages contain everything they need to run in a single file that you execute.

Flatpak, snap, nix, guix, distrobox, etc. don't save in the exact same directories because it's much safer that way, but they still roughly follow FHS. For example nix symlinks everything into ~/.nix-profile and provides you with the same structure as apt (/etc, etc.)

When you don’t know about this stuff and don’t have the time to watch tutorials or read man pages when wanting to do anything, the difference between this and “yay teamspeak” was like day and night, a matter of usable vs. Unusable.

GUI stores like discovery allow you to install and update packages from different stores at the same time. You can search for teamspeak and chose to install the deb or flatpak. Can't get more user friendly than that.

In win you have all your settings in the settings app (and the values stored in registry) EVERY file of the program you would need to accsess is in the program folder (or roaming).

No, you have the available windows settings in the settings apps. KDE approaches it the same way, and is far superior IMO. The difference is that if you want to change something that's not covered by the settings apps, windows forces you to blindly copy-paste regedit commands, while linux has a text file.

For packages there is no FHS, they might or might not include default configs if they support text configs in the first place (a BIG part of the UNIX philosophy), or they might generate them when needed. It might be in one of the program files, in multiple locations in my documents and app data, or you might need to once again blindly copy-paste regedit commands. Hell, a windows program might use different 5 location for different configs.

The “why would a beginner need those” question always strikes me as odd, because it always sounds love me people wanna deny use cases. I tried changing my local one time, ...

It's more because Linux has come a long way. For example I can just use MX Date & Time and use a gui to adjust my local and hardware time without ever touching the terminal.

Shareni ,

part 2/2

“You can do the same things with the aur as without” is the dumbest shit I’ve ever heard (sry) Its like saying you can do the same thing with a guitar as with a CD.

Nah, that's coming right up:

For flatpack: I avoid it, as people who are far more deep into the topic than me said its basically snap with extra steps, bloated, insecure, against the Linux philosophy of interlocking FOSS software blah blah. Didn’t understand most of it but followed the advice.

  1. Argument from authority is a logical fallacy, and I don't think basing your entire argument on willful ignorance requires further comment

  2. People have issues with snap due to following reasons, and none of them apply to flatpak:

  • snap is forced on ubuntu users and apt randomly installs snaps instead of deb
  • snap slows down boot times because it mounts virtual FS'
  • snap store and packages are closed source, and while snap is open source, the snap store is hardcoded
  1. Additional package managers are bloated in the same way cars are bloated for having seatbelts and airbags. The only way to reliably prevent dependency mismatches is to have a separate set of dependencies.

For example: you want to install the newest obs, but it requires a higher version glibc than your KDE. Installing the newer glibc in the exact same location as your system could possibly break your system. Pacman simply errors out, on the other hand flatpak provides the correct version to each of the packages it installs. And that's possible because:

  1. Everything is isolated, and generally not only more secure, if the package is published by the developer, but could be even further improved:
  • each package gets its own private sandbox with a filesystem, libraries, dependencies, runtimes, etc.

  • there are built in systems to further isolate packages from each other and your system

  • you can use tools like flatseal to control permissions on top of whatever the base system uses (AppArmor/SELinux).

  • no sudo privileges required

Pacman can only use AppArmor/SELinux, and AUR is the riskier version of community flatpaks.

  1. The thing is, you can't get better security and reliability without breaking FHS a bit. You also need to consider that they still try to follow it within the additional restrictions imposed on them. You get the same structure, but in respectively consistent places. It's a pretty good trade-off in my regard.

For btrfs: OK, give me the Debian bookworm installer where you can select ANY enrcrypted format that is not luks–>lvm–>ext.

The default one, and therefore essentially everything downstream: guided partition -> change from ext4 to btrfs and set to mount to / -> run the encryption wizard. Do read the maintenance section though, there are reasons why stable distros don't default to it. Besides that, rsync does the job more than well enough. You can use the timeshift gui to have it periodically take snapshots, or easily automate it in different ways.

Honestly, monthly snapshots are going to be just fine. That's the whole benefit of this kind of a setup. Your base system almost never changes, while everything you need to be up to date is completely separate. Half of my packages are nix unstable and just as bleeding edge as on arch, but my system is not at real risk of failing to boot due to an update because it's still Debian, and quite close to vanilla at that. You don't need btrfs and snapshots on every update because both flatpak and nix support rollbacks, and that's the only scenario where updates could be risky.

There are downsides, and possible complications during setup though, but I'd say the trade is more than worth it, especially if you depend on your device and can't have it break down because you ran a system update or installed a package without updating the whole system. Working abroad with bad internet really drew it home for me, and caused me to finally drop arch.

Shareni ,

Pretty much. Plasma depends on regular updates, and is not nearly as good on stable distros that freeze it for years at a time. The version in Debian is almost 2 years old by now, and a new one isn't coming out for at least a year.

[Thread, post or comment was deleted by the author]

  • Loading...
  • Shareni ,

    Pro tips: research the distro you're trying to install. And try not to follow any random instructions blindly, that's the quickest way to mess something up.

    Ubuntu server is made for actual servers, and they don't need features like a GUI or WiFi.

    Just use Mint instead if that's what you're comfortable with. It'll use up some extra storage, but you might want to use a GUI at some point instead of SSH.

    If you're planning on self-hosting and opening it up to the internet, invest in VLAN first. It's pretty dangerous to have the server running on the home network. More expensive routers have it built in, but you can DIY a solution using software like openwrt or pfsense, and a thin client. There are useful instructionals on YouTube.

    Shareni ,

    maybe it wouldn't be as wonky as the AUR since it's Nix at least

    That's for sure, since nix handles dependencies a lot better than pacman. But I meant that due to the sheer size of nixpkgs, and the way you can add a repo to your flakes, there's no real need for it. But that's just pure speculation.

    I think a sensible progression is: nix + home-manager -> flakes -> develop -> nixOS

    You build on previous knowledge without getting overwhelmed. I tried using guixos without ever using guix or nix, and it's really not nice when you have to spend a week trying to figure out how to do something that takes you 5 mins in a regular distro. It even took me a few attempts to get started with nix simply because the docs are abysmal, almost all info is on nixos, and home-manager is rarely mentioned.

    Shareni ,

    That's pretty interesting, I'll need to give it a try.

    https://programming.dev/pictrs/image/95a52e53-1618-46d4-aee5-f5cd769c467d.png

    Shareni ,
  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • news
  • movies
  • leopardsatemyface
  • stillalive
  • ServerNonsense
  • istillthinkofyou
  • oneorangebraincell
  • MBBS
  • All magazines