Commit Graph

492 Commits

Author SHA1 Message Date
Matthew Bauer
0bbbdfbc52
manual: add "declarative package management" section
This section gives some details on how to setup an "environment"
without having to go through NixOS (although it could be used there
too). I’ve tried to make it straightforward and have a kind of
"tutorial" feel. Not sure if that’s appropriate for the manual, so any
recommended changes would be helpful.
2017-05-20 22:25:05 -05:00
Matthew Bauer
64bddb3f1e
manual: add "Emacs" section to manual
This gives some basics on configuring Emacs within Nix. The
configuration is fairly long just to give a good idea of what’s going
on. I can trim out some of it if it’s not necessary. Note that there
is already a section for Emacs in the NixOS manual. However, this is
aimed at avoiding using modules altogether to make things easier for
non-NixOS users. This configuration should work on NixOS anyway,
however.

Fixes #24243
Fixes #19956
2017-05-20 21:05:16 -05:00
Willi Butz
f5e03f3530
manual: fix typo 2017-05-12 13:49:06 +02:00
Frederik Rietdijk
ef4442e827 Python: replace requests2 with requests tree-wide
See f63eb58573

The `requests2` attribute now throws an error informing that `requests`
should be used instead.
2017-05-07 12:56:09 +02:00
Alexey Muranov
35c324ee14 doc: enable code syntax highlighting
Use "fenced" code blocks to enable syntax highlighting.  Other markup
and formatting.
2017-04-26 16:59:12 +02:00
Linus Heckemann
5c7f4669a7 nixpkgs manual: Remove obsolete warning (#21117)
PR #815 has already been cherry-picked into the default nix version 1.11.8.
2017-04-23 22:40:35 +02:00
John Ericson
b59fdc4289 Merge pull request #25099 from obsidiansystems/cross-lib-foundation
Changes to nixpkgs infra to prepare to better package some pesky cross-compilers

No hashes (native or cross) should be changed
2017-04-23 14:12:42 -04:00
John Ericson
863d79b364 top-level: Introduce targetPackages and a "double link fold"
Each bootstrapping stage ought to just depend on the previous stage, but
poorly-written compilers break this elegence. This provides an easy-enough
way to depend on the next stage: targetPackages. PLEASE DO NOT USE IT
UNLESS YOU MUST!

I'm hoping someday in a pleasant future I can revert this commit :)
2017-04-23 14:01:12 -04:00
Nick Novitski
37b0be688d bundix: 2.0.8 -> 2.1.0 (#25129) 2017-04-23 13:13:50 +01:00
John Ericson
1eabc23961 Merge pull request #24980 from Ericson2314/platform-normalization
Doc for Platform Normalization
2017-04-18 13:34:56 -04:00
John Ericson
c13457fe58 doc: Document the structure of {build,host,target}Platforms
Worthwhile to do now that #24610 makes it less abysmal.
2017-04-18 12:48:16 -04:00
Frederik Rietdijk
8d491ec6c6 Python docs: Python 2.x namespace packages may collide when using .withPackages 2017-04-18 09:05:00 +02:00
Jörg Thalheim
10eef8c196
rustup: init at 1.2.0 2017-04-17 15:53:36 +02:00
Carles Pagès
cc779bc421 doc: fix overlays paths
It was not updated with 9d6a55aefd.
2017-04-02 10:11:01 +02:00
Jörg Thalheim
36fca93290
rename iana_etc to iana-etc
fixes #23621
2017-03-28 22:35:15 +02:00
Frederik Rietdijk
ce6cd33c65 Python docs: small fixes 2017-03-22 12:55:11 +01:00
Joachim Schiele
91debcb482 Update python.md (#23669)
* Update python.md

this makes it clear how to alter `attributes` by using `packageOverrides`

* Update python.md

* Update python.md

* Update python.md

* Update python.md

* Update python.md

* Update python.md
2017-03-21 00:06:51 +01:00
Robin Gloster
72a5cf11cc
doc: remove double space 2017-03-20 20:59:43 +01:00
Robin Gloster
88341c4d2b
Revert "doc: remove double space"
This reverts commit 6393d43380.

Commit added too much changes.
2017-03-20 20:58:18 +01:00
Robin Gloster
6393d43380
doc: remove double space 2017-03-20 20:47:13 +01:00
Matthias Beyer
315e1a23c0 doc: Add rust documentation (#23510) 2017-03-20 20:41:37 +01:00
Bas van Dijk
47b14e0a99 doc/language-frameworks/haskell.md: integer-simple improvements
* Strip the unnecessary 'pkgs' attribute.

* Remove ghc-7.6.3 as a GHC supporting integer-simple.
2017-03-12 23:35:28 +01:00
Alexey Muranov
34afc31c49
doc: fix code highlighting, use valid Nix syntax
Fix code syntax highlighting by specifying language in every code block
and adding some context to Nix code blocks to make them valid
expressions.  Use the same markup style for all code blocks.  Reformat
some code blocks.

fixes #23535
2017-03-06 17:49:07 +01:00
Alexey Muranov
97c9ed0ba1
doc: cleanup whitespace in python.md 2017-03-06 17:48:55 +01:00
Vladimír Čunát
a1919db7cd
Merge branch 'master' into staging 2017-02-27 20:15:27 +01:00
Thomas Tuegel
c1fc4af9ae
Update Qt and KDE documentation
- Describe the new `libsForQt5.callPackage` interface
- Emphasize that Qt dependencies must be imported unqualified
- Describe the new `kdeWrapper` wrapper generator
2017-02-27 11:49:07 -06:00
Frederik Rietdijk
37704e90e2 Python: explain deterministic build in docs 2017-02-26 14:51:26 +01:00
Vladimír Čunát
a50222b1a3
doc/configuration: tidy up text around #23130 changes 2017-02-26 10:32:59 +01:00
Graham Christensen
a9c875fc2e
nixpkgs: allow packages to be marked insecure
If a package's meta has `knownVulnerabilities`, like so:

    stdenv.mkDerivation {
      name = "foobar-1.2.3";

      ...

      meta.knownVulnerabilities = [
        "CVE-0000-00000: remote code execution"
        "CVE-0000-00001: local privilege escalation"
      ];
    }

and a user attempts to install the package, they will be greeted with
a warning indicating that maybe they don't want to install it:

    error: Package ‘foobar-1.2.3’ in ‘...default.nix:20’ is marked as insecure, refusing to evaluate.

    Known issues:

     - CVE-0000-00000: remote code execution
     - CVE-0000-00001: local privilege escalation

    You can install it anyway by whitelisting this package, using the
    following methods:

    a) for `nixos-rebuild` you can add ‘foobar-1.2.3’ to
       `nixpkgs.config.permittedInsecurePackages` in the configuration.nix,
       like so:

         {
           nixpkgs.config.permittedInsecurePackages = [
             "foobar-1.2.3"
           ];
         }

    b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
    ‘foobar-1.2.3’ to `permittedInsecurePackages` in
    ~/.config/nixpkgs/config.nix, like so:

         {
           permittedInsecurePackages = [
             "foobar-1.2.3"
           ];
         }

Adding either of these configurations will permit this specific
version to be installed. A third option also exists:

  NIXPKGS_ALLOW_INSECURE=1 nix-build ...

though I specifically avoided having a global file-based toggle to
disable this check. This way, users don't disable it once in order to
get a single package, and then don't realize future packages are
insecure.
2017-02-24 07:41:05 -05:00
Frederik Rietdijk
026cfee6b0 Docs: update Python contributing guidelines 2017-02-22 13:38:29 +01:00
Paul Kinsky
b14dd0e6c3
wrap added notes in <note> 2017-02-20 22:25:32 -05:00
Paul Kinsky
2d78767973
Add tips for resolving https issues in containers
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-20 22:24:54 -05:00
Vladimír Čunát
6bea415b5e
Merge branch 'master' into staging 2017-02-09 08:42:04 +01:00
John Ericson
8cd4c31d6b top-level: Allow nixpkgs to take localSystem directly
This is instead of both system and platform, which is kind of ugly.
2017-02-08 22:06:57 -05:00
John Ericson
f6ef6b56fe Merge pull request #22387 from Ericson2314/cross-3-platforms
cross stdenv: let build package's build deps resolve to native packages
2017-02-05 17:41:31 -05:00
John Ericson
5eaea6cee0 cross stdenv: let build package's build deps resolve to native packages
This fixes the "sliding window" principle:
  0. Run packages:       build = native;  host = foreign; target = foreign;
  1. Build packages:     build = native;  host = native;  target = foreign;
  2. Vanilla packages:   build = native;  host = native;  target = native;
  3. Vanilla packages:   build = native;  host = native;  target = native;
  n+3. ...

Each stage's build dependencies are resolved against the previous stage,
and the "foreigns" are shifted accordingly. Vanilla packages alone are
built against themsevles, since there are no more "foreign"s to shift away.

Before, build packages' build dependencies were resolved against
themselves:
  0. Run packages:       build = native;  host = foreign; target = foreign;
  1. Build packages:     build = native;  host = native;  target = foreign;
  2. Build packages:     build = native;  host = native;  target = foreign;
  n+2. ...

This is wrong because that principle is violated by the target
platform staying foreign.

This will change the hashes of many build packages and run packages, but
that is OK. This is an unavoidable cost of fixing cross compiling.

The cross compilation docs have been updated to reflect this fix.
2017-02-05 12:01:53 -05:00
Vladimír Čunát
3b583d943e
Merge #19328: mkWrapper fix and docs 2017-02-05 14:09:22 +01:00
Vladimír Čunát
adab4cd58b
Merge branch 'master' into staging 2017-02-03 11:47:38 +01:00
Bas van Dijk
dfcc9e2994 ghc: support building with integer-simple and provide package sets for it
If the flag enableIntegerSimple is true GHC will be build with the GPL-free but
slower integer-simple library instead of the faster but GPLed integer-gmp
library.

The attribute `pkgs.haskell.compiler.integer-simple."${ghcVersion}"` provides a
GHC compiler build with `integer-simple`.

Similarly, the attribute `pkgs.haskell.packages.integer-simple."${ghcVersion}"`
provides a package set supporting `integer-simple`.

Closes https://github.com/NixOS/nixpkgs/pull/22121.
Closes https://github.com/NixOS/nixpkgs/issues/5493.
2017-02-02 10:57:00 +01:00
Domen Kožar
220adbb039
docs: fix link for python 2017-02-01 21:32:06 +01:00
Eelco Dolstra
9d6a55aefd
~/.nixpkgs -> ~/.config/nixpkgs
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-02-01 16:07:55 +01:00
Eelco Dolstra
7dacca324d
$NIXPKGS_OVERLAYS -> <nixpkgs-overlays>
The Nix search path is the established mechanism for specifying the
location of Nix expressions, so let's use it instead of adding another
environment variable.
2017-02-01 16:07:54 +01:00
Vladimír Čunát
49b136377a
Merge #16501: add a guide about vim plugins 2017-01-30 18:28:20 +01:00
Vladimír Čunát
69348badb8
doc vim: nitpicks 2017-01-30 18:27:44 +01:00
Lorenzo Manacorda
4e0bb261d0 Make more visible which fetch approach is best
Prepend "bad/better/best" to each paragraph, to make more visible which approach is best
2017-01-30 11:28:52 +01:00
Domen Kožar
f87deb0b3a Merge pull request #22101 from zimbatm/no-md5
Bye bye MD5
2017-01-25 09:07:48 +01:00
John Ericson
39fb46f538 nixpkgs docs: Cross compilation docs 2017-01-24 11:37:56 -05:00
John Ericson
76ea89aa78 nixpkgs doc: Talk about nativeBuildInputs and propgatedNativeBuildInputs
Do so in the stdenv section where the other two are discussed. This can be
done without brining up cross-compilation by talking about build-time vs
run-time.
2017-01-24 11:37:56 -05:00
zimbatm
6f21a99bdd doc/old/cross.txt: md5 -> sha256 2017-01-24 16:26:05 +00:00
Franz Pletz
00ab8e84c6
doc: improve hardening docs
Fixes #18887.
2017-01-20 17:46:44 +01:00
Jörg Thalheim
3fdde25b4c Merge pull request #21962 from Mic92/gemdir
bundleEnv: Used gemdir for most applications now
2017-01-19 09:34:14 +01:00
Jörg Thalheim
a9495b3066 Merge pull request #21837 from Azulinho/python-docs_add_virtualenv_and_nixshell_example
python docs: add an example for a virtualenv and pip through nix-shell
2017-01-18 08:37:13 +01:00
Jörg Thalheim
c9ff7e49a8
docs: gemdir is now preferred attribute for bundlerEnv 2017-01-18 00:52:57 +01:00
Nicolas B. Pierron
88ba960a6d Fix nixpkgs manual generation, missing para closing tag. 2017-01-16 01:17:33 +01:00
Nicolas B. Pierron
2ad710e70e Fix extra nits from aneeshusa 2017-01-16 01:17:33 +01:00
Nicolas B. Pierron
2d6532b330 Update overlay documentation by following nits from aneeshusa. 2017-01-16 01:17:33 +01:00
Nicolas B. Pierron
51d3c931e1 Replace 'phases' by 'layers' in overlays documentation. 2017-01-16 01:17:33 +01:00
Nicolas B. Pierron
f9da1fa957 Throw an error if NIXPKGS_OVERLAYS is invalid and improve documentation. 2017-01-16 01:17:33 +01:00
Nicolas B. Pierron
f5dfe78a1e Add overlays mechanism to Nixpkgs.
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-16 01:17:33 +01:00
Kier Davis
cb4ebb6749
docs: fix a couple of unmatched parentheses 2017-01-12 21:04:20 +00:00
Azul
58613a7eed python docs: update block according to code review 2017-01-12 16:59:27 +00:00
Azul
aa9a9dd1b4 python docs: add an example for a virtualenv and pip through nix-shell 2017-01-12 16:00:50 +00:00
Frederik Rietdijk
e0d1691ba3 Docs Python: fix examples and links 2016-12-21 15:45:39 +01:00
Matthew Pickering
d8d36de635 Fix typo in beam.xml 2016-12-19 14:56:55 +00:00
Marti Serra
b8984954ff steam: removed unuseful section from documentation 2016-12-11 16:57:28 +01:00
Marti Serra
21449c23cb steam: added java and steam-run to documentation, removed patchelf info 2016-12-11 12:47:48 +01:00
Jaka Hudoklin
f1d93906f8 Merge pull request #21047 from xvapx/fix/steam-doc
steam: added documentation to nixpkgs manual
2016-12-10 23:36:12 +01:00
Marti Serra
2698757095 steam: added documentation to nixpkgs manual 2016-12-10 17:57:33 +01:00
Frederik Rietdijk
42bad32e13 buildPythonPackage: refactor 2016-12-05 10:29:22 +01:00
Frederik Rietdijk
3d59b82925 DOCS: update Python docs to reflect fixed-point combinator 2016-12-05 09:45:11 +01:00
Frederik Rietdijk
374ac13a6e Docs: fix Python docs 2016-12-04 10:17:33 +01:00
Eric Sagnes
2b1d67a275 manual: reviewing contributions nixos -> nixpkgs (#20626) 2016-11-22 15:15:02 +01:00
Profpatsch
53fc7b8272 lib/generators: add manual documentation
Restructures the functions reference a bit.
2016-11-17 23:19:28 +01:00
Peter Simons
0a685cf8ea Merge pull request #20257 from expipiplus1/haskell-doc-typo
fix documentation typo in doc/languages-frameworks/haskell.md
2016-11-09 08:47:07 +01:00
Joe Hermaszewski
05f31e5c8a fix documentation typo in doc/languages-frameworks/haskell.md 2016-11-08 17:42:27 +00:00
Frederik Rietdijk
9cdfb33401 Docs: improve Python expressions
as it contained several mistakes and was just messy.
2016-11-08 12:44:49 +01:00
Domen Kožar
62edf873aa Merge pull request #18660 from aneeshusa/add-override-attrs
mkDerivation: add overrideAttrs function
2016-10-30 11:32:15 +01:00
Joachim Fasting
a1ecc5648a
nixpkgs doc: fix build
Ref e4cd45a30c
2016-10-28 16:28:31 +02:00
Charles Strahan
ca2b03439f Merge pull request #19496 from Ericson2314/overridePackages
Make `overridePackages` extend rather than replace existing overrides
2016-10-26 14:01:13 -04:00
Frederik Rietdijk
e56832d730 Merge remote-tracking branch 'upstream/master' into HEAD 2016-10-22 17:23:24 +02:00
Richard Zetterberg
2206d7afe2 texlive manual: adds import of nixpkgs in nix-repl
I wanted to list the different texlive collections using the nix-repl, as per the [manual](https://nixos.org/nixpkgs/manual/#idm140737316065984). 

It didn't work, since the nixpkgs were not loaded. Doing `:l <nixpkgs>` first resolved the problem.

This change adds the nixpkgs loading step to the manual so that the next inexperienced person don't have to figure out why it didn't work.

I tested this on NixOS unstable (16.09pre90254.6b20d5b) with nix-repl 1.11.3.
2016-10-20 08:50:54 +02:00
Frederik Rietdijk
8fa308126f Python: update docs with change in default interpreter version 2016-10-18 23:16:05 +02:00
Frederik Rietdijk
107c035bf0 Python: remove pythonSmall
In #19309 a separate output for tkinter was added.

Several dependencies of Python depend indirectly on Python. We have the
following two paths:
```
‘python-2.7.12’ - ‘tk-8.6.6’ - ‘libXft-2.3.2’ - ‘libXrender-0.9.10’ -
‘libX11-1.6.4’ - ‘libxcb-1.12’ - ‘libxslt-1.1.29’- ‘libxml2-2.9.4’ -
‘python-2.7.12’

‘python-2.7.12’ - ‘tk-8.6.6’ - ‘libXft-2.3.2’ - ‘fontconfig-2.12.1’ -
‘dejavu-fonts-2.37’ - ‘fontforge-20160404’ - ‘python-2.7.12’
```
Because only `tkinter` needs this, I added
```
pythonSmall = python.override {x11Support = false;};
```
to break the infinite recursion. We also still have the output
`tkinter`.

However, we might as well build without x11Support by default. Then we build with x11Support as well so we get the tkinter module and put that in a separate package.
2016-10-16 14:31:26 +02:00
John Ericson
e4cd45a30c top-level: Make overridePackages extend rather than replace existing overrides 2016-10-13 11:14:11 -04:00
Frederik Rietdijk
cffdffe1f6 Merge pull request #19309 from FRidh/outputs
Python: use separate output for tkinter
2016-10-13 10:40:14 +02:00
Frederik Rietdijk
1e544b2993 pythonPackages.tkinter: use this instead of the output python.tkinter 2016-10-13 10:38:21 +02:00
Profpatsch
bef6bef0d2
stdenv/stripHash: print to stdout, not to variable
`stripHash` documentation states that it prints out the stripped name to
the stdout, but the function stored the value in `strippedName`
instead.

Basically all usages did something like
`$(stripHash $foo | echo $strippedName)` which is just braindamaged.
Fixed the implementation and all invocations.
2016-10-11 18:34:36 +02:00
Frederik Rietdijk
d3766b2601 Python: update docs separate output tkinter 2016-10-10 10:33:24 +02:00
Profpatsch
dd58d24fa6 stdenv: document makeWrapper
Add function documentation to `makeWrapper`.
Also add user documentation to the nixpkgs manual.
2016-10-08 23:36:40 +02:00
Michael Raskin
d233366856 manual: switch an example from md5 to sha256. 2016-10-07 10:08:22 +02:00
Thomas Tuegel
d067b7bd35
Merge branch 'kde-5' into staging 2016-10-04 21:50:17 -05:00
Eelco Dolstra
ebdd896017 Nixpkgs manual: Fix epub generation
See 0804f67024.
2016-10-03 20:33:01 +02:00
Aneesh Agrawal
39b64b52ed mkDerivation: add overrideAttrs function
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-10-02 11:08:34 -04:00
Vladimír Čunát
77604964b6 Merge branch 'master' into staging 2016-09-28 17:13:59 +02:00
Eric Sagnes
41d62fdea8 nixpkgs doc: add installCheck phase 2016-09-28 16:31:46 +09:00
Vladimír Čunát
fffc7638cd Merge branch 'master' into staging 2016-09-24 18:54:31 +02:00
Luca Bruno
da514a2cf9 Merge pull request #18798 from siddharthist/doc/node-readme
manual: add node.js to languages & frameworks
2016-09-22 22:12:37 +01:00
Langston Barrett
a3bbb45e5c manual: add node to languages & frameworks
fixes #18609
2016-09-20 20:38:24 +00:00
Eelco Dolstra
5f8a330d40 outputDocdev -> outputDevdoc
For consistency with the devdoc output.
2016-09-20 17:44:48 +02:00
Eelco Dolstra
594c47e5eb Don't nuke section 3 manpages by default
They now go to devman, devdoc, or $outputMan, in that order. This is
to prevent cases such as the man-pages package quietly losing its
section 3 pages.
2016-09-20 17:42:43 +02:00