The RFC Steering Committee has started using an `RFCSC:` prefix to their messages posted on behalf of the committee to provide indication between personal opinion and communication from the committee. This updates the canned messages to include that prefix for consistency.
* 166: Nix formatting
Create 0101-nix-formatting.md
WIP
Go through a large part and agree on it
Co-Authored-By: @piegamesde
Update 0101-nix-formatting.md
Rework a lot of things
Update 0101-nix-formatting.md
Move around some sections
Reword the detailed section
Minor updates
Slight header changes again
Updates
Update 0101-nix-formatting.md
Update after today's meeting
Update 0101-nix-formatting.md
Further updates in the meeting
Update 0101-nix-formatting.md
After todays meeting
Update after meeting
Rename to probably the right number
Only use anchor links
Improvements and additions
- The sub-expression rule is now reworded and its own section with
examples and rationale
- Line length limit is now specified as we agreed-upon in the meeting
- The operator section is rewritten to align more with the consensus
Redo and explain operator special case
Also remove the special case for non-chainable operators, barely any benefit
in Nixpkgs
* Operator chains outside bindings can also have a compact form
* Make the operator compact form specific to binders
* Fix accidentally formatted semicolons in alternatives
* Minor changes
* Light copy editing
* Fix .git-blame-ignore-revs
* Improve assert/with wording
* Be more flexible with single-line element count
* binder -> binding
* unindent inherit semicolon, reshuffle binding/inherit sections (#14)
* unindent inherit semicolon, reshuffle binding/inherit sections
* fixup! Stuff
* Give alternatives to `in` formatting
* Expand on line break preservation
* Add editorconfig
* Expand argumentation against leading commas
* Add @dasJ to the formatter team
* Add shepherd team
Co-authored-by: Linus Heckemann <git@sphalerite.org>
* Various improvements (#15)
* Various improvements
- Remove unnecessary **Description** headers
- Rename **Rationale and Alternatives** to just **Alternatives**
- Insert must/may/should more diligently
- Add some TODOs where things are unclear
- Remove numberings from examples when not needed
- Minor clarity improvements and simplifications throughout
* Apply suggestions from code review
Co-authored-by: Ryan Hendrickson <ryan.hendrickson@alum.mit.edu>
---------
Co-authored-by: Ryan Hendrickson <ryan.hendrickson@alum.mit.edu>
* Address TODOs and rework with/assert
* Minor adjustments
* Mention formatting Nix code in documentation
* Working towards finalization (#16)
- Defined absorption and absorbable terms
- Adapted the existing RFC text to make use of these definitions,
resulting in simplications of the text in many cases.
- Updated `with` section to match the implementation
- Updated the function declaration section to match the implementation
- Sometimes, the function body may get absorbed
- This used to be a special case scoped to bindings only, so it got removed there
- Updated the operators section to match the implementation
- Specify the format of non-chainable operators (somehow those got lost in the past)
- Reworked bindings section. It should now be clear and specific enough.
- Minor wording fixes
* String section
* Specify assert conditions
* More absorption for multi-line arguments
* How to update the standard format
* Fix minor typos
* Less lines for common function call patterns
* Specify comments
* Specify that the formatter should be as pure as possible
With some exceptions
* nit: fix list concatenation example (#17)
* Update rfcs/0166-nix-formatting.md
Co-authored-by: Doron Behar <doron.behar@gmail.com>
* Add good indentation examples (#18)
* Add another chainable operators example
* justify difference in semicolon placement
* Allow different parenthesized argument style
* Clarify non-vertical alignment rule
* Improved clarity of bindings rule
* Improve bindings semicolon alternatives section
---------
Co-authored-by: Silvan Mosberger <github@infinisil.com>
Co-authored-by: Silvan Mosberger <silvan.mosberger@tweag.io>
Co-authored-by: Ryan Hendrickson <ryan.hendrickson@alum.mit.edu>
Co-authored-by: Yuriy Taraday <yorik.sar@gmail.com>
Co-authored-by: Linus Heckemann <git@sphalerite.org>
Co-authored-by: Janne Heß <janne@hess.ooo>
Co-authored-by: Doron Behar <doron.behar@gmail.com>
* stabilize-incrementally: Copy template
* stabilize-incrementally: First Draft
* stabilize-incrementally: Move RFC into position
* stabilize-incrementally: Fix typo
Thanks @0x4A6F!
* Apply suggestions from code review
* stabilize-incrementally: Fix typo!
Thanks!
Co-authored-by: sternenseemann <sternenseemann@systemli.org>
* stabilize-incrementally: There are easy thing we can do do first!
* stabilize-incrementally: Word-smith
* 136: Apply suggestions from code review
Thanks!
Co-authored-by: asymmetric <lorenzo@mailbox.org>
* 0136: Fix typo
Thanks!
Co-authored-by: Andreas Rammhold <andreas@rammhold.de>
* 136: Fix typo
* Add shepherds
* 136: Make clear we are not stablizing as-is
* 136: Attempt second split
* 136: Fix typo
Added a word by mistake
* 136: Explicate that stabilizing Flakes requires future RFCs
* 136: Clean up relationship to 134
- Make clear it is accepted
- Make clear the implementation on it is well underway, and PRs have
already been merged.
- Remove language about deadline and skipping steps if deadline is not
met, as it is confusing and hopefully not necessary.
- Instead include more open-ended language about reconsidering the
dependencies if unexpected delays with the split do arise.
* 136: Clarify drawback more, fix typos
* 136: Beef up detailed design with reusable process
* 136: Apply suggestions from code review
Thanks!
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
* 136: A few misc things
* 136: Remove "no-Flakes Nix" from future work
It is now an optional step in the RFC proper.
* 136: Remove the infamous "like it or not..."
By popular demand!
* 136: Retitle some stesp for clarity
* 136: Slight reword
* 136: Layering principles and other changes from meeting today
Collaborative editting is nice!
* 136: Reword first sentence
* More collaborative drafting
* Update summary
* More updates from collaborative editing in meeting
* Typos, sort of address TODO
* Fix numerious typos and small issues
Thanks so much!
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-authored-by: Felix Uhl <iFreilicht@users.noreply.github.com>
* Remove last mention of a deadline
The rest of these were already removed
* Fix typo
Thanks!
Co-authored-by: Ryan Lahfa <masterancpp@gmail.com>
* fix: minor fixes
---------
Co-authored-by: sternenseemann <sternenseemann@systemli.org>
Co-authored-by: asymmetric <lorenzo@mailbox.org>
Co-authored-by: Andreas Rammhold <andreas@rammhold.de>
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-authored-by: Felix Uhl <iFreilicht@users.noreply.github.com>
Co-authored-by: Ryan Lahfa <masterancpp@gmail.com>
Co-authored-by: Tom Bereknyei <tomberek@gmail.com>
* RFC 140
Initialized from 01948e0551
* Minor improvements
* Minor nits
* Update co-authors and add pre-RFC reviewers
* pkg-fun.nix -> package.nix
* Mid-sized refactor for improved clarity and incorporating feedback
In addition to some more minor changes and incorporating feedback, the
major changes are:
- Restructure the RFC into two separate parts, one to introduce
the convention and one to migrate packages to it when possible
- Remove the restriction that files inside a unit directory can only be
referenced by the corresponding `pkgs.${name}`. It feels very
unnatural to have this restriction and it's hard to reason about it.
Files inside a unit directory still can't reference anything _outside_
the unit directory, which is very similar to Nix's concept of allowed-uris,
which may be used to implement this check in the future.
- Remove the special case of allowing custom arguments. By not having
this one exception, users viewing a unit directory can be sure that
there's no hidden semantics anywhere (overriding arguments) and that the
functions arguments correspond directly to attributes in `pkgs`, no
exceptions that would require looking at `all-packages.nix`.
And it would be weird just to allow this one exception of
`callPackage` with custom arguments, when there's a lot of other
similarly small exceptions we could make, like allowing
`python3Packages.callPackage`.
- Remove the requirement that new packages must use this standard.
Especially with the above exception removed, this standard is now more
strict and less packages satisfy it by default.
A scenario could be that a user adds a new package, initially not
needing custom arguments, so CI requires it to be in `pkgs/unit`, but
then a custom argument is needed, so it must be moved out of there and
added to `all-packages.nix`. But then the custom argument can be removed,
so it _must_ be in `pkgs/unit` again. This sucks.
So let's keep `all-packages.nix` unrestricted, so a package won't have
to be moved back and forth like this.
* Re-add custom argument exception and various minor improvements
* shard distribution stats, cleanup, more uniformity
* Readd accidentally removed definition
* Mention package variants
* Minor moving and formatting
* Changes from feedback in the meeting
* Link to demonstration of cherry-picking without problems
* Link to demonstrates of problematic/non-problematic Git operations
* Names must be unique when lowercased
* Properly close invisible anchor
* Update summary to mention Nixpkgs more explicitly
* Include more arguments and counter-arguments for pkgs/unit alternatives
* Add shepherd team and nicks
* Convert frontmatter to a table
* Fix table rendering
* Minor fixups
Co-Authored-By: Robert Hensing <robert@roberthensing.nl>
* Explain unit and add more alternatives
* unit -> by-name, remove "standard"
And some very minor changes
* Apply suggestions from code review
Remove the barely used term "base directory"
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
---------
Co-authored-by: Robert Hensing <robert@roberthensing.nl>
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
* ipfs: Copy Template
* ipfs: Start drafting
* ipfs: Finish draft
* ipfs: Expand discussion of managing complexity
* ipfs: Fix typos
Thanks!
* ipfs: Fix more typos
Thanks!
* ipfs: FInish motivation on source distribution and archival
* ipfs: Rename now that we have number
* Apply suggestions from code review
Thanks!
Co-authored-by: Kevin Cox <kevincox@kevincox.ca>
* Fix typos
Thanks!
Co-authored-by: Adam Joseph <54836058+amjoseph-nixpkgs@users.noreply.github.com>
* 133: Add shepherd team!
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
* 133: Fix shepherds list
mjoseph -> amjoseph
* 133: Move non-`git` steps to future work
* 133: Move one more section out of future work
* 133: Move IPFS-specific motivation to future work too
* 133: Rename feature in light of changes
* 133: Rename RFC in light of changes
* 133: Discuss the downside of git's file system model being different
* Split future work, clean up Nix-agnostic stores section
* Fix numerious typos
Thanks, all of you!
Co-authored-by: Kevin Cox <kevincox@kevincox.ca>
Co-authored-by: Adam Joseph <54836058+amjoseph-nixpkgs@users.noreply.github.com>
Co-authored-by: Linus Heckemann <git@sphalerite.org>
* Add RFC open PR date
* Be clearer about not supporting references to start
* Update rfcs/0133-git-hashing.md
Co-authored-by: Kevin Cox <kevincox@kevincox.ca>
* Rip out both RFC-scal Future Work sections
They are now in an `ipfs-2` branch in this repo.
* Remove "Build adoption through seamless interop"
That can go in a separate blog post.
* Apply suggestions from code review
Thank you both!!
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-authored-by: Ryan Lahfa <masterancpp@gmail.com>
* Slim down the layering section
The other stuff is already in flight, we don't need to talk about it so much here.
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
---------
Co-authored-by: Kevin Cox <kevincox@kevincox.ca>
Co-authored-by: Adam Joseph <54836058+amjoseph-nixpkgs@users.noreply.github.com>
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
Co-authored-by: Linus Heckemann <git@sphalerite.org>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-authored-by: Ryan Lahfa <masterancpp@gmail.com>
* Update the RFC process documentation
- Nudge authors towards using Semantic Line Breaks for writing the RFC text
- Nudge authors towards posting their text as pre-RFC in the forum first
- Tweak wording around who declares FCP slightly
- Make clear that the shepherds have to announce FCP, and when exactly the period officially starts
- Be more open about when to do the implementation work relative to the RFC, and reflect the current practice of starting implementation work early
- Make more clear that RFCs should not be amended, and that important information should live e.g. in documentation instead.
* RFC template: Use semantic line breaks
Given the short text this may not make a huge difference, but given
that every RFC starts with a copy of that template, the hope is that
it will nudge people to continue writing in that style.
* RFC template: Add "Prior art" section
This is mostly inspired by Rust's RFC template.
Also added a couple of words to the "Alternatives" section,
similarly inspired by Rust's template.
* fixup! Update the RFC process documentation
* fixup! Update the RFC process documentation
Co-authored-by: 7c6f434c <7c6f434c@mail.ru>
* fixup! Update the RFC process documentation
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
---------
Co-authored-by: 7c6f434c <7c6f434c@mail.ru>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
* RFC 0125: Use an intermediary representation (bootspec) for bootloader backends
Bootspec is a set of memoized facts about a system's closure.
These facts are used as the primary input for bootloader backends like
systemd-boot and grub, for creating files in `/boot/loader/entries/`
and `grub.cfg`.
In this proposal we create a stable, comprehensive, and machine-parsable
definition of a NixOS Generation as an intermediate representation (IR)
between the NixOS system definition and the bootloader management tools.
* bootspec: relocate to $out/bootspec/boot.v1.json
* Clarify that this document describes bootspec v1
* Note that the filename must match the contained schemaVersion.
* Replace the specialisation's pointer to a bootspec with the full bootspec document
* Clarify the 'to interface with' bit
* Link to the bootspec implementation PR
* Note it is likely for bootloader backends to change their results slightly by integrating bootspec
* Relocate to $out/boot.json, top-level key of specification version
* Fix nits from code review
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
Co-authored-by: Linus Heckemann <git@sphalerite.org>
* 0125-bootspec: add the shepherd team and leader
Co-authored-by: Kevin Cox <kevincox@kevincox.ca>
* 0125-bootspec: initrd is optional, add system, extensions, clarify the meaning of optional
* PR: address comments (1)
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
* PR: address comments (2)
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
* Update RFC text with changes agreed on with RaitoBezarius
---------
Co-authored-by: Cole Helbling <cole.helbling@determinate.systems>
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
Co-authored-by: Linus Heckemann <git@sphalerite.org>
Co-authored-by: Kevin Cox <kevincox@kevincox.ca>
Co-authored-by: Raito Bezarius <masterancpp@gmail.com>
The main sections are largely copy+pasted from the RFC text itself. Minor modifications were made to integrate into the existing document.
- Change to future tense to reflect what actions will be taken in each scenario.
- Fix up some links to be relative to this document.
- Update template message to be a codeblock for easy copy+pasting when used.
* nix-store-layer: Copy template
* nix-store-layer: First draft
* nix-store-layer: pluralism -> marketplace of ideas
Thanks @fricklerhandwerk for the suggestion.
* nix-store-layer: Tweak Tvix and go-nix section
* nix-store-layer: Make Store team future work
* nix-store-layer: Start tidying Guix section
* nix-store-layer: Boild down Guix section further
Implementation discussion is unneeded for now.
* nix-store-layer: Make incrementality of design clear
Do this by putting the steps in order with numbers, and showing how the
hardest part can come last.
Thanks @fricklerhandwerk for the suggestion.
* nix-store-layer: Give RFC number
* nix-store-layer: Fix typo
Meaning was reversed!
* Update rfcs/0134-nix-store-layer.md
Thanks!
Co-authored-by: Tor Bjornrud <bjornrud@users.noreply.github.com>
* nix-store-layer: Fix typo
Thanks!
Co-authored-by: Adam Joseph <54836058+amjoseph-nixpkgs@users.noreply.github.com>
* Apply suggestions from code review
Thanks so much!!!
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
* Apply suggestions from code review
Thanks @fricklerhandwerk, just tweaked a few things from your suggestions to make these.
* nix-store-layer: Cut stabilization in future work down
Can just refer to https://github.com/NixOS/rfcs/pull/136 now.
* Apply suggestions from code review
Co-authored-by: Linus Heckemann <git@sphalerite.org>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
* 134: We have a shepherd team!
Co-authored-by: Linus Heckemann <git@sphalerite.org>
* 134: Move manual and store-specific tests to future work
As discussed in today's meeting.
* 134: Alt name moved to future work
---------
Co-authored-by: Tor Bjornrud <bjornrud@users.noreply.github.com>
Co-authored-by: Adam Joseph <54836058+amjoseph-nixpkgs@users.noreply.github.com>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-authored-by: Linus Heckemann <git@sphalerite.org>
* Initial nixos container commit because I want to view diffs between changes
* Updates / Improvements
* Note regarding static networking
* Updates
* update
* Update.
* Update.
* Update
Thanks Linus for the proof-read :)
* Update.
Mention that nixops container backend is also affected as pointed out by
fpletz.
* fixup! wording, spelling
* Move document according to assigned RFC number
* Linkify related issues
As it's done in https://github.com/NixOS/rfcs/blob/master/rfcs/0004-replace-unicode-quotes.md
* Bind-mounting Nix state isn't strictly needed
It's sufficient to have the store-paths available.
* Wording
Co-authored-by: Kevin Cox <kevincox@kevincox.ca>
* Clarify "default mode", remove a few unnecessary implementation details
* rfc108: add shepherds
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
* Apply wording suggestions from @lheckemann
Co-authored-by: Linus Heckemann <git@sphalerite.org>
* Usage of `nsenter` to update a container's configuration is not relevant for the RFC
* Rename `config` to `system-config` to avoid ambiguities in the module system
* Explicitly talk about deprecation of current implementation
Co-authored-by: Erik Arvstedt <erik.arvstedt@gmail.com>
Co-authored-by: Kevin Cox <kevincox@kevincox.ca>
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
Co-authored-by: Linus Heckemann <git@sphalerite.org>
* Initial draft "ret-cont" recursive Nix
* Fix typos and finish trailing sentance
* Switch to advocating temp store rather than daemon socket
Also:
- Allow fixed output builds (in that temp store)
- Clean up drawbacks and alternatives.
* ret-cont-recursive-nix: Fix typo
Thanks @siddharthist!
Co-Authored-By: Ericson2314 <git@JohnEricson.me>
* ret-cont-recursive-nix: Fix typo
Thanks @Mic92
Co-Authored-By: Ericson2314 <git@JohnEricson.me>
* ret-cont-recursive-nix: Fix typo
Thanks @globin
Co-Authored-By: Ericson2314 <git@JohnEricson.me>
* ret-cont-recursive-nix: Fix typo
Thanks @siddharthist!
Co-Authored-By: Ericson2314 <git@JohnEricson.me>
* ret-cont-recursive-nix: Clean up motivation, adding examples
* ret-cont-recursive-nix: Improve syntax highlighting
* Do a lousy job formalizing the detailed design
Break off some previously inline observations into their own subsection.
* ret-cont-recursive-nix: Mention `builtins.exec` in alternatives
* ret-cont-recursive-nix: Fix typo
Thanks @Mic92!
Co-Authored-By: Ericson2314 <git@JohnEricson.me>
* ret-cont-recursive-nix: Remove dangling "$o"
The later examples with `nix-instantiate` automatically get all the outputs of the final rewritten drv, so there's no output iteration needed. `"$o"` was mistakenly copied over from the earlier examples.
Thanks to @ocharles for asking me the question that led me to this. Hopefully this change answers that?
* Update rfcs/0000-ret-cont-recursive-nix.md
Co-Authored-By: Domen Kožar <domen@enlambda.com>
* ret-cont-recursive: Fix typo
about -> out
* ret-cont: Add examples and expand future work
* ret-cont: Fix syntax error
No `let`, so don't need `in`.
* ret-cont: Mention Ninja's upcomming `dyndep` and C++ oppertunity
* ret-cont: Fix missing explicit `outputs` and `__recursive`
This was in the "wrapper" derivation example.
* ret-cont: "caching builds" -> "caching evaluation"
We already cache builds just fine, thanks!
Thanks @globin for catching
* ret-cont: Improve formalism and reference #62
* drv-build-drv: Start drafting from old ret-cont-recursive-nix RFC
* drv-buiild-drv: WIP rewrite
* plan-dynamism: Rewrite RFC yet again
* plan-dynamism: Rename file accordingly
* plan-dynanism: Fix typo
Thanks @mweinelt.
* plan-dynanism: Fix formalism slightly
* Apply suggestions from code review
Thanks!
Co-authored-by: Rosario Pulella <Rosariopulella@gmail.com>
Co-authored-by: Ninjatrappeur <NinjaTrappeur@users.noreply.github.com>
* plan-dynamism: `Buildables` -> `DerivedPathsWithHints`
Thanks @sternenseemann for catching.
* plan-dynamism: Add semantics and examples for `!` syntax
* plan-dynamism: Too many dashes in `--derivation`
* plan-dynanism: Put pupose of text hashing before name
* Apply suggestions from code review
Co-authored-by: Ollie Charles <ollie@ocharles.org.uk>
* Apply suggestions from code review
Co-authored-by: Ollie Charles <ollie@ocharles.org.uk>
* Apply suggestions from code review
* Update rfcs/0000-plan-dynanism.md
* plan-dynanism: Fix bad sentence
Thanks @roberth!
* plan-dynamism: Number the two parts
* plan-dynamism: Rip out part 2
There is more to do I'm sure, but I wanted to get the ball rolling.
* plan-dynamism: New motivation
* plan-dynamism: Fix typo
Thanks @L-as
* TEMP PLES AMEND
* [RFC 0092] Rename file
* [RFC 0092] Fix YAML header
* [RFC 0092] Rewrite summary
* [RFC 0092] Add link to documentation
* [RFC 0092] Rewrite example section
* [RFC 0092] Small fix
* [RFC 0092] Rewrite drawbacks and alternatives
* [RFC 0092] Improve alternatives section
* [RFC 0092] Fix syntax error
* [RFC 0092] Small change
* [RFC 0092] Remove unnecessary file
* [RFC 0092] Add comment about IFD
* [RFC 0092] Fix typo
* Update rfcs/0092-plan-dynamism.md
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
* plan-dynamism-experiment: Make clear is experimental
* plan-dynamism-experiment: Fix typo
Thanks @L-as
Co-authored-by: Langston Barrett <langston.barrett@gmail.com>
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
Co-authored-by: Robin Gloster <mail@glob.in>
Co-authored-by: Domen Kožar <domen@enlambda.com>
Co-authored-by: Rosario Pulella <Rosariopulella@gmail.com>
Co-authored-by: Ninjatrappeur <NinjaTrappeur@users.noreply.github.com>
Co-authored-by: Ollie Charles <ollie@ocharles.org.uk>
Co-authored-by: Las Safin <me@las.rs>
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
* CAP RFC: First draft
* typo
* Apply @grahamc's suggestions
Co-Authored-By: Graham Christensen <graham@grahamc.com>
* nix code -> Nix expression
* Break-up the big introduction paragraph
As suggested in https://github.com/NixOS/rfcs/pull/62/files#r356694585
* Rename to match the PR number
* Rename the drv attribute to __contentAddressed
Makes it more in line with other "magic" attributes like
`__structuredAttributes`
Also fix the orthograph
* Mention the GC issue
* Remove the ambiguity on what an `output` is
* Replace aliases paths by a pathOf mapping
* Move the example after the design description
* Rephrase the design
In particular, replace `static` and `dynamic` by `symbolic` and
`resolved`
* Add shepherd team
* Rewrite the RFC to account for the RFC meeting comments
- Add the notion of `drvOutputId`
- Replace the alias paths by a `PathOf(drvOutputId)` function
- Mention the notion of "truster" in the `PathOf` function
* Add a section about leaking output paths
* Refine the design summary
* Rename dependency-addressed into input-addressed
And define the term at the begining of the RFC
* minor fixup after comments
* Apply suggestions from code review
Co-authored-by: asymmetric <lorenzo@mailbox.org>
Co-authored-by: Profpatsch <philip.patsch@tweag.io>
* Update rfcs/0062-content-addressed-paths.md
* Update the terminology to match the in the implementation
* Reword the detailed design presentation
* Quote some strings in the yaml frontmatter
* Add a design paragraph about the remote caching
And update the “unresolved questions” to take it into account
* Lift the determinism requirement
It's not required anymore by the current remote caching semantics
* Typo
Co-authored-by: davidak <davidak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: davidak <davidak@users.noreply.github.com>
* Rewrite the RFC
This is mostly a full-rewrite of the RFC to
1. Make it more “incremental”: A first part just describes the minimal
model upon which everything is based, and a second one shows
different extensions of this model to add more features
2. Remove the big ugly examples that don’t add much value because they
aren’t really readable
3. Add a python pseudo-code pseudo-formalisation of the RFC.
This is imho both more readable and precise than nested bullet-points
of handwaved language
* Make the python samples a bit more pythonic
Co-authored-by: zseri <zseri.devel@ytrizja.de>
* Explicit that unresolved dependencies are eval-time
* Prettify
* Make the end-goal an experiment
Simplify the paperwork and just get this to FCP because right now it’s stuck in a hole
Co-authored-by: Théophane Hufschmitt <regnat@users.noreply.github.com>
Co-authored-by: Graham Christensen <graham@grahamc.com>
Co-authored-by: John Ericson <John.Ericson@Obsidian.Systems>
Co-authored-by: asymmetric <lorenzo@mailbox.org>
Co-authored-by: Profpatsch <philip.patsch@tweag.io>
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
Co-authored-by: davidak <davidak@users.noreply.github.com>
Co-authored-by: zseri <zseri.devel@ytrizja.de>
* Switch to CommonMark for documentation
This RFC proposes to convert the documentation for the Nix, Nixpkgs
and NixOS projects from Docbook to CommonMark Markdown. It proposes
requirements for web facing documentation. It does not mandate
a choice of toolchain to generate a website with documentation. The
choice is left to the implementers and maintainers.
* Update rfcs/0000-commonmark-docs.md
Co-authored-by: Profpatsch <mail@profpatsch.de>
* Update rfcs/0000-commonmark-docs.md
Co-authored-by: Frederik Rietdijk <freddyrietdijk@fridh.nl>
* Update rfcs/0000-commonmark-docs.md
Co-authored-by: davidak <davidak@users.noreply.github.com>
* Update rfcs/0000-commonmark-docs.md
Co-authored-by: davidak <davidak@users.noreply.github.com>
* Update rfcs/0000-commonmark-docs.md
Co-authored-by: Ryan Mulligan <ryan@ryantm.com>
* Add shepherd metadata
* Add shepherd metadata
* Allow CommonMark plus small number of extensions
The exact set of extensions used is left to the documentation team.
* Final adjustments
- Nix now already uses markdown
- Fix grammar mistake
- Remove requirement of extensions having to be supported by
at least 3 toolchains
- Add requirement for an extension for references
- Rename the file to its designated name
Co-authored-by: Profpatsch <mail@profpatsch.de>
Co-authored-by: Frederik Rietdijk <freddyrietdijk@fridh.nl>
Co-authored-by: davidak <davidak@users.noreply.github.com>
Co-authored-by: zimbatm <zimbatm@zimbatm.com>
Co-authored-by: Ryan Mulligan <ryan@ryantm.com>
Co-authored-by: Linus Heckemann <git@sphalerite.org>
Co-authored-by: Silvan Mosberger <contact@infinisil.com>
* Expand the RFC acronym at least once
While it is probably know to most it should also be documented what we expand RFC to.
* Capitalize "RFC"
Co-authored-by: zimbatm <zimbatm@zimbatm.com>
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
Co-authored-by: zimbatm <zimbatm@zimbatm.com>
* A small RFC on deprecating URL syntax
* Convert alternatives to a list
* Add a mention of tooling in future work
* A remark from @globin about one more problem with unquoted URLs
* Grammar edit: comparison of URLs, paths and strings.
Co-Authored-By: 7c6f434c <7c6f434c@mail.ru>
* Style edit: possibility of future removal
Co-Authored-By: 7c6f434c <7c6f434c@mail.ru>
* 0045: commit to using the tooling that now exists
* Update rfcs/0045-deprecate-url-syntax.md
Shepherd team
Co-Authored-By: Domen Kožar <domen@enlambda.com>
* Fix shepherd list
* Update based on a discussion
* Explicitly make future removal conditional on editions; restrict the claim about no special support to the Nix language itself
This paragraph seems to be a leftover or copy-pasta from the RFC template. It doesn't really fit into the flow of the text, so I think it was included or left here by mistake.
* rfc51: close stale issues initial draft
* rfc0051: use staleLabel consistent with nixpkgs labeling conventions
* rfc0051: do not close issues
* rfc0051: reword motivation
* record the members of the shepherd team
* Update rfcs/0051-mark-stale-issues.md
Co-Authored-By: asymmetric <lorenzo@mailbox.org>
* [RFC 0051] remove references to "issue" in stale message