Compare commits

...

6 commits

7 changed files with 47 additions and 22 deletions

View file

@ -51,7 +51,7 @@ You can verify that it works by running the following command:
```sh ```sh
$ nix --version $ nix --version
nix (Lix, like Nix) 2.91.0 nix (Lix, like Nix) 2.91.1
``` ```
# Using the Lix NixOS module # Using the Lix NixOS module
@ -76,7 +76,7 @@ Adding Lix to a flake-based configuration is relatively simple. First, add the L
# which is often the case. If you've named it something else, # which is often the case. If you've named it something else,
# you'll need to change the `nixpkgs` below. # you'll need to change the `nixpkgs` below.
lix-module = { lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz"; url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
@ -153,7 +153,7 @@ You should now be using Lix! You can verify this by asking the `nix` command to
```sh ```sh
$ nix --version $ nix --version
nix (Lix, like Nix) 2.91.0 nix (Lix, like Nix) 2.91.1
``` ```
As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a
@ -180,20 +180,20 @@ section, and add the line provided in the configuration
# #
# The sha256 hashes were obtained with the following command in Lix (n.b. # The sha256 hashes were obtained with the following command in Lix (n.b.
# this relies on --unpack, which is only in Lix and CppNix > 2.18): # this relies on --unpack, which is only in Lix and CppNix > 2.18):
# nix store prefetch-file --name source --unpack https://git.lix.systems/lix-project/lix/archive/2.91.0.tar.gz # nix store prefetch-file --name source --unpack https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz
# #
# Note that the tag (e.g. 2.91.0) in the URL here is what determines # Note that the tag (e.g. 2.91.1) in the URL here is what determines
# which version of Lix you'll wind up with. # which version of Lix you'll wind up with.
(let (let
module = fetchTarball { module = fetchTarball {
name = "source"; name = "source";
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz"; url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz";
sha256 = "sha256-zNW/rqNJwhq2lYmQf19wJerRuNimjhxHKmzrWWFJYts="; sha256 = "sha256-6U0CyPycIBc04hbYy2hBINnVso58n/ZyywY2BD3hu+s=";
}; };
lixSrc = fetchTarball { lixSrc = fetchTarball {
name = "source"; name = "source";
url = "https://git.lix.systems/lix-project/lix/archive/2.91.0.tar.gz"; url = "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz";
sha256 = "sha256-Rosl9iA9MybF5Bud4BTAQ9adbY81aGmPfV8dDBGl34s="; sha256 = "sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U=";
}; };
# This is the core of the code you need; it is an exercise to the # This is the core of the code you need; it is an exercise to the
# reader to write the sources in a nicer way, or by using npins or # reader to write the sources in a nicer way, or by using npins or
@ -230,7 +230,7 @@ You should now be using Lix! You can verify this by asking the `nix` command to
```sh ```sh
$ nix --version $ nix --version
nix (Lix, like Nix) 2.91.0 nix (Lix, like Nix) 2.91.1
``` ```
As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a

View file

@ -51,7 +51,7 @@ You can verify that it works by running the following command:
```sh ```sh
$ nix --version $ nix --version
nix (Lix, like Nix) @VERSION@ nix (Lix, like Nix) @VERSION_NOTRAIL@
``` ```
# Using the Lix NixOS module # Using the Lix NixOS module
@ -153,7 +153,7 @@ You should now be using Lix! You can verify this by asking the `nix` command to
```sh ```sh
$ nix --version $ nix --version
nix (Lix, like Nix) @VERSION@ nix (Lix, like Nix) @VERSION_NOTRAIL@
``` ```
As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a
@ -180,9 +180,9 @@ section, and add the line provided in the configuration
# #
# The sha256 hashes were obtained with the following command in Lix (n.b. # The sha256 hashes were obtained with the following command in Lix (n.b.
# this relies on --unpack, which is only in Lix and CppNix > 2.18): # this relies on --unpack, which is only in Lix and CppNix > 2.18):
# nix store prefetch-file --name source --unpack https://git.lix.systems/lix-project/lix/archive/@VERSION@.tar.gz # nix store prefetch-file --name source --unpack https://git.lix.systems/lix-project/lix/archive/@VERSION_NOTRAIL@.tar.gz
# #
# Note that the tag (e.g. @VERSION@) in the URL here is what determines # Note that the tag (e.g. @VERSION_NOTRAIL@) in the URL here is what determines
# which version of Lix you'll wind up with. # which version of Lix you'll wind up with.
(let (let
module = fetchTarball { module = fetchTarball {
@ -192,7 +192,7 @@ section, and add the line provided in the configuration
}; };
lixSrc = fetchTarball { lixSrc = fetchTarball {
name = "source"; name = "source";
url = "https://git.lix.systems/lix-project/lix/archive/@VERSION@.tar.gz"; url = "https://git.lix.systems/lix-project/lix/archive/@VERSION_NOTRAIL@.tar.gz";
sha256 = "@LIX_ARCHIVE_HASH@"; sha256 = "@LIX_ARCHIVE_HASH@";
}; };
# This is the core of the code you need; it is an exercise to the # This is the core of the code you need; it is an exercise to the
@ -230,7 +230,7 @@ You should now be using Lix! You can verify this by asking the `nix` command to
```sh ```sh
$ nix --version $ nix --version
nix (Lix, like Nix) @VERSION@ nix (Lix, like Nix) @VERSION_NOTRAIL@
``` ```
As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a

View file

@ -0,0 +1,22 @@
+++
title = "Lix installations upgrading to macOS Sequoia require manual repair"
author = "Lix Team"
date = "2024-09-15"
+++
macOS Sequoia release day is almost upon us, and that means all your Lix and Nix installations on macOS are going to break when you upgrade your OS.
Apple claimed some user IDs that are used in the default Nix installation which are then clobbered by the updater, leading to builds failing with the following error:
```
error: the user '_nixbld1' in the group 'nixbld' does not exist
```
To fix this, you can use the repair functionality of the installer (thanks to cole-h at DetSys for implementing the repair functionality and emilazy for porting it to lix-installer!):
```
curl -sSf -L https://install.lix.systems/lix | sh -s -- repair sequoia
```
If you want to apply the repair before upgrading, add `--move-existing-users` to the end of the command.
We have a wiki page with more links and details here: https://wiki.lix.systems/link/81

View file

@ -78,7 +78,7 @@ Thanks to Nix, we can actually ask Lix to upgrade your system directly. Run the
sudo --preserve-env=PATH nix run \ sudo --preserve-env=PATH nix run \
--experimental-features "nix-command flakes" \ --experimental-features "nix-command flakes" \
--extra-substituters https://cache.lix.systems --extra-trusted-public-keys "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" \ --extra-substituters https://cache.lix.systems --extra-trusted-public-keys "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" \
'git+https://git.lix.systems/lix-project/lix?ref=refs/tags/2.91.0' -- \ 'git+https://git.lix.systems/lix-project/lix?ref=refs/tags/2.91.1' -- \
upgrade-nix \ upgrade-nix \
--extra-substituters https://cache.lix.systems --extra-trusted-public-keys "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" --extra-substituters https://cache.lix.systems --extra-trusted-public-keys "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
``` ```
@ -88,7 +88,7 @@ to report its version:
```sh ```sh
$ nix --version $ nix --version
nix (Lix, like Nix) 2.91.0 nix (Lix, like Nix) 2.91.1
``` ```
As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a

View file

@ -78,7 +78,7 @@ Thanks to Nix, we can actually ask Lix to upgrade your system directly. Run the
sudo --preserve-env=PATH nix run \ sudo --preserve-env=PATH nix run \
--experimental-features "nix-command flakes" \ --experimental-features "nix-command flakes" \
--extra-substituters https://cache.lix.systems --extra-trusted-public-keys "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" \ --extra-substituters https://cache.lix.systems --extra-trusted-public-keys "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" \
'git+https://git.lix.systems/lix-project/lix?ref=refs/tags/@VERSION@' -- \ 'git+https://git.lix.systems/lix-project/lix?ref=refs/tags/@VERSION_NOTRAIL@' -- \
upgrade-nix \ upgrade-nix \
--extra-substituters https://cache.lix.systems --extra-trusted-public-keys "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" --extra-substituters https://cache.lix.systems --extra-trusted-public-keys "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
``` ```
@ -88,7 +88,7 @@ to report its version:
```sh ```sh
$ nix --version $ nix --version
nix (Lix, like Nix) @VERSION@ nix (Lix, like Nix) @VERSION_NOTRAIL@
``` ```
As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a As long as you see `Lix` in the output, you're good! If you're not sure what to do now, it's a

View file

@ -37,7 +37,7 @@ If you're learning about those topics because you want to understand the ideas t
## Understanding Flakes ## Understanding Flakes
- [Flakes aren't real and can't hurt you](https://jade.fyi/blog/flakes-arent-real/), by our own **jade**. - [Flakes aren't real and can't hurt you](https://jade.fyi/blog/flakes-arent-real/), by our own **jade**.
- Several of Lix community member [Xe Iaso]()'s blog posts: - Several of Lix community member [Xe Iaso](https://xeiaso.net)'s blog posts:
- [Nix Flakes: An Introduction](https://xeiaso.net/blog/nix-flakes-1-2022-02-21/) - [Nix Flakes: An Introduction](https://xeiaso.net/blog/nix-flakes-1-2022-02-21/)
- [Nix Flakes: Packages and How To Use Them](https://xeiaso.net/blog/nix-flakes-2-2022-02-27/) - [Nix Flakes: Packages and How To Use Them](https://xeiaso.net/blog/nix-flakes-2-2022-02-27/)
- [Nix Flakes: Exposing and using NixOS Modules](https://xeiaso.net/blog/nix-flakes-3-2022-04-07/) - [Nix Flakes: Exposing and using NixOS Modules](https://xeiaso.net/blog/nix-flakes-3-2022-04-07/)

View file

@ -29,9 +29,12 @@ def go(version: str):
Path('./content/install.md') Path('./content/install.md')
] ]
version_notrail = version.partition('-')[0]
substitutions = { substitutions = {
'@VERSION_NOTRAIL@': version_notrail,
'@VERSION@': version, '@VERSION@': version,
'@LIX_ARCHIVE_HASH@': get_archive_hash(BASE_URL + f'/lix-project/lix/archive/{version}.tar.gz'), '@LIX_ARCHIVE_HASH@': get_archive_hash(BASE_URL + f'/lix-project/lix/archive/{version_notrail}.tar.gz'),
'@NIXOS_MODULE_HASH@': get_archive_hash(BASE_URL + f'/lix-project/nixos-module/archive/{version}.tar.gz'), '@NIXOS_MODULE_HASH@': get_archive_hash(BASE_URL + f'/lix-project/nixos-module/archive/{version}.tar.gz'),
} }