The open source OpenXR runtime

flake: Update to NixOS 25.05, switch to flake-parts

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2508>

Sapphire 542301de e8f9a069

Changed files
+76 -64
+27 -27
flake.lock
··· 1 1 { 2 2 "nodes": { 3 - "flake-utils": { 3 + "flake-parts": { 4 4 "inputs": { 5 - "systems": "systems" 5 + "nixpkgs-lib": "nixpkgs-lib" 6 6 }, 7 7 "locked": { 8 - "lastModified": 1710146030, 9 - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", 10 - "owner": "numtide", 11 - "repo": "flake-utils", 12 - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", 8 + "lastModified": 1743550720, 9 + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", 10 + "owner": "hercules-ci", 11 + "repo": "flake-parts", 12 + "rev": "c621e8422220273271f52058f618c94e405bb0f5", 13 13 "type": "github" 14 14 }, 15 15 "original": { 16 - "owner": "numtide", 17 - "repo": "flake-utils", 16 + "owner": "hercules-ci", 17 + "repo": "flake-parts", 18 18 "type": "github" 19 19 } 20 20 }, 21 21 "nixpkgs": { 22 22 "locked": { 23 - "lastModified": 1711497579, 24 - "narHash": "sha256-H6/9jraWg7e6pxFGEArpyXwQ/5dy/u5Un67WiLsuPGA=", 23 + "lastModified": 1747825515, 24 + "narHash": "sha256-BWpMQymVI73QoKZdcVCxUCCK3GNvr/xa2Dc4DM1o2BE=", 25 25 "owner": "NixOS", 26 26 "repo": "nixpkgs", 27 - "rev": "e80d1b630036fe33badbc168dfcd071d463b92cf", 27 + "rev": "cd2812de55cf87df88a9e09bf3be1ce63d50c1a6", 28 28 "type": "github" 29 29 }, 30 30 "original": { 31 31 "owner": "NixOS", 32 + "ref": "nixos-25.05", 32 33 "repo": "nixpkgs", 33 - "rev": "e80d1b630036fe33badbc168dfcd071d463b92cf", 34 34 "type": "github" 35 35 } 36 36 }, 37 - "root": { 38 - "inputs": { 39 - "flake-utils": "flake-utils", 40 - "nixpkgs": "nixpkgs" 41 - } 42 - }, 43 - "systems": { 37 + "nixpkgs-lib": { 44 38 "locked": { 45 - "lastModified": 1681028828, 46 - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 47 - "owner": "nix-systems", 48 - "repo": "default", 49 - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 39 + "lastModified": 1743296961, 40 + "narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=", 41 + "owner": "nix-community", 42 + "repo": "nixpkgs.lib", 43 + "rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa", 50 44 "type": "github" 51 45 }, 52 46 "original": { 53 - "owner": "nix-systems", 54 - "repo": "default", 47 + "owner": "nix-community", 48 + "repo": "nixpkgs.lib", 55 49 "type": "github" 50 + } 51 + }, 52 + "root": { 53 + "inputs": { 54 + "flake-parts": "flake-parts", 55 + "nixpkgs": "nixpkgs" 56 56 } 57 57 } 58 58 },
+49 -37
flake.nix
··· 3 3 4 4 { 5 5 inputs = { 6 - # Whenever an upstream change is merged, update this to 7 - # the relevant commit and remove the packages from the 8 - # ...ToUpstream lists below 9 - nixpkgs.url = "github:NixOS/nixpkgs/e80d1b630036fe33badbc168dfcd071d463b92cf"; 10 - flake-utils.url = "github:numtide/flake-utils"; 6 + # Whenever an upstream change is merged, update this and 7 + # remove the packages from the ...ToUpstream lists below 8 + nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; 9 + flake-parts.url = "github:hercules-ci/flake-parts"; 11 10 }; 12 11 13 - outputs = { self, nixpkgs, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system: 14 - let 15 - pkgs = nixpkgs.legacyPackages.${system}; 16 - 17 - devTools = with pkgs; [ 18 - # Tools that are required in order to develop with Monado, but that are not required to build Monado itself 19 - # These cannot be upstreamed into nixpkgs, as they are not required to build Monado 20 - # See https://github.com/NixOS/nix/issues/7501 for a discussion on this 21 - clang 22 - cmake-format 23 - git 24 - gradle 25 - gradle-completion 12 + outputs = 13 + inputs@{ nixpkgs, flake-parts, ... }: 14 + flake-parts.lib.mkFlake { inherit inputs; } { 15 + systems = [ 16 + "x86_64-linux" 17 + "aarch64-linux" 18 + "x86_64-darwin" 19 + "aarch64-darwin" 26 20 ]; 21 + perSystem = 22 + { pkgs, lib, ... }: 23 + let 24 + devTools = with pkgs; [ 25 + # Tools that are required in order to develop with Monado 26 + # but are not required to build Monado itself 27 + clang-tools 28 + cmake-format 29 + git 30 + gradle 31 + gradle-completion 32 + ]; 27 33 28 - nativeBuildInputsToUpstream = with pkgs; [ 29 - # If there are any nativeBuildInputs that are not in nixpkgs, add them here 30 - # nativeBuildInputs are packages that are needed to develop and/or build the project (i.e. tooling) 31 - ]; 34 + nativeBuildInputsToUpstream = with pkgs; [ 35 + # If there are any nativeBuildInputs that are not in nixpkgs, add them here 36 + # nativeBuildInputs are packages that are needed to develop and/or build the project (i.e. tooling) 37 + ]; 32 38 33 - buildInputsToUpstream = with pkgs; [ 34 - # If there are any buildInputs that are not in nixpkgs, add them here 35 - # buildInputs are any packages that are needed at runtime (i.e. dependencies) 36 - ]; 39 + buildInputsToUpstream = with pkgs; [ 40 + # If there are any buildInputs that are not in nixpkgs, add them here 41 + # buildInputs are any packages that are needed at runtime (i.e. dependencies) 42 + ]; 37 43 38 - package = pkgs.monado.overrideAttrs (oldAttrs: { 39 - src = ./.; 44 + package = pkgs.monado.overrideAttrs (oldAttrs: { 45 + src = ./.; 46 + 47 + nativeBuildInputs = oldAttrs.nativeBuildInputs ++ nativeBuildInputsToUpstream; 48 + buildInputs = oldAttrs.buildInputs ++ buildInputsToUpstream; 49 + cmakeFlags = lib.remove "-DXRT_HAVE_STEAM:BOOL=TRUE" oldAttrs.cmakeFlags; 40 50 41 - nativeBuildInputs = oldAttrs.nativeBuildInputs ++ nativeBuildInputsToUpstream ++ devTools; 42 - buildInputs = oldAttrs.buildInputs ++ buildInputsToUpstream; 51 + patches = [ ]; 52 + }); 53 + in 54 + { 55 + packages.default = package; 56 + devShells.default = package.overrideAttrs (oldAttrs: { 57 + nativeBuildInputs = oldAttrs.nativeBuildInputs ++ devTools; 58 + }); 43 59 44 - patches = []; 45 - }); 46 - in { 47 - packages.default = package; 48 - devShells.default = package; 49 - } 50 - ); 60 + formatter = pkgs.nixfmt-rfc-style; 61 + }; 62 + }; 51 63 }