
Update to latest stable version. Changes: d0f0f048ec sd-path: use ROOTPREFIX without suffixed slash e662cf6d51 hashmap: make sure to initialize shared hash key atomically da310c6b45 socket: downgrade log warnings about inability to set socket buffer sizes ab6fcd9135 core: fix securebits setting 4f6925484d capability-util: add new function for raising setpcap 771436884d network: do not add prefix to RA if radv is not configured fb2afc5f30 man: document the random delay of persistent timers b2006ddc8f test-network: add test for ENOBUFS issue #17012 8758580ef5 backlight: do not claim that ID_BACKLIGHT_CLAMP= property is not set 57fc184a6c fs-util,tmpfiles: fix error handling of fchmod_opath() db0f031e70 bootctl: don't accidentally propagate errors in "bootctl status" 3e2c806681 ethtool-util: don't pass error value that isn't used to log_syntax b671730edb network: don't fail on various config parse errors 0ad86030c5 man: document that sd_bus_message_close_container() may only be called at end of container f3da018017 cryptsetup: Fix null pointer dereference (#16987) 6f65eaf9c2 core: fix set keep caps for ambient capabilities 08338a234e core: fix comments on ambient capabilities f0e6d9876d network: make log_link_error() or friends return void 35766dc61b core: make log_unit_error() or friends return void 3ed10b2ee8 core/slice: explicitly specify return value 2f6406914b udev: do not discard const qualifier 07671aa4cc sd-device: make log_device_error() or friends return void d4bea73972 udev: explicitly specify return value 7db399be1e udev: return negative errno for invalid EVDEV_ABS_XXX= property 8c8d188e85 udev: make log_rule_error() or friends return void 4921375fd3 socket: fix copy/paste error 0f7fd97749 udev: warn if failed to set buffer size for device monitor fc763d38d8 network: increase receive buffer size for device monitor 3bf7797f1f network: do not start device monitor if /sys is read-only ebc0729c6a network: honor the buffer size specified in networkd.socket ef3d2e178b core/socket: use fd_set_{rcv,snd}buf() 5dd4cc4b10 sd-device-monitor: use fd_set_rcvbuf() fe9b92e566 util: introduce fd_set_{snd,rcv}buf() 4dcae66688 util: try to set with SO_{RCV,SND}BUFFORCE when requested size is larger than the kernel limit 4b6b523946 util: refuse to set too large value for socket buffer size b4be8edb45 network: ignore error on increasing netlink receive buffer size 5ce47fb491 tree-wide: if get_block_device() returns zero devno, check for it in all cases 8ea6ec18e7 btrfs: if BTRFS_IOC_DEV_INFO returns /dev/root generate a friendly error message e1ff4947d2 basic/log: make log_{info,warning,...} return void 8019995e9a tree-wide: correct cases where return log_{error,warning} is used without value 932f4c3e8b test-execute/exec-dynamicuser-statedir.service: fix quoting 16b9426f70 man: fix quickhelp listing in sysusers.d(5) bde903d9e9 network: fix NDisc handling for the case when multiple routers exist c965063b64 network: expose route_{hash,compare}_func() 6d24a40669 network: expose address_{hash,compare}_func() 054838a2e0 util: expose in6_addr_{hash,compare}_func() 58bd4a70de network: fixes gateway assignment through DHCPv4 8ad5382fe3 bash-completion: resolvectl: support 'log-level' command a98bd75072 resolvectl: add 'log-level' to help message 78262fe807 core/socket: we may get ENOTCONN from socket_instantiate_service() fecb3f00c4 homed: remember the secret even when the for_state is FIXATING_FOR_ACQUIRE
Nixpkgs is a collection of over 40,000 software packages that can be installed with the Nix package manager. It also implements NixOS, a purely-functional Linux distribution.
Manuals
- NixOS Manual - how to install, configure, and maintain a purely-functional Linux distribution
- Nixpkgs Manual - contributing to Nixpkgs and using programming-language-specific Nix expressions
- Nix Package Manager Manual - how to write Nix expressions (programs), and how to use Nix command line tools
Community
- Discourse Forum
- IRC - #nixos on freenode.net
- NixOS Weekly
- Community-maintained wiki
- Community-maintained list of ways to get in touch (Discord, Matrix, Telegram, other IRC channels, etc.)
Other Project Repositories
The sources of all official Nix-related projects are in the NixOS organization on GitHub. Here are some of the main ones:
- Nix - the purely functional package manager
- NixOps - the tool to remotely deploy NixOS machines
- nixos-hardware - NixOS profiles to optimize settings for different hardware
- Nix RFCs - the formal process for making substantial changes to the community
- NixOS homepage - the NixOS.org website
- hydra - our continuous integration system
- NixOS Artwork - NixOS artwork
Continuous Integration and Distribution
Nixpkgs and NixOS are built and tested by our continuous integration system, Hydra.
- Continuous package builds for unstable/master
- Continuous package builds for the NixOS 20.03 release
- Tests for unstable/master
- Tests for the NixOS 20.03 release
Artifacts successfully built with Hydra are published to cache at https://cache.nixos.org/. When successful build and test criteria are met, the Nixpkgs expressions are distributed via Nix channels.
Contributing
Nixpkgs is among the most active projects on GitHub. While thousands of open issues and pull requests might seem a lot at first, it helps consider it in the context of the scope of the project. Nixpkgs describes how to build over 40,000 pieces of software and implements a Linux distribution. The GitHub Insights page gives a sense of the project activity.
Community contributions are always welcome through GitHub Issues and Pull Requests. When pull requests are made, our tooling automation bot, OfBorg will perform various checks to help ensure expression quality.
The Nixpkgs maintainers are people who have assigned themselves to maintain specific individual packages. We encourage people who care about a package to assign themselves as a maintainer. When a pull request is made against a package, OfBorg will notify the appropriate maintainer(s). The Nixpkgs committers are people who have been given permission to merge.
Most contributions are based on and merged into these branches:
master
is the main branch where all small contributions gostaging
is branched from master, changes that have a big impact on Hydra builds go to this branchstaging-next
is branched from staging and only fixes to stabilize and security fixes with a big impact on Hydra builds should be contributed to this branch. This branch is merged into master when deemed of sufficiently high quality
For more information about contributing to the project, please visit the contributing page.
Donations
The infrastructure for NixOS and related projects is maintained by a nonprofit organization, the NixOS Foundation. To ensure the continuity and expansion of the NixOS infrastructure, we are looking for donations to our organization.
You can donate to the NixOS foundation by using Open Collective:
License
Nixpkgs is licensed under the MIT License.
Note: MIT license does not apply to the packages built by Nixpkgs, merely to the files in this repository (the Nix expressions, build scripts, NixOS modules, etc.). It also might not apply to patches included in Nixpkgs, which may be derivative works of the packages to which they apply. The aforementioned artifacts are all covered by the licenses of the respective packages.