From f17cdfb6594d65eb2d2219eba771fbc97a4a272c Mon Sep 17 00:00:00 2001 From: Sukant Hajra Date: Tue, 10 Dec 2024 10:22:04 -0600 Subject: [PATCH] Update dependencies and documentation --- .github/workflows/ci.yml | 4 +-- doc/internal/params.el | 6 ++--- doc/nix-installation.md | 8 +++--- doc/nix-introduction.md | 6 ++--- doc/nix-language.md | 14 +++++----- doc/nix-language.org | 14 +++++----- doc/nix-usage-flakes.md | 14 +++++----- doc/nix-usage-flakes.org | 8 +++--- doc/nix-usage-noflakes.md | 9 +++---- doc/nix-usage-noflakes.org | 9 +++---- doc/project-developing.md | 10 +++---- flake.lock | 54 ++++++++++++++++++-------------------- flake.nix | 6 ++--- nix/compat.nix | 2 +- nix/org2gfm.nix | 6 ++--- 15 files changed, 83 insertions(+), 87 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ec7a340..c401032 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,8 +13,8 @@ jobs: - uses: actions/checkout@v4 - uses: cachix/install-nix-action@v30 with: - # DESIGN: matching current in NixOS 24.05 - install_url: https://releases.nixos.org/nix/nix-2.18.8/install + # DESIGN: matching current in NixOS 24.11 + install_url: https://releases.nixos.org/nix/nix-2.24.10/install - uses: cachix/cachix-action@v15 with: name: shajra diff --git a/doc/internal/params.el b/doc/internal/params.el index 2303267..c9610f0 100644 --- a/doc/internal/params.el +++ b/doc/internal/params.el @@ -10,9 +10,9 @@ ;; run-type must be "executable" (run-target-short . "org2gfm") ;; run-target-long will always prefix "bin/" - (nix-latest . "2.24.10") - (nix-stable . "2.18.8") - (nixos-latest . "24.05") + (nix-latest . "2.25.3") + (nix-stable . "2.24.10") + (nixos-latest . "24.11") (platforms . "\n\ - Linux on x86-64 machines\n\ - MacOS on x86-64 machines\n\ diff --git a/doc/nix-installation.md b/doc/nix-installation.md index 2e63cba..224ac57 100644 --- a/doc/nix-installation.md +++ b/doc/nix-installation.md @@ -43,22 +43,22 @@ Hopefully, this alleviates any worry about installing a complex program on your > **NOTE:** 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.24.10, we'll be installing the version that the last release of NixOS (24.05) uses, specifically Nix 2.18.8. 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.25.3, we'll be installing the version that the last release of NixOS (24.11) uses, specifically Nix 2.24.10. 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.8/install) --daemon +sh <(curl -L https://releases.nixos.org/nix/nix-2.24.10/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. After installation, you may have to exit your terminal session and log back in to have environment variables configured, which puts Nix executables on your `PATH`. -Every six months or so, a new version of NixOS releases, and you should consider upgrading your installation of Nix. For NixOS 24.05, this command upgrades Nix: +Every six months or so, a new version of NixOS releases, and you should consider upgrading your installation of Nix. For NixOS 24.11, this command upgrades Nix: ```bash -NIXOS_VERSION="24.05" +NIXOS_VERSION="24.11" NIX_STORE_PATHS_URL=https://github.com/NixOS/nixpkgs/raw/$NIXOS_VERSION/nixos/module/installer/tools/nix-fallback-paths.nix sudo nix upgrade-nix --nix-store-paths-url "$NIX_STORE_PATHS_URL" ``` diff --git a/doc/nix-introduction.md b/doc/nix-introduction.md index 5c61f79..f48c69b 100644 --- a/doc/nix-introduction.md +++ b/doc/nix-introduction.md @@ -196,11 +196,11 @@ However, if industrial users move to flakes to address these problems, we have t ### Nix quick releases compete with stability -The latest major version of the Nix package manager is currently Nix 2.24.10, but NixOS 24.05, the latest stable release of NixOS, uses Nix 2.18.8. 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.8 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.25.3, but NixOS 24.11, the latest stable release of NixOS, uses Nix 2.24.10. 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.24.10 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.8, 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.24.10, and could change with later versions. -For these reasons, the [installation guide included with this project](nix-installation.md) recommends installing Nix 2.18.8, rather than the latest official release. +For these reasons, the [installation guide included with this project](nix-installation.md) recommends installing Nix 2.24.10, rather than the latest official release. ## A few gaps in determinism diff --git a/doc/nix-language.md b/doc/nix-language.md index 36b7779..4a8a48a 100644 --- a/doc/nix-language.md +++ b/doc/nix-language.md @@ -413,13 +413,13 @@ nix eval --impure --expr ' ``` { - lastModified = 1718457448; - lastModifiedDate = "20240615131728"; - narHash = "sha256-FSoxTcRZMGHNJh8dNtKOkcUtjhmhU6yQXcZZfUPLhQM="; - outPath = "/nix/store/z1lyf7s6klqvd97027b56lmckm5p9hik-source"; - rev = "a0f54334df36770b335c051e540ba40afcbf8378"; - revCount = 844; - shortRev = "a0f5433"; + lastModified = 1731930289; + lastModifiedDate = "20241118114449"; + narHash = "sha256-eOHQ7pD8OfSLIIFfF6daCnntzHKqpraAGFfFqSlPtbY="; + outPath = "/nix/store/n4yc76agwgn6racs698s5wnyn89mp5hl-source"; + rev = "769337c227799aa60911562b6940530f4a86eb3c"; + revCount = 870; + shortRev = "769337c"; submodules = false; } diff --git a/doc/nix-language.org b/doc/nix-language.org index 666f40c..859e6da 100644 --- a/doc/nix-language.org +++ b/doc/nix-language.org @@ -541,13 +541,13 @@ nix eval --impure --expr ' #+RESULTS: #+begin_example { - lastModified = 1718457448; - lastModifiedDate = "20240615131728"; - narHash = "sha256-FSoxTcRZMGHNJh8dNtKOkcUtjhmhU6yQXcZZfUPLhQM="; - outPath = "/nix/store/z1lyf7s6klqvd97027b56lmckm5p9hik-source"; - rev = "a0f54334df36770b335c051e540ba40afcbf8378"; - revCount = 844; - shortRev = "a0f5433"; + lastModified = 1731930289; + lastModifiedDate = "20241118114449"; + narHash = "sha256-eOHQ7pD8OfSLIIFfF6daCnntzHKqpraAGFfFqSlPtbY="; + outPath = "/nix/store/n4yc76agwgn6racs698s5wnyn89mp5hl-source"; + rev = "769337c227799aa60911562b6940530f4a86eb3c"; + revCount = 870; + shortRev = "769337c"; submodules = false; } #+end_example diff --git a/doc/nix-usage-flakes.md b/doc/nix-usage-flakes.md index 8852da0..e00d811 100644 --- a/doc/nix-usage-flakes.md +++ b/doc/nix-usage-flakes.md @@ -97,7 +97,7 @@ nix registry list For example, rather than referencing the flake on the `nixpkgs-unstable` branch of the Nixpkgs GitHub repository with `github:NixOS/nixpkgs/nixpkgs-unstable`, we can use the simpler identifier `nixpkgs`. -If we want to point to a different branch but still use an identifier from the registry, we can do so by extending it with the branch. For example, the flakes identifier `nixpkgs` is the same as `nixpkgs/nixpkgs-ustable`, but we can also use `nixpkgs/nixos-24.05` to override the branch and point to the NixOS 24.05 release branch. +If we want to point to a different branch but still use an identifier from the registry, we can do so by extending it with the branch. For example, the flakes identifier `nixpkgs` is the same as `nixpkgs/nixpkgs-ustable`, but we can also use `nixpkgs/nixos-24.11` to override the branch and point to the NixOS 24.11 release branch. Note that registries have mutable references, but Nix knows how to rebuild the snapshot referenced for some of these references deterministically. For example, when referencing a GitHub repository via a registry reference, Nix will take note of the commit ID of the snapshot retrieved. Nix typically stores this information required for reproducibility in a *lock file* called `flake.lock` adjacent to `flake.nix`. @@ -223,13 +223,13 @@ nix search nixpkgs 'gpu|opengl|accel' terminal | ansifilter If we're curious about what version of WezTerm is available in NixOS's latest release, we can specialize the installable we're searching as follows: ```sh -nix search nixpkgs/nixos-24.05#wezterm +nix search nixpkgs/nixos-24.11#wezterm ``` * legacyPackages.x86_64-linux.wezterm (20240203-110809-5046fc22) GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust -Here `/nixos-24.05` overrides the default `nixpkgs-unstable` branch of the registry entry, and the `#wezterm` suffix searches not just the flake, but a specific package named `wezterm`, which will either be found or not (there's no need for regexes to filter further). +Here `/nixos-24.11` overrides the default `nixpkgs-unstable` branch of the registry entry, and the `#wezterm` suffix searches not just the flake, but a specific package named `wezterm`, which will either be found or not (there's no need for regexes to filter further). You may also notice that the Nixpkgs flake outputs packages under the `legacyPackages` attribute instead of the `packages`. The primary difference is that packages are flatly organized under `packages`, while `legacyPackages` can be an arbitrary tree. `legacyPackages` exists specifically for the Nixpkgs project, a central project to the Nix ecosystem that has existed long before flakes. Beyond Nixpkgs, you don't have to think much about `legacyPackages`. Packages from all other flakes should generally be found under `packages`. @@ -266,7 +266,7 @@ After a successful call of `nix build`, you'll see one or more symlinks for each readlink result* ``` - /nix/store/0hrm7139k2h5chl74bw0issgaxib361b-org2gfm + /nix/store/islqrpxqp250lq2f8mda3jfngbcm280l-org2gfm Following these symlinks, we can see the files the project provides: @@ -288,7 +288,7 @@ It's common to configure these “result” symlinks as ignored in source contro nix path-info .#org2gfm ``` - /nix/store/0hrm7139k2h5chl74bw0issgaxib361b-org2gfm + /nix/store/islqrpxqp250lq2f8mda3jfngbcm280l-org2gfm ## Running commands in a shell @@ -401,7 +401,7 @@ nix shell --ignore-environment \ --command which org2gfm ``` - /nix/store/0hrm7139k2h5chl74bw0issgaxib361b-org2gfm/bin/org2gfm + /nix/store/islqrpxqp250lq2f8mda3jfngbcm280l-org2gfm/bin/org2gfm What we do with local flake references can work just as well with remote flake references. @@ -429,7 +429,7 @@ nix profile list Flake attribute: packages.x86_64-linux.org2gfm Original flake URL: git+file:///home/shajra/src/nix-project Locked flake URL: git+file:///home/shajra/src/nix-project - Store paths: /nix/store/0hrm7139k2h5chl74bw0issgaxib361b-org2gfm + Store paths: /nix/store/islqrpxqp250lq2f8mda3jfngbcm280l-org2gfm If we want to uninstall a program from our profile, we do so by the index from this list: diff --git a/doc/nix-usage-flakes.org b/doc/nix-usage-flakes.org index 45f484f..d4cfafb 100644 --- a/doc/nix-usage-flakes.org +++ b/doc/nix-usage-flakes.org @@ -438,7 +438,7 @@ readlink result* #+end_src #+RESULTS: nix-build-link -: /nix/store/0hrm7139k2h5chl74bw0issgaxib361b-org2gfm +: /nix/store/islqrpxqp250lq2f8mda3jfngbcm280l-org2gfm Following these symlinks, we can see the files the project provides: @@ -467,7 +467,7 @@ nix path-info .#<> #+end_src #+results: nix-build-path -: /nix/store/0hrm7139k2h5chl74bw0issgaxib361b-org2gfm +: /nix/store/islqrpxqp250lq2f8mda3jfngbcm280l-org2gfm ** Running commands in a shell @@ -629,7 +629,7 @@ nix shell --ignore-environment \ #+end_src #+RESULTS: nix-shell-remote -: /nix/store/0hrm7139k2h5chl74bw0issgaxib361b-org2gfm/bin/org2gfm +: /nix/store/islqrpxqp250lq2f8mda3jfngbcm280l-org2gfm/bin/org2gfm What we do with local flake references can work just as well with remote flake references. @@ -680,7 +680,7 @@ nix profile list --profile /tmp/nix-profile | ansifilter : Flake attribute: packages.x86_64-linux.org2gfm : Original flake URL: git+file:///home/shajra/src/nix-project : Locked flake URL: git+file:///home/shajra/src/nix-project -: Store paths: /nix/store/0hrm7139k2h5chl74bw0issgaxib361b-org2gfm +: Store paths: /nix/store/islqrpxqp250lq2f8mda3jfngbcm280l-org2gfm If we want to uninstall a program from our profile, we do so by the index from this list: diff --git a/doc/nix-usage-noflakes.md b/doc/nix-usage-noflakes.md index 5b7ee8b..4e95278 100644 --- a/doc/nix-usage-noflakes.md +++ b/doc/nix-usage-noflakes.md @@ -161,7 +161,7 @@ We can build this package with `nix-build` from the project root: nix-build --attr packages.x86_64-linux.org2gfm . ``` - /nix/store/0hrm7139k2h5chl74bw0issgaxib361b-org2gfm + /nix/store/islqrpxqp250lq2f8mda3jfngbcm280l-org2gfm If we omit the path to a Nix file, `nix-build` will try to build `default.nix` in the current directory. If we omit the `--attr` switch and argument, `nix-build` will try to build packages it finds in the root of the attribute tree. @@ -173,7 +173,7 @@ The output of `nix-build` shows us where in `/nix/store` our package has been bu readlink result* ``` - /nix/store/0hrm7139k2h5chl74bw0issgaxib361b-org2gfm + /nix/store/islqrpxqp250lq2f8mda3jfngbcm280l-org2gfm Following these symlinks, we can see the files the project provides: @@ -269,12 +269,12 @@ If we want something other than what can be detected, then we have to continue u The previous sections show how to use `nix run` and `nix shell` to run commands in an environment that includes packages from a project local to our filesystem. -We can reference remote projects that have a `default.nix` file using URLs with the `--file` switch. For example, here we reference a tarball of the 24.05 release of Nixpkgs: +We can reference remote projects that have a `default.nix` file using URLs with the `--file` switch. For example, here we reference a tarball of the 24.11 release of Nixpkgs: ```sh nix --extra-experimental-features 'nix-command' \ run \ - --file https://github.com/NixOS/nixpkgs/archive/24.05.tar.gz \ + --file https://github.com/NixOS/nixpkgs/archive/nixos-24.11.tar.gz \ hello ``` @@ -305,7 +305,6 @@ nix-env --install --file . --attr packages.x86_64-linux.org2gfm 2>&1 ``` installing 'org2gfm' - building '/nix/store/hs9xz17vlb2m4qn6kxfmccgjq4jyrvqg-user-environment.drv'... We can see this installation by querying what's been installed: diff --git a/doc/nix-usage-noflakes.org b/doc/nix-usage-noflakes.org index 9da93aa..a6ec8cd 100644 --- a/doc/nix-usage-noflakes.org +++ b/doc/nix-usage-noflakes.org @@ -305,7 +305,7 @@ nix-build --attr <> . #+end_src #+RESULTS: nix-build -: /nix/store/0hrm7139k2h5chl74bw0issgaxib361b-org2gfm +: /nix/store/islqrpxqp250lq2f8mda3jfngbcm280l-org2gfm If we omit the path to a Nix file, =nix-build= will try to build =default.nix= in the current directory. If we omit the =--attr= switch and argument, @@ -328,7 +328,7 @@ readlink result* #+end_src #+RESULTS: nix-build-link -: /nix/store/0hrm7139k2h5chl74bw0issgaxib361b-org2gfm +: /nix/store/islqrpxqp250lq2f8mda3jfngbcm280l-org2gfm Following these symlinks, we can see the files the project provides: @@ -490,7 +490,7 @@ the =--file= switch. For example, here we reference a tarball of the #+begin_src sh :eval no :noweb yes nix --extra-experimental-features 'nix-command' \ run \ - --file https://github.com/NixOS/nixpkgs/archive/<>.tar.gz \ + --file https://github.com/NixOS/nixpkgs/archive/nixos-<>.tar.gz \ hello #+end_src @@ -498,7 +498,7 @@ nix --extra-experimental-features 'nix-command' \ #+begin_src sh :results output :exports results :noweb yes nix --experimental-features 'nix-command' \ run \ - --file https://github.com/NixOS/nixpkgs/archive/<>.tar.gz \ + --file https://github.com/NixOS/nixpkgs/archive/nixos-<>.tar.gz \ hello #+end_src @@ -557,7 +557,6 @@ nix-env --profile /tmp/nix-profile \ #+RESULTS: nix-env-install : installing 'org2gfm' -: building '/nix/store/hs9xz17vlb2m4qn6kxfmccgjq4jyrvqg-user-environment.drv'... We can see this installation by querying what's been installed: diff --git a/doc/project-developing.md b/doc/project-developing.md index 760dd2a..ac7fe92 100644 --- a/doc/project-developing.md +++ b/doc/project-developing.md @@ -92,7 +92,7 @@ Every `flake.nix` file must conform to a standard structure of an attribute set flake-compat = { url = "github:edolstra/flake-compat"; flake = false; }; flake-parts.url = "github:hercules-ci/flake-parts"; nix-project.url = "github:shajra/nix-project"; - nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; }; outputs = inputs@{ flake-parts, nix-project, ... }: # … @@ -213,7 +213,7 @@ For example, let's say we wanted to pass through GNU Hello as a package provided { description = "Without flake-parts"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; }; outputs = inputs: { packages.x86_64-linux.my-hello = @@ -230,7 +230,7 @@ This example not using `flake-parts` may not seem that bad when just passing thr { description = "Motivating flake-parts"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; }; outputs = inputs: let lib = inputs.nixpkgs.lib; @@ -252,7 +252,7 @@ Notice how annoying it is to deal with the `system` parameter. Here's what the s description = "Illustrating flake-parts"; inputs = { flake-parts.url = "github:hercules-ci/flake-parts"; - nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; }; outputs = inputs@{ flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } { @@ -280,7 +280,7 @@ See the [official flake-parts documentation](https://flake.parts/module-argument description = "Illustrating flake-parts"; inputs = { flake-parts.url = "github:hercules-ci/flake-parts"; - nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; }; outputs = inputs@{ flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } { diff --git a/flake.lock b/flake.lock index af8d808..4dc8269 100644 --- a/flake.lock +++ b/flake.lock @@ -1,19 +1,17 @@ { "nodes": { "flake-compat": { - "flake": false, "locked": { "lastModified": 1696426674, "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" + "revCount": 57, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" }, "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/%2A.tar.gz" } }, "flake-parts": { @@ -21,11 +19,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1730504689, - "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "506278e768c2a08bec68eb62932193e341f55c90", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -36,23 +34,23 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1730504152, - "narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=", + "lastModified": 1733096140, + "narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" } }, "nixpkgs-master": { "locked": { - "lastModified": 1731164800, - "narHash": "sha256-ge5br6L2oubRPEqAuaaVWsXazjhbsi2oaY3+tZx7erc=", + "lastModified": 1733854166, + "narHash": "sha256-GSLz3eKtUemi/pUuJzFqTjueuv6670cuxtOUHZtR9zM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d2d4c4f350b98e3940bd733768948149426f022f", + "rev": "15d88de94d0ffb1d974893169d0160b7aecdc2ea", "type": "github" }, "original": { @@ -64,43 +62,43 @@ }, "nixpkgs-stable-darwin": { "locked": { - "lastModified": 1730891215, - "narHash": "sha256-i85DPrhDuvzgvIWCpJlbfM2UFtNYbapo20MtQXsvay4=", + "lastModified": 1733693873, + "narHash": "sha256-WQHUGmsaZnizDwGAGlt3KNottVHj4E8HKzxseULqrzo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c128e44a249d6180740d0a979b6480d5b795c013", + "rev": "4dbea6e2d4bfa443e7d7329ac81532626fc78c8d", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-24.05-darwin", + "ref": "nixpkgs-24.11-darwin", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-stable-linux": { "locked": { - "lastModified": 1730963269, - "narHash": "sha256-rz30HrFYCHiWEBCKHMffHbMdWJ35hEkcRVU0h7ms3x0=", + "lastModified": 1733550349, + "narHash": "sha256-NcGumB4Lr6KSDq+nIqXtNA8QwAQKDSZT7N9OTGWbTrs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "83fb6c028368e465cd19bb127b86f971a5e41ebc", + "rev": "e2605d0744c2417b09f8bf850dfca42fcf537d34", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.05", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1730958623, - "narHash": "sha256-JwQZIGSYnRNOgDDoIgqKITrPVil+RMWHsZH1eE1VGN0=", + "lastModified": 1733686850, + "narHash": "sha256-NQEO/nZWWGTGlkBWtCs/1iF1yl2lmQ1oY/8YZrumn3I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "85f7e662eda4fa3a995556527c87b2524b691933", + "rev": "dd51f52372a20a93c219e8216fe528a648ffcbf4", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index edbf281..f1e771d 100644 --- a/flake.nix +++ b/flake.nix @@ -2,11 +2,11 @@ description = "A foundation to build Nix-based projects from."; inputs = { - flake-compat = { url = "github:edolstra/flake-compat"; flake = false; }; + flake-compat.url = "https://flakehub.com/f/edolstra/flake-compat/*.tar.gz"; flake-parts.url = "github:hercules-ci/flake-parts"; nixpkgs-master.url = "github:NixOS/nixpkgs/master"; - nixpkgs-stable-darwin.url = "github:NixOS/nixpkgs/nixpkgs-24.05-darwin"; - nixpkgs-stable-linux.url = "github:NixOS/nixpkgs/nixos-24.05"; + nixpkgs-stable-darwin.url = "github:NixOS/nixpkgs/nixpkgs-24.11-darwin"; + nixpkgs-stable-linux.url = "github:NixOS/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; ox-gfm = { url = "github:syl20bnr/ox-gfm"; flake = false; }; }; diff --git a/nix/compat.nix b/nix/compat.nix index cfc16e8..5343296 100644 --- a/nix/compat.nix +++ b/nix/compat.nix @@ -14,5 +14,5 @@ let in { ${outputName} = found; } // acc; currentSystem = builtins.foldl' augmentDefNix {} defNixOutNames; in compat // { - defaultNix = compat.defaultNix // { inherit currentSystem; }; + defaultNix = compat.defaultNix; # // { inherit currentSystem; }; } diff --git a/nix/org2gfm.nix b/nix/org2gfm.nix index 72075d3..5896d0d 100644 --- a/nix/org2gfm.nix +++ b/nix/org2gfm.nix @@ -1,5 +1,5 @@ { coreutils -, emacsWithPackages +, emacs , fd , git , gnugrep @@ -11,7 +11,7 @@ let - emacs = emacsWithPackages (epkgs: [ + emacsWithPkgs = emacs.pkgs.withPackages (epkgs: [ epkgs.melpaStablePackages.dash epkgs.melpaStablePackages.f epkgs.melpaStablePackages.ox-gfm @@ -225,7 +225,7 @@ generate_gfm_file() "$KEEP_GOING" \ || "${gnugrep}/bin/grep" --invert-match --quiet \ "$ERR_REGEX" <(echo "$line") - done < <("${emacs}/bin/emacs" \ + done < <("${emacsWithPkgs}/bin/emacs" \ --batch \ --kill \ --load ${init} \