Post AIKPgK5LPq57ioR6iu by codewiz@mstdn.io
 (DIR) More posts by codewiz@mstdn.io
 (DIR) Post #AIKNeasNoh3rJJQBns by jeeves@mstdn.io
       2022-04-06T03:38:50Z
       
       0 likes, 1 repeats
       
       @codewiz what are your thoughts on declarative package management?  It seems like you should be able to layer a declarative interface on top of imperative package managers, but for some reason, it seems like not many people do that in practice.  Context: trying to decide which Linux distro to use for my main development VM.  I like the idea of declarative package management, but not sure if it's worth it committing to Nix/Guix/Silverblue, with the smaller ecosystem/community right now.
       
 (DIR) Post #AIKNebgMor2loKo6iG by jeeves@mstdn.io
       2022-04-06T03:49:01Z
       
       0 likes, 0 repeats
       
       @codewiz My goal is to be able to spin up a fresh dev VM easily from some config stored in a git repo instead of having to manually reinstall packages and stuff.  Perhaps my Google-fu is too weak, but most of the info I'm finding basically boils down to "use Nix/Guix".  How do people typically solve this with other distros?
       
 (DIR) Post #AIKNecFSiN7HZBE8Po by codewiz@mstdn.io
       2022-04-11T03:59:49Z
       
       0 likes, 0 repeats
       
       @jeeves I never used Nix, but for at least one decade, the trend across all distros has been towards stateless root filesystem and removing those pesky post-install / uninstall scriptlets.The oldest mechanism is triggers: https://wiki.debian.org/DpkgTriggersThe .d directory idiom eliminated tons of sketchy scripts that edit etc files.on package installation.Then came systemd, which eliminated all those distro-specific scripts to enable and disable daemons.
       
 (DIR) Post #AIKOEKYTyVqp7J9aRU by codewiz@mstdn.io
       2022-04-11T04:06:17Z
       
       0 likes, 0 repeats
       
       @jeeves Is adding users and groups still done by shell commands? Perhaps deb and rpm should add metadata to do that. That's a common source of non-determinism in traditional distros...And how's #Debian's multi-year deterministic builds initiative going?
       
 (DIR) Post #AIKOl1Fml6IqoIzmDY by codewiz@mstdn.io
       2022-04-11T04:12:11Z
       
       0 likes, 0 repeats
       
       @jeeves Anyway, I'm thinking that we don't need brand new package managers and new distros.We just need to raise awareness that fully declarative packages are the cornerstone of reliable updates and rollbacks. And maybe tighten packaging policies to discourage or ban non-deterministic packages.
       
 (DIR) Post #AIKPgK5LPq57ioR6iu by codewiz@mstdn.io
       2022-04-11T04:22:33Z
       
       1 likes, 0 repeats
       
       @jeeves Kernels will continue to be a pain point for a while, with those slow and failure-prone initramfs rebuilds... and the horror show of building proprietary drivers with dkms.@srevinsaju, how does #Fedora Silverblue handle this?
       
 (DIR) Post #AIKlKpGH1KbX2AhdAm by globalc@chaos.social
       2022-04-11T05:22:20Z
       
       0 likes, 0 repeats
       
       @jeeves Regarding 'other distros', at least in Fedora/centos/rhel, the idea is to deploy packages with kickstart and then do configmanagement like Ansible ontop.I tried Nixos the other day (linux unplugged did a challenge), but I will stick with normal distro + a bit config management. Also applicable to all distros.Colleagues used Silverblue, but the more devel work you do, so the more flexible you need your system, the less you will stick with that.@codewiz
       
 (DIR) Post #AIKlKptydiMb1JHL3g by codewiz@mstdn.io
       2022-04-11T08:24:38Z
       
       0 likes, 0 repeats
       
       @globalc And so you rebuild the image from scratch every time there are updates to apply?I guess rebuilding from scratch with kickstart is ok for small images. I guess you can still cache the downloaded packges... @jeeves
       
 (DIR) Post #AIKlbA27YkBs5cs8Fk by globalc@chaos.social
       2022-04-11T08:28:06Z
       
       0 likes, 0 repeats
       
       @codewiz When there are updates, one can write Ansible code to install these. The next run of these Ansible playbooks will pull in these updates on the already running system.If the system is to be reinstalled from scratch, there are again the stages a) kickstart, and b) Ansible playbooks. As the same playbooks are then run, system also comes out of the process with the updates installed.@jeeves
       
 (DIR) Post #AIKmb2ZlNyNwuo7AGG by globalc@chaos.social
       2022-04-11T08:39:16Z
       
       0 likes, 0 repeats
       
       @codewiz Probably worth adding: it's an ideal, just how we recommend it to be done. Not sure how widely it is done.In the real world, customers rather install the latest version of a package when they reinstall the system, and trust in us that we fixed issues in the package, while keeping APIs and behaviour same as with old versions.Inside major versions, which we support 10 years, that works quite good.@jeeves
       
 (DIR) Post #AIKmejy8VWwuMiHMXo by globalc@chaos.social
       2022-04-11T08:39:58Z
       
       0 likes, 0 repeats
       
       @codewiz Probably worth adding: it's an ideal, so how we recommend it to be done. Not sure how widely it is really done like this.In the real world, customers rather install the latest version of a package when they reinstall the system, and trust in us that we fixed issues in the package, while keeping APIs and behaviour same as with old versions.Inside major versions, which we support 10 years, that works quite good.@jeeves