Skip to content

chore: Release v1.6.0 #285

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

Merged
merged 19 commits into from
Jul 22, 2025
Merged

chore: Release v1.6.0 #285

merged 19 commits into from
Jul 22, 2025

Conversation

zmitchell
Copy link
Member

No description provided.

zmitchell and others added 18 commits June 26, 2025 12:16
This PR was automatically created by [Update
workflow](https://github.com/flox/floxdocs/actions/workflows/update.yml).

Co-authored-by: FloxBot <bot@flox.dev>
Co-authored-by: Yannik Sander <7040031+ysndr@users.noreply.github.com>
Moves some of the general build content, such as how to use `flox build`
and the result symlinks, up to `concepts/builds.md` and leaves the
remaining manifest build focused content in `concepts/manifest-builds.md`

In future it may be beneficial to side-by-side examples of how manifest
impure, manifest pure, and Nix expression compare without having to go
to separate pages but I think this is the best solution with the
structure that we have today.

Adds new content for Nix expression builds including a handful of
examples to get people started. I personally found these really useful
to understand how they work and what's possible. Notwithstanding any
copy/paste mistakes, I've verified that they all build and execute from
an environment.

I haven't yet added any Nix expression examples to the individual
language cookbook pages because it requires restructuring the manifest
build focused content, I don't have working examples for all of them,
and we probably have enough coverage for now in these examples plus the
upstream docs.
The linter didn't like this despite being within a code fence:

    markdownlint-cli2 v0.18.1 (markdownlint v0.38.0)
    Finding: docs/**/*.md
    Linting: 38 file(s)
    Summary: 4 error(s)
    docs/concepts/nix-expression-builds.md:158:29 MD010/no-hard-tabs Hard tabs [Column: 29]
    docs/concepts/nix-expression-builds.md:159:30 MD010/no-hard-tabs Hard tabs [Column: 30]
    docs/concepts/nix-expression-builds.md:170:31 MD010/no-hard-tabs Hard tabs [Column: 31]
    docs/concepts/nix-expression-builds.md:171:32 MD010/no-hard-tabs Hard tabs [Column: 32]

Thankfully the patch still applies cleanly when they are replaced with
regular spaces.
And qualify the paths of the other files since some of them are in
`.flox/env` and some aren't. I'm not changing the heading titles because
that would break links and potentially make them too wordy.
feat(nef): Nix expression builds
Move the uninstall instructions to a separate page, and move upgrade
instructions to the bottom of the install instructions per tab.
Update all links throughout docs.
Reorder the tabs.
Remove the link to release notes.
Michael noted after demos that this doesn't work with the default Nix
config that is installed with Flox.

The original suggestion was to not use flakes, which I adapted because
it was kinder on the eyes for people that have used flakes, but that
also fails without `nix-command`:

    % NIX_CONFIG="experimental-features = " EDITOR=cat nix edit -f '<nixpkgs>' hello
    error: experimental Nix feature 'nix-command' is disabled; add '--extra-experimental-features nix-command' to enable it
docs(nef): Add experimental-features to command
To make it clearer that these are attrs.

The docs refer to these as `previousAttrs` but there's very little usage
of that in the single argument form in `nixos/nixpkgs`, where there's
mostly a 50:50 split between `old` and `oldAttrs`:

- https://nixos.org/manual/nixpkgs/stable/#sec-pkg-overrideAttrs
- https://github.com/search?q=repo%3ANixOS%2Fnixpkgs+overrideAttrs+old&type=code
- https://github.com/search?q=repo%3ANixOS%2Fnixpkgs+overrideAttrs+previousattrs&type=code
We only need access to `finalAttrs` from the two argument form of
`overrideAttrs` so underscore the `oldAttrs` to make it clear that it's
not in use whilst still indicating it's name.

From https://nixos.org/manual/nixpkgs/stable/#sec-pkg-overrideAttrs

> The argument previousAttrs is conventionally used to refer to the attr
> set originally passed to stdenv.mkDerivation.
>
> The argument finalAttrs refers to the final attributes passed to
> mkDerivation, plus the finalPackage attribute which is equal to the
> result of mkDerivation or subsequent overrideAttrs calls.
>
> If only a one-argument function is written, the argument has the
> meaning of previousAttrs.
>
> Function arguments can be omitted entirely if there is no need to
> access previousAttrs or finalAttrs.
docs(nef): Tweak overrideAttrs naming
This PR was automatically created by [Update
workflow](https://github.com/flox/floxdocs/actions/workflows/update.yml).

Co-authored-by: FloxBot <bot@flox.dev>
Co-authored-by: Matthew Kenigsberg <matthew@floxdev.com>
Co-authored-by: Brendan Magee <brendaneamon@users.noreply.github.com>
Co-authored-by: flox automations <73946670+floxbot@users.noreply.github.com>
Co-authored-by: FloxBot <bot@flox.dev>
Co-authored-by: Yannik Sander <7040031+ysndr@users.noreply.github.com>
Copy link

@github-actions github-actions bot temporarily deployed to preview July 22, 2025 16:54 Inactive
@@ -269,5 +269,5 @@ runtime-packages = ["libiconv", "gcc"]
[custom-toolchains]: https://github.com/zmitchell/rust-toolchains
[esp32]: https://www.espressif.com/en/products/socs/esp32
[risc-v]: https://en.wikipedia.org/wiki/RISC-V
[build-concept]: ../../concepts/manifest-builds.md
[build-concept]: ../../concepts/builds.md
Copy link
Contributor

Choose a reason for hiding this comment

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

(unrelated line)
suggestion blocking: it looks like this link also needs to be changed in c.md to point at builds.md rather than manifest-builds.md. I think that was dropped in a bad merge

@@ -269,5 +269,5 @@ runtime-packages = ["libiconv", "gcc"]
[custom-toolchains]: https://github.com/zmitchell/rust-toolchains
[esp32]: https://www.espressif.com/en/products/socs/esp32
[risc-v]: https://en.wikipedia.org/wiki/RISC-V
[build-concept]: ../../concepts/manifest-builds.md
[build-concept]: ../../concepts/builds.md
Copy link
Contributor

Choose a reason for hiding this comment

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

(unrelated line) note: the fix: merge main into preview (#284) commit is not actually a merge commit so I think that's why you got conflicts merging back into main

Copy link

@github-actions github-actions bot temporarily deployed to preview July 22, 2025 17:46 Inactive
@zmitchell zmitchell merged commit 3ebd128 into main Jul 22, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants