summary refs log tree commit diff
path: root/lib
Commit message (Collapse)AuthorAge
* Merge pull request #78337 from Profpatsch/lib-improve-cli-moduleProfpatsch2020-01-24
|\ | | | | lib: improve cli module
| * lib/cli: mkKey -> mkOptionName, use generators.mkValueStringDefaultProfpatsch2020-01-23
| | | | | | | | | | | | | | | | | | Let’s call them by what they are, option names. `generators.mkValueStringDefault` is a better value string renderer than plain `toString`. Also add docs to all options.
| * lib/generators: floats are not supported in mkValueStringDefaultProfpatsch2020-01-23
| | | | | | | | | | They are cut off after a few decimal places; we cannot in good faith define a default string representation with that.
| * lib/cli: rename `renderX` options to `mkX`Profpatsch2020-01-23
| | | | | | | | | | | | | | Mirrors the naming scheme in `generators.nix`, for consistency. Also rename `key` to `k` and value to `v` to aid readability to the code structure.
| * lib/cli,lib/tests/misc: somewhat more standard formattingProfpatsch2020-01-23
| |
| * lib/cli: encodeGNUCommandLine -> toGNUCommandLineShellProfpatsch2020-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The semantic difference between `encode` and `to` is not apparent. Users are likely to confuse both functions (which leads to unexpected error messages about the wrong types). Like in `generators.nix`, all functions should be prefixed by `to`. Furthermore, converting to a string depends on the target context. In this case, it’s a POSIX shell, so we should name it that (compare `escapeShellArg` in `strings.nix`). We can later add versions that escape for embedding in e.g. python scripts or similar.
| * lib/cli: unexport symbols & sort with generatorsProfpatsch2020-01-23
| | | | | | | | | | | | | | lib/cli is very similar to generators, so it should follow largely the same interface. Similar to how generators isn’t exported, we should also namespace cli by default (plus “cli” is only three characters to type).
* | Merge pull request #78058 from mayflower/nixos/version-gitdir-symlinkFranz Pletz2020-01-24
|\ \ | |/ |/| nixos/version: fix case where .git is a symlink
| * nixos/version: fix case where .git is a symlinkFranz Pletz2020-01-20
| | | | | | | | | | | | | | | | | | | | | | Before c9214c394b248e1f26e45dbe1be2bd82363af3a6 and 9d396d2e426b9a765de0b8999aa214f1259633e6 if .git is symlink the version would gracefully default to no git revision. With those changes an exception is thrown instead. This introduces a new function `pathIsGitRepo` that checks if `commitIdFromGitRepo` fails without error so we don't have to reimplement this logic again and can fail gracefully.
* | Merge pull request #77855 from AndersonTorres/update/notionAnderson Torres2020-01-22
|\ \ | | | | | | notion: 3-2017050501 -> 3-2019050101
| * | Notion custom license: excludeAndersonTorres2020-01-17
| |/
* | nixos/lib: Inherit type for doRename options (#78135)Silvan Mosberger2020-01-20
|\ \ | | | | | | nixos/lib: Inherit type for doRename options
| * | nixos/lib: Inherit type for doRename optionsJanne Heß2020-01-20
| |/ | | | | | | Co-authored-by: Silvan Mosberger <contact@infinisil.com>
* / lib/attrsets: Fix error in comment for getAttrFromPathSilvan Mosberger2020-01-20
|/
* Merge pull request #77704 from mayflower/also-submodulesSilvan Mosberger2020-01-16
|\ | | | | lib.commitIdFromGitRepo: fix support for git-submodule
| * lib.commitIdFromGitRepo: fix support for git-submoduleelseym2020-01-14
| | | | | | | | Adds handling for relative references from .git-files, fixing a bug introduced by c9214c394b248e1f26e45dbe1be2bd82363af3a6.
* | Replace short URL from #63103 with full URL.Drew Hess2020-01-15
|/ | | | | The error message is already helpfully verbose, so there's little reason to shorten the informational URL.
* lib/types: prioritise coercedType in coercedToarcnmx2020-01-14
| | | | | This more intuitively matches `types.either` and allows paths to be coerced to submodules again, which was inhibited by #76861
* Merge pull request #77047 from NixOS/staging-nextFrederik Rietdijk2020-01-14
|\ | | | | Staging next
| * Merge master into staging-nextFrederik Rietdijk2020-01-14
| |\
| * \ Merge master into staging-nextFrederik Rietdijk2020-01-13
| |\ \
| * \ \ Merge master into staging-nextFrederik Rietdijk2020-01-10
| |\ \ \
| * \ \ \ Merge master into staging-nextFrederik Rietdijk2020-01-10
| |\ \ \ \
| * \ \ \ \ Merge branch 'master' into staging-nextVladimír Čunát2020-01-08
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | The nss rebuild isn't so small.
| * \ \ \ \ \ Merge master into staging-nextFrederik Rietdijk2020-01-07
| |\ \ \ \ \ \
| * \ \ \ \ \ \ Merge pull request #74284 from matthewbauer/ios-with-xcode-11Matthew Bauer2020-01-03
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Update iOS for XCode 11
| | * \ \ \ \ \ \ Merge remote-tracking branch 'origin/master' into ios-with-xcode-11Matthew Bauer2020-01-03
| | |\ \ \ \ \ \ \
| | * | | | | | | | lib/systems: use newer ios sdkMatthew Bauer2020-01-03
| | | | | | | | | |
* | | | | | | | | | Merge pull request #75539 from Gabriel439/gabriel/renderOptionsRobert Hensing2020-01-14
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|/ |/| | | | | | | | | Add `pkgs.lib.encodeGNUCommandLine`
| * | | | | | | | | Export toGNUCommandLine Gabriel Gonzalez2020-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... as suggested by @roberth Co-Authored-By: Robert Hensing <roberth@users.noreply.github.com>
| * | | | | | | | | Factor out a `toGNUCommandLine` utilityGabriel Gonzalez2020-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... as suggested by @roberth
| * | | | | | | | | Use a more realistic example that exercises all encodingsGabriel Gonzalez2019-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... as suggested by @roberth This also caught a bug in rendering lists, which this change also fixes
| * | | | | | | | | Make behavior of `encodeGNUCommandLine` customizableGabriel Gonzalez2019-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... based on feedback from @edolstra
| * | | | | | | | | Rename `renderOptions` to `encodeGNUCommandLine`Gabriel Gonzalez2019-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... as suggested by @edolstra
| * | | | | | | | | Add `pkgs.lib.renderOptions`Gabriel Gonzalez2019-12-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a new utility to intelligently convert Nix records to command line options to reduce boilerplate for simple use cases and to also reduce the likelihood of malformed command lines
* | | | | | | | | | Merge pull request #77575 from worldofpeace/home-manager-warnings-dropworldofpeace2020-01-13
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|/ |/| | | | | | | | | lib/types: dont warn loaOf for home-manager namespace
| * | | | | | | | | lib/types: dont warn loaOf for home-manager namespaceworldofpeace2020-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This option namespace is not a part of NixOS so we shouldn't provide this warning for it.
* | | | | | | | | | Merge pull request #77473 from mayflower/worktreesLinus Heckemann2020-01-13
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | lib.commitIdFromGitRepo: support git-worktree
| * | | | | | | | | lib.commitIdFromGitRepo: support git-worktreeelseym2020-01-10
| | |_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lib.commitIdFromGitRepo now resolves the refs from the parent repository in case the supplied path is a file containing the path to said repository. this adds support for git-worktree and things alike. see gitrepository-layout(5). this also: - adds a new boolean function lib.pathIsRegularFile to check whether a path is a regular file - patches lib.revisionWithDefault and the revision and versionSuffix attributes in config.system.nixos in order to support git-worktrees
* | | | | | | | | Merge pull request #77501 from jtojnar/more-loaof-fxesJan Tojnar2020-01-12
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | tree-wide: fix more warning related to loaOf deprecation
| * | | | | | | | | lib/types: improve loaOf message even moreJan Tojnar2020-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now we suggest correct names for all options in Nixpkgs and also home-manager at the time of writing.
| * | | | | | | | | lib/types: only show ... in loaOf warning when necessaryJan Tojnar2020-01-11
| | | | | | | | | |
| * | | | | | | | | lib/types: improve loaOf warningJan Tojnar2020-01-11
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not all modules use name attribute as the name of the submodule, for example, environment.etc uses target. We will need to maintain a list of exceptions.
* | | | | | | | | Merge pull request #76861 from Infinisil/paths-as-submodulesRobert Hensing2020-01-12
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | | lib/types: Allow paths as submodule values
| * | | | | | | | lib/types: Allow paths as submodule valuesSilvan Mosberger2020-01-08
| | |_|_|_|_|/ / | |/| | | | | |
* | | | | | | | lib/modules: Switch _module.args from attrsOf to lazyAttrsOfSilvan Mosberger2020-01-10
| | | | | | | |
* | | | | | | | lib/tests: Add tests for attrsOf and lazyAttrsOfSilvan Mosberger2020-01-10
| | | | | | | |
* | | | | | | | lib/types: Introduce lazyAttrsOfSilvan Mosberger2020-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The standard attrsOf is strict in its *values*, meaning it's impossible to access only one attribute value without evaluating all others as well. lazyAttrsOf is a version that doesn't have that problem, at the expense of conditional definitions not properly working anymore.
* | | | | | | | lib/types: Add emptyValue attribute to typesSilvan Mosberger2020-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: Robert Hensing <roberth@users.noreply.github.com>
* | | | | | | | lib/modules: Move the isDefined check into mergedValueSilvan Mosberger2020-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this change, accessing `mergedValue` from `mergeDefinitions` in case there are no definitions will throw an error like error: evaluation aborted with the following error message: 'This case should never happen.' This change makes it throw the appropriate error error: The option `foo' is used but not defined. This is fully backwards compatible.