1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-12 05:26:02 +01:00
Commit graph

20917 commits

Author SHA1 Message Date
mergify[bot]
011f6e06a2
Merge pull request #13006 from NixOS/mergify/bp/2.28-maintenance/pr-12538
libstore S3: fix progress bar and make file transfers interruptible (backport #12538)
2025-04-11 22:54:15 +00:00
Jörg Thalheim
3094e39dc4
Merge pull request #12646 from whatsthecraic/feature/s3-auth-iam-role
S3: opt-in the STSProfileCredentialsProvider
2025-04-12 00:30:22 +02:00
Philipp Otterbein
61bb405839 add isInterrupted() call and replace some checkInterrupt() occurrences
(cherry picked from commit 49f757c24a)
2025-04-11 22:15:12 +00:00
Philipp Otterbein
c53bd8905b libstore: same progress bar behavior for PUT and POST requests
- no differentiation between uploads and downloads in CLI

(cherry picked from commit db297d3dda)
2025-04-11 22:15:12 +00:00
Philipp Otterbein
beab9eb978 libstore S3: fix progress bar and make file transfers interruptible
(cherry picked from commit 9da01e69f9)
2025-04-11 22:15:11 +00:00
Dean De Leo
51073607ea S3: opt-in the STSProfileCredentialsProvider
The STSProfileCredentialsProviders allows to assume a specific IAM role
when accessing an S3 repository. Sometimes this is needed to obtain the
permissions to operate on the bucket.
2025-04-11 23:47:56 +02:00
Jörg Thalheim
a46ca4f02f
Merge pull request #12538 from NaN-git/fix-s3-progress
libstore S3: fix progress bar and make file transfers interruptible
2025-04-11 23:44:53 +02:00
Graham Christensen
44cc2ef245
Merge pull request #28 from DeterminateSystems/release-v3.3.0/06a32f4a-6093-4d14-8780-4e4103b77863
Release v3.3.0
2025-04-11 21:41:12 +00:00
Cole Helbling
8bd8f5a869
Add Determinate Nix 3.3.0 release notes 2025-04-11 14:05:42 -07:00
github-actions[bot]
454e0f798d
Set .version-determinate to 3.3.0 2025-04-11 20:56:54 +00:00
github-actions[bot]
2596288f88
Prepare release v3.3.0 2025-04-11 20:56:51 +00:00
Philipp Otterbein
49f757c24a add isInterrupted() call and replace some checkInterrupt() occurrences 2025-04-11 22:48:10 +02:00
Philipp Otterbein
db297d3dda libstore: same progress bar behavior for PUT and POST requests
- no differentiation between uploads and downloads in CLI
2025-04-11 22:48:10 +02:00
Philipp Otterbein
9da01e69f9 libstore S3: fix progress bar and make file transfers interruptible 2025-04-11 22:48:10 +02:00
Robert Hensing
bbfe39ef27
Merge pull request #12995 from fricklerhandwerk/link-building
glossary: link "building" from "realisation"
2025-04-11 00:15:12 +02:00
Robert Hensing
7a0e38a1aa
Merge pull request #12998 from fricklerhandwerk/packages
glossary: refine the definition of "package"
2025-04-11 00:14:23 +02:00
Valentin Gagarin
bf65bc7eb7 Nix language reference: highlight characteristic features
Nix shipping with Yet Another Programming Language is often questioned
among beginners. This change highlights distinctive aspects of the Nix
language to ease the learning curve and better orient readers around
what really matters for using Nix.

Since it's on topic, this change also polishes the wording on the motivation for string contexts.
2025-04-10 23:50:55 +02:00
Valentin Gagarin
a0d3003bf2 glossary: refine the definition of "package"
This change follows the definition from aptitude, but using precise notions from Nix:

> package managers deal with packages: collections of files that are
> bundled together and can be installed and removed as a group.
> [...]
> If a package A depends upon another package B, then B is required
> for A to operate properly.
> [...]
> The job of a package manager is to present an interface which assists
> the user in managing the collection of packages installed on his or her system.
>
> -- <https://www.debian.org/doc/manuals/aptitude/pr01s02.en.html>

An interesting addition:

> Packages are abstractions defining the granularity at which users can act
> (add, remove, upgrade, etc.) on available software.
> A distribution is a collection of packages maintained (hopefully) coherently.
>
> -- Package Upgrades in FOSS Distributions: Details and Challenges
>    (Roberto Di Cosmo, Stefano Zacchiroli; 2009) <https://arxiv.org/pdf/0902.1610>

Notably these quotes and this change don't say anything about installation,
or what it means for software to be available. In practice, this is
handled downstream, e.g. in NixOS or Home Manager. Nix historically
provides rudimentary facilities for package management such as
`nix-env`, but I claim they are widely agreed upon being discouraged,
with plenty of arguments provided in <https://stop-using-nix-env.privatevoid.net>.

Similarly, the specific structure of packages is determined downstream,
since Nix is policy-free:

> Nix is policy-free; it provides mechanisms to implement various deployment policies, but does not enforce a specific one.
>
> -- The Purely Functional Software Deployment Model (Eelco Dolstra; 2006) <https://edolstra.github.io/pubs/phd-thesis.pdf>

Specifically, Nix mechanisms do not define what a package is supposed to be:

> It's worth noting that the Nix language is intended as a DSL for package and configuration management, but it has no notions of "packages" or "configurations".
>
> -- <https://gist.github.com/edolstra/29ce9d8ea399b703a7023073b0dbc00d>

This is why we say, Nix *allows* denoting packages in a certain way, but
doesn't enforce any particular way.
2025-04-10 22:50:28 +02:00
Graham Christensen
02da540353
Merge pull request #24 from DeterminateSystems/rename-nix-profile-install-to-add
Rename `nix profile install` to `nix profile add`
2025-04-10 18:38:33 +00:00
Eelco Dolstra
6cd2b4e169 Move alias support from NixArgs to MultiCommand
This allows subcommands to declare aliases, e.g. `nix store ping` is
now a proper alias of `nix store info`.
2025-04-10 19:48:55 +02:00
Eelco Dolstra
497fe6dd31 Make nix profile install an alias of nix profile add 2025-04-10 18:48:23 +02:00
Eelco Dolstra
666aa20da8 Move alias support from NixArgs to MultiCommand
This allows subcommands to declare aliases, e.g. `nix store ping` is
now a proper alias of `nix store info`.
2025-04-10 18:48:23 +02:00
Valentin Gagarin
fc5b1d2344 glossary: link "building" from "realisation" 2025-04-10 16:56:19 +02:00
Eelco Dolstra
62565ce7ce Remove unused variable 2025-04-10 13:10:20 +02:00
Eelco Dolstra
e3042f10af Move getAccessorCached() to InputCache 2025-04-10 10:24:15 +02:00
Eelco Dolstra
012453d1e6 Move the input cache into libfetchers 2025-04-10 10:24:15 +02:00
Eelco Dolstra
c7f8147282 Rename FlakeCache -> InputCache and key it on Inputs instead of FlakeRefs 2025-04-10 10:24:15 +02:00
Eelco Dolstra
3f3cc6f438
Merge pull request #12991 from Mic92/cgroup
linux/cgroup: delete double quote in error message
2025-04-10 10:11:24 +02:00
Eelco Dolstra
26cb166bca
Merge pull request #12531 from obsidiansystems/store-accessor-root
`Store::getFSAccessor`: Do not include the store dir
2025-04-10 09:55:03 +02:00
Jörg Thalheim
b3f80283a6 linux/cgroup: delete double quote in error message 2025-04-10 09:31:48 +02:00
Eelco Dolstra
9d3595646d nix shell: Resolve symlinks in storeFS
`storeFS` is the `MountedSourceAccessor` that wraps `store->getFSAccessor()`.
2025-04-09 17:34:19 -04:00
John Ericson
eb643d034f Store::getFSAccessor: Do not include the store dir
Rather than "mounting" the store inside an empty virtual filesystem,
just return the store as a virtual filesystem. This is more modular.

(FWIW, it also supports two long term hopes of mind:

1. More capability-based Nix language mode. I dream of a "super pure
   eval" where you can only use relative path literals (See #8738), and
   any `fetchTree`-fetched stuff + the store are all disjoint (none is
   mounted in another) file systems.

2. Windows, where the store dir may include drive letters, etc., and is
   thus unsuitable to be the prefix of any `CanonPath`s.

)

Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2025-04-09 17:34:18 -04:00
Eelco Dolstra
dd15c8a20d Move getAccessorCached() to InputCache
Also, make fetchTree use InputCache.
2025-04-09 23:06:03 +02:00
mergify[bot]
4d990f1459
Merge pull request #12989 from NixOS/mergify/bp/2.28-maintenance/pr-12986
Fix another machine config parsing bug (backport #12986)
2025-04-09 20:51:33 +00:00
John Ericson
f9c262c3d5 Fix another machine config parsing bug
We were ignorning the result of `trim`, and after my last change we were
also trimmming too early.

(cherry picked from commit b74b0f4e1c)
2025-04-09 20:13:30 +00:00
Eelco Dolstra
3bbf917707 Move the input cache into libfetchers 2025-04-09 22:13:28 +02:00
Jörg Thalheim
2455bda91b
Merge pull request #12986 from obsidiansystems/fix-machine-commment-semicolon
Fix another machine config parsing bug
2025-04-09 22:12:26 +02:00
Eelco Dolstra
0cb06d7eda Rename FlakeCache -> InputCache and key it on Inputs instead of FlakeRefs 2025-04-09 21:38:08 +02:00
John Ericson
b74b0f4e1c Fix another machine config parsing bug
We were ignorning the result of `trim`, and after my last change we were
also trimmming too early.
2025-04-09 15:33:09 -04:00
Eelco Dolstra
f45db85887 Actually ignore system/user registries during locking
Something went wrong in #12068 so this didn't work. Also added a test.
2025-04-09 21:04:42 +02:00
mergify[bot]
bb8af4ceb7
Merge pull request #12985 from NixOS/mergify/bp/2.28-maintenance/pr-12984
Fix `;` and `#` bug in machine file parsing (backport #12984)
2025-04-09 19:04:07 +00:00
John Ericson
2892b758b3 Fix ; and # bug in machine file parsing
Comments go to the end of the line, not merely the next ; *or* \n. Fix
by splitting on `;` *within* lines, and test.

(cherry picked from commit f8b13cce19)
2025-04-09 18:27:16 +00:00
Jörg Thalheim
d45067177e
Merge pull request #12984 from obsidiansystems/fix-machine-commment-semicolon
Fix `;` and `#` bug in machine file parsing
2025-04-09 20:26:03 +02:00
mergify[bot]
e191b93a0e
Merge pull request #12983 from NixOS/mergify/bp/2.28-maintenance/pr-12699
tests/functional/flakes: Add test case for subflake locking (backport #12699)
2025-04-09 17:54:32 +00:00
Rodney Lorrimar
080950b0fe tests/functional/flakes: Add test case for subflake locking
This adds a test case where the lockfile of a relative path flake
dependency is updated.

It was reported by a user here: https://discourse.nixos.org/t/updating-local-subflakes-inputs-when-building-root-flake/61682

I think this test case relates to issue #7730.

Because the issue is not resolved, this test case would fail without
the `|| true` clause.

(cherry picked from commit 1bc82d1c86)
2025-04-09 17:20:31 +00:00
Robert Hensing
fc77a89d53
Merge pull request #12699 from rvl/subflake-locking-test
tests/functional/flakes: Add test case for subflake locking
2025-04-09 19:19:34 +02:00
mergify[bot]
6d98cef93f
Merge pull request #12982 from NixOS/mergify/bp/2.28-maintenance/pr-12979
Actually ignore system/user registries during locking (backport #12979)
2025-04-09 17:07:38 +00:00
John Ericson
f8b13cce19 Fix ; and # bug in machine file parsing
Comments go to the end of the line, not merely the next ; *or* \n. Fix
by splitting on `;` *within* lines, and test.
2025-04-09 12:38:42 -04:00
Eelco Dolstra
a08477975d Actually ignore system/user registries during locking
Something went wrong in #12068 so this didn't work. Also added a test.

(cherry picked from commit 77d4316353)
2025-04-09 16:33:47 +00:00
Jörg Thalheim
ea48a318ba
Merge pull request #12979 from DeterminateSystems/fix-ignore-local-registrie
Actually ignore system/user registries during locking
2025-04-09 18:32:54 +02:00