* 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>
* 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
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>
this is unrelated to the proposal, as the version declaration is only
relevant for parsing, and would cover all use cases of `langVersion` if
we have minor version numbers
* 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>