Welcome to the -un-official GitHub repositories for Nix and NixOS! This collection serves as a central hub for the core source code, documentation, and issue trackers related to Nix and NixOS. Whether you're a seasoned user or just getting started, this is the place to explore and contribute to the development of Nix and NixOS.
1. Nix
The Nix repository houses the source code for the Nix package manager. Here, you can find the core functionality, command-line tools, and libraries that make up the Nix ecosystem. It provides powerful package management capabilities, focusing on reproducibility, atomicity, and isolation.
2. NixOS
NixOS is a Linux distribution built entirely on the Nix package manager. This repository contains the Nixpkgs collection, which consists of thousands of package definitions for various software applications, libraries, and development tools. NixOS emphasizes declarative system configuration, enabling users to define their entire system state in a reproducible manner.
3. NixOps
NixOps is a tool built on top of Nix that allows for the deployment and management of infrastructure and services across multiple machines or cloud providers. It provides a declarative approach to infrastructure management, enabling reproducible and scalable deployments.
4. Nixpkgs
Nixpkgs is a large collection of package definitions that are used by Nix to build and install software. It contains thousands of packages and is continuously maintained and updated by the Nix community. This repository serves as a central location for maintaining and contributing to the package ecosystem.
5. Nix Pills
Nix Pills is a tutorial series that aims to teach users about Nix and its concepts through practical examples and explanations. It covers various topics, from basic package management to advanced Nix features. The repository provides a wealth of learning resources for users of all levels.
Nix Flake Templates is a repository that offers project templates and examples for working with Nix flakes. It provides a starting point for creating Nix Flake-based projects and includes pre-configured directory structures and build setups to kickstart Nix Flake development.
7. Nix Manual
The Nix Manual repository contains the official documentation for Nix. It provides an in-depth guide to using and understanding Nix, covering topics such as package management, language features, and configuration.
Discover additional repositories that provide collections of Nix packages and overlays:
-
NUR: The Nix User Repository (NUR) is a community-driven collection of Nix packages and overlays. It offers a wide range of user-contributed packages that can be easily integrated into your Nix environment.
-
Home Manager: Home Manager provides a convenient way to manage your user configuration files and packages in Nix. It allows you to define and deploy your personal environment across multiple machines.
-
Nixpkgs-mozilla: Nixpkgs-mozilla is a repository maintained by Mozilla that offers Nix packages and overlays for Mozilla-related projects and software, including Firefox, Gecko, and other Mozilla components.
-
Nixpkgs-fmt: Nixpkgs-fmt provides a formatting tool for Nix expressions, allowing you to maintain consistent and readable code across your Nix projects.
-
Nixpkgs-update: Nixpkgs-update is a tool that helps automate the process of updating packages in Nixpkgs. It assists with identifying and applying updates to keep your Nix environment up to date.
These repositories expand the available packages and configurations for Nix, enabling you to customize and extend your Nix environment.
If you're new to Nix or NixOS, we recommend starting with the following resources:
- Official Nix documentation: Explore comprehensive documentation covering installation, usage, and advanced topics related to Nix and NixOS.
- NixOS Wiki: A community-driven wiki featuring a wealth of knowledge, tutorials, and configuration examples for NixOS.
We welcome contributions from the community to improve and expand Nix and NixOS. If you'd like to get involved, here's how you can contribute:
- Report Issues: If you encounter a bug or have a feature request, please submit an issue on the respective repository's issue tracker.
- Submit Pull Requests: Feel free to contribute code, documentation, or fixes by opening pull requests against the appropriate repository.
- Participate in Discussions: Engage with the community on forums, mailing lists, or chat platforms to share ideas, ask questions, and provide support.
For more details on how to contribute, please refer to the individual repository's contribution guidelines.
Stay connected with the Nix and NixOS community through various channels:
- NixOS Discourse: Join discussions, ask questions, and share your experiences with the community.
- IRC Channels: Interact in real-time with other Nix and NixOS users on the
#nixos
and#nix
channels on Freenode.
The repositories in the Nix and NixOS organizations are open source and distributed under the MIT license. Feel free to review, use, and contribute to the codebase.
We hope you find these repositories valuable and enjoy your journey exploring and contributing to the Nix and NixOS ecosystem. Happy hacking!