From fa2b5bf24afdadc52815aa87c2d7318a8be9d946 Mon Sep 17 00:00:00 2001 From: Federico Zambelli Date: Wed, 16 Oct 2024 10:42:23 +0200 Subject: [PATCH 1/3] fix: keep `.envrc` files in new repos. Use `.env` to set local env variables --- includes/direnv.gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/includes/direnv.gitignore b/includes/direnv.gitignore index 6b009d0..329b006 100644 --- a/includes/direnv.gitignore +++ b/includes/direnv.gitignore @@ -1,3 +1,2 @@ ### direnv ### .direnv -.envrc \ No newline at end of file From 5d607d9ab619104e1c78f7c428efd2143ea02441 Mon Sep 17 00:00:00 2001 From: Federico Zambelli Date: Wed, 16 Oct 2024 10:57:53 +0200 Subject: [PATCH 2/3] feat: improve base and python template - Use Ruff as linter and formatter - Add isort to linting rules - Add script to base template to print available commands - Improve jinja block formatting - Bundle all scripts under single `script` object for readability --- includes/base.nix.jinja | 51 +++++++++++++++---- .../devenv.nix.jinja | 42 +++++++-------- .../pyproject.toml.jinja | 3 +- 3 files changed, 64 insertions(+), 32 deletions(-) diff --git a/includes/base.nix.jinja b/includes/base.nix.jinja index 766cdff..9bc1e60 100644 --- a/includes/base.nix.jinja +++ b/includes/base.nix.jinja @@ -6,22 +6,45 @@ ... }: -{% block variables %}{% endblock %} +{% block variables %}{% endblock -%} + { name = "{{ project_name | replace('_', '-')}}"; # https://devenv.sh/basics/ env = { GREET = "🛠️ Let's hack "; - {% block env %}{% endblock %} + {%- block env %}{% endblock %} }; # https://devenv.sh/scripts/ - scripts.hello.exec = "echo $GREET"; - scripts.cat.exec = '' - bat "$@"; - ''; + scripts = { + hello.exec = "echo $GREET"; + cat.exec = "bat $@"; - {% block script %}{% endblock %} + show = { + # Prints scripts that have a description + # Adapted from https://github.com/cachix/devenv/blob/ef61728d91ad5eb91f86cdbcc16070602e7afa16/examples/scripts/devenv.nix#L34 + exec = '' + GREEN="\033[0;32m"; + YELLOW="\033[33m"; + NC="\033[0m"; + echo + echo -e "✨ Helper scripts you can run to make your development richer:" + echo + ${pkgs.gnused}/bin/sed -e 's| |••|g' -e 's|=| |' < Date: Wed, 16 Oct 2024 11:14:21 +0200 Subject: [PATCH 3/3] chore: small typo --- .../devenv.nix.jinja | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/{% if language == 'Python' %}{{ project_name }}{% endif %}/devenv.nix.jinja b/template/{% if language == 'Python' %}{{ project_name }}{% endif %}/devenv.nix.jinja index c7e9d7f..6769b1f 100644 --- a/template/{% if language == 'Python' %}{{ project_name }}{% endif %}/devenv.nix.jinja +++ b/template/{% if language == 'Python' %}{{ project_name }}{% endif %}/devenv.nix.jinja @@ -47,7 +47,7 @@ libz # fix: for numpy/pandas import pyfix = { exec = "ruff check . --fix && ruff format ."; - description = "Lint, (possibly) fix and apply formatting to python files"; + description = "Lint, (possibly) fix and apply formatting to python files."; }; {% endblock %}