From 872c0b099c3b3031bdcdd0757d9d986346c21862 Mon Sep 17 00:00:00 2001 From: Evie Litherland-Smith Date: Mon, 13 May 2024 11:58:11 +0100 Subject: [PATCH] Split prog into python and lua Make python/default.nix and lua/default.nix to replace prog/default.nix for each respective language's packages Move dev tools from prog into emacs/default.nix since that's what they're relevant for. Add some extra useful python packages (numpy, scipy, xarray, matplotlib) Add yamllint for YAML, associated flymake-yamllint for Emacs, remove flymake-eslint since I'm not using it Add lua-language-server and bash-language-server --- home/default.nix | 3 ++- programs/emacs/default.nix | 22 +++++++++++++++- programs/lua/default.nix | 8 ++++++ .../{prog => lua}/luarocks/graph-toolkit.nix | 0 programs/{prog => lua}/luarocks/scilua.nix | 0 programs/{prog => lua}/luarocks/xsys.nix | 0 programs/prog/default.nix | 25 ------------------- programs/python/default.nix | 20 +++++++++++++++ programs/{prog => python}/pypoetry.toml | 0 programs/{prog => python}/ruff.toml | 0 10 files changed, 51 insertions(+), 27 deletions(-) create mode 100644 programs/lua/default.nix rename programs/{prog => lua}/luarocks/graph-toolkit.nix (100%) rename programs/{prog => lua}/luarocks/scilua.nix (100%) rename programs/{prog => lua}/luarocks/xsys.nix (100%) delete mode 100644 programs/prog/default.nix create mode 100644 programs/python/default.nix rename programs/{prog => python}/pypoetry.toml (100%) rename programs/{prog => python}/ruff.toml (100%) diff --git a/home/default.nix b/home/default.nix index d1abc63..3607cdd 100644 --- a/home/default.nix +++ b/home/default.nix @@ -10,9 +10,10 @@ ../programs/shell/default.nix ../programs/emacs/default.nix ../programs/firefox/default.nix - ../programs/prog/default.nix ../programs/cava/default.nix ../programs/obs/default.nix + ../programs/python/default.nix + ../programs/lua/default.nix # Services ../services/email/work.nix # TODO combine again at some point ../services/password-store/default.nix diff --git a/programs/emacs/default.nix b/programs/emacs/default.nix index 068cf67..ad430ce 100644 --- a/programs/emacs/default.nix +++ b/programs/emacs/default.nix @@ -78,8 +78,8 @@ treesit-auto flymake-popon flymake-collection - flymake-eslint flymake-shellcheck + flymake-yamllint apheleia direnv rainbow-delimiters @@ -165,5 +165,25 @@ (texlive.combine { inherit (pkgs.texlive) scheme-medium dvisvgm dvipng wrapfig amsmath ulem hyperref capt-of; }) + + # Development tools + # Python is a special case, installed separately + ## Language servers + nil + fortls + lua-language-server + nodePackages.bash-language-server + + ## Linters + shellcheck + yamllint + + ## Formatters + alejandra + shfmt + black + isort + stylua + nodePackages.prettier ]; } diff --git a/programs/lua/default.nix b/programs/lua/default.nix new file mode 100644 index 0000000..32fb3f6 --- /dev/null +++ b/programs/lua/default.nix @@ -0,0 +1,8 @@ +{pkgs, ...}: { + home.packages = with pkgs; [ + (lua.withPackages (ps: [ + (ps.callPackage ./luarocks/scilua.nix {}) + (ps.callPackage ./luarocks/graph-toolkit.nix {}) + ])) + ]; +} diff --git a/programs/prog/luarocks/graph-toolkit.nix b/programs/lua/luarocks/graph-toolkit.nix similarity index 100% rename from programs/prog/luarocks/graph-toolkit.nix rename to programs/lua/luarocks/graph-toolkit.nix diff --git a/programs/prog/luarocks/scilua.nix b/programs/lua/luarocks/scilua.nix similarity index 100% rename from programs/prog/luarocks/scilua.nix rename to programs/lua/luarocks/scilua.nix diff --git a/programs/prog/luarocks/xsys.nix b/programs/lua/luarocks/xsys.nix similarity index 100% rename from programs/prog/luarocks/xsys.nix rename to programs/lua/luarocks/xsys.nix diff --git a/programs/prog/default.nix b/programs/prog/default.nix deleted file mode 100644 index 399906c..0000000 --- a/programs/prog/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{pkgs, ...}: { - xdg.configFile = { - "ruff/pyproject.toml".source = ./ruff.toml; - "pypoetry/config.toml".source = ./pypoetry.toml; - }; - home.packages = with pkgs; [ - # Nix - nil - alejandra - - # Shell - shfmt - shellcheck - nodePackages.prettier - - # Python - (python3.withPackages - (ps: with ps; [python-lsp-server flake8 mypy])) - black - isort - - # FORTRAN - fortls - ]; -} diff --git a/programs/python/default.nix b/programs/python/default.nix new file mode 100644 index 0000000..b22fc50 --- /dev/null +++ b/programs/python/default.nix @@ -0,0 +1,20 @@ +{pkgs, ...}: { + xdg.configFile = { + "ruff/pyproject.toml".source = ./ruff.toml; + "pypoetry/config.toml".source = ./pypoetry.toml; + }; + home.packages = with pkgs; [ + poetry + (python3.withPackages + (ps: + with ps; [ + python-lsp-server + flake8 + mypy + numpy + scipy + xarray + matplotlib + ])) + ]; +} diff --git a/programs/prog/pypoetry.toml b/programs/python/pypoetry.toml similarity index 100% rename from programs/prog/pypoetry.toml rename to programs/python/pypoetry.toml diff --git a/programs/prog/ruff.toml b/programs/python/ruff.toml similarity index 100% rename from programs/prog/ruff.toml rename to programs/python/ruff.toml