summaryrefslogtreecommitdiffstats
path: root/doc/functions.xml
AgeCommit message (Collapse)Author
2019-06-18snapTools.makeSnap: initGraham Christensen
2019-02-23Merge pull request #54693 from tilpner/appimage-toolsGraham Christensen
appimageTools: init
2019-02-23appimageTools: inittilpner
The appimageTools attrset contains utilities to prevent the usage of appimage-run to package AppImages, like done/attempted in #49370 and #53156. This has the advantage of allowing for per-package environment changes, and extracts into the store instead of the users home directory. The package list was extracted into appimageTools to prevent duplication.
2019-02-18nix-gitignore: init at v3.0.0 (#46112)Raitis Veinbahs
closes siers/nix-gitignore#6
2019-01-26nixpkgs/manual: add trivial builders sectionMatthew Bauer
Fixes #25507.
2019-01-26nixpkgs/manual: document fetcher functionsMatthew Bauer
Fixes #32439.
2019-01-18prefer-fetch-remote: an overlay to fetch on remote buildersJörg Thalheim
This is useful when running tools like NixOps or nix-review on workstations where the upload to the builder is significantly slower then downloading the source on the builder itself.
2018-10-05nixpkgs: Start documenting library functions in XMLGraham Christensen
Covers assert functions and about half of the attrsets functions. Some internal consistency around IDs could be improved.
2018-10-02shell functions: rewrite as xmlGraham Christensen
2018-10-02nixpkgs docs: move shell section to its own fileGraham Christensen
2018-10-02nixpkgs docs: move dockertool to its own fileGraham Christensen
2018-10-02nixpkgs docs: move fhs-environments to its own fileGraham Christensen
2018-10-02nixpkgs docs: move debug to its own fileGraham Christensen
2018-10-02nixpkgs docs: move generators to its own fileGraham Christensen
2018-10-02nixpkgs docs: move overrides to its own fileGraham Christensen
2018-09-27fixup: drop comment about config behaving differently from buildImageGraham Christensen
2018-09-26dockerTools.buildLayeredImage: initGraham Christensen
Create a many-layered Docker Image. Implements much less than buildImage: - Doesn't support specific uids/gids - Doesn't support runninng commands after building - Doesn't require qemu - Doesn't create mutable copies of the files in the path - Doesn't support parent images If you want those feature, I recommend using buildLayeredImage as an input to buildImage. Notably, it does support: - Caching low level, common paths based on a graph traversial algorithm, see referencesByPopularity in 0a80233487993256e811f566b1c80a40394c03d6 - Configurable number of layers. If you're not using AUFS or not extending the image, you can specify a larger number of layers at build time: pkgs.dockerTools.buildLayeredImage { name = "hello"; maxLayers = 128; config.Cmd = [ "${pkgs.gitFull}/bin/git" ]; }; - Parallelized creation of the layers, improving build speed. - The contents of the image includes the closure of the configuration, so you don't have to specify paths in contents and config. With buildImage, paths referred to by the config were not included automatically in the image. Thus, if you wanted to call Git, you had to specify it twice: pkgs.dockerTools.buildImage { name = "hello"; contents = [ pkgs.gitFull ]; config.Cmd = [ "${pkgs.gitFull}/bin/git" ]; }; buildLayeredImage on the other hand includes the runtime closure of the config when calculating the contents of the image: pkgs.dockerTools.buildImage { name = "hello"; config.Cmd = [ "${pkgs.gitFull}/bin/git" ]; }; Minor Problems - If any of the store paths change, every layer will be rebuilt in the nix-build. However, beacuse the layers are bit-for-bit reproducable, when these images are loaded in to Docker they will match existing layers and not be imported or uploaded twice. Common Questions - Aren't Docker layers ordered? No. People who have used a Dockerfile before assume Docker's Layers are inherently ordered. However, this is not true -- Docker layers are content-addressable and are not explicitly layered until they are composed in to an Image. - What happens if I have more than maxLayers of store paths? The first (maxLayers-2) most "popular" paths will have their own individual layers, then layer #(maxLayers-1) will contain all the remaining "unpopular" paths, and finally layer #(maxLayers) will contain the Image configuration.
2018-09-20Clarfy the binary reproducibility problems of created=now with ↵Graham Christensen
dockerTools.buildImage.
2018-09-20dockerTools.buildImage: support impure datesGraham Christensen
Because dates are an impurity, by default buildImage will use a static date of one second past the UNIX Epoch. This can be a bit frustrating when listing docker images in the CLI: $ docker image list REPOSITORY TAG IMAGE ID CREATED SIZE hello latest 08c791c7846e 48 years ago 25.2MB If you want to trade the purity for a better user experience, you can set created to now. pkgs.dockerTools.buildImage { name = "hello"; tag = "latest"; created = "now"; contents = pkgs.hello; config.Cmd = [ "/bin/hello" ]; } and now the Docker CLI will display a reasonable date and sort the images as expected: $ docker image list REPOSITORY TAG IMAGE ID CREATED SIZE hello latest de2bf4786de6 About a minute ago 25.2MB
2018-09-03Manual: Random indentation fixesEelco Dolstra
2018-08-27nixpkgs docs: normalizeGraham Christensen
2018-08-27docs: include shell sectionGraham Christensen
2018-07-27dockerTools.pullImage: control OS and architectureNick Novitski
2018-07-06dockerTools.buildImage: add option to use nix output hash as tagMathias Schreck
2018-05-31doc: ran `make format`Samuel Dionne-Riel
With visual inspection that nothing got worse.
2018-05-02dockerTools.pullImage: documentation and release noteAntoine Eiche
2018-05-01nixpkgs docs: format =)Graham Christensen
2018-04-27docs: initial manual entry for `lib/debug.nix`Profpatsch
It is more of a stub for now, but at least points to the right file.
2018-03-29lib/generators: add an example of overriding defaultsProfpatsch
An example of overriding the `toINI` generator is added, hopefully clarifying the expressiveness of generators.
2017-08-03dockerTools: document image spec v1.2 compatibilityMathias Schreck
2017-06-11doc: Fix some typosJan Tojnar
2017-03-28rename iana_etc to iana-etcJörg Thalheim
fixes #23621
2017-02-20wrap added notes in <note>Paul Kinsky
2017-02-20Add tips for resolving https issues in containersPaul Kinsky
I ran into some issues making HTTPS requests from a container built with buildImage. I've added notes with tips for resolving similar issues.
2017-02-01~/.nixpkgs -> ~/.config/nixpkgsEelco Dolstra
The former is still respected as a fallback for config.nix for backwards compatibility (but not for overlays because they're a new feature).
2017-01-16Add overlays mechanism to Nixpkgs.Nicolas B. Pierron
This patch add a new argument to Nixpkgs default expression named "overlays". By default, the value of the argument is either taken from the environment variable `NIXPKGS_OVERLAYS`, or from the directory `~/.nixpkgs/overlays/`. If the environment variable does not name a valid directory then this mechanism would fallback on the home directory. If the home directory does not exists it will fallback on an empty list of overlays. The overlays directory should contain the list of extra Nixpkgs stages which would be used to extend the content of Nixpkgs, with additional set of packages. The overlays, i-e directory, files, symbolic links are used in alphabetical order. The simplest overlay which extends Nixpkgs with nothing looks like: ```nix self: super: { } ``` More refined overlays can use `super` as the basis for building new packages, and `self` as a way to query the final result of the fix-point. An example of overlay which extends Nixpkgs with a small set of packages can be found at: https://github.com/nbp/nixpkgs-mozilla/blob/nixpkgs-overlay/moz-overlay.nix To use this file, checkout the repository and add a symbolic link to the `moz-overlay.nix` file in `~/.nixpkgs/overlays` directory.
2017-01-12docs: fix a couple of unmatched parenthesesKier Davis
2016-11-17lib/generators: add manual documentationProfpatsch
Restructures the functions reference a bit.
2016-10-30Merge pull request #18660 from aneeshusa/add-override-attrsDomen Kožar
mkDerivation: add overrideAttrs function
2016-10-28nixpkgs doc: fix buildJoachim Fasting
Ref e4cd45a30c92a19a240df835cdaf6da5f76ea9fc
2016-10-13top-level: Make `overridePackages` extend rather than replace existing overridesJohn Ericson
2016-10-02mkDerivation: add overrideAttrs functionAneesh Agrawal
This is similar to `overrideDerivation`, but overrides the arguments to `mkDerivation` instead of the underlying `derivation` call. Also update `makeOverridable` so that uses of `overrideAttrs` can be followed by `override` and `overrideDerivation`, i.e. they can be mix-and-matched.
2016-07-12Improve overrideDerivation docs. (#16867)Alex Berg
* Improve overrideDerivation docs. Explain how antiquotation in a package's attribute behaves when overriding the package. * Edit antiquotation note. Fix closing-element.
2016-06-09doc: update buildFHSUserEnv documentationNikolay Amiantov
2016-05-30doc: mention overrideDerivation causes evaluation of DerivationDomen Kožar
2016-01-27dockerTools: private registry supportArthur Noel
* authorization token is optional * registry url is taken from X-Docker-Endpoints header * pull.sh correctly resumes partial layer downloads * detjson.py does not fail on missing keys
2016-01-13dockerTools: nix functions for manipulating docker imagesLuca Bruno
2015-12-18Fixed a syntax error in the buildFHSChrootEnv example. Also, fixed the ↵Avery Glitch
manual.xml so it actually builds.
2015-12-02Manual: Add a warning that overrideDerivation should not be usedEelco Dolstra
2015-10-11build-fhs-{chroot,user}env: document new extra bind mounts optionNikolay Amiantov