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

move details on channels into the dedicated page #11434

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

fricklerhandwerk
Copy link
Contributor

Motivation

reduce the noise, make each page more focused on its main topic

Context

  • remove noise from the top of nix-channel page
    replace the long blurb with a short summary of what the command does,
    link to the details in the dedicated page
  • slightly reword the descriptions of the files involved for clarity
  • reorder the sections in the channels page to match the order of
    interaction: you first subscribe to channels and then store channels contents

Priorities and Process

Add 👍 to pull requests you find important.

The Nix maintainer team uses a GitHub project board to schedule and track reviews.

- remove noise from the top of `nix-channel` page
  replace the long blurb with a short summary of what the command does,
  link to the details in the dedicated page
- slightly reword the descriptions of the files involved for clarity
- reorder the sections in the channels page to match the order of
  interaction: you first subscribe to channels and then store channels contents
Comment on lines +13 to +14
> The state of a subscribed channel is external to the Nix expressions relying on it.
> This may limit reproducibility.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can confidently state that this is a problem for reproducibility and make it slightly more actionable.

Suggested change
> The state of a subscribed channel is external to the Nix expressions relying on it.
> This may limit reproducibility.
> The state of a subscribed channel is external to the Nix expressions relying on it.
> This limits reproducibility, and may be a reason to use a lock file instead of channels.

I would like to link a resource that helps with deciding the kind of lock file, but I don't want to derail this review, so I'd prefer to settle for an incremental improvement here, as far as my input is concerned. I'd be happy to accept a suggestion.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'd be opening up quite the rabbit hole here. I generally agree with the direction, but my aspiration would be to point people to The Right Way of doing things, and that to my knowledge still doesn't exist. The current version says something that is at least not wrong: use fetchers explicitly.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess a pin is not necessarily in a lock file. Fair enough.
We could confidently say that pinning and/or locking is The Right Way, but it might be a distraction.

Initially I thought nix.dev had a suitable article about this, but they seem to be about specific solutions, which is good for tutorials; was looking for a guide.

Let's not get ourselves stuck on this and fill this gap later.

Comment on lines +16 to +17
> Dependencies on other Nix expressions can be declared explicitly with:
> - [`fetchurl`](@docroot@/language/builtins.md#builtins-fetchurl), [`fetchTarball`](@docroot@/language/builtins.md#builtins-fetchTarball), or [`fetchGit`](@docroot@/language/builtins.md#builtins-fetchGit) in Nix expressions
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> Dependencies on other Nix expressions can be declared explicitly with:
> - [`fetchurl`](@docroot@/language/builtins.md#builtins-fetchurl), [`fetchTarball`](@docroot@/language/builtins.md#builtins-fetchTarball), or [`fetchGit`](@docroot@/language/builtins.md#builtins-fetchGit) in Nix expressions

This is going off topic. The answer to "how do I fetch?" should probably not be on the Channels page, and mention all options, not just the eval-time fetchers.

  • nix-channel
  • FODs, best fed to derivations
  • builtin fetchers, best fed to import and friends

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's NixOS/nix.dev#750 to address this, which needs some focus time to write down cleanly. I agree this would not be about channels but essentially a concept page.

doc/manual/src/command-ref/files/channels.md Outdated Show resolved Hide resolved
Comment on lines +37 to +38
- `$XDG_STATE_HOME/nix/profiles/channels` for regular users
- `$NIX_STATE_DIR/profiles/per-user/root/channels` for `root`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- `$XDG_STATE_HOME/nix/profiles/channels` for regular users
- `$NIX_STATE_DIR/profiles/per-user/root/channels` for `root`
- profile `$XDG_STATE_HOME/nix/profiles/channels` for regular users
- profile `$NIX_STATE_DIR/profiles/per-user/root/channels` for `root`

Copy link
Contributor Author

@fricklerhandwerk fricklerhandwerk Sep 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure what this is supposed to achieve 🤔

Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants