Blog
#05 - NixOS Weekly
— Published onAnnouncements
A DevSecOps framework powered by Nix and the NixOS module system. Our goal is to help people setup a powerful CI/CD system in just a few steps, in any provider, while lowering the barrier to entry for the community.
The Ongoing effort at bumping LLVM and macOS SDK.
Tutorials & Resources
A Terraform provider for declaratively managing Hydra projects and jobsets, Determinate Systems' first open source release.
A NixOS module to help run modded minecraft servers, as a Nix flake, as well as a simple rsync wrapper script to help manage remote state of such a server.
University lecture + assignment + tutorial on how to build a shell for the nix build sandbox with automated tests suite
- Gitpod has shipped a template
Configured for Nix, it gives you pre-built, ephemeral reproducible development environments in the cloud.
Experimental attempt of packaging a demanding and somewhat complex (in terms of wine setup) wine application by dynamically creating a wine prefix from the nix store path of a generated wrapper script.
Or how to teach your initrd to add features to a filesystem on bootup.
A Nix Flake to build NixOS and run it on one of several KVM-Hypervisors (cloud-hypervisor, qemu, firecracker, kvmtool, crosvm).
Jobs
Contribute to NixOS Weekly
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#04 - NixOS Weekly
— Published onAnnouncements
Jonathan Ringer, release manager, announces NixOS 21.05 release with 1745 contributors in 33474 commits.
Replit replaces Docker with Nix and drastically improves support for languages.
Please thank him for all his hard work!
Domen Kožar introduces the Nix ecosystem.
Nix in Production with Domen Kožar
NixNG is a proof-of-concept distribution which works very similarly to NixOS, but aims to run well in containers and also smells more BSD-esque. Currently, it uses runit instead of systemd, but we're open to multi-init support and also to our own init system.
Tutorials & Resources
A template Nix setup for new Rust projects.
Everything that you need to read, write and understand Nix expressions.
Utility to easily integrate Cargo projects with Nix. Tries to handle (almost) everything for you
and enables configuration from Cargo.toml
files.
Utility to set up a template that uses nix-cargo-integration
.
Use Nix flakes without any fluff! (extension of flake-utils)
Learn about Nix, Nix flakes, and how to use Nix flakes to build applications in various languages.
With the Nix process management framework you can write high-level deployment specifications of running processes, that can be managed with a variety of process managers (e.g. systemd, supervisord, launchd, s6-rc). Furthermore, you can construct multiple instances of the same processes and deploy them as an unprivileged user. The testing framework allows you to validate a service under all these conditions.
Use Nix Flakes to build and run a 64 bit RiscV Kernel written in Rust.
Jobs
Contribute to NixOS Weekly
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#03 - NixOS Weekly
— Published onAnnouncements
RFC 0085 has been accepted!
Nix - Static, Permissionless, Install-free, Pre-configured
A two month train and work program from August 2nd to October 15th 2021 - great for anyone who wants to rapidly increase their Nix skills while doing useful work.
Tutorials & Resources
Video explains how to improve the reproducibility of nix expressions, why and for what we may need flakes and how to use them.
Jobs
Drive the adoption of Nix at a secure compute startup by developing and maintaining our CI pipeline and infrastructure.
Contribute to NixOS Weekly
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#02 - NixOS Weekly
— Published onAnnouncements
flox makes it easy to build software or manage development environments with Nix at any scale.
Distributed trust and reproducibility tracking for binary caches.
A call for companies/developers to contribute financially towards addressing major macOS issues in the ecosystem.
Tutorials
Resources
Fuse filesystem that returns symlinks to executables based on the PATH of the requesting process (fixes shebang problems on NixOS).
Add additional checks and more information from build logs and outputs to the reports generated by nixpkgs-review.
A content addressable store for Nix with Théophane Hufschmitt and Binary Verification with Trustix starring Adam Höse.
Jobs
Contribute to NixOS Weekly
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#01 - NixOS Weekly
— Published onAnnouncements
The next NixOS stable release will be 21.05.
Agenix is a command-line tool for managing secrets encrypted with your existing SSH keys. It includes a NixOS module, age, for adding encrypted secrets into the Nix store and decrypting them.
Tutorials
As the raspberry pi 4 is still not officially supported, this is a tutorial on how to get a base installation going if necessary without a screen.
Resources
Generate small texlive environments for your document.
Run unpatched dynamic binaries on NixOS.
Additional NixOS install images for Amazon (aarch64, x86_64), openstack and kexec.
Contribute to the NixOS Weekly
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#09 - NixOS Weekly
— Published onAnnouncements
A database and search engine for the entire history of each package at Nixpkgs.
The trust of who created binary cache contents comes from who owns the private signing key.
This approach has a number of disadvantages when it comes to lifecycle in teams, so API tokens are now the default way to manage write access.
Tutorials
Resources
Annotated code showing you how to automatically create searchable scans of all the documents you receive in the post.
Jobs
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#08 - NixOS Weekly
— Published onAnnouncements
Conference dates: Oct. 16th – 18th, 2020. Live streaming on 2020.nixcon.org
Help stabilize NixOS for the upcoming 20.09 Release
Based on your feedback there are two minor changes to how garbage collection behaves in Cachix.
Tutorials & Resources
An Emacs Lisp reader in Nix.
Nixify your DConf files (Gnome3 configuration) as expected by Home Manager's dconf settings.
A tool made to adopt Nix in your Python project, and to contribute to Nixpkgs with package definitions.
Demonstrates how we can combine Nix and Docker in unorthodox ways -- we can replace traditional Docker images for dependency management by a shared Nix store, use Docker as a backend for my experimental Nix process management framework and use Disnix as a simple orchestrator for Docker containers.
A fast Documentation Searcher for Nix. Its database consists of Nixpkgs Documentation, Nixpkgs Comments, Nixpkgs Tree (pkgs., pkgs.lib.), NixOS Options and Home-Manager Options.
Installing older versions of packages in Nix is easy but currently there is no official way to find out what revision has the package version that I need.
Monkeying around with nix for HPC systems which have no root access and NFS filesystems.
First preliminary release of bbb4nix, a way to run BigBlueButton on NixOS.
-
Working Through the Jepsen Tutorial with a NixOS Container Cluster
-
Developing Python with Poetry & Poetry2nix: Reproducible flexible Python environments
-
"Cloud-like" Infrastructure at Home - Part 1: LoadBalancers on the Metal
-
Assigning unique IDs to services in Disnix deployment models
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#07 - NixOS Weekly
— Published onAnnouncements
Nixpkgs now supports cross-compiling to the Redox operating system. The redoxpkgs overlay has been created to fix packages for Redox
Tutorials & Resources
What is nix-shell and how to use it.
WFVM automatically bootstraps a Windows image inside QEMU that you can use to run unit tests on Hydra for example.
NixOS-based Django deployment
Convert systemd service files to nixpkgs syntax
Explores the concepts behind Nix and Docker, explains in which ways they are different and similar, and shows some examples how both tools can be combined.
Atomic secret provisioning for NixOS based on sops.
An alternative solution (in-development) to convert a pom.xml file into a Nix expression to help package Maven applications within Nix.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#06 - NixOS Weekly
— Published onAnnouncements
Nearly every C++ file in the repo was touched! This will be the biggest PR, by far, for this project. Getting this in is a major feat!
Next up, I'm looking forward to finishing out this phase with showing the lines of code for errors, and supporting show-trace in the new format. I expect that PR to be much easier, both to make the changes and to review them.
-
RFC 70: Merge nixos-hardware into nixpkgs
Tutorials & Resources
An introduction to the Nix ecosystem and a collection of resources to get started.
Thorough overview of NixOS.
Introduction how to get started with Nix for development in teams.
Introduction for achieving reproducibility with Nix.
A few short notes what to avoid when writing Nix.
How Status.im, a messaging app, uses Nix to achieve the 'holy grail' of reproducible builds.
How nixpkgs links against macOS's system libraries.
Tutorial with step by step instructions for installing NixOS on tmpfs. Also an introduction to how
to have a usable /home
on tmpfs.
Jobs
Shopify is looking to grow a Nix team to continue its roll-out of Nix-based environments to development, CI, and production, across macOS and Linux.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#05 - NixOS Weekly
— Published onAnnouncements
-
- Long awaited support for macOS Catalina, see the manual
- A bunch of options to invoke installer (pass --help to see what's there)
- Various bugfixes to the installer
- MacOS sandboxing improvements
-
v9 saves you a bunch of time when bootstrapping Nix (you can even disable adding of channels)
- Linux: ~20s -> ~7s
- MacOS: ~90s -> ~20s
This is the first in a series of blog posts intended to provide a gentle introduction to flakes, a new Nix feature that improves reproducibility, composability and usability in the Nix ecosystem.
This blog post describes why flakes were introduced, and give a short tutorial on how to use them.
Tutorials & Resources
Over the past year and a bit, Shopify has been progressively rebuilding parts of our developer tooling with Nix.
Burke Libbey dives into explaining Nix before diving into what's planned for the future.
Have you ever been burned by forgetting to update a hash of a Fixed Output Derivation? Or realizing it hasn't worked since a while during an update?
This article explores your options at re-running fixed output derivation on input changes.
-
Learn NixOS by turning a Raspberry Pi into a Wireless Router
-
NixOS on a Raspberry Pi: creating a custom SD image with OpenSSH out of the box
A Mumble server has been provisioned for use by the Nix community. Feel free to lurk in the lobby or create your own channels for hosting meetings and discussions.
Join with nix run nixpkgs.mumble -c mumble mumble://$USER@mumble.nix-community.org
.
A tool to find all past versions of a package that were available in a channel, the revision you can download it from, and a copy-paste command for how to install it.
Showcase of Nix usage for various technologies.
-
NixKite: Buildkite pipeline generation tool using the NixOS module system
-
Deploying heterogeneous service-oriented systems locally with Disnix
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#04 - NixOS Weekly
— Published onAnnouncements
NixOS 20.03 “Markhor” had 1014 people contribute 21597 contributions.
Declarative Kiosk systems built with NixOS.
The marketing team was founded and had their few meetings. They already improved the website (see Learn page). If you want to join, you will find the details in the announcement post. Let's improve the presentation of Nix/NixOS!
A tool for updating nix packages semi-automatically
Tutorials & Resources
How simple nix-shell integration can really make an impact on developer productivity.
Graham talks about why and how he erases his systems on each boot.
A long report on building a web app with functional programming - Haskell, Elm and NixOS.
Jobs
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#03 - NixOS Weekly
— Published onnixbuild.net is nix build as a service, allowing you to easily run distributed builds without having to setup, scale and maintain build servers.
Crowdfunding campaign to fund a complete rework of error messages in Nix to improve beginner's experience and make working with the tooling pleasant.
contextflow is an award winning Vienna-based startup using AI on 3D medical images to improve radiology workflows. We are looking for a fulltime Senior DevOps and Backend Engineer (m/f) with NixOs experience.
nix-freeze-tree
is a utility that walks a directory tree, and writes out Nix expressions which
rebuild that tree. The generated expressions have two important properties:
a) Each file in the tree is built by a separate fixed-output derivation, and
b) Directories are built by derivations that symlink their contents recursively.
If you are using nix copy
to ship a derivation between nix stores, copying the derivation built
by evaluating the output of nix-freeze-tree
can reuse existing files in the destination store, as
fixed-output derivations can be checked against a hash before copying.
Christine talks about packaging Go and Elm application with Nix and publishing binaries to Cachix.
Christine talks about packaging and developing Rust with Nix.
- Nixpkgs reached 200,000 commits milestone
It took less than 3 years since previous 100,000 milestone
Yann talks about how to package Coq with Nix using a simple tutorial.
We want to try to use nix(pkgs) to build perfectly reproducible environments in a context where the users wouldn’t even be aware that nix is a thing that exists (unless, obviously, they want to know). This is in the context of a bioinformatics application, written in Haskell, but the nixpkgs integration can be done without writing Haskell code (NGLess)
Thomas has written a tutorial covering the problem that overlays are trying to solve, as well as how to use them.
made by @FRidh
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#02 - NixOS Weekly
— Published onA Rust rewrite of unmaintained nix-deploy. Any feedback appreciated!
Caching layer for nix-shell featuring instant startup time on subsequent runs. It supports NixOS and Linux.
An explanation of __structuredAttrs in stdenv and why enabling it would be desirable.
A small command-line tool and python library that makes bisecting nix builds much more convenient. It prevents common pitfalls in simple cases and saves a lot of time in more complicated ones.
Cachix infrastructure has been revamped to scale with recent growth in traffic.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#01 - NixOS Weekly
— Published onThe Nix Notes is a collection of short notes about Nix, each contributing to the same virtual machine image. The notes show how to deploy the image to Digital Ocean, update the running virtual machine without recreating it, and more.
The python az
package, has been added. Replacing the deprecated node azure
package.
Summary of lessons learned at NixCon 2019
Simple application VMs (hypervisor-based sandbox) based on Nix package manager.
The Final Comment Period for RFC 0046 has started with disposition to merge and, barring any blocking issues, will be merged after 2020-01-12. Your opinions, comments, and approvals are welcome!
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#14 - Hercules CI launch, performance improvements in nixpkgs, single dependency kubernetes clusters
— Published onAnnouncing general availability of continuous integration specialized for Nix projects.
Performance improvements, a bugfix to IFD and better onboarding experience.
Improving Nixpkgs setup by avoiding subshells in processing dependencies.
Trying out Nix on your aarch64 or i686 Android device is now easier than ever.
- Two big stdenv cleanups: Enable
__structuredAttrs
and treewide:set -u
everywhere
It's time to clean up stdenv! By making our code less fragile, we increase the budget for interesting features. There should be plenty of failures, but many of them independent so we can easily parallelize the work to fix. Please come pitch in!
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#13 - NixOS 19.09 release, cache.nixos.org improvements, github actions for Nix, a number of talks
— Published onKatharina explains her recently merged Open Container Initiative support in NixOS.
Vaibhav demonstrates how NixOps works by implementing a small deploy script from scratch.
Emacs installations for continuous integration
-
Strange Loop 2019: "Functional DevOps in a Dysfunctional World" by Vaibhav Sagar
-
All Systems Go!: "Purely Functional Package Management" by Franz Pletz
On 6th of September, Cachix experienced 3 hours of downtime.
We’d like to let you know exactly what happened and what measures we have taken to prevent such an event from happening in the future.
Start using GitHub Actions with Nix&Cachix with a simple snippet of YAML.
Hercules CI Agent can now be deployed with terraform with only a few steps.
The Final Comment Period for RFC 0052 has started and, barring any blocking issues, will be merged after 2019-10-18. Your opinions, comments, and approvals are welcome!
Building Docker images from Nix expressions in a Kubernetes cluster with the Tekton Pipeline project.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#12 - Mobile NixOS, import-from-derivation, one-page introduction, runtime type-checker, a job
— Published onVincent wrote a one-page introduction to Nix language, covering language features you'll most likely encounter from day one.
Using the boot.loader.grub.mirroredBoots
module to have redundant boots with an encrypted ZFS
mirror.
Serokell is looking for remote full-time Nix SREs.
Yants is a small runtime type-checker for Nix that can check primitives (int
, string
, etc.) ,
simple polymorphic types (option
, list
, attrs
), structs/records, enums, functions and more.
It features pattern matching for enum variants, pretty-printed function types and other niceties! Check out the link for screenshots.
Robin goes into the details of RFC process that Nix community established last year.
Vaibhav shows how to use Nix to package iHaskell into a docker container.
Samuel announced full-time involvement into NixOS mobile and the current state of the project.
Git hooks, packaged with Nix, enforced at development time and on a CI.
Matthew explains how to use multiple revisions of nixpkgs to mix stable vs. bleeding edge packages.
Hercules CI gained a crucial feature for development teams. The post goes into the detail how evaluation and realization phases work in Nix and why sometimes mixing the two makes sense.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#11 - Nixery, nixfmt and Cachix releases, NixCon 2019 tickets, a job and first impressions post
— Published on- nix is now easier to bootstrap on Linux distributions without previous nix installation.
Non-NixOS users are encouraged to try and report whether the improved autoconf checks make it easier to build it from source.
-
static-haskell-nix
started a crowd-funding on OpenCollective during ZuriHac to get its own dedicated Hetzner build server. Amazingly, the funding goal was reached within only 4 days! -
A big rework of the
gstreamer
package landed in nixpkgs with the upgrade to 1.16.
It also demonstrates how meson
-build-system-based projects can be configured to complain loudly about any missing dependencies, as opposed to silently disabling features (like many autoconf
based build systems do).
Upgrade via the usual: $ nix-env -iA cachix -f https://cachix.org/api/v1/install
Notable improvement is the default compression level which has been lowered to increase
bandwidth throughput and it's overridable via --compression-level
.
Preview access for the CI has been given to all subscribers as we've reached feature parity for the public launch.
Please try it out on your code and give us feedback!
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#10 - Redox on NixOS, ad-hoc container images, nix-mode.el, static site deploys, a job
— Published onAn attempt to embrace Nix instead of constantly working around the limitations to build Redox OS. The ultra optimistic long-term goal is to be a competing alternative to the GNU make build system the project currently uses, to make Redox builds reproducible and reliable.
made by @tazjin
EuAndreh goes through the journey of installing NixOS on their laptop.
Added support for the indentation function smie-indent-line
in
NixOS/nix-mode#79 &
NixOS/nix-mode#80.
Thanks to @j-piecuch and @matthewbauer for the work and testing.
For our Software Infrastructure team, which is responsible for our build, packaging, CI and deployment tooling. We’re using Nix to package our complex C++ and Python stack, and as part of our wider development environment for our fast-moving trading and research applications.
-
Complete overkill or exactly right? Deploying a static site using nix
-
Introducing nixpkgs-tungsten: The most convenient way to working with Tungsten Fabric
Tungsten Fabric is the open-source offering of Contrail by Juniper Networks - a powerful SDN solution used by many big names in the IT industry. The nixpkgs-tungsten project provides tools and workflows that make it much easier to work with, and on Tungsten Fabric itself.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#09 - autobake, setup.nix for Python, macOS stdenv updates, nixfmt, Elm tooling, gitignore and a job
— Published onAsko proposes a new Python development tool
Matthew's overview of recent stdenv updates, which also bumps minimal supported version to 10.12.
Serokell releases nixfmt 0.1 with a focus on speed and are looking for feedback.
Linux and macOS packages tooling for Elm: elm-test, elm-verify-examples, elm-analyse, elm-doc-preview
who will be responsible for maintaining and developing services such as build system, monitoring, name resolution, configuration management, and the like. Groq uses formal methods, Haskell, and NixOS to build processors.
-
- hercules-agent-0.2 release
- precise derivations support for upcoming multi-agent and multi-architecture support
- focus for next two weeks is Cachix and Darwin support
Robert announces gitignore that precisely emulates git behaviour and goes into details how it compares with existing solutions
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#08 - C++ packaging, NixCon 2019, job, cross-compile RPI, Haskell IDE Engine
— Published onJacek explans step by step how to package a simple C++ project and how to build against a matrix of different dependencies.
Please see this post or email travis@anduril.com for more information.
NixCon is happening again, if your company is using Nix in production, consider sponsoring our community event.
If you've ever been frustrated with mismatched GHC versions when using HIE, this project solves this by providing Nix builds for all of them, with caches for Linux.
Development update includes features and bug fixes shipped in last two weeks and shares plans what the focus is in next two weeks.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#07 - NixOS 19.03 release, IPFS, CI integrations and documentation feedback
— Published onThere might be progress on its Nix integration.
Alexandre shows us how to use Niklas' package set to compile Haskell packages statically using musl.
Michael walks us through the process of setting up Concourse CI on a NixOS machine.
Linus announces latest NixOS release, a total of over 20,000 commits since 18.09, by 886 contributors (67 more than for 18.09).
Dave shares his experience using NixOS and gives some feedback what can be improved by the community in the future w.r.t documentation.
Development update includes features and bug fixes shipped in last two weeks and shares plans what the focus is in next two weeks.
Garry shares a trick how to use packages from different channels. Useful when NixOS upgrade/update is blocked due to a broken package.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#06 - Lorri, tree parser and formatter, patchelf 0.10, NixML
— Published onlorri is based around fast direnv integration for robust CLI and editor integration.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#05 - Cachix private caches, Termux, Artwork for 19.03, a rant
— Published onYou can now share an unlimited number of binary caches in your group of developers, protected from public use with just a few clicks.
Alexander Sosedkin makes Nix on Android working on AARCH64. Inclusion upstream can be followed in the termux repo
Updated merchant report for the release
Rant from someone who got his hands to maintain NixOS in AWS. Some complaints are silly (like kernel upgrade), but some are good points.
Jobs
Recent IP development company is looking for someone with strong Nix skills to move the nix build infrastructure for our currently in-development mobile / web application to a CI/CD solution on AWS.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#04 - Static rootless Nix, SRE job, homebrew to Nix migration
— Published onSalar wrote a step-by-step tutorial how to migrate from homebrew to Nix.
Tired of manually configuring your CUPS printers every time you set up a new NixOS host? Please take a look and give it a try to see whether everything works with your setup!
Matthew shows how using statically linked Nix in a 5MB binary, one can use Nix without root. With an one-liner shell, you can use Nix to install any software on a Linux machine.
While the job description doesn't mention Nix (yet), we've been hinted it is a Nix job.
Wael wrote a step-by-step tutorial for deploying a static site (blog) using Hugo static generator.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#03 - Kubenix, kernel regressions and jobs
— Published onTry out NixOS, without having to even create a USB key.
Easily pin, update, and maintain remote dependencies for each of your Nix projects.
- The Pantheon desktop environment has been added to NixOS (on master)
It can be enabled with services.xserver.desktopManager.pantheon.enable
.
Regression in the linux kernel all together with backporting the issue into all stable kernels.
Setting up NixOS and Windows 10 on the Dell XPS 13 9370.
Zimbatm describes configuring Kubernetes using typed Nix wrappers to generate the Kubernetes YAML files. KubeNix automatically follows the API specification and validates your configuration entirely locally.
Status.im plans to migrate to Nix to manage its various packages and environments. Status.im looks to Nix for most of its usual advantages. Some of the provided examples are ensuring consistent development tools, and development/CI parity. They are also interested in Nixpkg's Linux and and macOS compatibility.
Jobs
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#02 - 19.03 feature freeze, EU grants, reproducibility, Nix in Debian
— Published on-
Nix is now available in Debian
The nixos-generators project allows to take the same NixOS configuration, and generate outputs for different target formats i.e. ISO, kexec tarballs, qemu's qcow2 format, google cloud images...
- Code archeology: 15 years ago Nix files had
.fix
extension.
Compare original MPlayer expression, it's first rewrite and modern view
by @samueldr aims to provide a one-click command solution to running a hydra instance for development purposes.
Matthew Bauer makes great recommendations on non-programming ways you can help make 19.03 the best NixOS release yet.
Grants are available to make your privacy-enhancing or search-and-discovery project.
Initial testing shows NixOS's minimal ISO image is already over 98% reproducible, thanks to the great effort of many contributors.
The repositories of distributions such as Debian and Nixpkgs are among the largest collections of open source (and some unfree) software. They are complex systems that connect and organize many interdependent packages. In this blog post we try to shed some light on them from the perspective of Nixpkgs, mostly with visualizations of its complete dependency.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#01 - TerraNix, Debian packaging, elm2nix, RaspberryPi 3+
— Published onA polite introduction to use nix-instantiate and the NixOS module system to render JSON.
Terraform is awesome, it would be much more awesome with a NixOS module system.
-
nix-env replacement for imperative package management, but with declarative core
-
nix-mode.el's alternate indentation function
nix-indent-line
has received some very needed indentation improvements in NixOS/nix-mode#61, and automated tests and Travis-CI support in NixOS/nix-mode#63 thanks to @etu and @matthewbauer. -
Beginners Guide for setting up NixOS on the RaspberryPi 3+ based on the new aarch64 SD-Image built by hydra
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#14 - Reproducible builds summit, Gnome 3.30, RFC process, linter, Arion
— Published on- Gnome 3.30 with wayland support has hit master
To launch a wayland session simply use GDM or SDDM and select the gnome
session. Select gnome-xorg
to run an X11 session. If you encounter a bug please cc @hedning on github.
- Fast Docker Compose 'deployments' for development with Arion
A little tool we use at Hercules CI for process supervision of local developer environments. No need to export, load or garbage collect Docker images!
FCP will end on Dec. 20, so go and check no important point has been left undiscussed!
A short demo of CI development progress in the last couple of weeks including what have we worked on.
Nix-linter is a program to check for several common mistakes or stylistic errors in Nix expressions, such as unused arguments, empty let blocks, etcetera.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#13 - Cross compilation for Go and Rust, home-manager email support
— Published on-
NixOS 19.03 will leverage multiple cores automatically by default for builds and Nix 2.2 will have the sandbox enabled by default on Linux
In the past few months, some work went into home-manager to abstract mail configuration and generate configs for a variety of client-side software. Declare your username/password once and generate configs for afew/alot/astroid/mbsync/offlineimap.
- Go cross-compilation landed in staging
This includes support for Cgo and buildGoPackage
.
Rust cross-compilation could follow soon.
-
RFC on improving RFC process
-
OfBorg now uses checks for build status reports, greatly reducing Nixpkgs reviewers' email load.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#12 - NixCon 2018 videos, Eris, NixDoc, Auto patching and jobs
— Published onBlogs
Jobs
Mercury is hiring a generalist engineer in SF. Mercury uses Nix for development, Hydra for CI, and runs on NixOS on AWS.
Call for participation
-
nixdoc to generate documentation for Nix library functions
NixOS/nixpkgs#49275 for the first generated documentation files and NixOS/nixpkgs#49383 for updated doc strings. Rendered example available here.
nix-gitignore tries to convert the fnmatch(3) strings in a .gitignore file to perl regexes valid in nix’s match. filterSourceGitignore opts for translation to nix boolean predicates instead and implements a subset of the gitignore logic as nix functions, aborting for unsupported parts.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#11 - NixOS 18.09 release, Fastly CDN for cache, your first Hydra
— Published onContribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#10 - AArch64 builders, NixOps alternative, optimised docker layers, Hercules CI
— Published onNews
Exploring Nix & Haskell Part 1: Project Setup
This is the first of a series of posts, with the overarching goal of building up a deterministic Haskell development environment using Nix, including a modern IDE experience and any tooling built-in.
krops as an alternative to NixOps
NixOps, the official DevOps tool of NixOS, is nice but it has some flaws. krops is an alternative to NixOps trying to solve some of these flaws.
Optimising Docker Layers for Better Caching with Nix
Check out how Graham created Nix tooling to automatically build Docker images with great cache characteristics by using Nix's reference graph to separate out important layers.
Announcing Hercules CI - Continuous Integration service for Nix users launching beta in November
- Some distinguishing features:
- Great integration with Nix
- Host build agents wherever you want
- Free plan for open source!
-
An explanation of how to setup an environment for reading and writing Japanese on NixOS
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#09 - NixCon 2018 program, macOS 10.14 Mojave support, Haskell and Python packaging tips
— Published onNews
Help make the Nix ecosystem's docs better
A lot of people meet DocBook for the first time when they're contributing to the documentation of older, well established open source projects like NixOS. Now there is https://docbook.rocks/ to help you get past the initial hurdle of "what do I do now?" I hope this helps!
A way to develop software with Nix
This project illustrates using the Nix package manager for programming heterogeneous, multi-module projects. Notably, it provides a Nix library called Pkgs-make to save some of the boilerplate we might have to write when using Nix for managing a software lifecycle. Pkgs-make currently directly supports Haskell and Python development, but has the potential to support other language platforms.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#08 - Nix 2.1, NixOS 18.09 beta, new installer bootloader
— Published onNews
#33686: New installer bootloader
Updates the bootloader, shedding one of the few remaining old logos, while also adding new features. Mainly, HiDPI options under a new sub-menu, allowing modesetting the console to a readable size!
RFC 32: Tweak the process of executing phases in the stdenv for better nix-shell UX
A proposal for making it easier to manually run phases of a build inside a nix-shell.
Bootstrap a zfs-on-root NixOS installation using only one command with Themelios
Themelios automates the entire installation process of a NixOS zfs-on-root system using any NixOS livedisk with an internet connection and your git repository. Themelios is flexible with many configuration options and allows for unique, per-machine customization.
-
Installer defaulting to single user, multi user support for Linux, constant memory streaming of NAR files and more.
-
Excellent opportunity to join the community get build failures down to zero.
-
A dive into what went wrong in recent ~2h downtime and steps taken to prevent it from happening again.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#07 - NixOS in production, nix-devel is now Discourse
— Published onNews
-
Gabriel Gonzalez shows how to do a remote nixos-rebuild switch while pinning nixpkgs
- The nix-devel mailing list is now replaced by our discourse.nixos.org forum instance which is also usable by email
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#06 - Formalizing review workflow, OfBorg update, String Context explanation
— Published onNews
-
Graham explores and benchmarks an AMD EPYC build server against a differently incredible build server, finding the EPYC's builds are much faster across the board.
Understanding Nix's String Context
Shea Levy explains what is String Context, how it's implemented in Nix and shares implications on the use of the language.
PostgreSQL packaging is getting an overhaul
Easier use of plugins, version 10 as default, improved documentation, LLVM JIT support and more.
-
Add pkgs.overrideWithScope. This function is similar to pkgs.override, except that it filters the arguments like callPackage does.
RFC: Use meta.tests to link from packages to the tests that test them
Aims to improve test discovery in nixpkgs.
Layered build function abstractions for building Nix packages
An elaborate blog post that composes the stdenv.mkDerivation {} abstraction function from scratch by using a layered approach.
-
Build time-outs, push-button deploys, monitoring transparency, and more.
RFC 30: Formalize review workflow
A proposal for a new review workflow based on a set of pull-request states (needs:review, needs:work). It is intended to help reviewers and contributors get PRs merged quicker and reduce likelihood of PRs getting lost. It also greatly increases the value of non-commiter reviews.
libnix-haskell 0.2.0.1 released
libnix provides a nicely typed wrapper around the nix command line (for parsing, instantiating and realizing). It also provides wrappers for the nix-prefetch-url and nix-prefetch-git.
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#05 - NixOS 18.09 preparations, incremental builds and other tooling
— Published onNews
NixOS 18.09 JellyFish to be forked off in a month
Whole Nix community would like to specifically call out a massive thank-you to vcunat and samueldr for being 18.09's release managers, an important and central role in each release. Thank you Vladimír and Samuel!
Snack incremental builds for Haskell is requesting feedback
nix-du: Visualise which gc-roots to delete to free some space in your nix store
nix-top: Tool which allows high-level monitoring of builds locally happening
Slides from the talk about Nix in Utrecht (recording to follow)
Job posting: Anduril Industries uses Haskell, Rust, C++, Nix and is hiring!
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#04 - NixCon2018, Nix Core Team, binary cache improvements
— Published onNixOS weekly project is rebooting, expect a newsletter every Wednesday in the morning (European timezone).
You're more than welcome to submit new items with a short description on latest pull request
Domen
News
Patreon to support the NixOS OfBorg infrastructure
This supports Graham's infrastructure costs for the OfBorg tooling.
Reading
Tooling
- terraform-provider-nixos: Terraform provider for NixOS and NixOps
- nix-bundle: Bundle Nix derivations to run anywhere!
- hocker: Utilities for interacting with the docker registry and generating nix build instructions
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#03 - A tree with strong roots ...
— Published onWelcome to another edition of NixOS "Weekly" Newsletter! Thank you to everyone who helped make this happen.
News
NixOS 18.03 release approaching
Mog has set up an unofficial redbubble store for various NixOS items (T-shirts, stickers, banners).
-
Workgroups are used to facilitate working on components of the Nix ecosystems. As of this writing there exists:
- container workgroup: "building (minimal) OCI containers from the nixpkgs ecosystem."
- router workgroup: running NixOS on your router.
Tracking RISC-V support in the Nix world
Note the followup message linking the publicly visible boards:
Patreon to support the NixOS OfBorg infrastructure
This supports @grhmc's work on the OfBorg tooling.
Jobs
Reading
- Deploying systems with circular dependencies using Disnix by Sander van der Burg
- Haskell developer experience in NixOS by Roman Kuznetsov
- XMonad and Taffybar on NixOS using Stack by Dennis Gosnell
- Install VirtualBox on NixOS by Dennis Gosnell
- Parity as a service on NixOS by Alexander Krupenkin
Tooling
- nix-update for Emacs - An Emacs command for updating fetch declarations in place
- simple-hydra - A simple module for enabling Hydra
- groking-hydra - A repository of collecting insight about hydra
- dhall-build - A Dhall interface to the Nix build system
- nix-update - A script to update package in nixos automagically
- Disnix - Disnix 0.8 released
Events / Meetups
- ComcastLabs Connect: Functional Programming
- When: March 9
- Where: Philadelphia PA, USA
- What: Among other functional programming topics, Susan Potter (@SusanPotter) is speaking on Functional Operations: Packaging, system/configuration building, and testing infrastructure with [Nix] lambdas
Contribute to NixOS Weekly Newsletter
This work would not be possible without the many contributions of the community.
You can help too! Create or comment on the pull request for the next edition or look at the issue tracker to add other improvements.
#02 - Life before death, strength before weakness, ...
— Published onWelcome to another edition of NixOS "Weekly" News -- we're still working on that weekly bit and I've half a mind to amend the quote to add "monthly before weekly".
Let me start by addressing everyone who helped put this edition together: By creating the content and helping collect items, you make the newsletter possible. Thank you.
Contributions for future editions are more than welcome. One way to help is by editing a release; we've added an Editor's Guide to help you.
There are some exciting things happening in the community, and I hope you'll agree.
News
-
This includes renaming Nix 1.12 to 2.0
Relevant are Eelco's slides fron NixCon and associated talk about the changes.
Google Summer of Code is coming up
...and looking for mentors. Please submit PRs at GSoC 2018 project ideas.
Reading
- Danial Barlow is developing NixWRT [1]
- Stackage nixpkgs overlays by Dmitry Bushev
- Syntax highlighting Nix expressions in mcedit by Sander van der Burg
- Diagnosing problems and running maintenance tasks in a network with services deployed by Disnix by Sander van der Burg
- OneDrive on NixOS using Docker by Nathan Bijnens
- (French) Journal le "style fonctionnel" en vidéos (Nix, NixOS, Haskell) (Video, Code) by nokomprendo
- Linux Distributions, Part 1: NixOS by Guillaume Salvan
- Introduction to NixOS by @hackoflamb
- Provisioning a NixOS server from macOS by zw3rk
- Installing NixOS by Andrew McCluskey
[1] | described as "won't be big or professional like OpenWRT" |
Tooling
-
A collection of NixOS modules covering hardware quirks.
The respository has been seeing a lot of work being done in last months leading by @yegortimoshenko (Yegor Timoshenko).
Check it out and contribute your own hardware-configuration.nix
-
A complete and Simple Nixos Mailserver
Contribute
You can help shape NixOS Weekly Newsletter too! Create or comment on the pull request for the next edition or loot at the issue tracker to add other improvements.
#01 - Phoenixes burst into flame ...
— Published onThe phoenix is a long-lived fiery bird that is present in many different mythologies from around the world. When a phoenix “dies”, it does so by combustion and is reborn of the ashes left behind. It rises from its own ashes, in the freshness of youth, to live through another cycle of years. So in a sense, it never truly dies, but regenerates itself and lives forever. Just like this weekly newsletter.
Welcome to the 2018 NixOS “Weekly” newsletter.
We are back and hope to produce more of them this year then we did last year. As always contributions are more then welcome. The more people help shape this newsletter the more accurate it will be.
News
NixCon 2017 In Munich
If you haven't heard there was a NixOS conference. It was a blast. You can read a short overview of the talks or go ahead and watch them.
Anybody knows where NixCon 2018 is going to be? :)
Reading
- Building Static Haskell Binaries with Nix
- Bypassing NPM's content addressable cache in Nix deployments and generating expressions from lock files
- Controlling a Hydra server from a Node.js application
- nixcloud-webservices-tests and nixcloud-webservices
- NixOS: The DOs and DON’Ts of nixpkgs overlays
- Creating custom object transformations with NiJS and PNDP
- Announcing fc-userscan
- Deploying PHP composer packages with the Nix package manager
- Share scripts that have dependencies with Nix
Tooling
- nix-diff - A small utility for comparing Nix derivations
- nix-delegate - A command-line utility that you can use to run a subcommand with distributed builds transiently enabled.
- nix-deploy - Deploy software or an entire NixOS system configuration to another NixOS system.
- nix-bash-completions - Bash completion for the Nix command line tools.
- nix-zsh-completions - ZSH completion for the Nix command line tools.
- fc-userscan - Scans directories containing manually compiled programs and registers them with the Nix garbage collector.
- elm2nix - Convert Elm project into Nix expressions.
- stack2nix - Generate nix expressions for Haskell projects.
- node2nix - New version providing initial support for NPM 5.x (that is included with Node.js 8.x)
- node-hydra-connector - New API/tool to integrate Node.js applications with the Hydra continuous integration service and a CLI tool that can be used to control a server.
- composer2nix - Generate Nix expressions to build PHP composer packages.
- mkShell - For nix-shell-only scenarios, mkShell is a small convenience function in nixpkgs.
Events / Meetups
January, 09, 2018 - Berlin, Germany
Contribute
You can help shape NixOS Weekly Newsletter too! Create or comment on the pull request for the next edition or loot at the issue tracker to add other improvements.
#08 - Not all those who wander are lost
— Published onWelcome to another edition of NixOS Weekly.
Major announcements include NixCon 2017 and the old wiki migration. This edition adds a new Tooling section for possibly useful Nix-related tools in addition to News, Jobs, Reading, and Events.
News
NixCon 2017 October 28-31, Munich.
Call for participation is open until July 31.
The Wiki is dead. Long live the Wikis!
This is the change that disable the wiki.
The old wiki has been for a while now with ongoing work on updating and migrating the content.
Current options are the Community Cookbook and the nixos-users Wiki. The latter is editable by anyone with a GitHub account.
Nix has a thankful community.
Profpatsch did some quick analysis of IRC messages. Summary:
Reading
Tooling
- pnix-shell.sh: creates gc-roots for all dependencies of a shell.nix.
- nix-package-search: cached queries for nix-env -qa.
- nix-zsh-completions: ZSH completions for Nix and NixOS tools.
- Auto install/run missing programs.
Events / Meetups
NixOps Meetup May 26, Munich
Topics: the NixOps container backend. Possible hackathon afterwards.
Editor's corner
This work would not be possible without the many contributions of the community.
You can help! Create or comment on the pull request for the next edition or help with the issue tracker to add other improvements.
#07 - You have one hell of a Linux system here
— Published onA few months ago a proposal to define improvements process (nixos/rfcs) was announced.
While many contributions to Nix and NixOS related projects fits into GitHub pull requests model, doing a substantial change requires more involvement from the community.
Two months later we can see that NixOS community is picking up on the process and RFCs are starting to show up each week.
News
First RFC to go through the process. What a milestone!
RFC 0004: Replace Unicode Quotes was voted to be implemented.
And there is a good list of interesting RFCs which are being discussed:
- (draft) RFC 0003: SOS: Simple Override Strategy
- (draft) RFC 0005: Nix encryption
- (draft) RFC 0008: Readonly recursive Nix
- (draft) RFC 0009: Nix rapid release
- (draft) RFC 0010: Nixpkgs development support
- (draft) RFC 0011: Per project config
- (draft) RFC 0012: Declarative virtual machines
-
A tool to make the process of finding the packages and their files in nixpkgs easier.
styx, a static site generator in Nix expression language.
To give it a quick try:
$ nix-shell -p styx $ styx new site mysite && cd mysite
NixOS at Linux Infotag Augsburg
Last week Linux Infotag Augsburg (“Linux Info Day”) happened at Hochschule Augsburg. Like last year and the year before, a NixOS booth was organized. A Short Retrospective by Profpatsch.
And in case you didn't know ...
Nix package manager works flawlessly in Windows 10 Creators Update with Windows Subsystem for Linux
Reading
Events / Meetups
Thu, May 4, 2017, regular Meetup @c-base, Berlin, Germany
Generally, the event is not structured, we have no talks or presentations planned. It's up to the participants, what's going to happen.
Editor's corner
Help us shape next issue of the NixOS weekly newsletter.
#06 - I never wished a man dead
— Published onOr in other words: no more Perl in Nix! Shea Levy's last branch for his long-ongoing work to remove Perl from the Nix tool has finally been merged
News
NixOS on Packet.net
Over the past several months, Graham Christensen (grahamc), Tuomas Tynkkynen (dezgeg), and many wonderful people from Packet.net have collaborated on bringing NixOS to Packet.net.
Our collaboratioon started in January with Packet sponsoring many Hydra build servers. It continued by bringing ARMv8 builders to hydra.nixos.org. It is continued again today by launching first-class support for NixOS on the Packet.net platform, directly from their panel.
...launching first-class support for NixOS...
This allows any user to quickly provision four different types of powerful, bare metal x86-64 servers in minutes.
Sign up now at https://www.packet.net/promo/nixos/
or use the promo code "nixos" for $25 in credit.
NixOS Security Advisory: Docker Local Privilege Escalation
This is a fun one because it is the first CVE taken against NixOS. A milestone!
At this point we also must thank @grahamc and the security team for their heroic efforts. Their work makes NixOS a more reliable solution.
To help them please head to Vulnerability Roundup 26.
New node2nix (v1.2.0) released.
Takt has open-sourced a tool to deploy their services from hydra.
New pypi2nix (v1.8.0) release.
Reading
- One Magic Line of Code that fixes Nix syntax highlighting in Vim
- NixOS Spring-Summer Collection 17 / NixOS, collection printemps-été 17
- Using Nix to manage multiple Ruby versions
- With alternative package management: Linux distribution NixOS 17.03 published / Mit alternativer Paketverwaltung: Linux-Distribution NixOS 17.03 erschienen
- Using NixOS (As Your Main Desktop OS
- Using Nix (NixOS) as a build system for Rust, and caching binary crates
- NixOS troubleshooting with git bisect
- Install NixOS on Vultr
Events / Meetups
Apr 22, 2017, Augsburger Linux-Infotag, Augsburg, Germany
The Augsburger Linux Infotag is a one-day conference with about 20 lectures and 9 workshops on Linux, open source software and the digital society. Admission is free. We are representing NixOS with a booth at the conference.
May 27, 2017, Reproducible development environments with Nix: Johannes Bornhold, Munich, Germany
Providing build and development environments for Python based projects is typically not without challenges. This talk presents how Nix - The Purely Functional Package Manager can be used to provide reproducible environments for development and deployment of Python based Web projects.
May 01, 2017, Munich NixOS Meetup - Hackathon & Barbecue, Augsburg, Germany
Bring the Nix project you are currently working on or struggling with and discuss it with other people. Followed by a barbecue in the evening.
Editor's corner
As you can see last weeks were quite busy for NixOS community. What does that mean in numbers for last month?

Source: https://github.com/NixOS/nixpkgs/pulse/monthly
Help us shape next issue of NixOS weekly newslettter.
#05 - Tonight We Ride
— Published onThe 17.03 "Gorilla" release has been tagged! There are too many good things in this release to pick favourites. I refer you to the release notes instead.
Some fun stats:
- ~ 900 new packages since 16.09
- ~ 80 new contributors (very inexact science this)
- ~ 60 new services
News
- Did I mention the release? Robin has been doing a fantastic job, thank him when you meet him! He's also had a lot of help of course, so thanks to all those people as well. It's a pretty long list and you can get it with "git shortlog 8def08..17.03".
- Extra capacity is coming for Hydra OSX builds, thanks to all the great people that have donated to NixOS Foundation.
- We now have an official RFC process. Thanks to zimbatm for writing our first ever RFC. We already have three pull requests so go forth and comment.
- remove-perl branch just got merged to master. Time to celebrate.
- Sander released Disnix 0.7
- Théophane has started his work on typing Nix. You can follow along here. He's also answering some questions in this mailing list thread.
Reading
- One long-standing issue in Nix has been the storage of secrets. Right now many of our services store their secrets in /nix where they are world readable. This means you can't have root-only secrets, multi-user systems are problematic, and if one of your services is compromised it can be used to steal all your other secrets. Eelco created an RFC for encrypting secrets at rest.
- Monte is a dynamic language inspired by Python and E. It uses Nix, under the hook, for its packaging. Worth checking out if you are writing a new languge and want to see how Nix help you.
- A Gentle Introduction to the Nix Family by Rommel Martinez.
Meetups
Apr 4, 2017, NixOS April Meetup, Dublin, Ireland
Two presentations:
- Immutable deployments in Rapid7 by Ulrich Dangel
- Basics of Nix by Kevin Cox
(Future) Let us know if you are organizing a Nix / NixOS event.
Editor's corner
A substantial part of the effort of publishing the "weekly" news is collecting the news in the first place. If you see anything cool, want to share a job, meetup or presentation add a comment with your item at https://github.com/NixOS/nixos-weekly. It's super helpful!
#04 - Everything not saved will be lost
— Published onNix, NixOS and nixpkgs are all moving ahead at good speed. The 17.03 milestone is more than 50% complete, and we merged 144 pull requests for nixpkgs just in the last seven days.
News
- The NixOS 17.03 beta has been announced.
- We now allow packages to be marked insecure, and you have to opt-in to install insecure packages similarly to how you opt in to non-free software. The option is called permittedInsecurePackages. See the updated docs for more.
- Robin finished the systemd 232 update which opens up several new opportunities for hardening. It will also allow us to move away from hard-coded user IDs for less important services. Just use DynamicUser = true.
- Thanks to Graham we now have aarch64 support, and it's even being built by Hydra! Many of you will have noticed already from the beautiful stream of emails for each succeeding and failing package.
- Progress on the proposal for RFC which started from a FOSDEM discussion.
- Move NodeJS to separate overlay repository? (discussion)
Reading
From Vagrant to NixOps by Hendrik Schaeidt
A walkthrough to configure a symfony2 project with nginx, mysql, and php-fpm from scratch.
Presentations
- Eric Sagnes gave an introductory NixOS talk in Japanese. The slides are here.
- Maksim Bronsky presented Vulnix at Chemnitzer Linux-Tage. The slides (PDF download, DE only) are in the repository.
- Lenko Donchev gave a lightning talk "NixOS the purely functional Linux distribution". The slides are available online.
- John Wiegley gave a presentation "How I use nix for Haskell development" at the Bay Area Nix/NixOS User Group. Video available.
Meetups
Mar 24, 2017, Tokyo NixOS Meetup, Tokyo, Japan
My Japanese isn't good enough to figure out the speaker, but if you live in Japan you should go!
Mar 29, 2017, Munich NixOS Meetup at OpenLab Augsburg, Augsburg, Germany
John Darrington will give a talk about guix and guixSD, a package manager and a Linux distribution which are based on similar concepts as nix/NixOS.
The talk will be in English.
Meetups that just happened
Feb 24–26, 2017, HackIllinois, University of Illinois, USA
For any university students in the US, the University of Illinois at Urbana-Champaign is holding a hackathon oriented towards getting people into open source development, and I'm going to be mentoring people for Nix/NixOS/Haskell development. Be sure to put "NixOS" or "Haskell" into your application somewhere.
- Feb 25, 2017, Amsterdam Nix Meetup at Container Solutions, Amsterdam, Netherlands
Mar 02, 2017, Bay Area Nix/NixOS User Group at Takt, San Francisco, USA
See the presentation about using Nix for Haskell development above.
Mar 12, 2017, London NixOS User Group at Smarkets, London, UK
Smarkets kindly offered us a space for our second community hackday!
There will be talking, pizzas and lots of packaging going on. Bring your own projects or just tag along and help other people out. Whether you have some software that you'd like to see packaged or questions about how everything fits together, there will be people available to help you.
Questions
Jobs
Looking for some Nix developers? Let us help you.
- The Blue Brain Project recruit and is looking for someone with packaging, NixOS / Nix packaging knowledges and with a software engineering background. If any of you might be interested : http://emploi.epfl.ch/page-142376-en.html, The job is in Switzerland, Geneva, Swiss salary and Work visa granted for EU citizen if recruited.
Editor's corner
First time run for me to take care as the editor for an edition of NixOS Weekly. It has been fantastic to see a few people spontaneously helping out to make it happen after a call for help from Rok.
Contributions are easy: Send a pull request to the repository or comment on the open issue for the next edition by providing a hint regarding a presentation, an event, a relevant change or discussion.
#03 - Better Late Than Never
— Published onAnother two weeks have passed and it is time for our summary.
A new section Questions was added to the newsletter. The intention for this new section is that it is going to expose some of the questions that happen in the past. We hope that none of the questions will be left unanswered.
Sometimes we forget just how awesome Nix / NixOS is and we take its capabilities for granted. It is important that we remind ourself from time to time why are we using it, via reddit - In Love:
Just thought I'd share a compliment, switched from Arch, this thing is beautiful. Installing low level packages, configuration files, it all works so well.
Only issues are documentation (which I can see is being worked on and solved, albeit with limited manpower), and that some packages don't seem to work well with the package manager, but that's fixable over time.
But it's great for what it is, easy to get running, but still fully customization.
News
Important date: 27. Feb 2017 a branch-off for next NixOS release, 17.03 (Gorilla), is going to happen
This means you have few more days to land your change to nixpkgs master if you want them to be a part of Gorilla.
You can also follow the 17.03 milestone.
Assistance Required for Vulnerability Roundups
Since last newsletter 2 Vulnerability Roundup happen: 21, 22.
Graham Christensen is doing an amazing work coordinating the effort of a security team and also doing a big chunk of the work. Recently he asked for help and let us make sure he gets some helping hand, or two, three, ...
We can all recognize that The work the security team is doing is of a great importance, since that makes it possible for the rest community to use NixOS in more production environments.
At FOSDEM a very spontaneous NixOS discussion panel happen. As a follow-up @zimbatm created an initial proposal for RFC.
Having a more formal proposal how we work together and how bigger changes are discussed is a step towards mature Linux distribution. Having NixOS already reached this state is an impressive achievement.
- Feedback requested: Feedback on workshop material
- Feedback requested: Better firewalling in NixOS
- Feedback requested: "Monitoring" NixOS?
Release: vagrant-nixos-plugin released v0.2.1, now with --show-trace support.
Add basic nix configuration provisioning for NixOS guests in Vagrant.
Release: docker-nix-builder beta.
Did you ever have to battle with a user that only wants to have Docker installed on his system? Or a user that is developing on macOS and has broken nix packages?
docker-nix-builder is a tool to help smooth the transition. Instead of using nix to build the project, use Docker to run nix to build the project. At the end the users gets a new Docker container that only (mostly) contains the build result.
Release: Bundle Nix derivations to run anywhere, nix-bundle
nix-bundle is a way to package Nix attributes into single-file executables. Benefits: Single-file output, Can be run by non-root users, No runtime, Distro agnostic, Completely portable, No installation
Reading
Presentations
- Last month's talk on Nix and NixOS from the Louisville Haskell Meetup.
- NixOS - Les infrastructures immuables et la configuration déclarative by David Sferruzza
Meetups
Feb 24–26, 2017, HackIllinois, University of Illinois, USA
For any university students in the US, the University of Illinois at Urbana-Champaign is holding a hackathon oriented towards getting people into open source development, and I'm going to be mentoring people for Nix/NixOS/Haskell development. Be sure to put "NixOS" or "Haskell" into your application somewhere.
- Feb 25, 2017, Amsterdam Nix Meetup at Container Solutions, Amsterdam, Netherlands
Mar 22, 2017, Munich NixOS Meetup at OpenLab Augsburg, Augsburg, Germany
John Darrington will give a talk about guix and guixSD, a package manager and a Linux distribution which are based on similar concepts as nix/NixOS.
The talk will be in English.
Meetups that just happened
- Feb 18, 2017, Berlin NixOS Meetup at Schnee von morgen, Berlin, Germany
- Feb 09, 2017, NixOS: Functional Packaging For The Win by Tobias Pflug at Wasserturm Stromeyersdorf, Konstanz, Germany
Questions
Jobs
Looking for some Nix developers? Let us help you.
Smarkets, London, United Kingdom
We are looking for Infra team lead and Infra engineer.
The jobs are not a Nix jobs per se since we are not using Nix at the moment. However, internally few of us are interested in trying it for e.g. building AMIs or provisioning docker containers with (mostly) python software. We think some strong candidate with experience of using Nix in production would have a good chance of seeing some adoption here.
Editor's corner
As you also probably noticed, this newsletter is coming out 2 days late. I am trying to get it out in time, but life happens also. If you would like to help release weekly newsletter please contact me.
#02 - Here we go
— Published onLet us together review what happened in NixOS community in last 2 weeks. We are always looking to improve.
Let us know how we can do better.
News
- Many of you are not aware, but you can easily subscribe and help triage tickets and pull requests in NixOS/nixpkgs repository.
- Branch-Off and Release Timeline for NixOS 17.03.
- Hydra Building PRs discussion with a follow-up discussion. The service is merging with hydra.nixos.org.
- Nixpkgs Overlays pull request proposed by Nicolas B. Pierron got merged (more discussion).
Meetups
- Feb 18, 2017, Berlin NixOS Meetup at Schnee von morgen, Berlin, Germany
Feb 09, 2017, NixOS: Functional Packaging For The Win by Tobias Pflug at Wasserturm Stromeyersdorf, Konstanz, Germany
Some of you might have heard about NixOS and its very different approach to a package and configuration management. While I am certainly not an expert with Nix myself I did tinker with it for a bit and I think it's awesome. I would like to give you an idea of the concepts, possibilities and maybe spark some interest.
Feb 24–26, 2017, HackIllinois, University of Illinois, USA
For any university students in the US, the University of Illinois at Urbana-Champaign is holding a hackathon oriented towards getting people into open source development, and I'm going to be mentoring people for Nix/NixOS/Haskell development. Be sure to put "NixOS" or "Haskell" into your application somewhere.
- Feb 25, 2017, Amsterdam Nix Meetup at Container Solutions, Amsterdam, Netherlands
Meetups that just happened
- Feb 03, 2017, Nix and Beyond: Pure Functional Package Management at Louisville Haskell Meetup, Louisville, USA
- Jan 24, 2017, London NixOS User Group at CodeNode, London, UK
Reading
Presentations
- Nix at Mozilla (login required) by Rok Garbas
- NYLUG Presents: Charles Strahan -on- Introduction to NixOS
- Erlang Factory SF 2016: Erlang On NixOS - Managing And Releasing Erlang Systems In The Cloud With A Fully Declarative Package Manager presented by Eric Merritt
Jobs
Smarkets, London, United Kingdom
We are looking for Infra team lead and Infra engineer.
The jobs are not a Nix jobs per se since we are not using Nix at the moment. However, internally few of us are interested in trying it for e.g. building AMIs or provisioning docker containers with (mostly) python software. We think some strong candidate with experience of using Nix in production would have a good chance of seeing some adoption here.
Write us if you are looking for some Nix developers.
Editor's corner
Lately, I was thinking about the structure of this newsletter and noticed that it is quite advance Nix oriented. Would a section where we would promote questions from reddit / stack overflow be of any help to newcomers? Let me know.
#01 - We need to start somewhere
— Published onWelcome to the first edition of NixOS weekly. We will do our best to release this newsletter every second week. If there is something you think we could improve, please let us know.
News
- NixOS 17.03 release manager is Robin Gloster. Thank you and we are looking to help you get 17.03 out of the door.
- Typing nix − funding campaign: Help Théophane Hufschmitt get his internship funded.
Meetups
- Jan 24, 2017, London NixOS User Group at CodeNode, London, UK
- Feb 25, 2017, Amsterdam Nix Meetup at Container Solutions, Amsterdam, Netherlands
- Feb 18, 2017, Berlin NixOS Meetup at schnee von morgen, Berlin, Germany
Meetups that just happened:
- Jan 19, 2017, Tokyo NixOS Meetup at Fujisan.co.jp, Tokyo, Japan
- Jan 17, 2017, NixOS Dublin Meetup at Workday, Dublin, Ireland
Reading
Presentations
Jobs
Write us if you are looking for some Nix developers.
Editor's corner
Since this is first edition it is not perfect, but eventually we will get there. You can help us as well.