TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

I'm giving a talk at FOSDEM: NixOS, declarative configuration Linux distribution

32 点作者 iElectric2超过 11 年前
What would you like me to explain? I&#x27;ll do my best to present NixOS stack in 25 minutes talk. Anything particular you would like to know from the stack?<p>- Nix is a purely functional package manager. This means that it can ensure that an upgrade to one package cannot break others, that you can always roll back to previous version, that multiple versions of a package can coexist on the same system, and much more.<p>- Nixpkgs is a large collection of packages that can be installed with the Nix package manager.<p>- NixOS is a Nix-based Linux distribution. Thanks to Nix, it supports atomic upgrades, rollbacks and multi-user package management, and it has a declarative approach to system configuration management that makes it easy to reproduce a configuration on another machine.<p>- NixOps, the NixOS-based cloud deployment tool<p>- Hydra is a Nix-based continuous build system.<p>Cross-post from reddit.com: http:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;linux&#x2F;comments&#x2F;1st3vz&#x2F;im_giving_a_talk_nixos_declarative_configuration&#x2F;

5 条评论

undoware超过 11 年前
Anecdotal experience deploying in the lab with NixOS and&#x2F;or Nix:<p>1. At the time, I was maintaining several heterogenous RPM-based systems, so that was the comparison. I can say with some limited authority that it&#x27;s easier to make NixOS packages than RPMs, but harder than (say) tweaking &#x2F;usr&#x2F;ports in a BSD or Gentoo.<p>2. Being able to send closures between machines -- i.e. a reproducible recipe for the user&#x27;s current environment, including all installed and user-acccessible packages, libs and binaries -- is eerie, like alien technology. Think of &#x27;nvm&#x27; or &#x27;virtualenv&#x27;, but granular, and for everything. Once you get used to it, you will never be happy with any other package manager.<p>3. Nix&#x27; independence from NixOS is both a blessing and curse . On every OS except NixOS, Nix is necessarily a third-party add-on, and it necessarily uses slightly different versions of everything. Thanks to some insanely clever environment management, this never causes things to go plink, but it <i>does</i> mean that I often had a choice between a fresh Fedora RPM -- <i>on a Fedora machine</i> -- and a slightly stale Nix package. Guess which worked better. Guess which I chose most of the time. (But if you guessed that I was a bit OCD about package freshness, you&#x27;d be right.)<p>4. Final drawback, and the reason NixOS hasn&#x27;t yet made it into production at our company: NixOS itself obviously has to use the same slightly stale packages that Nix does. That said, how upset can you really get? These guys don&#x27;t have the dev-hours that Canonical or Red Hat do -- or even Debian, for that matter. What they have achieved with the resources at hand is mindblowing. What this project needs to really be useful to me is about two dozen new FOSS contributors and like maybe half a million dollars of investment. Any more than that, though, and I&#x27;d worry they&#x27;d lose their game ;D -- so much of it is based on doing immense amounts with almost nothing, using cleverness as the amplifier. Isn&#x27;t that what it&#x27;s all about?<p>5. Oh, and also, the devs are responsive. Hi guys! ;D
评论 #6911628 未加载
评论 #6910610 未加载
vimes656超过 11 年前
I&#x27;d love to hear more about the potential of Nix for language agnostic isolated development environments: <a href="https://nixos.org/wiki/Howto_develop_software_on_nixos" rel="nofollow">https:&#x2F;&#x2F;nixos.org&#x2F;wiki&#x2F;Howto_develop_software_on_nixos</a><p>Could it be a unified alternative to Python virtualenv, rvm, rbenv, cabal sandbox, etc? This would be specially important for projects needing heterogeneous builds.<p>It&#x27;d also be interesting to see a typical Nix development workflow taking advantages of Nix goodies like continuous integration with Hydra or staging and production deployment with NixOps.
评论 #6910430 未加载
setori88超过 11 年前
I would love to see some good examples on how to create custom development environments. ie one for erlang, C, oz etc
评论 #6909875 未加载
vdm超过 11 年前
<a href="http://zef.me/6049/nix-docker" rel="nofollow">http:&#x2F;&#x2F;zef.me&#x2F;6049&#x2F;nix-docker</a>
dsr_超过 11 年前
How difficult is it to package for Nixpkgs, assuming some familiarity with deb and RPM packaging?
评论 #6909835 未加载