aboutsummaryrefslogtreecommitdiff
path: root/src/nix
AgeCommit message (Collapse)Author
2019-11-14Fix attr path to nixpkgs flake in flake templateMaximilian Bosch
This doesn't work anymore since `packages` was removed from the `nixpkgs`-fork with flake support[1], now it's only possible to refer to pkgs via `legacyPackages`. [1] https://github.com/edolstra/nixpkgs/commit/49c9b71e4ca98722cecd64ce8d53c1a4b9c46b64
2019-11-12nix dev-shell: Improve bash output parsingEelco Dolstra
Fixes handling of '=' in unquoted strings and escaped characters in $'...' strings.
2019-11-08Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-11-08Move editorFor srom libutil to nixEelco Dolstra
libutil should not depend on libexpr.
2019-11-06Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-11-05Merge branch 'fix/nix-doctor-output' of https://github.com/bhipple/nixEelco Dolstra
2019-11-05Merge branch 'nix-repl-e' of https://github.com/zimbatm/nixEelco Dolstra
2019-11-05Merge pull request #3190 from mkenigs/examplesEelco Dolstra
change deprecated attribute syntax in run examples
2019-11-04Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-11-04Merge pull request #3202 from kraem/masterEelco Dolstra
Update nix eval --help msg to not include deprecated command
2019-11-03Fix progress bar when nix-prefetch-url is piped.Harald van Dijk
The intent of the code was that if the window size cannot be determined, it would be treated as having the maximum possible size. Because of a missing assignment, it was actually treated as having a width of 0. The reason the width could not be determined was because it was obtained from stdout, not stderr, even though the printing was done to stderr. This commit addresses both issues.
2019-11-03Update nix eval --help msg to not include deprecated commandkraem
2019-11-01include netinet/in.h in src/nix/main.ccng0
Fixes #3186
2019-10-31change deprecated attribute syntax in run examplesmatthew
2019-10-31Minor updates to inline commentsBenjamin Hipple
Add missing docstring on InstallableCommand. Also, some of these were wrapped when they're right next to a line longer than the unwrapped line, so we can just unwrap them to save vertical space.
2019-10-28nix repl: also handle lambda editzimbatm
2019-10-28editorFor: take a pos object insteadzimbatm
2019-10-28libexpr: findDerivationFilename return Pos instead of tuplezimbatm
2019-10-23libexpr: add findDerivationFilenamezimbatm
extract the derivation to filename:lineno heuristic
2019-10-23libutil: add editorFor heuristiczimbatm
2019-10-23nix repl: add :edit commandzimbatm
This allows to have a repl-centric workflow to working on nixpkgs. Usage: :edit <package> - heuristic that find the package file path :edit <path> - just open the editor on the file path Once invoked, `nix repl` will open $EDITOR on that file path. Once the editor exits, `nix repl` will automatically reload itself.
2019-10-22Convert old-style profile manifestEelco Dolstra
2019-10-22Add "nix profile upgrade" commandEelco Dolstra
2019-10-22Add "nix profile remove" commandEelco Dolstra
2019-10-22nix profile info: Index elementsEelco Dolstra
2019-10-22Add start of 'nix profile' commandEelco Dolstra
2019-10-21Fix "nixpkgs." compatibilityEelco Dolstra
2019-10-21Fix buildEelco Dolstra
2019-10-21Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-10-21Mark content-addressable paths with references as experimentalEelco Dolstra
2019-10-21nix make-content-addressable: Add examplesEelco Dolstra
2019-10-21Fix buildEelco Dolstra
2019-10-21Allow content-addressable paths to have referencesEelco Dolstra
This adds a command 'nix make-content-addressable' that rewrites the specified store paths into content-addressable paths. The advantage of such paths is that 1) they can be imported without signatures; 2) they can enable deduplication in cases where derivation changes do not cause output changes (apart from store path hashes). For example, $ nix make-content-addressable -r nixpkgs.cowsay rewrote '/nix/store/g1g31ah55xdia1jdqabv1imf6mcw0nb1-glibc-2.25-49' to '/nix/store/48jfj7bg78a8n4f2nhg269rgw1936vj4-glibc-2.25-49' ... rewrote '/nix/store/qbi6rzpk0bxjw8lw6azn2mc7ynnn455q-cowsay-3.03+dfsg1-16' to '/nix/store/iq6g2x4q62xp7y7493bibx0qn5w7xz67-cowsay-3.03+dfsg1-16' We can then copy the resulting closure to another store without signatures: $ nix copy --trusted-public-keys '' ---to ~/my-nix /nix/store/iq6g2x4q62xp7y7493bibx0qn5w7xz67-cowsay-3.03+dfsg1-16 In order to support self-references in content-addressable paths, these paths are hashed "modulo" self-references, meaning that self-references are zeroed out during hashing. Somewhat annoyingly, this means that the NAR hash stored in the Nix database is no longer necessarily equal to the output of "nix hash-path"; for content-addressable paths, you need to pass the --modulo flag: $ nix path-info --json /nix/store/iq6g2x4q62xp7y7493bibx0qn5w7xz67-cowsay-3.03+dfsg1-16 | jq -r .[].narHash sha256:0ri611gdilz2c9rsibqhsipbfs9vwcqvs811a52i2bnkhv7w9mgw $ nix hash-path --type sha256 --base32 /nix/store/iq6g2x4q62xp7y7493bibx0qn5w7xz67-cowsay-3.03+dfsg1-16 1ggznh07khq0hz6id09pqws3a8q9pn03ya3c03nwck1kwq8rclzs $ nix hash-path --type sha256 --base32 /nix/store/iq6g2x4q62xp7y7493bibx0qn5w7xz67-cowsay-3.03+dfsg1-16 --modulo iq6g2x4q62xp7y7493bibx0qn5w7xz67 0ri611gdilz2c9rsibqhsipbfs9vwcqvs811a52i2bnkhv7w9mgw
2019-10-21Add experimental-features settingEelco Dolstra
Experimental features are now opt-in. There is currently one experimental feature: "nix-command" (which enables the "nix" command. This will allow us to merge experimental features more quickly, without committing to supporting them indefinitely. Typical usage: $ nix build --experimental-features 'nix-command flakes' nixpkgs#hello (cherry picked from commit 8e478c234100cf03ea1b777d4bd42a9be7be9e8c, without the "flakes" feature)
2019-10-21SourceExprCommand::getSourceExpr(): Allocate more spaceEelco Dolstra
Fixes #3140.
2019-10-20Fix InstallableFlake::what()Eelco Dolstra
2019-10-16Add experimental-features settingEelco Dolstra
Experimental features are now opt-in. There are currently two experimental features: "nix-command" (which enables the "nix" command), and "flakes" (which enables support for flakes). This will allow us to merge experimental features more quickly, without committing to supporting them indefinitely. Typical usage: $ nix build --experimental-features 'nix-command flakes' nixpkgs#hello
2019-10-15Fix 'nix flake init'Eelco Dolstra
2019-10-15Support non-x86_64-linux system types in flakesEelco Dolstra
A command like $ nix run nixpkgs#hello will now build the attribute 'packages.${system}.hello' rather than 'packages.hello'. Note that this does mean that the flake needs to export an attribute for every system type it supports, and you can't build on unsupported systems. So 'packages' typically looks like this: packages = nixpkgs.lib.genAttrs ["x86_64-linux" "i686-linux"] (system: { hello = ...; }); The 'checks', 'defaultPackage', 'devShell', 'apps' and 'defaultApp' outputs similarly are now attrsets that map system types to derivations/apps. 'nix flake check' checks that the derivations for all platforms evaluate correctly, but only builds the derivations in 'checks.${system}'. Fixes #2861. (That issue also talks about access to ~/.config/nixpkgs and --arg, but I think it's reasonable to say that flakes shouldn't support those.) The alternative to attribute selection is to pass the system type as an argument to the flake's 'outputs' function, e.g. 'outputs = { self, nixpkgs, system }: ...'. However, that approach would be at odds with hermetic evaluation and make it impossible to enumerate the packages provided by a flake.
2019-10-14Move code aroundEelco Dolstra
2019-10-10Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-10-10nix verify: Fix uninitialized variableEelco Dolstra
2019-10-10Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-10-09Filter ANSI escape sequences in -L outputEelco Dolstra
Otherwise, builds like NixOS VM tests may leave the terminal in a weird state and do resets.
2019-10-09OCD performance fix: {find,count}+insert => insertEelco Dolstra
2019-10-09getSourceExpr(): Handle channelsEelco Dolstra
Fixes #1892. Fixes #1865. Fixes #3119.
2019-10-09nix search: Don't quietly ignore errorsEelco Dolstra
2019-10-08Move addRegistrOverridesEelco Dolstra
2019-10-08uri -> url for consistencyEelco Dolstra
2019-10-07deleted commentEmilio Karakey