From 9f97c659d64df5b0ce0d9e7e99ead96319a9a687 Mon Sep 17 00:00:00 2001 From: Ryan Yin Date: Wed, 17 Sep 2025 12:34:07 +0800 Subject: [PATCH] fix: lix is broken, use dix instead --- .github/workflows/flake_evaltests.yml | 4 +- flake.lock | 250 +++++++++++++++++++++++--- flake.nix | 4 + modules/base/nix.nix | 7 - modules/nixos/base/nix.nix | 13 ++ 5 files changed, 247 insertions(+), 31 deletions(-) diff --git a/.github/workflows/flake_evaltests.yml b/.github/workflows/flake_evaltests.yml index 74f784f9..1b868966 100644 --- a/.github/workflows/flake_evaltests.yml +++ b/.github/workflows/flake_evaltests.yml @@ -25,9 +25,9 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install nix - uses: cachix/install-nix-action@v24 + uses: cachix/install-nix-action@v31 with: install_url: https://nixos.org/nix/install extra_nix_config: | diff --git a/flake.lock b/flake.lock index 4e5db621..eade26de 100644 --- a/flake.lock +++ b/flake.lock @@ -148,6 +148,67 @@ "type": "github" } }, + "determinate": { + "inputs": { + "determinate-nixd-aarch64-darwin": "determinate-nixd-aarch64-darwin", + "determinate-nixd-aarch64-linux": "determinate-nixd-aarch64-linux", + "determinate-nixd-x86_64-darwin": [ + "determinate", + "determinate-nixd-aarch64-darwin" + ], + "determinate-nixd-x86_64-linux": "determinate-nixd-x86_64-linux", + "nix": "nix", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1757699119, + "narHash": "sha256-iOOoVdrkcyk95Xg68TuPeAwpz+v80mgZCqil0jpPZuY=", + "rev": "1e16c8f8a44573bb0648c76b6c98352436f5171e", + "revCount": 304, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.11.2/01993f0b-1215-7072-ac1a-f2b27b566115/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/determinate/%2A" + } + }, + "determinate-nixd-aarch64-darwin": { + "flake": false, + "locked": { + "narHash": "sha256-q1tqDvmfjDgLk/wbYf4pRhyHDS94iY85Q79FPBtcv7g=", + "type": "file", + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/macOS" + }, + "original": { + "type": "file", + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/macOS" + } + }, + "determinate-nixd-aarch64-linux": { + "flake": false, + "locked": { + "narHash": "sha256-E1vGfcQ5dqtRG9EDP6eOQWCnCIRB2XFkFBp2C4FgQ8c=", + "type": "file", + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/aarch64-linux" + }, + "original": { + "type": "file", + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/aarch64-linux" + } + }, + "determinate-nixd-x86_64-linux": { + "flake": false, + "locked": { + "narHash": "sha256-GtxtkI0cOC2A30Xw6gCDTN7JxN1zJGh7/eIXr6AlTSA=", + "type": "file", + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/x86_64-linux" + }, + "original": { + "type": "file", + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.11.2/x86_64-linux" + } + }, "disko": { "inputs": { "nixpkgs": [ @@ -186,6 +247,22 @@ } }, "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1747046372, @@ -201,7 +278,7 @@ "type": "github" } }, - "flake-compat_3": { + "flake-compat_4": { "flake": false, "locked": { "lastModified": 1696426674, @@ -217,7 +294,7 @@ "type": "github" } }, - "flake-compat_4": { + "flake-compat_5": { "locked": { "lastModified": 1746162366, "narHash": "sha256-5SSSZ/oQkwfcAz/o/6TlejlVGqeK08wyREBQ5qFFPhM=", @@ -232,7 +309,7 @@ "type": "github" } }, - "flake-compat_5": { + "flake-compat_6": { "flake": false, "locked": { "lastModified": 1747046372, @@ -270,6 +347,27 @@ } }, "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "determinate", + "nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1748821116, + "narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=", + "rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1", + "revCount": 377, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/hercules-ci/flake-parts/0.1.377%2Brev-49f0870db23e8c1ca0b5259734a02cd9e1e371a1/01972f28-554a-73f8-91f4-d488cc502f08/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/hercules-ci/flake-parts/0.1" + } + }, + "flake-parts_3": { "inputs": { "nixpkgs-lib": [ "lanzaboote", @@ -290,7 +388,7 @@ "type": "github" } }, - "flake-parts_3": { + "flake-parts_4": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" }, @@ -308,7 +406,7 @@ "type": "github" } }, - "flake-parts_4": { + "flake-parts_5": { "inputs": { "nixpkgs-lib": [ "nixpak", @@ -367,9 +465,9 @@ }, "ghostty": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_4", "zig": "zig", "zon2nix": "zon2nix" }, @@ -387,6 +485,32 @@ "type": "github" } }, + "git-hooks-nix": { + "inputs": { + "flake-compat": "flake-compat_2", + "gitignore": [ + "determinate", + "nix" + ], + "nixpkgs": [ + "determinate", + "nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1747372754, + "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", + "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", + "revCount": 1026, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/cachix/git-hooks.nix/0.1.1026%2Brev-80479b6ec16fefd9c1db3ea13aeb038c60530f46/0196d79a-1b35-7b8e-a021-c894fb62163d/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/cachix/git-hooks.nix/0.1.941" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -504,11 +628,11 @@ ] }, "locked": { - "lastModified": 1758077428, - "narHash": "sha256-p6jpqsfed426hVxP9Oy+K63tqy4p+IbVmrgmmoOV8S4=", + "lastModified": 1758085625, + "narHash": "sha256-D0KVKNgWSDVjYFgPLEtSQvSKchTBT0YqSbNlH7OQ+bo=", "owner": "nix-community", "repo": "home-manager", - "rev": "6efc49be7c6115a0e07b3a2fa042cd41d9195545", + "rev": "fb928abb67bd4df99040721ed48c3b42e24b1d08", "type": "github" }, "original": { @@ -521,8 +645,8 @@ "lanzaboote": { "inputs": { "crane": "crane", - "flake-compat": "flake-compat_3", - "flake-parts": "flake-parts_2", + "flake-compat": "flake-compat_4", + "flake-parts": "flake-parts_3", "nixpkgs": [ "nixpkgs" ], @@ -582,7 +706,7 @@ "inputs": { "niri-stable": "niri-stable", "niri-unstable": "niri-unstable", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_6", "nixpkgs-stable": "nixpkgs-stable_2", "xwayland-satellite-stable": "xwayland-satellite-stable", "xwayland-satellite-unstable": "xwayland-satellite-unstable" @@ -634,6 +758,27 @@ "type": "github" } }, + "nix": { + "inputs": { + "flake-parts": "flake-parts_2", + "git-hooks-nix": "git-hooks-nix", + "nixpkgs": "nixpkgs_2", + "nixpkgs-23-11": "nixpkgs-23-11", + "nixpkgs-regression": "nixpkgs-regression" + }, + "locked": { + "lastModified": 1757694985, + "narHash": "sha256-3Ia+y7Hbwnzcuf1hyuVnFtbnSR6ErQeFjemHdVxjCNE=", + "rev": "766f43aa6acb1b3578db488c19fbbedf04ed9f24", + "revCount": 22340, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.11.2/01993ee9-f8e7-7b80-80df-ec0a20a32514/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/nix-src/%2A" + } + }, "nix-darwin": { "inputs": { "nixpkgs": [ @@ -656,7 +801,7 @@ }, "nix-gaming": { "inputs": { - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_4", "nixpkgs": [ "nixpkgs" ] @@ -692,7 +837,7 @@ }, "nixos-apple-silicon": { "inputs": { - "flake-compat": "flake-compat_4", + "flake-compat": "flake-compat_5", "nixpkgs": [ "nixpkgs" ], @@ -736,7 +881,7 @@ }, "nixpak": { "inputs": { - "flake-parts": "flake-parts_4", + "flake-parts": "flake-parts_5", "hercules-ci-effects": "hercules-ci-effects", "nixpkgs": [ "nixpkgs" @@ -772,6 +917,22 @@ "type": "github" } }, + "nixpkgs-23-11": { + "locked": { + "lastModified": 1717159533, + "narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", + "type": "github" + } + }, "nixpkgs-darwin": { "locked": { "lastModified": 1758029226, @@ -835,6 +996,22 @@ "type": "github" } }, + "nixpkgs-regression": { + "locked": { + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1730741070, @@ -900,6 +1077,34 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1755922037, + "narHash": "sha256-wY1+2JPH0ZZC4BQefoZw/k+3+DowFyfOxv17CN/idKs=", + "rev": "b1b3291469652d5a2edb0becc4ef0246fff97a7c", + "revCount": 808723, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2505.808723%2Brev-b1b3291469652d5a2edb0becc4ef0246fff97a7c/0198daf7-011a-7703-95d7-57146e794342/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.2505" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1757034884, + "narHash": "sha256-PgLSZDBEWUHpfTRfFyklmiiLBE1i1aGCtz4eRA3POao=", + "rev": "ca77296380960cd497a765102eeb1356eb80fed0", + "revCount": 856744, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.856744%2Brev-ca77296380960cd497a765102eeb1356eb80fed0/01992cf9-9347-761a-8963-9cbe43abe2fa/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/nixpkgs-weekly/0.1" + } + }, + "nixpkgs_4": { "locked": { "lastModified": 1748189127, "narHash": "sha256-zRDR+EbbeObu4V2X5QCd2Bk5eltfDlCr5yvhBwUT6pY=", @@ -912,7 +1117,7 @@ "url": "https://channels.nixos.org/nixos-25.05/nixexprs.tar.xz" } }, - "nixpkgs_3": { + "nixpkgs_5": { "locked": { "lastModified": 1755972213, "narHash": "sha256-VYK7aDAv8H1enXn1ECRHmGbeY6RqLnNwUJkOwloIsko=", @@ -925,7 +1130,7 @@ "url": "https://channels.nixos.org/nixos-unstable-small/nixexprs.tar.xz" } }, - "nixpkgs_4": { + "nixpkgs_6": { "locked": { "lastModified": 1757745802, "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", @@ -941,7 +1146,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_7": { "locked": { "lastModified": 1757745802, "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", @@ -1016,7 +1221,7 @@ }, "pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat_5", + "flake-compat": "flake-compat_6", "gitignore": "gitignore_2", "nixpkgs": [ "nixpkgs" @@ -1085,6 +1290,7 @@ "anyrun": "anyrun", "blender-bin": "blender-bin", "catppuccin": "catppuccin", + "determinate": "determinate", "disko": "disko", "ghostty": "ghostty", "haumea": "haumea", @@ -1098,7 +1304,7 @@ "nixos-apple-silicon": "nixos-apple-silicon", "nixos-generators": "nixos-generators", "nixpak": "nixpak", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_7", "nixpkgs-darwin": "nixpkgs-darwin", "nixpkgs-ollama": "nixpkgs-ollama", "nixpkgs-patched": "nixpkgs-patched", @@ -1334,7 +1540,7 @@ }, "zon2nix": { "inputs": { - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1757167408, diff --git a/flake.nix b/flake.nix index 8bc60e50..3da39578 100644 --- a/flake.nix +++ b/flake.nix @@ -18,10 +18,12 @@ extra-substituters = [ # "https://nix-gaming.cachix.org" # "https://nixpkgs-wayland.cachix.org" + # "https://install.determinate.systems" ]; extra-trusted-public-keys = [ # "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" # "nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA=" + # "cache.flakehub.com-3:hJuILl5sVK4iKm86JzgdXW12Y2Hwd5G07qKtHTOcDCM=" ]; }; @@ -60,6 +62,8 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/*"; + # https://github.com/catppuccin/nix catppuccin = { url = "github:catppuccin/nix"; diff --git a/modules/base/nix.nix b/modules/base/nix.nix index 8ed1345b..27dda52e 100644 --- a/modules/base/nix.nix +++ b/modules/base/nix.nix @@ -5,13 +5,6 @@ ... }: { - # auto upgrade nix to the unstable version - # https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/tools/package-management/nix/default.nix#L284 - # nix.package = pkgs.nixVersions.latest; - - # https://lix.systems/add-to-config/ - nix.package = pkgs.lix; - nix.settings = { # enable flakes globally experimental-features = [ diff --git a/modules/nixos/base/nix.nix b/modules/nixos/base/nix.nix index 7dec1136..a73c05f8 100644 --- a/modules/nixos/base/nix.nix +++ b/modules/nixos/base/nix.nix @@ -1,9 +1,22 @@ { config, lib, + determinate, ... }: { + # auto upgrade nix to the unstable version + # https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/tools/package-management/nix/default.nix#L284 + # nix.package = pkgs.nixVersions.latest; + + # https://lix.systems/add-to-config/ + # nix.package = pkgs.lix; + + # we use determinate nix instead + imports = [ + determinate.nixosModules.default + ]; + # to install chrome, you need to enable unfree packages nixpkgs.config.allowUnfree = lib.mkForce true;