There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

Max_P ,
@Max_P@lemmy.max-p.me avatar

Linux is Linux, nix is just a tool to essentially build a view of the root filesystem in a special way. In the end, it’s not that different than if you do everything from Ansible playbooks, in a Dockerfile, from Puppet/Chef or any other automation technologies.

Heck, if you look closely at Debian/Ubuntu, there’s the whole debconf system that lets you configure packages directly from the package manager, and it generates configuration files based of that. If you install Postfix on Debian, it’s going to ask you how you want to use it and it generates some ready to use configuration files. Then if you install Dovecot, it might just work out of the box using that configuration to know how you set up Postfix and let you fetch your emails over IMAP. It’s not nearly as comprehensive as nix does it, but the concept of a main configuration file is far from new, nix just pushed it to a whole other level.

Building packages also differ wildly between distros. ArchLinux uses simple PKGBUILD files that are essentially just bash scripts. Debian uses debhelper and dh_make, and lets you do some really crazy things with the build system to reduce boilerplate so that all Python packages for example are built exactly the same way and often in just a few lines.

Distros also put files in different places. On Debian, system-wide systemd units are in /lib/systemd, but it’s /usr/lib/systemd on Arch. Distros use different tools: apt, yum, dnf, pacman, pkg, etc. Debian in particular really likes to ship with heavily customized configurations. For example, if you install NGINX on Debian or Ubuntu, you have a /etc/nginx/sites-{available,enabled} and it’s got a helper script to easily enable/disable a site. On Arch, there’s no folders, you get a plain basic default /etc/nginx/nginx.conf. On macOS, I have that config in /usr/local/etc/nginx/nginx.conf. The default location of configuration files is inherently a compile-time property, just so happens that most distros puts it in the same place.

I’ve worked with part-time admins / web developers that completely panic when they SSH into a system that’s not Ubuntu and they don’t know how to do anything.


If you like NixOS, just enjoy and you’ll be fine. Completely different means of achieving the same things, and if anything will make you more aware of potential variations. Nothing preventing you from having VMs with more classical distros to keep up to date with how to admin those. A lot of things still work the same: you can still systemctl restart a service, you’ve still got a bash shell that works exactly the same. You’re just going to manipulate and template nix files instead of directly modifying configuration files, but still ends up generating that file for the software to use.

I use Arch for all my stuff, and Ubuntu at work. Because I use one doesn’t make me not well versed in the others. NixOS have real advantages, and I know some companies that have fleets of NixOS servers.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines