diff --git a/flake.lock b/flake.lock index d92562e83..2f67dfb34 100644 --- a/flake.lock +++ b/flake.lock @@ -1,15 +1,29 @@ { "nodes": { + "flake-compat": { + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "revCount": 69, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "lastModified": 1772408722, + "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", "type": "github" }, "original": { @@ -18,13 +32,34 @@ "type": "github" } }, + "flake-utils": { + "inputs": { + "systems": [ + "nixpkgs-xr", + "systems" + ] + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1768242861, - "narHash": "sha256-F4IIxa5xDHjtrmMcayM8lHctUq1oGltfBQu2+oqDWP4=", + "lastModified": 1774244481, + "narHash": "sha256-4XfMXU0DjN83o6HWZoKG9PegCvKvIhNUnRUI19vzTcQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1327e798cb055f96f92685df444e9a2c326ab5ed", + "rev": "4590696c8693fea477850fe379a01544293ca4e2", "type": "github" }, "original": { @@ -36,11 +71,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1743296961, - "narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=", + "lastModified": 1772328832, + "narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa", + "rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742", "type": "github" }, "original": { @@ -49,10 +84,116 @@ "type": "github" } }, + "nixpkgs-xr": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_2", + "nvfetcher": "nvfetcher", + "systems": "systems", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1774294174, + "narHash": "sha256-/figgEf9bJgifAotR2z+KqAUSKriOL17DGkgwJqlI6w=", + "owner": "nix-community", + "repo": "nixpkgs-xr", + "rev": "82adacd2ac84b353b98e9462be1e8af969a5c1f7", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs-xr", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1773821835, + "narHash": "sha256-TJ3lSQtW0E2JrznGVm8hOQGVpXjJyXY2guAxku2O9A4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b40629efe5d6ec48dd1efba650c797ddbd39ace0", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nvfetcher": { + "inputs": { + "flake-compat": [ + "nixpkgs-xr", + "flake-compat" + ], + "flake-utils": [ + "nixpkgs-xr", + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs-xr", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1766178214, + "narHash": "sha256-tKDXreDwrRkdjvfot5fr1++ed6oOq3+/hW/Dj8WfTgs=", + "owner": "Red-M", + "repo": "nvfetcher", + "rev": "a84b3ce67f1d7acd85b3aa2b9967ab91ed6e7a71", + "type": "github" + }, + "original": { + "owner": "Red-M", + "repo": "nvfetcher", + "rev": "a84b3ce67f1d7acd85b3aa2b9967ab91ed6e7a71", + "type": "github" + } + }, "root": { "inputs": { "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "nixpkgs-xr": "nixpkgs-xr" + } + }, + "systems": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nixpkgs-xr", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1773297127, + "narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "71b125cd05fbfd78cab3e070b73544abe24c5016", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index c4149baa4..0faa649ee 100644 --- a/flake.nix +++ b/flake.nix @@ -7,6 +7,8 @@ # remove the packages from the ...ToUpstream lists below nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; flake-parts.url = "github:hercules-ci/flake-parts"; + # Allow the use of git dependencies + nixpkgs-xr.url = "github:nix-community/nixpkgs-xr"; }; outputs = @@ -19,7 +21,12 @@ "aarch64-darwin" ]; perSystem = - { pkgs, lib, ... }: + { + system, + pkgs, + lib, + ... + }: let devTools = with pkgs; [ # Tools that are required in order to develop with Monado @@ -30,7 +37,7 @@ clang-tools cmake-format codespell - # Reccomended for debugging + # Recommended for debugging gdb lldb vulkan-tools @@ -50,6 +57,10 @@ buildInputsToUpstream = with pkgs; [ # If there are any buildInputs that are not in nixpkgs, add them here # buildInputs are any packages that are needed at runtime (i.e. dependencies) + + # Survive has not received a new tagged release in years, so use the + # version provided by nixpkgs-xr instead + (inputs.nixpkgs-xr.packages.${system}.libsurvive) ]; package = pkgs.monado.overrideAttrs (oldAttrs: {