This project, Nix-project, assists the setup of other projects with the Nix package manager leaning on flakes, an experimental Nix feature.
Specifically, this project helps
- scaffold new projects
- maintain dependencies, which may mix different language ecosystems
- generate Github-oriented documentation with evaluated code blocks
- build and distribute packages, binary or otherwise.
There's not a lot of code in Nix-project. Most of the work is done by Nix and third-party libraries. If you scaffolded a new project and removed the dependency on Nix-project, then you'd have a project set up using Nix with recommended practices.
This source's doc directory provides a variety of documents to not only help you use this project, but also to get an introduction to the Nix ecosystem.
Among other benefits, Nix gives us an incredible amount of control and repeatability of our software projects. If you don't know much about Nix, consider reading the following provided guides:
- Introduction to Nix and motivations to use it
- Nix installation and configuration guide
- Nix end-user guide
- Introduction to the Nix programming language
If you know something about Nix, then these documents will help you get started using this project:
The "main" branch of the GitHub repository has the latest released version of this code. There is currently no commitment to either forward or backward compatibility.
"user/shajra" branches are personal branches that may be force-pushed. The "main" branch should not experience force-pushes and is recommended for general use.
All files in this "nix-project" project are licensed under the terms of GPLv3 or (at your option) any later version.
Please see the ./COPYING.md file for more details.
Feel free to file issues and submit pull requests with GitHub.
There is only one author to date, so the following copyright covers all files in this project:
Copyright © 2019 Sukant Hajra