7 ms·
I've used docker-compose, k8s, and NixOS myself, being from a similar technical background as the author, but I find myself disagreeing with some of the author
by Dedime 2y ago
I've used docker-compose, k8s, and NixOS myself, being from a similar technical background as the author, but I find myself disagreeing with some of the author's opinions on the technologies. They're not wrong of course, but I've had different experiences.
k8s: Installing and using k8s can indeed be a nightmare. In my job, we use Azure, so it's not so bad since launching a cluster is mostly handled by Azure. Setting it up for personal use is less fun. The mountains of YAML you can end up using to deploy even semi-complex services is even less fun. That being said, I've been wanting to use it for a personal project (distributed cluster using cloud VPSs and bare metal at home connected using WireGuard). I just wish it was smaller and faster. Most guides recommend 2Gb of RAM and 2 CPU for the smallest of small deployments.
docker-compose: I actually love docker-compose for my personal stuff. I have an intel NUC hosting homeassistant, pihole, caddy, deluge, jellyfin and a handful of other stuff. Everything lives in a series of folders for each service. Backups (both data and code via git), disaster recovery, and just general reasoning about of it is so easy. The docker-compose files are small and easy to read. I also find docker-compose to be about as immutable as you'd like it - version control your docker-compose directories, pin your image SHAs, and you're in a good place. Or don't, and it will still work pretty well.
NixOS: I've done it. I installed it on my Framework Laptop since it was all the rage at the t ime. I lived with it for about a year, and it was okay - for day-to-day use - AFTER I had spent weeks learning how to use NixOS. I will freely admit it's an awesome technology in some respects. But the documentation just was not there. It was way too hard to learn how to do even basic tasks. I thought nix flakes might be the "aha" moment I was looking for, but I gave up trying to get that to work after a couple of days of troubleshooting. Don't even get me started on trying to package up something from scratch. As a random example, I googled "packaging python for nix" and the top result [1] is just way too complex for something that should be pretty simple. The example includes some abomination of a .nix file with inline bash and python scripts.
I don't really know where I'm going with this. I really do like the idea of NixOS. I just wish it was much, much easier to reason about. Curious to hear what others make of this.
[1](https://nixos.wiki/wiki/Packaging/Python https://nixos.wiki/wiki/Packaging/Python)
- LorenzoGood 2y ago> As a random example, I googled "packaging python for nix" and the top result [1] is just way too complex for something that should be pretty simple. Aware that this is more of a critique about the documentation situation, as opposed to the python packaging situation. However, there is poetry2nix[1]. Which makes packaging look something like this: myPythonApp = mkPoetryApplication { projectDir = ./.; }; [1](https://github.com/nix-community/poetry2nix)(although https://github.com/nix-community/poetry2nix)(although it has been merged into nixpkgs master)
- p_l 2y agopoetry2nix has actually been deprecated[1], and is in my experience subtly broken, as is the entire python packaging mechanism in Nix[2]. So we're now getting yet another attempt, this time called pyproject-nix[3]. I'm now considering taking similar stab with common lisp packaging, because the amount of time I lost fighting Nix trying to run a development environment is making me reconsider using Nix at all. [1] https://github.com/nix-community/poetry2nix#:~:text=announcement%20post.-,Maintenance%20status%3A,%E2%9A%A0%EF%B8%8F,-The%20creator%20%26%20long https://github.com/nix-community/poetry2nix#:~:text=announce... [2] https://pyproject-nix.github.io/pyproject.nix/build.html https://pyproject-nix.github.io/pyproject.nix/build.html [3] https://pyproject-nix.github.io/pyproject.nix https://pyproject-nix.github.io/pyproject.nix
- LorenzoGood 2y agoFor a development environment, you could just pull in the poetry package from nixpkgs. > I'm now considering taking similar stab with common lisp packaging. For nix? Also, thanks for contributing.
- p_l 2y agoYes - the complaints about python builders in nixpkgs apply as well to common lisp packaging even if implementation details differ
- aliasxneo 2y ago