From b04bd3e74b14474336b5ed2c19a4a3ae4e6968f6 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Mon, 4 May 2026 22:15:27 +0200 Subject: [PATCH] refactor: replace nixify with flake-utils and rust-overlay in flake.nix --- flake.lock | 438 ++--------------------------------------------------- flake.nix | 107 ++++++------- 2 files changed, 59 insertions(+), 486 deletions(-) diff --git a/flake.lock b/flake.lock index ebf0eca..2cabfc3 100644 --- a/flake.lock +++ b/flake.lock @@ -1,135 +1,5 @@ { "nodes": { - "advisory-db": { - "flake": false, - "locked": { - "lastModified": 1742713221, - "narHash": "sha256-PbtSoLB1FEAMy++3kPW6Kh+o4pPy5Ks92jeUyYIdh5E=", - "owner": "rustsec", - "repo": "advisory-db", - "rev": "c8a7050cd4ecc35651f5a138a162bcb7730c5a9e", - "type": "github" - }, - "original": { - "owner": "rustsec", - "repo": "advisory-db", - "type": "github" - } - }, - "crane": { - "locked": { - "lastModified": 1742394900, - "narHash": "sha256-vVOAp9ahvnU+fQoKd4SEXB2JG2wbENkpqcwlkIXgUC0=", - "owner": "ipetkov", - "repo": "crane", - "rev": "70947c1908108c0c551ddfd73d4f750ff2ea67cd", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, - "crane_2": { - "inputs": { - "flake-compat": "flake-compat", - "flake-utils": [ - "nixify", - "nix-log", - "nixify", - "flake-utils" - ], - "nixpkgs": [ - "nixify", - "nix-log", - "nixify", - "nixpkgs" - ], - "rust-overlay": [ - "nixify", - "nix-log", - "nixify", - "rust-overlay" - ] - }, - "locked": { - "lastModified": 1679255352, - "narHash": "sha256-nkGwGuNkhNrnN33S4HIDV5NzkzMLU5mNStRn9sZwq8c=", - "owner": "rvolosatovs", - "repo": "crane", - "rev": "cec65880599a4ec6426186e24342e663464f5933", - "type": "github" - }, - "original": { - "owner": "rvolosatovs", - "ref": "feat/wit", - "repo": "crane", - "type": "github" - } - }, - "fenix": { - "inputs": { - "nixpkgs": [ - "nixify", - "nixpkgs-nixos" - ], - "rust-analyzer-src": "rust-analyzer-src" - }, - "locked": { - "lastModified": 1742452566, - "narHash": "sha256-sVuLDQ2UIWfXUBbctzrZrXM2X05YjX08K7XHMztt36E=", - "owner": "nix-community", - "repo": "fenix", - "rev": "7d9ba794daf5e8cc7ee728859bc688d8e26d5f06", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "fenix", - "type": "github" - } - }, - "fenix_2": { - "inputs": { - "nixpkgs": [ - "nixify", - "nix-log", - "nixify", - "nixpkgs" - ], - "rust-analyzer-src": "rust-analyzer-src_2" - }, - "locked": { - "lastModified": 1679552560, - "narHash": "sha256-L9Se/F1iLQBZFGrnQJO8c9wE5z0Mf8OiycPGP9Y96hA=", - "owner": "nix-community", - "repo": "fenix", - "rev": "fb49a9f5605ec512da947a21cc7e4551a3950397", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "fenix", - "type": "github" - } - }, - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-utils": { "inputs": { "systems": "systems" @@ -148,325 +18,41 @@ "type": "github" } }, - "flake-utils_2": { - "locked": { - "lastModified": 1678901627, - "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "macos-sdk": { - "flake": false, - "locked": { - "lastModified": 1694769349, - "narHash": "sha256-TEvVJy+NMPyzgWSk/6S29ZMQR+ICFxSdS3tw247uhFc=", - "type": "tarball", - "url": "https://github.com/roblabla/MacOSX-SDKs/releases/download/macosx14.0/MacOSX14.0.sdk.tar.xz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/roblabla/MacOSX-SDKs/releases/download/macosx14.0/MacOSX14.0.sdk.tar.xz" - } - }, - "nix-filter": { - "locked": { - "lastModified": 1731533336, - "narHash": "sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms=", - "owner": "numtide", - "repo": "nix-filter", - "rev": "f7653272fd234696ae94229839a99b73c9ab7de0", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "nix-filter", - "type": "github" - } - }, - "nix-filter_2": { - "locked": { - "lastModified": 1678109515, - "narHash": "sha256-C2X+qC80K2C1TOYZT8nabgo05Dw2HST/pSn6s+n6BO8=", - "owner": "numtide", - "repo": "nix-filter", - "rev": "aa9ff6ce4a7f19af6415fb3721eaa513ea6c763c", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "nix-filter", - "type": "github" - } - }, - "nix-flake-tests": { - "locked": { - "lastModified": 1677844186, - "narHash": "sha256-ErJZ/Gs1rxh561CJeWP5bohA2IcTq1rDneu1WT6CVII=", - "owner": "antifuchs", - "repo": "nix-flake-tests", - "rev": "bbd9216bd0f6495bb961a8eb8392b7ef55c67afb", - "type": "github" - }, - "original": { - "owner": "antifuchs", - "repo": "nix-flake-tests", - "type": "github" - } - }, - "nix-log": { - "inputs": { - "nix-flake-tests": "nix-flake-tests", - "nixify": "nixify_2", - "nixlib": "nixlib_2" - }, - "locked": { - "lastModified": 1733747205, - "narHash": "sha256-8BRnYXnl0exUL/sRD2I382KHiY5TKWzVBQw6+6YO4yw=", - "owner": "rvolosatovs", - "repo": "nix-log", - "rev": "354b9acbdb08a5567a97791546c1e23c9f476ef6", - "type": "github" - }, - "original": { - "owner": "rvolosatovs", - "repo": "nix-log", - "type": "github" - } - }, - "nixify": { - "inputs": { - "advisory-db": "advisory-db", - "crane": "crane", - "fenix": "fenix", - "flake-utils": "flake-utils", - "macos-sdk": "macos-sdk", - "nix-filter": "nix-filter", - "nix-log": "nix-log", - "nixlib": "nixlib_3", - "nixpkgs-darwin": "nixpkgs-darwin", - "nixpkgs-nixos": "nixpkgs-nixos", - "rust-overlay": "rust-overlay_2" - }, - "locked": { - "lastModified": 1743007747, - "narHash": "sha256-wrntf3gtM1V0eppzGlYCI+tcwjhjLkT1aKCvetmQ5ks=", - "owner": "rvolosatovs", - "repo": "nixify", - "rev": "7da7a12dfe45bbb6d339b810a6c4ef0a02a79b82", - "type": "github" - }, - "original": { - "owner": "rvolosatovs", - "repo": "nixify", - "type": "github" - } - }, - "nixify_2": { - "inputs": { - "crane": "crane_2", - "fenix": "fenix_2", - "flake-utils": "flake-utils_2", - "nix-filter": "nix-filter_2", - "nixlib": "nixlib", - "nixpkgs": "nixpkgs", - "rust-overlay": "rust-overlay" - }, - "locked": { - "lastModified": 1679748566, - "narHash": "sha256-yA4yIJjNCOLoUh0py9S3SywwbPnd/6NPYbXad+JeOl0=", - "owner": "rvolosatovs", - "repo": "nixify", - "rev": "80e823959511a42dfec4409fef406a14ae8240f3", - "type": "github" - }, - "original": { - "owner": "rvolosatovs", - "repo": "nixify", - "type": "github" - } - }, - "nixlib": { - "locked": { - "lastModified": 1679187309, - "narHash": "sha256-H8udmkg5wppL11d/05MMzOMryiYvc403axjDNZy1/TQ=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "44214417fe4595438b31bdb9469be92536a61455", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixlib_2": { - "locked": { - "lastModified": 1679791877, - "narHash": "sha256-tTV1Mf0hPWIMtqyU16Kd2JUBDWvfHlDC9pF57vcbgpQ=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "cc060ddbf652a532b54057081d5abd6144d01971", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixlib_3": { - "locked": { - "lastModified": 1742692082, - "narHash": "sha256-s3XOULQj7BVO7myY5V4Sob0tRZ7nRpwEOIzXg/MkD/Q=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "a09310bc940f245e51b1ffea68731244ca38f2bd", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1679577639, - "narHash": "sha256-7u7bsNP0ApBnLgsHVROQ5ytoMqustmMVMgtaFS/P7EU=", - "owner": "nixos", + "lastModified": 1771923393, + "narHash": "sha256-Fy0+UXELv9hOE8WjYhJt8fMDLYTU2Dqn3cX4BwoGBos=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "8f1bcd72727c5d4cd775545595d068be410f2a7e", + "rev": "ea7f1f06811ce7fcc81d6c6fd4213150c23edcf2", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-22.11-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-darwin": { - "locked": { - "lastModified": 1742700192, - "narHash": "sha256-UlGFMAX7kGEH77qE79ZNC1N7DGBEhH+eMMbGQtvzUes=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "e8a44f32c46444d45482e6f962b52dc21ba91281", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-24.11-darwin", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-nixos": { - "locked": { - "lastModified": 1742751704, - "narHash": "sha256-rBfc+H1dDBUQ2mgVITMGBPI1PGuCznf9rcWX/XIULyE=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "f0946fa5f1fb876a9dc2e1850d9d3a4e3f914092", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-24.11", + "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "root": { "inputs": { - "nixify": "nixify" - } - }, - "rust-analyzer-src": { - "flake": false, - "locked": { - "lastModified": 1742296961, - "narHash": "sha256-gCpvEQOrugHWLimD1wTFOJHagnSEP6VYBDspq96Idu0=", - "owner": "rust-lang", - "repo": "rust-analyzer", - "rev": "15d87419f1a123d8f888d608129c3ce3ff8f13d4", - "type": "github" - }, - "original": { - "owner": "rust-lang", - "ref": "nightly", - "repo": "rust-analyzer", - "type": "github" - } - }, - "rust-analyzer-src_2": { - "flake": false, - "locked": { - "lastModified": 1679520343, - "narHash": "sha256-AJGSGWRfoKWD5IVTu1wEsR990wHbX0kIaolPqNMEh0c=", - "owner": "rust-lang", - "repo": "rust-analyzer", - "rev": "eb791f31e688ae00908eb75d4c704ef60c430a92", - "type": "github" - }, - "original": { - "owner": "rust-lang", - "ref": "nightly", - "repo": "rust-analyzer", - "type": "github" + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" } }, "rust-overlay": { "inputs": { - "flake-utils": [ - "nixify", - "nix-log", - "nixify", - "flake-utils" - ], "nixpkgs": [ - "nixify", - "nix-log", - "nixify", "nixpkgs" ] }, "locked": { - "lastModified": 1679537973, - "narHash": "sha256-R6borgcKeyMIjjPeeYsfo+mT8UdS+OwwbhhStdCfEjg=", + "lastModified": 1772075164, + "narHash": "sha256-93XcvAt+6p7aAq1ERlxD2T17zLGoYGo64KJYasGcpgc=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "fbc7ae3f14d32e78c0e8d7865f865cc28a46b232", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-overlay_2": { - "inputs": { - "nixpkgs": [ - "nixify", - "nixpkgs-nixos" - ] - }, - "locked": { - "lastModified": 1742870002, - "narHash": "sha256-eQnw8ufyLmrboODU8RKVNh2Mv7SACzdoFrRUV5zdNNE=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "b4c18f262dbebecb855136c1ed8047b99a9c75b6", + "rev": "07601339b15fa6810541c0e7dc2f3664d92a7ad0", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 93a25da..ce0d3a3 100644 --- a/flake.nix +++ b/flake.nix @@ -1,67 +1,54 @@ { - inputs.nixify.url = "github:rvolosatovs/nixify"; + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + rust-overlay = { + url = "github:oxalica/rust-overlay"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; outputs = - { nixify, ... }: - with nixify.lib; - rust.mkFlake { - src = ./.; - - withDevShells = - { - devShells, - pkgs, - ... - }: - extendDerivations { - env.LD_LIBRARY_PATH = "$LD_LIBRARY_PATH:${ - with pkgs; - pkgs.lib.makeLibraryPath [ - xorg.libX11 - xorg.libXcursor - xorg.libXi - libxkbcommon - xorg.libxcb - pkgs.vulkan-loader - pkgs.glfw - ] - }"; - buildInputs = with pkgs; [ - pkgs.pkg-config - pkgs.alsa-lib.dev - pkgs.udev.dev - ]; - } devShells; - - buildOverrides = - { - pkgs, - pkgsCross ? pkgs, - ... - }: - { - buildInputs ? [ ], - nativeBuildInputs ? [ ], - depsBuildBuild ? [ ], - ... - }: - with pkgs.lib; - { - nativeBuildInputs = - nativeBuildInputs - ++ optional (pkgs.stdenv.hostPlatform.isLinux) [ pkgs.pkg-config ]; - + { + nixpkgs, + flake-utils, + rust-overlay, + ... + }: + flake-utils.lib.eachDefaultSystem ( + system: + let + overlays = [ (import rust-overlay) ]; + pkgs = import nixpkgs { inherit system overlays; }; + runtimeLibs = with pkgs; [ + libx11 + libxcursor + libxi + libxkbcommon + libxcb + vulkan-loader + glfw + ]; + in + { + devShells.default = pkgs.mkShell { buildInputs = - buildInputs - ++ optional pkgs.stdenv.hostPlatform.isDarwin pkgs.libiconv - ++ optional (pkgs.stdenv.hostPlatform.isLinux) [ - pkgs.alsa-lib.dev - pkgs.udev.dev - ]; + with pkgs; + [ + (rust-bin.stable.latest.default.override { + extensions = [ + "rust-src" + "rust-analyzer" + ]; + }) + pkg-config + alsa-lib.dev + udev.dev + ] + ++ runtimeLibs; - depsBuildBuild = - depsBuildBuild - ++ optional pkgsCross.stdenv.hostPlatform.isDarwin pkgsCross.xcbuild.xcrun; + LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath runtimeLibs; }; - }; + } + ); }