| Commit message (Expand) | Author | Age | Files | Lines |
| ... | |
| * | lib/generators.toPretty: Switch away from δ and λ•••- These symbols can be confusing for those not familiar with them
- There's no harm in making these more obvious
- Terminals may not print them correctly either
Also changes the function argument printing slightly to be more obvious
| Silvan Mosberger | 2020-09-17 | 1 | -7/+5 |
| * | lib/generators.toPretty: Improved string printing, handling newlines | Silvan Mosberger | 2020-09-17 | 1 | -1/+13 |
| * | lib/generators.toPretty: Implement multiline printing | Silvan Mosberger | 2020-09-17 | 1 | -10/+15 |
| * | lib/generators.toPretty: Wrap in a go function•••As a preparation to the following commit
| Silvan Mosberger | 2020-09-17 | 1 | -3/+4 |
| * | lib/generators.toPretty: Only quote attribute names if necessary | Silvan Mosberger | 2020-09-17 | 1 | -1/+1 |
| * | lib/generators: Extend mkValueStringDefault with float support | Silvan Mosberger | 2020-07-29 | 1 | -2/+4 |
| * | lib.generators: add toGitINI•••This code was taken from the home-manager project.
| zimbatm | 2020-03-26 | 1 | -0/+53 |
| * | lib/generators: Add toINI option for duplicate keys | Silvan Mosberger | 2020-03-10 | 1 | -6/+12 |
| * | lib/generators: floats are not supported in mkValueStringDefault•••They are cut off after a few decimal places; we cannot in good faith
define a default string representation with that.
| Profpatsch | 2020-01-23 | 1 | -0/+3 |
| * | treewide: Remove usage of isNull•••isNull "is deprecated; just write e == null instead" says the Nix manual
| Daniel Schaefer | 2019-04-29 | 1 | -1/+1 |
| * | generators: make toPretty handle floats correctly | Léo Gaspard | 2018-10-15 | 1 | -0/+1 |
| * | [bot]: remove unreferenced code | volth | 2018-07-20 | 1 | -2/+0 |
| * | lib.generators.toPlist: add floats•••Nix now supports floats & we can pretty easily map them to Plist’s
<real></real> type. Note that I am unsure how this affects older
version of Nix that may or may not have builtins.isFloat available.
Make sure this satisfies minver.nix’s "1.11" requirement.
| Matthew Bauer | 2018-07-03 | 1 | -6/+9 |
| * | generators: refactor toPlist•••Address PR comments
Refactors
- Rename toPLIST -> toPlist
| Matthew Bauer | 2018-06-28 | 1 | -33/+32 |
| * | generators: refactor toPLIST | Matthew Bauer | 2018-06-28 | 1 | -38/+38 |
| * | generators: add PLIST handling•••/cc @LnL7 @3noch
| Matthew Bauer | 2018-06-27 | 1 | -0/+48 |
| * | lib/generators: print paths without quotes & move function down | Profpatsch | 2018-04-25 | 1 | -11/+15 |
| * | lib/generators: introduce a sane default for `mkValueString`•••So far, `mkValueString` defaulted to `toString`,
which is a bad match for most configuration file formats,
especially because how booleans are formatted.
This also improves error messages for unsupported types.
Add a test to codify the formatting.
| Profpatsch | 2018-03-29 | 1 | -1/+25 |
| * | lib/generators: improve documentation a bit | Profpatsch | 2018-03-29 | 1 | -0/+11 |
| * | lib/generators: improve toPretty•••* properly escape strings
* remove one check for booleans
* improve error message
| Profpatsch | 2018-03-29 | 1 | -3/+5 |
| * | Add setFunctionArgs lib function.•••Among other things, this will allow *2nix tools to output plain data
while still being composable with the traditional
callPackage/.override interfaces.
| Shea Levy | 2018-01-31 | 1 | -1/+3 |
| * | lib/generators: abort on pattern match failure | Profpatsch | 2018-01-03 | 1 | -1/+1 |
| * | lib/generators: add mkValueString to mkKeyValueDefault generator•••This means the generation of values can now be influenced, even down from e.g.
an INI generator.
Breaks the interface of `mkKeyValueDefault` to match its interface to other
generator functions. It might me sensible to rename `mkKeyValue` and
`mkKeyValueSet` to conform to the `toX`-style of generator functions.
| Profpatsch | 2017-11-22 | 1 | -5/+9 |
| * | Convert libs to a fixed-point•••This does break the API of being able to import any lib file and get
its libs, however I'm not sure people did this.
I made this while exploring being able to swap out docFn with a stub
in #2305, to avoid functor performance problems. I don't know if that
is going to move forward (or if it is a problem or not,) but after
doing all this work figured I'd put it up anyway :)
Two notable advantages to this approach:
1. when a lib inherits another lib's functions, it doesn't
automatically get put in to the scope of lib
2. when a lib implements a new obscure functions, it doesn't
automatically get put in to the scope of lib
Using the test script (later in this commit) I got the following diff
on the API:
+ diff master fixed-lib
11764a11765,11766
> .types.defaultFunctor
> .types.defaultTypeMerge
11774a11777,11778
> .types.isOptionType
> .types.isType
11781a11786
> .types.mkOptionType
11788a11794
> .types.setType
11795a11802
> .types.types
This means that this commit _adds_ to the API, however I can't find a
way to fix these last remaining discrepancies. At least none are
_removed_.
Test script (run with nix-repl in the PATH):
#!/bin/sh
set -eux
repl() {
suff=${1:-}
echo "(import ./lib)$suff" \
| nix-repl 2>&1
}
attrs_to_check() {
repl "${1:-}" \
| tr ';' $'\n' \
| grep "\.\.\." \
| cut -d' ' -f2 \
| sed -e "s/^/${1:-}./" \
| sort
}
summ() {
repl "${1:-}" \
| tr ' ' $'\n' \
| sort \
| uniq
}
deep_summ() {
suff="${1:-}"
depth="${2:-4}"
depth=$((depth - 1))
summ "$suff"
for attr in $(attrs_to_check "$suff" | grep -v "types.types"); do
if [ $depth -eq 0 ]; then
summ "$attr" | sed -e "s/^/$attr./"
else
deep_summ "$attr" "$depth" | sed -e "s/^/$attr./"
fi
done
}
(
cd nixpkgs
#git add .
#git commit -m "Auto-commit, sorry" || true
git checkout fixed-lib
deep_summ > ../fixed-lib
git checkout master
deep_summ > ../master
)
if diff master fixed-lib; then
echo "SHALLOW MATCH!"
fi
(
cd nixpkgs
git checkout fixed-lib
repl .types
)
| Graham Christensen | 2017-09-16 | 1 | -3/+4 |
| * | lib/generators: put more information in toPretty lambdas•••With `builtins.functionArgs` we can get some information if the first argument
is an attrset and whether the contained fields have default values. Encode that
into the pretty-printed lambda.
| Profpatsch | 2017-06-22 | 1 | -2/+7 |
| * | lib/generators: toPretty•••`toPretty` implements a pretty printer for nix values.
| Profpatsch | 2017-06-22 | 1 | -0/+32 |
| * | lib/generators: mkKeyValueLine -> mkKeyValueLine (#20920)•••Rename, since the previous name was potentially confusing. | Profpatsch | 2016-12-06 | 1 | -4/+4 |
| * | lib/generators: add toKeyValue & mkKeyValueLine (#20903)•••generators for the common use case of simple config files which hold keys and
values. Used in the implementation for toINI. | Profpatsch | 2016-12-04 | 1 | -4/+25 |
| * | lib/generators: add manual documentation•••Restructures the functions reference a bit.
| Profpatsch | 2016-11-17 | 1 | -1/+6 |
| * | lib: add generator functions for toJSON & toYAML•••They both reference the toJSON builtin, so we get semantic identifiers
that express the intent of the generation.
Both should be able to map each nix value (minus functions) to the
destination config files.
Includes two invocation unit tests.
| Profpatsch | 2016-11-17 | 1 | -1/+15 |
| * | lib: add ini configuration generator•••Many configurations are INI-style files. Attribute sets can be mapped
rather painlessly to the INI format.
This adds a function toINI inside a new generators library section.
Also, unit tests for the default values are provided.
| Profpatsch | 2016-11-17 | 1 | -0/+53 |