diff --git a/flake.lock b/flake.lock index 7344daf..0449b0a 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1757464828, - "narHash": "sha256-1kkbbebts4G/pD7nvgjMN17/1ThDOcaQOOrm557YDvU=", + "lastModified": 1757594919, + "narHash": "sha256-5HtPkixhYyyJcMiH1vmeMO8YtvHKek/uG2sCXyRMnUQ=", "owner": "rstats-on-nix", "repo": "nixpkgs", - "rev": "31ddb30f2db45b8416e5dc89c68d602a59fd1b37", + "rev": "803291803ce9daaa9238ca0a7e815bfdd221abc8", "type": "github" }, "original": { @@ -19,11 +19,11 @@ "nvimcom": { "flake": false, "locked": { - "lastModified": 1755532199, - "narHash": "sha256-mb8HCaMasPUP9JZUkH1sPrtdbhM2HMUkJEKDsRt6wTs=", + "lastModified": 1757588228, + "narHash": "sha256-5YLUqIh5lxy7qwKPxGtrQs8mruPLnC3b2pN6nIkD2Kk=", "owner": "R-nvim", "repo": "R.nvim", - "rev": "fd992e1c13ad3df794a30af2e937b994bf7bf4db", + "rev": "99e6bf5787cbcdecd8a8b11177d1928f3fc4860e", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index a5c8fef..dad0c52 100644 --- a/flake.nix +++ b/flake.nix @@ -29,36 +29,34 @@ # The overlay that exposes custom R packages overlay = final: prev: let + readJSONFile = path: builtins.fromJSON (builtins.readFile path); in { extraRPackages = { ## H - httpgd = prev.rPackages.buildRPackage { - name = "httpgd"; - src = prev.fetchgit { - url = "https://github.com/nx10/httpgd"; - rev = "dd6ed3a687a2d7327bb28ca46725a0a203eb2a19"; - sha256 = "sha256-vs6MTdVJXhTdzPXKqQR+qu1KbhF+vfyzZXIrFsuKMtU="; + httpgd = let + httpgdLatest = readJSONFile ./versions/httpgd.json; + in + prev.rPackages.buildRPackage { + name = "httpgd"; + src = prev.fetchFromGitHub httpgdLatest; + propagatedBuildInputs = builtins.attrValues { + inherit + (prev.rPackages) + unigd + cpp11 + AsioHeaders + ; + }; }; - propagatedBuildInputs = builtins.attrValues { - inherit - (prev.rPackages) - unigd - cpp11 - AsioHeaders - ; - }; - }; ## M - musicMetadata = prev.rPackages.buildRPackage { - name = "musicMetadata"; - src = prev.fetchgit { - url = "https://github.com/hannesdatta/musicMetadata"; - branchName = "master"; - rev = "1b7ca4c1fd208475e961b77edc90ad513b936879"; - sha256 = "sha256-QK1Q6/ta2PqIrjdA6/oS1HxOMgZr/BO00OLjs3/O7EE="; + musicMetadata = let + musicMetadataLatest = readJSONFile ./versions/musicMetadata.json; + in + prev.rPackages.buildRPackage { + name = "musicMetadata"; + src = prev.fetchFromGitHub musicMetadataLatest; }; - }; ## N nvimcom = prev.rPackages.buildRPackage { @@ -73,16 +71,14 @@ }; ## S - synthdid = prev.rPackages.buildRPackage { - name = "synthdid"; - src = prev.fetchFromGitHub { - owner = "synth-inference"; - repo = "synthdid"; - rev = "70c1ce3eac58e28c30b67435ca377bb48baa9b8a"; - sha256 = "sha256-rxQqnpKWy4d9ZykRxfILu1lyT6Z3x++gFdC3sbm++pk="; + synthdid = let + synthdidLatest = readJSONFile ./versions/synthdid.json; + in + prev.rPackages.buildRPackage { + name = "synthdid"; + src = prev.fetchFromGitHub synthdidLatest; + propagatedBuildInputs = [prev.rPackages.mvtnorm]; }; - propagatedBuildInputs = [prev.rPackages.mvtnorm]; - }; }; }; in { @@ -97,6 +93,12 @@ }; in { default = pkgs.rWrapper.override {packages = builtins.attrValues pkgs.extraRPackages;}; + franUpdate = pkgs.writeShellScriptBin "fran-update" '' + pg=${pkgs.nix-prefetch-github}/bin/nix-prefetch-github + $pg --json hannesdatta musicMetadata > versions/musicMetadata.json + $pg --json nx10 httpgd > versions/httpgd.json + $pg --json synth-inference synthdid > versions/synthdid.json + ''; } ); # Helpful for overlay users: expose a devShell with R including these pkgs @@ -111,6 +113,12 @@ self.packages."${system}".default ]; }; + update = pkgs.mkShell { + packages = [self.packages."${system}".franUpdate]; + shellHook = '' + fran-update + ''; + }; }); }; nixConfig = { diff --git a/synthdid.json b/synthdid.json new file mode 100644 index 0000000..e69de29 diff --git a/versions/httpgd.json b/versions/httpgd.json new file mode 100644 index 0000000..ad2940b --- /dev/null +++ b/versions/httpgd.json @@ -0,0 +1,6 @@ +{ + "owner": "nx10", + "repo": "httpgd", + "rev": "dd6ed3a687a2d7327bb28ca46725a0a203eb2a19", + "hash": "sha256-vs6MTdVJXhTdzPXKqQR+qu1KbhF+vfyzZXIrFsuKMtU=" +} diff --git a/versions/musicMetadata.json b/versions/musicMetadata.json new file mode 100644 index 0000000..d48b35c --- /dev/null +++ b/versions/musicMetadata.json @@ -0,0 +1,6 @@ +{ + "owner": "hannesdatta", + "repo": "musicMetadata", + "rev": "1b7ca4c1fd208475e961b77edc90ad513b936879", + "hash": "sha256-QK1Q6/ta2PqIrjdA6/oS1HxOMgZr/BO00OLjs3/O7EE=" +} diff --git a/versions/synthdid.json b/versions/synthdid.json new file mode 100644 index 0000000..6a5620a --- /dev/null +++ b/versions/synthdid.json @@ -0,0 +1,6 @@ +{ + "owner": "synth-inference", + "repo": "synthdid", + "rev": "70c1ce3eac58e28c30b67435ca377bb48baa9b8a", + "hash": "sha256-rxQqnpKWy4d9ZykRxfILu1lyT6Z3x++gFdC3sbm++pk=" +}