nixpkgs/doc/outline.txt

159 lines
2 KiB
Text
Raw Normal View History

- The standard environment
(Some of this can be moved from the Nix manual)
- Special attributes
- Generic builder
- Helper functions
- GCC / ld wrapper (+ env vars)
- Phases (+ how to add phases) and hooks
- Override functions for stdenv
- Overriding GCC
- Overriding the setup script
- Predefined override functions in all-packages.nix: static binary
stdenv, dietlibc stdenv
- Stdenv bootstrap; how to update the Linux bootstrap binaries
- Specific platform notes (Linux, Native, Cygwin, Mingw)
- Support for specific languages
- Perl
- Generic Perl builder
- Python
- Wrapper generation
- Haskell
- TODO
- Java
- TODO; Java needs lots of improvement
- TeX/LaTeX
- Special support for building TeX documents
- Special kinds of applications
- OpenGL apps
- Binary-only apps
- Linux kernel modules
- Mozilla plugins/extensions
- X apps
- KDE apps
- GConf-based apps
- Programs that need wrappers
- makeWrapper etc.
- Initial ramdisks
- Library functions
- i.e. in lib/default.nix
- Specific package notes
- Linux kernel; how to update; feature tests
- X.org; how to update
- Gnome; how to update
- GCC?
- GHC?
- ...
- Meta attributes
- License attr; possible values
- Virtual machine support (for the build farm)
- vmtools
- KVM notes
- Performing a build in a VM
- In the host FS
- In a disk image
- RPM builds
- RPM image creation
- Deb builds
- Deb image creation
- Debugging VM builds
- Guidelines for Nixpkgs contributions
- File naming conventions
- Versioning of packages
- Tree organisation
- Variable naming
- Layout / indentations style
- Output FS hierarchy (e.g. $out/share/man instead of $out/man)
- Misc
- Building outside of the Nixpkgs tree
- Config options
- Downloading stuff
- fetchurl
- mirror:// scheme
- fetchsvn
- fetchcvs
- fetchdarcs
- Appendix: Nixpkgs config options