diff --git a/flake.lock b/flake.lock index 8b17cf2..b465544 100644 --- a/flake.lock +++ b/flake.lock @@ -55,11 +55,11 @@ "plugins-r": { "flake": false, "locked": { - "lastModified": 1777830151, - "narHash": "sha256-Ux4Nslz1ts2EnhWylArClMHeVB+WsY0rfD5ZGMIYqoA=", + "lastModified": 1777738411, + "narHash": "sha256-EaeQXoY1VXwva4GQ14W71zlEX9MrEOGq1oe/V69Rzvc=", "owner": "R-nvim", "repo": "R.nvim", - "rev": "93077db270c44814ea7e3d9a66461665f8f2d74a", + "rev": "72032fbe3732c6c1e0b8b21dd348408e392a543e", "type": "github" }, "original": { @@ -101,11 +101,11 @@ ] }, "locked": { - "lastModified": 1777827587, - "narHash": "sha256-Tz3QSgl1wwWH1jf0BngEkNhoWDIIWSBDE/RI+RpVemc=", + "lastModified": 1777787239, + "narHash": "sha256-L4L4qLa/6ck3v9FzkTQismT4ctyaQL+J0cHCEnU0Kos=", "owner": "BirdeeHub", "repo": "nix-wrapper-modules", - "rev": "b1308b562306f59c7732357655d19cedb292d5e1", + "rev": "6316917effdaae39e3b483f798d20f1ddba52e5a", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 6dc8545..cce0107 100644 --- a/flake.nix +++ b/flake.nix @@ -36,58 +36,45 @@ 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 = pkgs.lib.mapAttrs (_: v: def v) cfg.cats; + 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; + }; + settings = { lang_packages = { - python = def cfg.settings.lang_packages.python; - r = def cfg.settings.lang_packages.r; - julia = def cfg.settings.lang_packages.julia; + python = with pkgs.python3Packages; [ + duckdb + polars + ]; + + r = with pkgs.rpkgs.rPackages; [ + arrow + broom + data_table + janitor + styler + ]; + + julia = ["DataFramesMeta" "QuackIO"]; }; - colorscheme = def cfg.settings.colorscheme; - background = def cfg.settings.background; - wrapRc = def cfg.settings.wrapRc; + colorscheme = def "cyberdream"; + background = def "dark"; + wrapRc = def true; }; - binName = def cfg.binName; + binName = def "vv"; }; systems = [ @@ -159,55 +146,12 @@ 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 = shellPackages; - nativeBuildInputs = with pkgs; [] ++ (pkgs.lib.optionals cfg.cats.optional [devenv]); + packages = [nvimPkg]; + nativeBuildInputs = with pkgs; [] ++ (pkgs.lib.optionals self.wrappers.default.cats.optional [devenv]); inputsFrom = []; shellHook = ""; };