nixos-and-flakes-book/docs/advanced-topics/index.md

29 lines
2.4 KiB
Markdown
Raw Normal View History

2023-06-30 09:00:03 +00:00
# Advanced Topics
2023-06-28 08:53:32 +00:00
Once you're familiar with NixOS, you can explore Nix's three manuals and other documentation to discover more ways to use it:
2023-06-28 08:53:32 +00:00
- [Nix Reference Manual](https://nixos.org/manual/nix/stable/package-management/profiles.html): A guide to the Nix package manager, which covers the design of the package manager and instructions for using it from the command line.
- [nixpkgs Manual](https://nixos.org/manual/nixpkgs/unstable/): A manual that introduces parameters of Nixpkgs, how to use, modify, and package Nix packages.
2023-06-28 08:53:32 +00:00
- [NixOS Manual](https://nixos.org/manual/nixos/unstable/): A user manual for NixOS, which includes configuration instructions for system-level components such as Wayland/X11 and GPU.
- [nix-pills](https://nixos.org/guides/nix-pills): Nix Pills provides an in-depth explanation of how to use Nix to build software packages. It is written in a clear and understandable way and is worth reading, as it is also sufficiently in-depth.
2023-06-28 08:53:32 +00:00
Once you're familiar with Flakes, you may want to explore some advanced techniques. Here are some popular community projects to try out:
- [flake-parts](https://github.com/hercules-ci/flake-parts): This project simplifies the writing and maintenance of configuration through the Module module system.
- [flake-utils-plus](https://github.com/gytis-ivaskevicius/flake-utils-plus): A third-party package that simplifies Flake configuration and is known to be more powerful.
- [digga][digga]: A comprehensive Flake template that combines the functionality of various useful Nix toolkits. However, it has a complex structure and requires some experience to navigate.
- etc.
2023-06-28 08:53:32 +00:00
There are many other useful community projects to explore. Here are a few examples:
- [nixpak](https://github.com/nixpak/nixpak)
- [nix-output-monitor](https://github.com/maralorn/nix-output-monitor)
2023-06-28 08:53:32 +00:00
- [agenix](https://github.com/ryantm/agenix): A tool for secrets management
- [colmena](https://github.com/zhaofengli/colmena): Tools for NixOS deployment
- [nixos-generator](https://github.com/nix-community/nixos-generators): A tool to generate iso/qcow2/... from NixOS configuration
- [lanzaboote](https://github.com/nix-community/lanzaboote): A tool to enable secure boot for NixOS
- [impermanence](https://github.com/nix-community/impermanence): A tool used to make NixOS stateless and improve the reproducibility of NixOS systems.
- ...
2023-06-23 14:41:34 +00:00
[digga]: https://github.com/divnix/digga