TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

A rant about NixOS

23 pointsby czamabout 6 years ago

3 comments

risabout 6 years ago
&gt; Linux and Docker! Yes, you’ll have the same deterministic and secure result<p>Nope, not at all. Dockerfiles are not deterministic. Most of the ways I see Dockerfiles written are <i>highly</i> non-deterministic. Docker also requires root access and to some degree exposes that root access to any user with Docker access on a host.<p>The &quot;stacked filesystem&quot; model also allows far less flexibility than Nix does when it comes to composing a system out of different components. The fundamental problem is the inability to combine features of Docker images with different bases. Compare this with OO languages lacking multiple inheritance.<p>However, in my eyes, the biggest sin of Docker is the conflation of the problem of software dependency management with isolation &amp; security policy. The two are fundamentally different things, causing developers pain when doing local development and leading to security-slackening changes that make their way into production. NixOS does not make this mistake.<p>Last time I was running a project with NixOS I was able to git bisect my <i>entire</i> application &amp; software stack to locate the source of a regression (a package maintainer had changed the location of a file) - what can you do?
viraptorabout 6 years ago
&gt; 100% CPU utilizations will require AutoScaling Group to launch additional instances<p>If you know your instance takes long to build, you should set the health check grace period. <a href="https:&#x2F;&#x2F;docs.aws.amazon.com&#x2F;AWSCloudFormation&#x2F;latest&#x2F;UserGuide&#x2F;aws-properties-as-group.html#cfn-as-group-healthcheckgraceperiod" rel="nofollow">https:&#x2F;&#x2F;docs.aws.amazon.com&#x2F;AWSCloudFormation&#x2F;latest&#x2F;UserGui...</a><p>Or if the checked service comes up before the system is ready, set a cooldown on the scaling up <a href="https:&#x2F;&#x2F;docs.aws.amazon.com&#x2F;AWSCloudFormation&#x2F;latest&#x2F;UserGuide&#x2F;aws-properties-as-policy.html#cfn-as-scalingpolicy-cooldown" rel="nofollow">https:&#x2F;&#x2F;docs.aws.amazon.com&#x2F;AWSCloudFormation&#x2F;latest&#x2F;UserGui...</a><p>Or in extreme cases, prepare a complete AMI to boot from. This is not a NixOS issue. This it completely on how you operate your AWS.
danharajabout 6 years ago
This doesn&#x27;t seem very convincing. Disclosure: I run NixOS on all of my machines. Even my router.<p>Point by point:<p>&gt; Small community<p>This reason applies to any new tool that doesn&#x27;t immediately have significant corporate backing. Nothing would ever grow organically if everyone thought this was a deal-breaker. The real point here is that if you use NixOS then you must be committed to be an early adopter and bear all the costs that entails. If you don&#x27;t get high value out of Nix, then you shouldn&#x27;t adopt it. Simple enough, yea?<p>&gt; SOFTWARE MANAGEMENT<p>This section seems a bit completely ridiculous? Yes, you can&#x27;t configure your NixOS system unless you write <i>nix expressions</i>. That&#x27;s <i>literally the point</i> of using NixOS. You don&#x27;t boot up emacs and complain that it doesn&#x27;t care about your .vimrc.<p>&gt; Want to customize something in the OS, be ready, you’ll need to write your custom systemd service to do that. Aaand, yes, service configuration file also need to be declared using Nix expression language.<p>Yes. That&#x27;s the point. As much of your system configuration is configured in a principled way.<p>&gt; All standard system configuration files like &#x2F;etc&#x2F;fstab, for example are generated by a weird code and read only.<p>Yes. That&#x27;s the point. You can only modify your system configuration in a principled way.<p>&gt; Forget about Chef, Puppet or Ansible! Only Nix expressions! Only hardcore!<p>Yes. That&#x27;s the point. That&#x27;s what you sign up for when you install NixOS.<p>&gt; It is not possible just to upgrade the kernel from “ver1” to “ver2”. New kernel will bring whole set of system packages and their dependencies with it. Do not know if it is safe. Will test it soon.<p>Wait, does this person think you can ad-hoc change your kernel version without considering whether your low level and&#x2F;or kernel specific packages are compatible with it? That&#x27;s _the point_ of system packages being parameterized on kernel version in NixOS.<p>&gt; CLOUD SUPPORT<p>Yeah, actually you have to be knowledgeable in both Nix and whatever cloud service you&#x27;re using to get by without issue. It&#x27;s an early adopter cost, as mentioned before.<p>&gt; Do not even try to use it in Auto Scaling group and passing configuration.nix content through user-data. ...<p>I&#x27;m pretty sure the author was not deploying NixOS to the cloud correctly, based on this comment. But! It&#x27;s not obvious how to do it correctly, so understandable.<p>&gt; Cache<p>I don&#x27;t even understand the issue here? You don&#x27;t have to rely on the community cache. Our shop builds the entirety of nixpkgs and caches it for ourselves as a matter of routine.<p>&gt; And yes, your own cache size will also grow very fast!<p>Well yes. You have a cache that contains every artifact relevant to your business going back as far as you want. That sounds rad, actually? Again. <i>That&#x27;s the point.</i><p>&gt; SECURITY<p>Yea, that sucks. I also dislike when the community introduces breaking changes. This is yet another early adopter cost and if you&#x27;re not involved in the community the cost can be shocking and difficult to deal with. I sympathize with the author.<p>&gt; WINDOWS SUPPORT<p>This Linux distribution doesn&#x27;t support... Windows? Ok, I&#x27;ve never worked at a Windows shop. What sort of support for Windows do other Linux distributions have that the author is lacking in? It is very true that if you need to support Windows you shouldn&#x27;t use NixOS.<p>&gt; SYSTEM REQUIREMENTS<p>That&#x27;s what the cache is for my guy :^)<p>&gt; Conclusion<p>I&#x27;m really sorry for the author, because it looks like somebody made a rash decision to use NixOS that did not get everyone on board and did not fully commit to leveraging NixOS&#x27;s advantages to outweigh its high early adopter costs.<p>But I think this rant is more than a little misinformed.
评论 #19381971 未加载
评论 #19382157 未加载