mirror of
https://github.com/dwinkler1/nvimConfig.git
synced 2026-05-22 20:13:32 -04:00
Compare commits
2 commits
cfec4fbefc
...
c67fc21f1e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c67fc21f1e | ||
| e9c99811d4 |
2 changed files with 97 additions and 41 deletions
18
flake.lock
generated
18
flake.lock
generated
|
|
@ -22,11 +22,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1776169885,
|
||||
"narHash": "sha256-l/iNYDZ4bGOAFQY2q8y5OAfBBtrDAaPuRQqWaFHVRXM=",
|
||||
"lastModified": 1777578337,
|
||||
"narHash": "sha256-Ad49moKWeXtKBJNy2ebiTQUEgdLyvGmTeykAQ9xM+Z4=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4bd9165a9165d7b5e33ae57f3eecbcb28fb231c9",
|
||||
"rev": "15f4ee454b1dce334612fa6843b3e05cf546efab",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -55,11 +55,11 @@
|
|||
"plugins-r": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1776340770,
|
||||
"narHash": "sha256-o/8UZIc/Bq9dWTjA+MpSR5uMUpE7KHTErk+TwWID8Ww=",
|
||||
"lastModified": 1777830151,
|
||||
"narHash": "sha256-Ux4Nslz1ts2EnhWylArClMHeVB+WsY0rfD5ZGMIYqoA=",
|
||||
"owner": "R-nvim",
|
||||
"repo": "R.nvim",
|
||||
"rev": "b9cfffeb9b4e484aa9e13f01c0eb80230aada455",
|
||||
"rev": "93077db270c44814ea7e3d9a66461665f8f2d74a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -101,11 +101,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1776375800,
|
||||
"narHash": "sha256-/SSAR77Brr9fbapsh1cb2K47JXCbvwS1GjM4yyDxle8=",
|
||||
"lastModified": 1777827587,
|
||||
"narHash": "sha256-Tz3QSgl1wwWH1jf0BngEkNhoWDIIWSBDE/RI+RpVemc=",
|
||||
"owner": "BirdeeHub",
|
||||
"repo": "nix-wrapper-modules",
|
||||
"rev": "f11469ca69068bac13d9e163b2bd268cc06dff57",
|
||||
"rev": "b1308b562306f59c7732357655d19cedb292d5e1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
120
flake.nix
120
flake.nix
|
|
@ -36,45 +36,58 @@
|
|||
wrappers,
|
||||
...
|
||||
} @ inputs: let
|
||||
mkWrapperConfig = pkgs: {
|
||||
cats = {
|
||||
clickhouse = false;
|
||||
gitPlugins = true;
|
||||
julia = false;
|
||||
lua = true;
|
||||
markdown = false;
|
||||
nix = true;
|
||||
optional = false;
|
||||
python = false;
|
||||
r = false;
|
||||
};
|
||||
settings = {
|
||||
lang_packages = {
|
||||
python = with pkgs.python3Packages; [
|
||||
duckdb
|
||||
polars
|
||||
];
|
||||
r = with pkgs.rpkgs.rPackages; [
|
||||
arrow
|
||||
broom
|
||||
data_table
|
||||
janitor
|
||||
styler
|
||||
];
|
||||
julia = ["DataFramesMeta" "QuackIO"];
|
||||
};
|
||||
colorscheme = "cyberdream";
|
||||
background = "dark";
|
||||
wrapRc = true;
|
||||
};
|
||||
binName = "vv";
|
||||
};
|
||||
|
||||
wrapperSettings = pkgs: let
|
||||
cfg = mkWrapperConfig pkgs;
|
||||
def = pkgs.lib.mkDefault;
|
||||
in
|
||||
wrapper.config.wrap {
|
||||
inherit pkgs;
|
||||
cats = {
|
||||
clickhouse = def false;
|
||||
gitPlugins = def true;
|
||||
julia = def false;
|
||||
lua = def true;
|
||||
markdown = def false;
|
||||
nix = def true;
|
||||
optional = def false;
|
||||
python = def false;
|
||||
r = def false;
|
||||
};
|
||||
|
||||
cats = pkgs.lib.mapAttrs (_: v: def v) cfg.cats;
|
||||
settings = {
|
||||
lang_packages = {
|
||||
python = with pkgs.python3Packages; [
|
||||
duckdb
|
||||
polars
|
||||
];
|
||||
|
||||
r = with pkgs.rpkgs.rPackages; [
|
||||
arrow
|
||||
broom
|
||||
data_table
|
||||
janitor
|
||||
styler
|
||||
];
|
||||
|
||||
julia = ["DataFramesMeta" "QuackIO"];
|
||||
python = def cfg.settings.lang_packages.python;
|
||||
r = def cfg.settings.lang_packages.r;
|
||||
julia = def cfg.settings.lang_packages.julia;
|
||||
};
|
||||
colorscheme = def "cyberdream";
|
||||
background = def "dark";
|
||||
wrapRc = def true;
|
||||
colorscheme = def cfg.settings.colorscheme;
|
||||
background = def cfg.settings.background;
|
||||
wrapRc = def cfg.settings.wrapRc;
|
||||
};
|
||||
binName = def "vv";
|
||||
binName = def cfg.binName;
|
||||
};
|
||||
|
||||
systems = [
|
||||
|
|
@ -146,12 +159,55 @@
|
|||
devShells = forAllSystems (
|
||||
system: let
|
||||
pkgs = mkPkgs system;
|
||||
cfg = mkWrapperConfig pkgs;
|
||||
nvimPkg = wrapperSettings pkgs;
|
||||
|
||||
pythonPackages = let
|
||||
python_packages_fn =
|
||||
if pkgs ? basePythonPackages
|
||||
then ps: pkgs.basePythonPackages ps ++ cfg.settings.lang_packages.python
|
||||
else _: cfg.settings.lang_packages.python;
|
||||
in
|
||||
with pkgs; [
|
||||
(python3.withPackages python_packages_fn)
|
||||
nodejs
|
||||
ruff
|
||||
basedpyright
|
||||
uv
|
||||
];
|
||||
|
||||
rPackages = let
|
||||
r_packages = (pkgs.baseRPackages or []) ++ cfg.settings.lang_packages.r;
|
||||
in
|
||||
with pkgs; [
|
||||
(rWrapper.override {packages = r_packages;})
|
||||
radianWrapper
|
||||
(quarto.override {extraRPackages = r_packages;})
|
||||
air-formatter
|
||||
yaml-language-server
|
||||
updateR
|
||||
];
|
||||
|
||||
juliaPackages = let
|
||||
julia_with_packages = pkgs.julia-bin.withPackages cfg.settings.lang_packages.julia;
|
||||
in [julia_with_packages];
|
||||
|
||||
markdownPackages = with pkgs; [
|
||||
python313Packages.pylatexenc
|
||||
quarto
|
||||
zk
|
||||
];
|
||||
|
||||
shellPackages = [nvimPkg]
|
||||
++ pkgs.lib.optionals cfg.cats.python pythonPackages
|
||||
++ pkgs.lib.optionals cfg.cats.r rPackages
|
||||
++ pkgs.lib.optionals cfg.cats.julia juliaPackages
|
||||
++ pkgs.lib.optionals cfg.cats.markdown markdownPackages;
|
||||
in {
|
||||
default = pkgs.mkShell {
|
||||
name = "vShell";
|
||||
packages = [nvimPkg];
|
||||
nativeBuildInputs = with pkgs; [] ++ (pkgs.lib.optionals self.wrappers.default.cats.optional [devenv]);
|
||||
packages = shellPackages;
|
||||
nativeBuildInputs = with pkgs; [] ++ (pkgs.lib.optionals cfg.cats.optional [devenv]);
|
||||
inputsFrom = [];
|
||||
shellHook = "";
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue