Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

content-addressed derivations RFC: merge in new master #5

Merged
merged 9 commits into from
Mar 18, 2020
19 changes: 14 additions & 5 deletions 0000-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
feature: (fill me in with a unique ident, my_awesome_feature)
start-date: (fill me in with today's date, YYYY-MM-DD)
author: (name of the main author)
co-authors: (find a buddy later to help our with the RFC)
co-authors: (find a buddy later to help out with the RFC)
shepherd-team: (names, to be nominated and accepted by RFC steering committee)
shepherd-leader: (name to be appointed by RFC steering committee)
related-issues: (will contain links to implementation PRs)
Expand All @@ -22,10 +22,19 @@ outcome?
# Detailed design
[design]: #detailed-design

This is the bulk of the RFC. Explain the design in enough detail for somebody
familiar with the ecosystem to understand, and implement. This should get
into specifics and corner-cases, and include examples of how the feature is
used.
This is the core, normative part of the RFC. Explain the design in enough
detail for somebody familiar with the ecosystem to understand, and implement.
This should get into specifics and corner-cases. Yet, this section should also
be terse, avoiding redundancy even at the cost of clarity.

# Examples and Interactions
[examples-and-interactions]: #examples-and-interactions

This section illustrates the detailed design. This section should clarify all
confusion the reader has from the previous sections. It is especially important
to counterbalance the desired terseness of the detailed design; if you feel
your detailed design is rudely short, consider making this section longer
instead.

# Drawbacks
[drawbacks]: #drawbacks
Expand Down
13 changes: 1 addition & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@ implemented and reviewed via the normal GitHub pull request workflow.
Some changes though are "substantial", and we ask that these be put through a
bit of a design process and produce a consensus among the Nix community.

This is the bulk of the RFC. Explain the design in enough detail for somebody
familiar with the ecosystem to understand, and implement. This should get
into specifics and corner-cases, and include examples of how the feature is
used.

## When this process is followed

This process is followed when one intends to make "substantial" changes to the
Expand Down Expand Up @@ -190,13 +185,7 @@ be decided in cooperation with the RFC Steering Committee.

## Members of the RFC Steering Committee

The current members of the RFC Steering Committee are:

- Eelco Dolstra (edolstra, niksnut)
- Shea Levy (shlevy)
- Domen Kožar (domenkozar)
- Jörg Thalheim (Mic92)
- Robin Gloster (globin)
The current members of the RFC Steering Committee can be seen at the [NixOS/rfc-steering-committee](https://github.com/NixOS/rfc-steering-committee#workflow-for-rfc-steering-committee) repository.


## License
Expand Down
69 changes: 69 additions & 0 deletions rfcs/0045-deprecate-url-syntax.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
feature: deprecate_url_syntax
start-date: 2019-04-28
author: Michael Raskin
co-authors:
shepherd-leader: Eelco Dolstra
shepherd-team: Eelco Dolstra, zimbatm, Silvan Mosberger
related-issues:
---

# Summary
[summary]: #summary

Discourage and eventually remove the use of unquoted URL syntax in Nix code and especially
Nixpkgs.

# Motivation
[motivation]: #motivation

The Nix language has a special syntax for URLs even though quoted strings can also be used to represent them. Unlike paths, URLs do not
have any special properties in the Nix expression language
that would make the difference useful.
Moreover, using
variable expansion in URLs requires some URLs to be quoted strings anyway. So
the most consistent approach is to always use quoted strings to represent URLs.
Additionally, a semicolon immediately after the URL can be mistaken for a part
of URL by language-agnostic tools such as terminal emulators.

Tools
targeting only Nixpkgs codebase can ignore URL syntax once Nixpkgs phases out
its use.

# Detailed design
[design]: #detailed-design

Add a note in the Nix manual that the special unquoted URL syntax is
discouraged and may be removed in a future edition of the Nix language.

Add a note in the Nixpkgs manual that the unquoted URL syntax should not be used anymore.

Convert all the unquoted URLs in the Nixpkgs codebase to quoted strings.

Add an ofBorg check that verifies that no new unquoted URLs have been added in
a PR.

# Drawbacks
[drawbacks]: #drawbacks

This is a minor cosmetic issue (and maybe a very minor readability issue) which
might not be worth making a specific decision.

# Alternatives
[alternatives]: #alternatives

* Do nothing; get PRs from time to time that make homepages uniformly quoted
strings or uniformly unquoted.

* Decide to use unquoted URLs for all URLs without special characters or
variable expansion.

# Unresolved questions
[unresolved]: #unresolved-questions

Currently none.

# Future work
[future]: #future-work

Currently none.