mirror of
https://github.com/dwinkler1/np.git
synced 2026-02-19 22:40:57 -05:00
Added template without folder structure to add to existing project
This commit is contained in:
parent
73d138640e
commit
92c896f052
16 changed files with 1738 additions and 0 deletions
140
templates/sci_minimal/flake.nix
Normal file
140
templates/sci_minimal/flake.nix
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
{
|
||||
description = "Project Template";
|
||||
inputs = {
|
||||
rixpkgs.url = "https://github.com/rstats-on-nix/nixpkgs/archive/2025-05-19.tar.gz";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||
nCats.url = "github:dwinkler1/nixCatsConfig";
|
||||
nCats.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
nCats,
|
||||
...
|
||||
} @ inputs: let
|
||||
forSystems = nixpkgs.lib.genAttrs nixpkgs.lib.platforms.all;
|
||||
in {
|
||||
packages = forSystems (
|
||||
system: let
|
||||
inherit (nCats) utils;
|
||||
finalPackage = nCats.packages.${system}.default.override (prev: {
|
||||
dependencyOverlays =
|
||||
prev.dependencyOverlays
|
||||
++ [
|
||||
(utils.standardPluginOverlay inputs)
|
||||
(final: prev: {
|
||||
rpkgs = inputs.rixpkgs.legacyPackages.${system};
|
||||
})
|
||||
(import (builtins.path {
|
||||
path = ./rpkgs.nix;
|
||||
name = "my-rpackages";
|
||||
}))
|
||||
(import (builtins.path {
|
||||
path = ./pypkgs.nix;
|
||||
name = "my-pypackages";
|
||||
}))
|
||||
];
|
||||
categoryDefinitions = utils.mergeCatDefs prev.categoryDefinitions (
|
||||
{
|
||||
pkgs,
|
||||
settings,
|
||||
categories,
|
||||
name,
|
||||
extra,
|
||||
mkPlugin,
|
||||
...
|
||||
} @ packageDef: {
|
||||
lspsAndRuntimeDeps = {
|
||||
meta = with pkgs; [
|
||||
just
|
||||
wget
|
||||
gh
|
||||
];
|
||||
rdev = with pkgs; [
|
||||
rWrapper
|
||||
];
|
||||
pydev = with pkgs; [
|
||||
py
|
||||
uv
|
||||
pyright
|
||||
nodejs
|
||||
];
|
||||
jldev = with pkgs; [
|
||||
julia-bin
|
||||
];
|
||||
quarto = with pkgs; [
|
||||
quarto
|
||||
];
|
||||
};
|
||||
|
||||
environmentVariables = {
|
||||
rdev = {
|
||||
R_LIBS_USER = "./.Rlibs";
|
||||
};
|
||||
pydev = {
|
||||
# Prevent uv from managing Python downloads
|
||||
UV_PYTHON_DOWNLOADS = "never";
|
||||
# Force uv to use nixpkgs Python interpreter
|
||||
UV_PYTHON = pkgs.py.interpreter;
|
||||
};
|
||||
};
|
||||
extraWrapperArgs = {
|
||||
pydev = [
|
||||
"--unset PYTHONPATH"
|
||||
];
|
||||
};
|
||||
bashBeforeWrapper = {
|
||||
pydev = [
|
||||
"export UV_PYTHON=${pkgs.py.interpreter}"
|
||||
"export UV_PYTHON_DOWNLOADS=\"never\""
|
||||
"uv sync"
|
||||
];
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
packageDefinitions =
|
||||
prev.packageDefinitions
|
||||
// {
|
||||
nixCats = utils.mergeCatDefs prev.packageDefinitions.nixCats (
|
||||
{pkgs, name, ...}: {
|
||||
settings = {
|
||||
suffix-path = false;
|
||||
suffix-LD = false;
|
||||
hosts = {
|
||||
python3.enable = true;
|
||||
marimo = {
|
||||
enable = true;
|
||||
path = {
|
||||
value = "${pkgs.uv}/bin/uv";
|
||||
args = ["--add-flags" "run marimo edit"];
|
||||
};
|
||||
};
|
||||
neovide = {
|
||||
enable = true;
|
||||
path = {
|
||||
value = "${pkgs.neovide}/bin/neovide";
|
||||
args = [
|
||||
"--add-flags"
|
||||
"--neovim-bin ${name}"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
categories = {
|
||||
meta = true;
|
||||
rdev = true;
|
||||
pydev = true;
|
||||
jldev = true;
|
||||
quarto = true;
|
||||
};
|
||||
}
|
||||
);
|
||||
};
|
||||
});
|
||||
in
|
||||
utils.mkAllWithDefault finalPackage
|
||||
);
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue