| Commit message (Expand) | Author | Age | Files | Lines |
| * | Merge pull request #155707 from 06kellyjac/feh•••feh: correct license | Renaud | 2022-02-16 | 1 | -0/+5 |
| |\ |
|
| | * | feh: correct license | 06kellyjac | 2022-01-28 | 1 | -0/+5 |
| * | | Merge remote-tracking branch 'origin/master' into staging-next•••Conflicts:
pkgs/top-level/aliases.nix
| Jonathan Ringer | 2022-02-10 | 1 | -1/+1 |
| |\ \ |
|
| | * | | fix: typo in lib/attrsets.nix | John Rinehart | 2022-02-10 | 1 | -1/+1 |
| * | | | Merge remote-tracking branch 'origin/master' into staging-next•••Conflicts:
pkgs/development/python-modules/pysdl2/default.nix
pkgs/top-level/aliases.nix
| Jonathan Ringer | 2022-02-06 | 2 | -7/+9 |
| |\| | |
|
| | * | | Merge pull request #126769 from ncfavier/nixosSystem-lib•••nixos: move default module location logic to `eval-config.nix` | Robert Hensing | 2022-02-06 | 2 | -7/+9 |
| | |\ \ |
|
| | | * | | lib/modules: introduce setDefaultModuleLocation•••Wraps a module with a default location for reporting errors.
| Naïm Favier | 2022-01-27 | 2 | -7/+9 |
| * | | | | Merge remote-tracking branch 'origin/master' into staging-next•••Conflicts:
pkgs/tools/graphics/scrot/default.nix
| Jonathan Ringer | 2022-02-06 | 2 | -53/+72 |
| |\| | | |
|
| | * | | | lib.sources: Improve docs•••Change comment type so than nixdoc picks them up into Nixpkgs manual.
Also improve phrasing a bit and move stuff around so that it is formatted better.
| Jan Tojnar | 2022-01-30 | 1 | -48/+67 |
| | * | | | lib.trivial: Change comment type before concat function•••C-style comment was being picked up by nixdoc as a documentation comment for the function.
| Jan Tojnar | 2022-01-30 | 1 | -5/+5 |
| | |/ / |
|
| * | | | Merge branch 'staging-next' into staging••• Conflicts:
nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
nixos/doc/manual/release-notes/rl-2205.section.md
pkgs/development/python-modules/aioesphomeapi/default.nix
pkgs/development/python-modules/mat2/default.nix
pkgs/development/python-modules/pydevccu/default.nix
pkgs/development/python-modules/pywlroots/default.nix
pkgs/development/python-modules/rokuecp/default.nix
| Dmitry Kalinkin | 2022-01-27 | 3 | -8/+24 |
| |\| | |
|
| | * | | Merge pull request #156503 from hercules-ci/nixos-add-system.build-options•••nixos: Add `system.build.`{`toplevel`,`installBootLoader`}, improve error message | Robert Hensing | 2022-01-25 | 3 | -8/+24 |
| | |\ \ |
|
| | | * | | lib.modules: Define mergeOneOption in terms of mergeUniqueOption | Robert Hensing | 2022-01-24 | 1 | -5/+1 |
| | | * | | lib.types: Add unique like uniq, but custom errors•••Couldn't extend types.uniq and it had a silly name anyway.
Now we can have better error messages.
| Robert Hensing | 2022-01-24 | 3 | -3/+23 |
| * | | | | Merge remote-tracking branch 'origin/staging-next' into staging•••Conflicts:
pkgs/development/python-modules/googleapis-common-protos/default.nix
| Jonathan Ringer | 2022-01-24 | 2 | -1/+45 |
| |\| | | |
|
| | * | | | lib/meta: fix typo in platformMatch comment | Thiago Kenji Okada | 2022-01-24 | 1 | -1/+1 |
| | * | | | Merge pull request #155669 from schuelermine/patch-mkPackageOption•••lib/options: Add mkPackageOption | pennae | 2022-01-24 | 1 | -0/+44 |
| | |\ \ \ |
|
| | | * | | | nixos/docs/option-declarations: Document mkEnableOption and mkPackageOption•••This is a squashed commit. These are the original commit messages:
lib/option: Improve comment
better comment
Update documentation
Updated nixos/doc/manual/development/options-declarations.md with info on mkEnableOption and mkPackageOption.
Updated the comment on mkEnableOption in lib/options.nix
remove trailing whitespace
nixos/doc/option-declarations: Update IDs & formatting
nixos/docs/option-declarations: Escape angle brackets
Build DB from MD
(Amended) Fix typo
Co-authored-by: pennae <82953136+pennae@users.noreply.github.com>
(Amended) Build DB from MD (again)
| Anselm Schüler | 2022-01-23 | 1 | -15/+40 |
| | | * | | | lib/options: Add mkPackageOption•••This is a squashed commit. These are the original commit messages:
lib/options: Add mkPackageOption
lib/options: Add missing semicolon
lib/options.nix: Make mkPackageOption more complicated
lib/options: Fix indent. & spacing
lib/options.nix: Remove example and align comment
lib/options: ravenous overuse of arguments
lib/options: Format better
lib/options: Add default examplePath decl
lib/options: Make better mkPackageOption function
lib/options: Remove trailing whitespace
lib/options: Improve mkPackageOptions
lib/options: Remove pkgs prefixing
Co-authored-by: pennae <82953136+pennae@users.noreply.github.com>
lib/options: Slim down mkPackageOption further
lib/options: mkPackageOption: Add "pkgs." to example
lib/options: mkPackageOption: Make name & pkgs single arguments
lib/options: mkPackageOption: Swap name & pkgs
lib/options: Remove unnecessary import
Co-authored-by: pennae <82953136+pennae@users.noreply.github.com>
| Anselm Schüler | 2022-01-23 | 1 | -0/+19 |
| * | | | | | Merge remote-tracking branch 'nixpkgs/staging-next' into staging•••Conflicts:
pkgs/development/python-modules/cupy/default.nix
pkgs/development/python-modules/staticjinja/default.nix
| Alyssa Ross | 2022-01-24 | 1 | -0/+5 |
| |\| | | | |
|
| | * | | | | Merge pull request #156215 from Atemu/update/svt-av1 | Martin Weinelt | 2022-01-24 | 1 | -0/+5 |
| | |\ \ \ \
| | |_|/ /
| |/| | | |
|
| | | * | | | licenses: add Alliance for Open Media Patent License 1.0 | Atemu | 2022-01-22 | 1 | -0/+5 |
| | | |/ / |
|
| * | | | | lib.licenses: add MIT-advertising | c0bw3b | 2022-01-23 | 1 | -0/+5 |
| * | | | | lib.licenses: add Imlib2 | c0bw3b | 2022-01-22 | 1 | -0/+5 |
| |/ / / |
|
| * | | | Merge pull request #155522 from Julow/single_line_str•••types.singleLineStr: strings that don't contain '\n' | Robert Hensing | 2022-01-21 | 1 | -0/+13 |
| |\ \ \
| |/ /
|/| | |
|
| | * | | types.singleLineStr: Improve description•••Co-authored-by: pennae <82953136+pennae@users.noreply.github.com>
| Jules Aguillon | 2022-01-21 | 1 | -1/+1 |
| | * | | types.singleLineStr: Allow and trim trailing \n•••Allow a \n character at the end of the string and remove it during the
merge function.
An option of this type will resolve to the value "foo" whether it is set
to "foo" or "foo\n".
This is useful when using 'builtins.readFile' or ''-strings, which might
add an unintended newline (for example, bash trim the final newline from
a subshell).
| Jules Aguillon | 2022-01-20 | 1 | -5/+12 |
| | * | | types.singleLineStr: Disallow \r | Jules Aguillon | 2022-01-18 | 1 | -3/+2 |
| | * | | types.singleLineStr: strings that don't contain '\n'•••Add a new type, inheriting 'types.str' but checking whether the value
doesn't contain any newline characters.
The motivation comes from a problem with the
'users.users.${u}.openssh.authorizedKeys' option.
It is easy to unintentionally insert a newline character at the end of a
string, or even in the middle, for example:
restricted_ssh_keys = command: keys:
let
prefix = ''
command="${command}",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding
'';
in map (key: "${prefix} ${key}") keys;
The 'prefix' string ends with a newline, which ends up in the middle of
a key entry after a few manipulations.
This is problematic because the key file is built by concatenating all
the keys with 'concatStringsSep "\n"', with result in two entries for
the faulty key:
''
command="...",options...
MY_KEY
''
This is hard to debug and might be dangerous. This is now caught at
build time.
| Jules Aguillon | 2022-01-18 | 1 | -0/+7 |
| * | | | lib/asserts: use throw to display message for assertMsg•••`assert` has the annoying property that it dumps a lot of code at the
user without the built in capability to display a nicer message. We have
worked around this using `assertMsg` which would *additionally* display
a nice message. We can do even better: By using `throw` we can make
evaluation fail before assert draws its conclusions and prevent it from
displaying the code making up the assert condition, so we get the nicer
message of `throw` and the syntactical convenience of `assert`.
Before:
nix-repl> python.override { reproducibleBuild = true; stripBytecode = false; }
trace: Deterministic builds require stripping bytecode.
error: assertion (((lib).assertMsg (reproducibleBuild -> stripBytecode)) "Deterministic builds require stripping bytecode.") failed at /home/lukas/src/nix/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix:45:1
After:
nix-repl> python.override { reproducibleBuild = true; stripBytecode = false; }
error: Deterministic builds require stripping bytecode.
| sternenseemann | 2022-01-19 | 1 | -12/+10 |
| | |/
|/| |
|
| * | | Merge pull request #152392 from polykernel/attrset-optimizations-patch-1•••lib/attrset: various function optimizations | pennae | 2022-01-11 | 1 | -17/+14 |
| |\ \ |
|
| | * | | lib/attrset: miscellaneous optimizations•••- Eta reduce `mapAttrsRecursiveCond`, `foldAttrs`, `getAttrFromPath`.
- Modify `matchAttrs` to use `elemAt` instead of `head (tail xs)` to access
elements.
- Modify `matchAttrs` to use `any id` instead of `foldr and true`.
| polykernel | 2021-12-27 | 1 | -10/+10 |
| | * | | lib/attrset: optimize element access in recursiveUpdateUntil•••- Eta reduce formal arguments of `recursiveUpdate'.
- Access elements in `recursiveUpdateUntil` using `elemAt` and `head`
directly instead of `head (tail xs)` which copies a singleton unnecessarily.
(`elemAt` is used instead of `last` to save a primitive call to `length`,
this is possible because the 2-tuple structure is guranteed)
- Use `length` instead of comparison to empty list to save a copy.
| polykernel | 2021-12-27 | 1 | -7/+4 |
| * | | | Merge pull request #152046 from pennae/optimize-modules-byName•••lib/modules: optimize byName | Robert Hensing | 2022-01-10 | 2 | -9/+9 |
| |\ \ \ |
|
| | * | | | lib/modules: extract multiply-used value in byName•••module.${attr} is used at least twice, so it must be evaluated at least
twice (and since it's a function argument, be turned into a thunk
twice).
| pennae | 2021-12-28 | 1 | -4/+4 |
| | * | | | lib/attrsets: use builtins.zipAttrsWith if available | pennae | 2021-12-25 | 1 | -1/+2 |
| | * | | | lib/modules: optimize byName•••the foldl is equivalent to a zip with concat. list concatenation in nix
is an O(n) operation, which makes this operation extremely inefficient
when large numbers of modules are involved.
this change reduces the number of list elements by 7 million on the
system used to write this, total memory spent on lists by 58MB, and
total memory allocated on the GC heap by almost 100MB (with a similar
reduction in GC heap size). it's also slightly faster.
| pennae | 2021-12-25 | 1 | -6/+5 |
| | |/ / |
|
| * | / | lib.checkListOfEnum: init | José Romildo | 2022-01-09 | 2 | -1/+18 |
| | |/
|/| |
|
| * | | Merge pull request #151748 from hercules-ci/check-nixpkgs-overlays-type•••Check nixpkgs overlays argument types | Robert Hensing | 2022-01-05 | 2 | -1/+24 |
| |\ \ |
|
| | * | | lib.throwIfNot: init | Robert Hensing | 2021-12-22 | 2 | -1/+24 |
| | |/ |
|
| * / | nixos/documentation: split options doc build•••most modules can be evaluated for their documentation in a very
restricted environment that doesn't include all of nixpkgs. this
evaluation can then be cached and reused for subsequent builds, merging
only documentation that has changed into the cached set. since nixos
ships with a large number of modules of which only a few are used in any
given config this can save evaluation a huge percentage of nixos
options available in any given config.
in tests of this caching, despite having to copy most of nixos/, saves
about 80% of the time needed to build the system manual, or about two
second on the machine used for testing. build time for a full system
config shrank from 9.4s to 7.4s, while turning documentation off
entirely shortened the build to 7.1s.
| pennae | 2022-01-02 | 1 | -1/+1 |
| |/ |
|
| * | Merge pull request #148785 from pennae/more-option-doc-staticizing•••treewide: more defaultText for options | Graham Christensen | 2021-12-17 | 1 | -0/+2 |
| |\ |
|
| | * | nixos/modules: Allow options to be coerced to a string for convenience | Silvan Mosberger | 2021-12-08 | 1 | -0/+2 |
| * | | lib.systems.supported: remove aarch64-darwin from Tier 3 list•••While it is a fact of life that aarch64-darwin is built on Hydra, it has
never formally been elevated from the Tier 7 state it was originally
assigned in RFC 0046. Since platform Tier status is not only
descriptive, but also normative, a consensus to commit to supporting
aarch64-darwin would need to be reached.
| sternenseemann | 2021-12-16 | 1 | -2/+3 |
| * | | lib: fix flake check•••`builtins.currentSystem` is not available in pure eval. For this
particular test, we don't really care since it's all about generating
.drv files.
Fixes the following error:
$ nix flake check
warning: unknown flake output 'lib'
error: attribute 'currentSystem' missing
at /nix/store/8wvnlbjxlr90kq2qa6d9zjpj8rqkilr5-source/lib/tests/misc.nix:499:73:
498| let
499| deriv = derivation { name = "test"; builder = "/bin/sh"; system = builtins.currentSystem; };
| ^
500| in {
(use '--show-trace' to show detailed location informat
| zimbatm | 2021-12-13 | 1 | -1/+1 |
| * | | Merge pull request #149924 from Mic92/aarch64be-embedded•••pkgsCross.aarch64be-embedded: fix eval | Jörg Thalheim | 2021-12-09 | 1 | -2/+2 |
| |\ \ |
|
| | * | | pkgsCross.ppcle-embedded: fix eval | Jörg Thalheim | 2021-12-09 | 1 | -1/+1 |
| | * | | pkgsCross.aarch64be-embedded: fix eval | Jörg Thalheim | 2021-12-09 | 1 | -1/+1 |
| * | | | pkgsCross.x86_64-netbsd-llvm: mark as broken | Jörg Thalheim | 2021-12-09 | 1 | -0/+1 |
| |/ / |
|
| * | | Merge pull request #144022 from hercules-ci/lib-modules-optimize-unmatchedDefns•••lib/modules: Short-circuit unmatchedDefns when configs is empty | Silvan Mosberger | 2021-12-07 | 3 | -15/+34 |
| |\ \ |
|