Skip to content

Commit

Permalink
Update dependencies and documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
Sukant Hajra committed Jul 31, 2024
1 parent 1c43bed commit eef09fc
Show file tree
Hide file tree
Showing 9 changed files with 83 additions and 83 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
- uses: cachix/install-nix-action@v27
with:
# DESIGN: matching current in NixOS 24.05
install_url: https://releases.nixos.org/nix/nix-2.18.4/install
install_url: https://releases.nixos.org/nix/nix-2.18.5/install
- uses: cachix/cachix-action@v15
with:
name: shajra
Expand Down
48 changes: 24 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,8 +180,8 @@ nix run github:shajra/shajra-keyboards#flash-ergodoxez
Flashing ZSA Technology Lab's Ergodox EZ (custom "shajra" keymap)
=================================================================

FLASH SOURCE: /nix/store/6pjngynz6x6yn6djy4cd8kfwz69lryn3-qmk-builtin-shajra-src
FLASH BINARY: /nix/store/wx45dcml68gjqidvz4c7y5gqpivmfcd6-ergodoxez-builtin-shajra.hex
FLASH SOURCE: /nix/store/042g9rxp5svl0r8licdvgcpz9pdik1gm-qmk-builtin-shajra-src
FLASH BINARY: /nix/store/37qvazv1vr35839gh57rsf94i058kbmn-ergodoxez-builtin-shajra.hex

⠋ Press the reset button of your keyboard

Expand Down Expand Up @@ -242,28 +242,28 @@ If you want to check that everything builds before flashing your keyboard, you c
tree $(nix build --no-link --print-out-paths) 2>/dev/null
```

/nix/store/wmfgrlxp4iy61cs8irmmzhi1h4qmgja9-shajra-keyboards-ci
├── build-ergodoxez-builtin-shajra-flash -> /nix/store/fj94x1d59wjjing8q3mcigb9a29kaavy-ergodoxez-builtin-shajra-flash
├── build-ergodoxez-builtin-shajra-hex -> /nix/store/wx45dcml68gjqidvz4c7y5gqpivmfcd6-ergodoxez-builtin-shajra.hex
├── build-ergodoxez-factory-flash -> /nix/store/r4hggnsyvr0nbsgw6b644z6xb0wr3dhg-ergodoxez-factory-flash
├── build-ergodoxez-factory-hex -> /nix/store/z92bgwlkilqx0gqn2ippz0nsvpvq2g64-ergodoxez-factory.hex
├── build-model01-builtin-shajra-flash -> /nix/store/af3lxn5v37plbl8bd19kz2y7v1vpmhmf-model01-builtin-shajra-flash
├── build-model01-builtin-shajra-hex -> /nix/store/vf5y2kf1qc7hw5jjlw2yfxmdzfabpc5m-model01-builtin-shajra-hex
├── build-model01-factory-flash -> /nix/store/mhc2610zh9sqbbx3sa54fgmjrxs65kgd-model01-factory-flash
├── build-model01-factory-hex -> /nix/store/s3a8f8m1qcm97i92djkrpwrgkg0wk0js-model01-factory-hex
├── build-model100-builtin-shajra-flash -> /nix/store/3p1vgy6xlkshqdpjrck0jchbwvkr0wma-model100-builtin-shajra-flash
├── build-model100-builtin-shajra-hex -> /nix/store/4j2b1nkdgcis3h90d0fq2s1nc5lr7h03-model100-builtin-shajra-hex
├── build-model100-factory-flash -> /nix/store/cpb883vv9cdxy3l2n8kzn8d33vnq3nr4-model100-factory-flash
├── build-model100-factory-hex -> /nix/store/77yaiax9p92in5s89fg05p7f2f2pyim9-model100-factory-hex
├── build-moonlander-builtin-shajra-flash -> /nix/store/l5irmqr6injbrnc1awn0yx1gdr1wxq3g-moonlander-builtin-shajra-flash
├── build-moonlander-builtin-shajra-hex -> /nix/store/ihxn8nh5pvgiwsbd3asds5n3zaraq24h-moonlander-builtin-shajra.bin
├── build-moonlander-factory-flash -> /nix/store/423r0y2hdwsxmjq6fy746aifjsygynqn-moonlander-factory-flash
├── build-moonlander-factory-hex -> /nix/store/ayf6yr8nbnfrf9hfgp6sl3gf78x2w0nk-moonlander-factory.bin
├── flash-ergodoxez -> /nix/store/7y7srw0w79q708c2wf8gkkbdad6x9zk5-flash-ergodoxez
├── flash-model01 -> /nix/store/c4z2fs12bmy4c1jcjcb01r6lk25i46wv-flash-model01
├── flash-model100 -> /nix/store/i6zi8wk7k3qdcxjbj3jj7ynzql453sl4-flash-model100
├── flash-moonlander -> /nix/store/13vf8idinc22gfd4kn9qqh7kf0d0zxzx-flash-moonlander
└── licenses -> /nix/store/2m2mxyx1sv3yq82qih3b9fzjc94nsyih-shajra-keyboards-licenses
/nix/store/cqh02vwq6s2xqkp01alqyb8z00fj0in6-shajra-keyboards-ci
├── build-ergodoxez-builtin-shajra-flash -> /nix/store/sawk61ii56qfw9j6nmb4wf2gd2yzqa0a-ergodoxez-builtin-shajra-flash
├── build-ergodoxez-builtin-shajra-hex -> /nix/store/37qvazv1vr35839gh57rsf94i058kbmn-ergodoxez-builtin-shajra.hex
├── build-ergodoxez-factory-flash -> /nix/store/8wcj0186fgk0yi23x5rhjq9rkl35s13g-ergodoxez-factory-flash
├── build-ergodoxez-factory-hex -> /nix/store/pnwcmm64g26cc8cbx63caqfi35dlkjhs-ergodoxez-factory.hex
├── build-model01-builtin-shajra-flash -> /nix/store/w58wg6plq82xcvqy1wqcr83mk1bjdsyl-model01-builtin-shajra-flash
├── build-model01-builtin-shajra-hex -> /nix/store/hka3r64krc0f2l4vnc43r25ci8p2z9fr-model01-builtin-shajra-hex
├── build-model01-factory-flash -> /nix/store/qz8i5x0kc1bamzj69jyxriy1qzivdiwm-model01-factory-flash
├── build-model01-factory-hex -> /nix/store/vafvhj4kr64y7ry6afd07saxj0nm0siy-model01-factory-hex
├── build-model100-builtin-shajra-flash -> /nix/store/nsbkz1l8pgjjchw5qvh6h9af015l0q6b-model100-builtin-shajra-flash
├── build-model100-builtin-shajra-hex -> /nix/store/pnzarsgkwhsi27ms3plhfdda0fpch5fi-model100-builtin-shajra-hex
├── build-model100-factory-flash -> /nix/store/87f14hrp45jfb6b3q9mnj2q5nkfc3dmp-model100-factory-flash
├── build-model100-factory-hex -> /nix/store/gfdkfm9cm8ihq5js6ly399i7gc27ikm8-model100-factory-hex
├── build-moonlander-builtin-shajra-flash -> /nix/store/l5xk7nys9vgcc0nfi5zj20gjz3xbvigv-moonlander-builtin-shajra-flash
├── build-moonlander-builtin-shajra-hex -> /nix/store/p0z57wzqdhk0jmnprlx3lcnwhsxhsmyx-moonlander-builtin-shajra.bin
├── build-moonlander-factory-flash -> /nix/store/wk913rfcm072f2r5fvjda9gnc67pdn0g-moonlander-factory-flash
├── build-moonlander-factory-hex -> /nix/store/wfaq1z23x03g0mg6i8yy5111sf37l6qh-moonlander-factory.bin
├── flash-ergodoxez -> /nix/store/y9ynsp16hpdppq23firr7dlwwnf9y868-flash-ergodoxez
├── flash-model01 -> /nix/store/c6m6d5qsybdqzq80r2shi0n9irgmkgim-flash-model01
├── flash-model100 -> /nix/store/abrz5hp7nm9ffgk9wy2wrv002r25vp7b-flash-model100
├── flash-moonlander -> /nix/store/awyi905896pkdb2g6941s7pw21rpwzj0-flash-moonlander
└── licenses -> /nix/store/rril0rr02bvmm4dza3wcvwa3r9z2z6wf-shajra-keyboards-licenses

18 directories, 4 files

Expand Down
48 changes: 24 additions & 24 deletions README.org
Original file line number Diff line number Diff line change
Expand Up @@ -212,8 +212,8 @@ head -c350 < <(./flash-ergodoxez) | ansifilter
: Flashing ZSA Technology Lab's Ergodox EZ (custom "shajra" keymap)
: =================================================================
:
: FLASH SOURCE: /nix/store/6pjngynz6x6yn6djy4cd8kfwz69lryn3-qmk-builtin-shajra-src
: FLASH BINARY: /nix/store/wx45dcml68gjqidvz4c7y5gqpivmfcd6-ergodoxez-builtin-shajra.hex
: FLASH SOURCE: /nix/store/042g9rxp5svl0r8licdvgcpz9pdik1gm-qmk-builtin-shajra-src
: FLASH BINARY: /nix/store/37qvazv1vr35839gh57rsf94i058kbmn-ergodoxez-builtin-shajra.hex
:
: ⠋ Press the reset button of your keyboard

Expand Down Expand Up @@ -308,28 +308,28 @@ tree $(nix build --no-link --print-out-paths) 2>/dev/null

#+results: nix-build
#+begin_example
/nix/store/wmfgrlxp4iy61cs8irmmzhi1h4qmgja9-shajra-keyboards-ci
├── build-ergodoxez-builtin-shajra-flash -> /nix/store/fj94x1d59wjjing8q3mcigb9a29kaavy-ergodoxez-builtin-shajra-flash
├── build-ergodoxez-builtin-shajra-hex -> /nix/store/wx45dcml68gjqidvz4c7y5gqpivmfcd6-ergodoxez-builtin-shajra.hex
├── build-ergodoxez-factory-flash -> /nix/store/r4hggnsyvr0nbsgw6b644z6xb0wr3dhg-ergodoxez-factory-flash
├── build-ergodoxez-factory-hex -> /nix/store/z92bgwlkilqx0gqn2ippz0nsvpvq2g64-ergodoxez-factory.hex
├── build-model01-builtin-shajra-flash -> /nix/store/af3lxn5v37plbl8bd19kz2y7v1vpmhmf-model01-builtin-shajra-flash
├── build-model01-builtin-shajra-hex -> /nix/store/vf5y2kf1qc7hw5jjlw2yfxmdzfabpc5m-model01-builtin-shajra-hex
├── build-model01-factory-flash -> /nix/store/mhc2610zh9sqbbx3sa54fgmjrxs65kgd-model01-factory-flash
├── build-model01-factory-hex -> /nix/store/s3a8f8m1qcm97i92djkrpwrgkg0wk0js-model01-factory-hex
├── build-model100-builtin-shajra-flash -> /nix/store/3p1vgy6xlkshqdpjrck0jchbwvkr0wma-model100-builtin-shajra-flash
├── build-model100-builtin-shajra-hex -> /nix/store/4j2b1nkdgcis3h90d0fq2s1nc5lr7h03-model100-builtin-shajra-hex
├── build-model100-factory-flash -> /nix/store/cpb883vv9cdxy3l2n8kzn8d33vnq3nr4-model100-factory-flash
├── build-model100-factory-hex -> /nix/store/77yaiax9p92in5s89fg05p7f2f2pyim9-model100-factory-hex
├── build-moonlander-builtin-shajra-flash -> /nix/store/l5irmqr6injbrnc1awn0yx1gdr1wxq3g-moonlander-builtin-shajra-flash
├── build-moonlander-builtin-shajra-hex -> /nix/store/ihxn8nh5pvgiwsbd3asds5n3zaraq24h-moonlander-builtin-shajra.bin
├── build-moonlander-factory-flash -> /nix/store/423r0y2hdwsxmjq6fy746aifjsygynqn-moonlander-factory-flash
├── build-moonlander-factory-hex -> /nix/store/ayf6yr8nbnfrf9hfgp6sl3gf78x2w0nk-moonlander-factory.bin
├── flash-ergodoxez -> /nix/store/7y7srw0w79q708c2wf8gkkbdad6x9zk5-flash-ergodoxez
├── flash-model01 -> /nix/store/c4z2fs12bmy4c1jcjcb01r6lk25i46wv-flash-model01
├── flash-model100 -> /nix/store/i6zi8wk7k3qdcxjbj3jj7ynzql453sl4-flash-model100
├── flash-moonlander -> /nix/store/13vf8idinc22gfd4kn9qqh7kf0d0zxzx-flash-moonlander
└── licenses -> /nix/store/2m2mxyx1sv3yq82qih3b9fzjc94nsyih-shajra-keyboards-licenses
/nix/store/cqh02vwq6s2xqkp01alqyb8z00fj0in6-shajra-keyboards-ci
├── build-ergodoxez-builtin-shajra-flash -> /nix/store/sawk61ii56qfw9j6nmb4wf2gd2yzqa0a-ergodoxez-builtin-shajra-flash
├── build-ergodoxez-builtin-shajra-hex -> /nix/store/37qvazv1vr35839gh57rsf94i058kbmn-ergodoxez-builtin-shajra.hex
├── build-ergodoxez-factory-flash -> /nix/store/8wcj0186fgk0yi23x5rhjq9rkl35s13g-ergodoxez-factory-flash
├── build-ergodoxez-factory-hex -> /nix/store/pnwcmm64g26cc8cbx63caqfi35dlkjhs-ergodoxez-factory.hex
├── build-model01-builtin-shajra-flash -> /nix/store/w58wg6plq82xcvqy1wqcr83mk1bjdsyl-model01-builtin-shajra-flash
├── build-model01-builtin-shajra-hex -> /nix/store/hka3r64krc0f2l4vnc43r25ci8p2z9fr-model01-builtin-shajra-hex
├── build-model01-factory-flash -> /nix/store/qz8i5x0kc1bamzj69jyxriy1qzivdiwm-model01-factory-flash
├── build-model01-factory-hex -> /nix/store/vafvhj4kr64y7ry6afd07saxj0nm0siy-model01-factory-hex
├── build-model100-builtin-shajra-flash -> /nix/store/nsbkz1l8pgjjchw5qvh6h9af015l0q6b-model100-builtin-shajra-flash
├── build-model100-builtin-shajra-hex -> /nix/store/pnzarsgkwhsi27ms3plhfdda0fpch5fi-model100-builtin-shajra-hex
├── build-model100-factory-flash -> /nix/store/87f14hrp45jfb6b3q9mnj2q5nkfc3dmp-model100-factory-flash
├── build-model100-factory-hex -> /nix/store/gfdkfm9cm8ihq5js6ly399i7gc27ikm8-model100-factory-hex
├── build-moonlander-builtin-shajra-flash -> /nix/store/l5xk7nys9vgcc0nfi5zj20gjz3xbvigv-moonlander-builtin-shajra-flash
├── build-moonlander-builtin-shajra-hex -> /nix/store/p0z57wzqdhk0jmnprlx3lcnwhsxhsmyx-moonlander-builtin-shajra.bin
├── build-moonlander-factory-flash -> /nix/store/wk913rfcm072f2r5fvjda9gnc67pdn0g-moonlander-factory-flash
├── build-moonlander-factory-hex -> /nix/store/wfaq1z23x03g0mg6i8yy5111sf37l6qh-moonlander-factory.bin
├── flash-ergodoxez -> /nix/store/y9ynsp16hpdppq23firr7dlwwnf9y868-flash-ergodoxez
├── flash-model01 -> /nix/store/c6m6d5qsybdqzq80r2shi0n9irgmkgim-flash-model01
├── flash-model100 -> /nix/store/abrz5hp7nm9ffgk9wy2wrv002r25vp7b-flash-model100
├── flash-moonlander -> /nix/store/awyi905896pkdb2g6941s7pw21rpwzj0-flash-moonlander
└── licenses -> /nix/store/rril0rr02bvmm4dza3wcvwa3r9z2z6wf-shajra-keyboards-licenses

18 directories, 4 files
#+end_example
Expand Down
4 changes: 2 additions & 2 deletions doc/internal/params.el
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
;; run-type must be "executable"
(run-target-short . "shajra-keyboards-licenses")
;; run-target-long will always prefix "bin/"
(nix-latest . "2.23.2")
(nix-stable . "2.18.4")
(nix-latest . "2.23.3")
(nix-stable . "2.18.5")
(nixos-latest . "24.05")
(platforms . "Linux on x86-64 machines"))
4 changes: 2 additions & 2 deletions doc/nix-installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,12 @@ Hopefully, this alleviates any worry about installing a complex program on your

> **<span class="underline">NOTE:</span>** You don't need this step if you're running NixOS, which comes with Nix baked in.
Though the latest version of Nix is Nix 2.23.2, we'll be installing the version that the last release of NixOS (24.05) uses, specifically Nix 2.18.4. As discussed in the included [introduction to Nix](nix-introduction.md), this version is considered stable by the Nix community.
Though the latest version of Nix is Nix 2.23.3, we'll be installing the version that the last release of NixOS (24.05) uses, specifically Nix 2.18.5. As discussed in the included [introduction to Nix](nix-introduction.md), this version is considered stable by the Nix community.

The following command calls the official installation script for the recommended version of Nix. Note, this script will require `sudo` access.

```bash
sh <(curl -L https://releases.nixos.org/nix/nix-2.18.4/install) --daemon
sh <(curl -L https://releases.nixos.org/nix/nix-2.18.5/install) --daemon
```

The `--daemon` switch installs Nix in the multi-user mode, which is generally recommended (single-user installation with `--no-daemon` instead is recommended for WSL). The script reports everything it does and touches.
Expand Down
6 changes: 3 additions & 3 deletions doc/nix-introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,11 +194,11 @@ However, if industrial users move to flakes to address these problems, we have t

### Nix quick releases compete with stability<a id="sec-4-2-3"></a>

The latest major version of the Nix package manager is currently Nix 2.23.2, but NixOS 24.05, the latest stable release of NixOS, uses Nix 2.18.4. NixOS is the primary way the Nix package manager gets used in the field. Far fewer users install Nix as a package manager atop another operating system. From a community perspective it makes sense to consider Nix 2.18.4 the stable release of the package manager. This version gets the most scrutiny and critical bug fixes.
The latest major version of the Nix package manager is currently Nix 2.23.3, but NixOS 24.05, the latest stable release of NixOS, uses Nix 2.18.5. NixOS is the primary way the Nix package manager gets used in the field. Far fewer users install Nix as a package manager atop another operating system. From a community perspective it makes sense to consider Nix 2.18.5 the stable release of the package manager. This version gets the most scrutiny and critical bug fixes.

As mentioned above, there are strong reasons to use still-experimental features, particularly flakes. However, APIs and calculated hashes change too frequently in experimental features from version-to-version. By sticking with the version used in NixOS, we get less breaking changes. For example, the [flake.lock](../flake.lock) file included with this project has calculated hashes for dependencies. These hashes were computed with Nix 2.18.4, and could change with later versions.
As mentioned above, there are strong reasons to use still-experimental features, particularly flakes. However, APIs and calculated hashes change too frequently in experimental features from version-to-version. By sticking with the version used in NixOS, we get less breaking changes. For example, the [flake.lock](../flake.lock) file included with this project has calculated hashes for dependencies. These hashes were computed with Nix 2.18.5, and could change with later versions.

For these reasons, the [installation guide included with this project](nix-installation.md) recommends installing Nix 2.18.4, rather than the latest official release.
For these reasons, the [installation guide included with this project](nix-installation.md) recommends installing Nix 2.18.5, rather than the latest official release.

## A few gaps in determinism<a id="sec-4-3"></a>

Expand Down
8 changes: 4 additions & 4 deletions doc/nix-usage-flakes.md
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ After a successful call of `nix build`, you'll see one or more symlinks for each
readlink result*
```

/nix/store/2m2mxyx1sv3yq82qih3b9fzjc94nsyih-shajra-keyboards-licenses
/nix/store/rril0rr02bvmm4dza3wcvwa3r9z2z6wf-shajra-keyboards-licenses

Following these symlinks, we can see the files the project provides:

Expand All @@ -287,7 +287,7 @@ It's common to configure these “result” symlinks as ignored in source contro
nix path-info .#licenses-thirdparty
```

/nix/store/2m2mxyx1sv3yq82qih3b9fzjc94nsyih-shajra-keyboards-licenses
/nix/store/rril0rr02bvmm4dza3wcvwa3r9z2z6wf-shajra-keyboards-licenses

## Running commands in a shell<a id="sec-4-6"></a>

Expand Down Expand Up @@ -400,7 +400,7 @@ nix shell --ignore-environment \
--command which shajra-keyboards-licenses
```

/nix/store/2m2mxyx1sv3yq82qih3b9fzjc94nsyih-shajra-keyboards-licenses/bin/shajra-keyboards-licenses
/nix/store/rril0rr02bvmm4dza3wcvwa3r9z2z6wf-shajra-keyboards-licenses/bin/shajra-keyboards-licenses

What we do with local flake references can work just as well with remote flake references.

Expand Down Expand Up @@ -428,7 +428,7 @@ nix profile list
Flake attribute: packages.x86_64-linux.licenses-thirdparty
Original flake URL: git+file:///home/shajra/src/shajra-keyboards
Locked flake URL: git+file:///home/shajra/src/shajra-keyboards
Store paths: /nix/store/2m2mxyx1sv3yq82qih3b9fzjc94nsyih-shajra-keyboards-licenses
Store paths: /nix/store/rril0rr02bvmm4dza3wcvwa3r9z2z6wf-shajra-keyboards-licenses

If we want to uninstall a program from our profile, we do so by the index from this list:

Expand Down
8 changes: 4 additions & 4 deletions doc/nix-usage-flakes.org
Original file line number Diff line number Diff line change
Expand Up @@ -445,7 +445,7 @@ readlink result*
#+end_src

#+RESULTS: nix-build-link
: /nix/store/2m2mxyx1sv3yq82qih3b9fzjc94nsyih-shajra-keyboards-licenses
: /nix/store/rril0rr02bvmm4dza3wcvwa3r9z2z6wf-shajra-keyboards-licenses

Following these symlinks, we can see the files the project provides:

Expand Down Expand Up @@ -474,7 +474,7 @@ nix path-info .#<<get("package-attr-short")>>
#+end_src

#+results: nix-build-path
: /nix/store/2m2mxyx1sv3yq82qih3b9fzjc94nsyih-shajra-keyboards-licenses
: /nix/store/rril0rr02bvmm4dza3wcvwa3r9z2z6wf-shajra-keyboards-licenses

** Running commands in a shell

Expand Down Expand Up @@ -636,7 +636,7 @@ nix shell --ignore-environment \
#+end_src

#+RESULTS: nix-shell-remote
: /nix/store/2m2mxyx1sv3yq82qih3b9fzjc94nsyih-shajra-keyboards-licenses/bin/shajra-keyboards-licenses
: /nix/store/rril0rr02bvmm4dza3wcvwa3r9z2z6wf-shajra-keyboards-licenses/bin/shajra-keyboards-licenses

What we do with local flake references can work just as well with remote flake
references.
Expand Down Expand Up @@ -687,7 +687,7 @@ nix profile list --profile /tmp/nix-profile | ansifilter
: Flake attribute: packages.x86_64-linux.licenses-thirdparty
: Original flake URL: git+file:///home/shajra/src/shajra-keyboards
: Locked flake URL: git+file:///home/shajra/src/shajra-keyboards
: Store paths: /nix/store/2m2mxyx1sv3yq82qih3b9fzjc94nsyih-shajra-keyboards-licenses
: Store paths: /nix/store/rril0rr02bvmm4dza3wcvwa3r9z2z6wf-shajra-keyboards-licenses

If we want to uninstall a program from our profile, we do so by the index from
this list:
Expand Down
Loading

0 comments on commit eef09fc

Please sign in to comment.