Commit graph

76 commits

Author SHA1 Message Date
Matthias Meschede
c655bdaab4
Add note on updated RFC process (#188) 2025-05-26 17:49:41 +02:00
ash
d5a5aa7548
Fix invalid YAML formatting (#187) 2025-05-11 20:32:37 +02:00
Jason Yundt
9c85c3d7f7
Remove executable bit from RFC 0146 (#186)
rfcs/0146-meta-categories.md is not an executable file, so it should not have the executable bit set.
2025-03-07 08:31:57 -05:00
Anderson Torres
18772a6963
[RFC 0132] Meson Builds Nix (#132)
* Use Meson to build Nix

* Modify feature attribute

`meson_builds_nix` is a more cool name.

* Small clarification

* Reformulates the alternatives section

* Answer new drawback

* Typo

* Rewording

* Unfill the paragraphs

* Rename RFC file

* Small punctuation fixes

* Rewording

* Add usage example

* Add references

* Improvements on the wording

* Reword the reference to Nix

It is unneeded to make a distinction between Nix language and its
implementation.

* Typo

projec -> project

* Typo

Word "we" was lost.

* Reword a paragraph

* Reword the detailed design

* Reword the examples

A comparison table is cleaner than a dot list.

* Add a paragraph about the current (quasi-) autotools

* Reword commentary about transition

* Reword alternatives

* Reword commentary about Cmake

* Remove commentary about backport

* Bring more items to future work

* Add references

Two tutorials from NetBSD and Meson docs about converting autotools to Meson.

* Reorder references

* Reword motivation section

* Reword paragraph

* Rework examples and interactions

* Rework drawbacks

* Rework alternatives

* Some fixups

* Include some more examples of build systems

* Reorder references

* Reword cmake subsection

* Move paragraphs about Meson and Ninja to detailed design section

* Remove unneeded paragraph

* Include Bazel as alternative

Because maybe someone out there believes it is good and viable to cite it ...

* Reword paragraph

* Punctuation

* More references

* Reword

* Typo

* Reword

* A bit more about Bazel

For the sake of completeness.

* add feature: out-of-source build

* Typos, typos and more typos

* Link to the now free-as-in-beer book from the creator of Meson

* Another typo

* Add shepherds

* add cross-compilation support to the criteria of evaluation of alternatives

* Typo

* Reword examples

* Add some more advantages for Bazel

* Reword and add more disadvantages for Bazel

* More references

* Reword Google company name

* Add Prior Art section

* Rewords and comparisons

---------

Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2025-03-03 17:17:31 +01:00
asymmetric
25c3f52463
ci: update labels on merged PRs (#183)
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2024-11-25 18:44:50 +01:00
Jörg Thalheim
f557e0736e
[RFC 0180] Remove broken and unmaintained leaf packages (#180)
Co-authored-by: Priyanshu Tripathi <priyanshu@getpsyched.dev>
Co-authored-by: Anderson Torres <torres.anderson.85@protonmail.com>
Co-authored-by: Atemu <git@atemu.net>
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-10-28 11:16:07 -04:00
Anderson Torres
62d1245ec1
[RFC 0146] Meta.Categories, not Filesystem Directory Trees (#146)
* Meta.Categories, not Filesystem Directory Trees

* Whitespace cleanup

* Add a short answer to the bikeshedding problem

* Add a short line on "Do nothing" alternative

* Extend an answer for the "Ignore/nuke" alternative

* Add "update ci" to future work

* Add a repl-like interaction example

* Add more arguments for categorization and against its nuking

* small rewording

* Add an option of category data structure

* reorder arguments against nuking

* add argument for usefulness of categorization

* add drawback

* rework nuke argument

* update metainfo - shepherd team and leader

* Add prior art section

Also, add extra links

* typo

* Categorization Team

* Remove the optional data structure

* typo

* reword the creation of a team

* Debtags FAQ

* Update rules and duties of categorization team

* The team shall have authority to carry out their duties

* A section for the team

* Appstream as prior art

* Section for code implementation

* Move categorization team to implementation

* Update future work

* A hybrid approach to be considered by the future team

* extra duties for the team

* reword duties from team

* typo

* A semantic detail: treat the first element of meta.categories as most important

* Move hybrid approach to alternatives section

* identify AndersonTorres' tag

* Suggestions from FCP

* remove infinisil from shepherd team

* add an extra reference to the categorization team
2024-07-08 15:44:36 +00:00
Michael Rittmeister
6499fd85b4
Make markdown detectable by linguist (#179) 2024-06-16 20:52:49 +02:00
Kevin Cox
69abc1db64
Add RFCSC: prefix to canned messages. (#178)
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.
2024-05-29 11:40:42 -04:00
piegames
5d5eef7078
[RFC 0166] Nix formatting, take two (#166)
* 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>
2024-03-05 16:55:23 +01:00
Fritz Otlinghaus
e4c27fdaba
Fix url for committee members (#170) 2024-02-15 13:16:45 +01:00
Johannes Kirschbauer
c65c832178
[RFC 0145] Doc-comments (#145)
Co-authored-by: figsoda <figsoda@pm.me>
Co-authored-by: Anderson Torres <torres.anderson.85@protonmail.com>
Co-authored-by: gilice <104317939+gilice@users.noreply.github.com>
Co-authored-by: Florian Klink <flokli@flokli.de>
Co-authored-by: Mykola Orliuk <virkony@gmail.com>
Co-authored-by: asymmetric <lorenzo@mailbox.org>
Co-authored-by: Lassulus <github@lassul.us>
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
Co-authored-by: Silvan Mosberger <github@infinisil.com>
Co-authored-by: Adam Joseph <54836058+amjoseph-nixpkgs@users.noreply.github.com>
2023-11-29 09:32:32 -05:00
Jayman2000
c8569f6719
[RFC 136] Fix typo (#161)
This typo got added at the last minute while other mistakes were being
corrected. See [1] and [2].

[1]: <https://github.com/NixOS/rfcs/pull/136#discussion_r1292537175>
[2]: <https://github.com/NixOS/rfcs/pull/136/commits/64fe8f30d9b75b78f6dd81359b14f5ac95abce93>
2023-08-13 08:43:21 -04:00
John Ericson
34a1c06318
[RFC 0136] A plan to stabilize the new CLI and Flakes incrementally (#136)
* 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>
2023-08-12 20:34:11 -04:00
Silvan Mosberger
dfb6bdf32e
[RFC 0140] Simple Package Paths (#140)
* 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>
2023-07-12 15:32:33 +02:00
John Ericson
f4706550b6
[RFC 0133] Git hashing and Git-hashing-based remote stores (#133)
* 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>
2023-07-12 15:31:37 +02:00
piegames
8c86187e6d
[RFC 0127] Nixpkgs "problem" infrastructure (#127)
* [RFC 0127] Nixpkgs issues and warnings (#127)

* Add URLs as structured information

* Update rfcs/0127-issues-warnings.md

Co-authored-by: Linus Heckemann <git@sphalerite.org>

* Update rfcs/0127-issues-warnings.md

Co-authored-by: Linus Heckemann <git@sphalerite.org>

* Update rfcs/0127-issues-warnings.md

Co-authored-by: Linus Heckemann <git@sphalerite.org>

* Update rfcs/0127-issues-warnings.md

Co-authored-by: Linus Heckemann <git@sphalerite.org>

* Update rfcs/0127-issues-warnings.md

Co-authored-by: Linus Heckemann <git@sphalerite.org>

* Update rfcs/0127-issues-warnings.md

* RFC 127 update shepherds

* RFC 127 rework

* Point out that the previous warnings system was not documented

* Rework ignore mechanism

* Update rfcs/0127-issues-warnings.md

Co-authored-by: Silvan Mosberger <github@infinisil.com>

* Update rfcs/0127-issues-warnings.md

Co-authored-by: Silvan Mosberger <github@infinisil.com>

* Remove "resolved" attribute again

* Incorporate review feedback

* Rewrite (again)

* Rename throw->error, trace->warn

* Make meta.problems an attrset

* Rewrite *again*, most change is in the configuration options

* Review update (WIP)

* Review update

* Update shepherds list

* Meeting update

* Typos

---------

Co-authored-by: Linus Heckemann <git@sphalerite.org>
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2023-07-12 15:30:25 +02:00
piegames
e364d5f0cd
Update the RFC process documentation (#150)
* 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>
2023-06-13 20:27:23 +02:00
Graham Christensen
02458c2ecc
[RFC 0125]: Use an intermediary representation (bootspec) for bootloader backends (#125)
* 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>
2023-04-02 10:14:09 +02:00
Kevin Cox
557d2807fe
Update RFC process documentation to reflect **RFC 0130: Stalled RFCs** (#142)
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.
2023-03-08 14:39:55 +01:00
John Ericson
bee468a730
[RFC 0134] Carve out a store-only Nix (#134)
* 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>
2023-02-20 13:07:58 +01:00
Kevin Cox
553b132ca0
Stalled RFCs RFC (#130)
* Stalled RFCs RFC

* Rename with PR number

* Spelling fix.

Co-authored-by: Luna Nova <git@lunnova.dev>

* Spelling and Grammar Fixes

Co-authored-by: Ryan Mulligan <ryan@ryantm.com>

* Update shepherds.

* Fix diagram rendering.

Co-authored-by: Linus Heckemann <git@sphalerite.org>

* Add reference to https://github.com/NixOS/rfcs/pull/51

* Fix brain-typo.

Co-authored-by: Ryan Mulligan <ryan@ryantm.com>

Co-authored-by: Luna Nova <git@lunnova.dev>
Co-authored-by: Ryan Mulligan <ryan@ryantm.com>
Co-authored-by: Linus Heckemann <git@sphalerite.org>
2022-10-24 00:33:39 -04:00
Ryan Mulligan
8bb86f8bdd
RFC 0124: match filename to number (#129) 2022-07-11 20:34:18 -04:00
Jonathan Ringer
220af8e4f1
[RFC 0119] Formalize testing for nixpkgs packages (#119)
* Formalize tests for nixpkgs packages

* Update rfcs/0119-testing-conventions.md

Co-authored-by: Kevin Cox <kevincox@kevincox.ca>

* Update rfcs/0119-testing-conventions.md

* Update rfcs/0119-testing-conventions.md

Co-authored-by: Anderson Torres <torres.anderson.85@protonmail.com>

* Update rfcs/0119-testing-conventions.md

Co-authored-by: Anderson Torres <torres.anderson.85@protonmail.com>

* Update rfcs/0119-testing-conventions.md

* Update rfcs/0119-testing-conventions.md

* Update rfcs/0119-testing-conventions.md

* Add shepherds

* Update RFC post 30th Apr meeting

* Update rfcs/0119-testing-conventions.md

* passthru.tests -> tests

* typo

* Update rfcs/0119-testing-conventions.md

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>

Co-authored-by: Kevin Cox <kevincox@kevincox.ca>
Co-authored-by: Anderson Torres <torres.anderson.85@protonmail.com>
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2022-06-30 12:54:53 -04:00
John Ericson
1b1b1d14a7
[RFC 0124] Do not auto-close stale Nix issues and PRs, matching Nixpkgs's policy (#124)
* nix-mark-stale-issues: Copy template

* nix-mark-stale-issues: First draft

* stale-nix-no-close: Update

* stale-nix-no-close: Make the diff less normative

* nix-mark-stale-issues: Fix typo

Thanks!

Co-authored-by: Niklas Hambüchen <mail@nh2.me>

Co-authored-by: Niklas Hambüchen <mail@nh2.me>
2022-06-19 07:00:35 -04:00
tomberek
01d0c0798a
[RFC 0102] Moderation Team (#102)
Co-authored-by: David Arnold <dgx.arnold@gmail.com>
Co-authored-by: 7c6f434c <7c6f434c@mail.ru>
Co-authored-by: Ryan Mulligan <ryan@ryantm.com>
2022-02-21 10:23:23 +01:00
Las Safin
331380bf93
[RFC 0097] Unset read permission bit on /nix/store for other users (#97) 2022-02-09 14:57:10 +01:00
Robert Scott
6cd3a49c9a
[RFC 0089] Collect non-source package meta attribute (#89)
Co-authored-by: asymmetric <lorenzo@mailbox.org>
2022-02-09 14:56:01 +01:00
Eelco Dolstra
b5181c9246
[RFC 0106] Nix release schedule (#106)
* Nix release schedule
* Fix link
* Update rfcs/0106-nix-release-schedule.md

Co-authored-by: Théophane Hufschmitt <regnat@users.noreply.github.com>

* Add shepherds
* Update to reflect latest meeting

Co-authored-by: Théophane Hufschmitt <regnat@users.noreply.github.com>
2022-01-26 15:20:00 +01:00
Maximilian Bosch
5fa45c912a
[RFC 0108] NixOS Container rewrite (#108)
* 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>
2022-01-12 15:29:54 +01:00
John Ericson
9a2f5accf0
[RFC 0092] Computed derivations (#92)
* 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>
2022-01-12 15:28:48 +01:00
Théophane Hufschmitt
bcdca7c741
[RFC 0062] Content-addressed paths (#62)
* 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>
2022-01-12 15:28:23 +01:00
Kevin Cox
603c217850
[RFC 88] fix typos. (#115)
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2021-12-01 14:26:07 +01:00
sugarykeytone
7997bf0937
0023-musl-libc.md - Update obsolete URL (#116)
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2021-12-01 14:25:03 +01:00
Kevin Cox
a36c8e90c3
[RFC 0088] Nixpkgs Breaking Change Policy (#88)
* Create RFC for nixpkgs Breaking Change Policy

This specifies the expected workflow as a base for workflows and future automation.

* Update rfcs/0088-nixpkgs-breaking-change-policy.md

Co-authored-by: asymmetric <lorenzo@mailbox.org>

* Reformat metadata

* Update and clarify.

- Highlight the high-level goal.
- Highlight the low-level goal of this specific RFC.
- Wording fixes.

* Implement suggestions from shepherds meeting.

* Set shepherd leader

Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>

* Typo fix

Co-authored-by: Théo Zimmermann <theo.zimmi@gmail.com>

Co-authored-by: asymmetric <lorenzo@mailbox.org>
Co-authored-by: Linus Heckemann <git@sphalerite.org>
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
Co-authored-by: Théo Zimmermann <theo.zimmi@gmail.com>
2021-11-17 15:15:33 +01:00
toonn
fe4b5325ac
RFC 46: Minor typo fixes (#113) 2021-11-03 08:57:30 +00:00
Ryan Mulligan
71f76fab15
[RFC 0094] Use Matrix for Official Chat (#94)
* [RFC 0094] Use Matrix for Official Chat

* Add shepherd metadata

* [RFC 0094] apply shepherd suggestions feedback

* Update rfcs/0094-use-matrix-for-official-chat.md

Co-authored-by: Sven Slootweg <admin@cryto.net>

Co-authored-by: Linus Heckemann <git@sphalerite.org>
Co-authored-by: Sven Slootweg <admin@cryto.net>
2021-09-02 14:57:06 +01:00
Ryan Mulligan
fd559bdb82
small clarification to RFC85 (#90)
This didn't quite make it in before it was merged.
2021-04-10 06:06:49 +01:00
Jonathan Ringer
aada139bf2
[RFC 0085] NixOS Release Stabilization: ZHF on master, new timeline (#85)
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
Co-authored-by: Ryan Mulligan <ryan@ryantm.com>
2021-04-06 07:39:56 +01:00
Silvan Mosberger
45b76f20ad
[RFC 0042] NixOS settings options (#42)
Co-authored-by: Domen Kožar <domen@enlambda.com>
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
Co-authored-by: Linus Heckemann <git@sphalerite.org>
2021-01-14 05:45:59 +00:00
Jonathan Ringer
123e94a3bf
[RFC 0080] Change NixOS releases to YY.05,YY.11 (#80) 2020-12-17 13:41:40 +00:00
Tuomas Tynkkynen
eee65998c1
[RFC 0032] Phase running changes for better nix-shell use (#32)
Co-authored-by: Linus Heckemann <git@sphalerite.org>
2020-11-19 14:18:13 +00:00
Mathieu Boespflug
748cbd6b08
[RFC 0072] Switch to CommonMark for documentation (#72)
* 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>
2020-11-04 09:34:49 +01:00
worldofpeace
3d280b6980
[RFC 0071] Retired Committers Amendment (#71)
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
2020-08-27 15:19:44 +02:00
Andreas Rammhold
531f980705
Expand the RFC acronym at least once (#69)
* 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>
2020-06-02 13:37:28 +02:00
Till Höppner
7c5ee3478d
[RFC-0055] Retire inactive nixpkgs committers (#55) 2020-05-25 10:15:47 +01:00
worldofpeace
3c113d3025 Update members of RFC Steering Comittee (#65) 2020-01-23 13:59:44 +00:00
Michael Raskin
b7f4ae9583 [RFC 0046] Platform Support Tiers (#46)
[RFC 0046] Platform Support Tiers
2020-01-14 08:51:38 +00:00
Jonas Schievink
3165942ff7 template: fix typo (#63) 2019-12-13 15:49:57 +01:00
Michael Raskin
7bcdb8d878 [RFC 0045] Deprecating unquoted URL syntax (#45)
* 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
2019-11-25 12:49:18 +01:00