mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-17 18:34:41 +00:00
deec2fbb21
svn path=/nixpkgs/trunk/; revision=485 |
||
---|---|---|
.. | ||
applications/version-management/subversion | ||
build-support/fetchurl | ||
development | ||
os-specific/linux/kernel-headers | ||
servers | ||
shells/bash | ||
stdenv | ||
system | ||
tools | ||
README |
* Classification scheme for packages - many packages fall under several categories; what matters is the *primary* purpose of a package. For example, the libxml2 package builds both a library and some tools; but it's a library foremost, so it goes under ./development/libraries. - when in doubt, refactor. IF it's used to support SOFTWARE DEVELOPMENT: IF it's a LIBRARY used by other packages: ./development/libraries (e.g., libxml2) ELSE IF it's a COMPILER: ./development/compilers (e.g., gcc) ELSE IF it's an INTERPRETER: ./development/interpreters ELSE IF it's a development TOOL (or set of): IF it's a PARSER GENERATOR (incl. lexers): ./development/tools/parsing (e.g., bison, flex) ELSE IF it's a BUILD MANAGER: ./development/tools/build-managers (e.g., gnumake ELSE ./development/tools/misc (e.g., binutils) ELSE ./development/misc ELSE IF it's a TOOL (or set of): # a tool is a relatively *small* program, esp. one intented to be # used non-interactively IF it's for NETWORKING: ./tools/networking (e.g., wget) ELSE IF it's for TEXT PROCESSING: ./tools/text (e.g., diffutils) ELSE IF it's a SYSTEM utility, i.e., something related or essential to the operation of a system: ./tools/system (e.g., init) ELSE IF it's an ARCHIVER (which may include a compression function): ./tools/archivers (e.g., zip, tar) ELSE IF it's a COMPRESSION program: ./tools/compression (e.g., gzip, bzip2) ELSE ./tools/misc ELSE IF it's a SHELL: ./shells ELSE IF it's a SERVER: IF it's a HTTP server: ./servers/http (e.g., apache) IF it's a X11 server: ./servers/x11 (e.g., xfree86) ELSE ./servers/misc ELSE IF it's a DESKTOP ENVIRONMENT (incl. WINDOW MANAGERS): ./desktops (e.g., kde, gnome, fvwm) ELSE IF it's an APPLICATION: # a (typically large) program with a distinct user interface, # primarily used interactively IF it's a VERSION MANAGEMENT system: ./applications/version-management ELSE ./applications/misc