mirror of
https://github.com/dwinkler1/fran.git
synced 2026-02-19 22:50:59 -05:00
init
This commit is contained in:
commit
416ff93fd4
2 changed files with 169 additions and 0 deletions
44
flake.lock
generated
Normal file
44
flake.lock
generated
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1756542300,
|
||||
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nvimcom": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1755532199,
|
||||
"narHash": "sha256-mb8HCaMasPUP9JZUkH1sPrtdbhM2HMUkJEKDsRt6wTs=",
|
||||
"owner": "R-nvim",
|
||||
"repo": "R.nvim",
|
||||
"rev": "fd992e1c13ad3df794a30af2e937b994bf7bf4db",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "R-nvim",
|
||||
"repo": "R.nvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nvimcom": "nvimcom"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
125
flake.nix
Normal file
125
flake.nix
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
{
|
||||
description = "FRAN - The Flakey R Archiving Network";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nvimcom = {
|
||||
url = "github:R-nvim/R.nvim";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
...
|
||||
} @ inputs: let
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
"x86_64-darwin"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
forAllSystems = f:
|
||||
builtins.listToAttrs (map (system: {
|
||||
name = system;
|
||||
value = f system;
|
||||
})
|
||||
systems);
|
||||
|
||||
# The overlay that exposes custom R packages
|
||||
overlay = final: prev: let
|
||||
in {
|
||||
extraRPackages = {
|
||||
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=";
|
||||
};
|
||||
};
|
||||
synthdid = prev.rPackages.buildRPackage {
|
||||
name = "synthdid";
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "synth-inference";
|
||||
repo = "synthdid";
|
||||
rev = "70c1ce3eac58e28c30b67435ca377bb48baa9b8a";
|
||||
sha256 = "sha256-rxQqnpKWy4d9ZykRxfILu1lyT6Z3x++gFdC3sbm++pk=";
|
||||
};
|
||||
propagatedBuildInputs = [prev.rPackages.mvtnorm];
|
||||
};
|
||||
httpgd = prev.rPackages.buildRPackage {
|
||||
name = "httpgd";
|
||||
src = prev.fetchgit {
|
||||
url = "https://github.com/nx10/httpgd";
|
||||
rev = "dd6ed3a687a2d7327bb28ca46725a0a203eb2a19";
|
||||
sha256 = "sha256-vs6MTdVJXhTdzPXKqQR+qu1KbhF+vfyzZXIrFsuKMtU=";
|
||||
};
|
||||
propagatedBuildInputs = builtins.attrValues {
|
||||
inherit
|
||||
(prev.rPackages)
|
||||
unigd
|
||||
cpp11
|
||||
AsioHeaders
|
||||
;
|
||||
};
|
||||
};
|
||||
nvimcom = prev.rPackages.buildRPackage {
|
||||
name = "nvimcom";
|
||||
src = inputs.nvimcom;
|
||||
sourceRoot = "source/nvimcom";
|
||||
buildInputs = with prev; [
|
||||
R
|
||||
stdenv.cc.cc
|
||||
gnumake
|
||||
];
|
||||
};
|
||||
|
||||
# Template for adding more packages:
|
||||
# somepkg = mkGitR {
|
||||
# pname = "somepkg";
|
||||
# src = somepkg; # from inputs (add it above)
|
||||
# subdir = "."; # change if the R pkg is in a subfolder
|
||||
# propagatedBuildInputs = with final.rPackages; [ <deps> ];
|
||||
# buildInputs = [ <system-libs-if-needed> ];
|
||||
# };
|
||||
};
|
||||
};
|
||||
in {
|
||||
overlays.default = overlay;
|
||||
|
||||
# Optional: provide an R wrapper with these non-CRAN packages bundled
|
||||
packages = forAllSystems (
|
||||
system: let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [self.overlays.default];
|
||||
};
|
||||
in {
|
||||
default = pkgs.rWrapper.override {packages = builtins.attrNames pkgs.extraRPackages;};
|
||||
}
|
||||
);
|
||||
# Helpful for overlay users: expose a devShell with R including these pkgs
|
||||
devShells = forAllSystems (system: let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [self.overlays.default];
|
||||
};
|
||||
in {
|
||||
default = pkgs.mkShell {
|
||||
packages = [
|
||||
(pkgs.rWrapper.override {
|
||||
packages = with pkgs.extraRPackages; [
|
||||
nvimcom
|
||||
musicMetadata
|
||||
synthdid
|
||||
httpgd
|
||||
];
|
||||
})
|
||||
];
|
||||
};
|
||||
});
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue