devstuff 2.2.0__py3-none-any.whl → 2.2.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
dev_setup/generic.py CHANGED
@@ -730,7 +730,13 @@ def _check_cmd_installed(cmd: str, *, install_type: str = "") -> bool:
730
730
  ).returncode == 0
731
731
  except Exception:
732
732
  return False
733
+ # Same nvm sourcing as the simple-command branch above. `bash -lc` reads ~/.profile,
734
+ # whose sourcing of ~/.bashrc (where nvm's init lives) returns early when the shell
735
+ # is non-interactive — so an nvm-installed binary is never on PATH here. Without
736
+ # this, any npm-type tool with a multi-word check_cmd reports "not installed"
737
+ # immediately after installing successfully.
738
+ prefix = f"{_npm_init()} && " if install_type == "npm" else ""
733
739
  try:
734
- return _probe(["bash", "-lc", cmd], capture_output=True).returncode == 0
740
+ return _probe(["bash", "-lc", f"{prefix}{cmd}"], capture_output=True).returncode == 0
735
741
  except Exception:
736
742
  return False
dev_setup/tools.yaml CHANGED
@@ -706,7 +706,11 @@ tools:
706
706
  category: ai-tools
707
707
  type: npm
708
708
  npm_name: llm-checker
709
- check_cmd: llm-checker hw-detect
709
+ # Multi-word on purpose: a "complex" check_cmd is what makes get_version() fall
710
+ # through to the nvm-sourcing probe, which is the only way to read the version of
711
+ # an nvm-installed binary. `hw-detect` also answered "is it installed", but did a
712
+ # full hardware scan (shelling out to lspci) on every `devstuff list` to do it.
713
+ check_cmd: llm-checker --version
710
714
  help_cmd: llm-checker --help
711
715
  docs_url: https://github.com/signerless/llm-checker
712
716
  requires:
@@ -722,6 +726,14 @@ tools:
722
726
  docs_url: https://lmstudio.ai/docs/cli
723
727
  install_script: |
724
728
  set -euo pipefail
729
+ # LM Studio's installer hard-fails on a system without libatomic: it prints the
730
+ # apt line to run and exits 1 rather than installing it. That is the state of a
731
+ # minimal Ubuntu (including this repo's CI image), so install it here — every
732
+ # other prerequisite the installer needs is already present on a base system.
733
+ if ! ldconfig -p 2>/dev/null | grep -q 'libatomic\.so'; then
734
+ sudo apt-get update -q
735
+ sudo apt-get install -y libatomic1
736
+ fi
725
737
  curl -fsSL https://lmstudio.ai/install.sh | bash
726
738
  remove_script: |
727
739
  set -euo pipefail
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devstuff
3
- Version: 2.2.0
3
+ Version: 2.2.1
4
4
  Summary: Development environment setup CLI for Linux
5
5
  Project-URL: Repository, https://github.com/thesawdawg/dev-setup-py
6
6
  Author-email: Sawyer <sawyerksu@gmail.com>
@@ -11,9 +11,9 @@ dev_setup/functions.schema.json,sha256=VVdpH3xWsdbtqw47S1QqpBcs4O9wd3XZ_s0Q3sGwv
11
11
  dev_setup/functions.yaml,sha256=IZbdIsfRkQEvgYOjEtBMYxD-TRdqKCsoF1siWTHEYtE,9173
12
12
  dev_setup/functions_catalog.py,sha256=YgR2hY9HM1iol1AZcF-_j02EXCP9U4P3e_5eWes9KH0,7116
13
13
  dev_setup/functions_registry.py,sha256=YSl-VgNXPf0hj4WgReg-pZUj4fAjFlwvC165dgon_BE,3682
14
- dev_setup/generic.py,sha256=6-sUq7NtPlabs9T-2qyNqAMa4E6IKfL93IRTzzMsLp8,25313
14
+ dev_setup/generic.py,sha256=S-5kHtvXM2xVmlJ4siZvwbaQFnkodZbuaCcvc4_1yDI,25788
15
15
  dev_setup/registry.py,sha256=8lrk6EXCCWk1WNeNnCGLTJ-v8rpCs7-TLYtVXgiuxnA,2243
16
- dev_setup/tools.yaml,sha256=4NQIsMV_x_sUjgafLbuXzHoPpuSd8-QS9XOoQiz9DEk,26730
16
+ dev_setup/tools.yaml,sha256=3r8XV3UBJqO6WWrFlVBJ2BQ_c7r6zk0zpkrNyVXJolI,27562
17
17
  dev_setup/ui.py,sha256=Z5nNZV8MN8tAjo1ZWq7-QPZYkPKQKuM7JbmGtiuKTqM,3806
18
18
  dev_setup/verbose.py,sha256=N3U9JAYOvFwdd8DT6W7Pqq6RCIUfbcQnPsm0O1TnvQY,5003
19
19
  dev_setup/agent/__init__.py,sha256=znrgxUCr_y0Qp-f41S6EaTv-hoTYwoZ9mOMLVge-IJg,226
@@ -90,7 +90,7 @@ dev_setup/configure/starship/model.py,sha256=HNkIj69DqBQFAq0VTHqPLNZT2DuBZSfF-5y
90
90
  dev_setup/configure/starship/preview.py,sha256=ZaNhNA3AeHHtPnMqrJbB9XVVXDFbH1R36jm8xyYdt2U,6145
91
91
  dev_setup/configure/starship/render.py,sha256=gDE0hbGZ9oDCR1VAZQRDm5EFYviMjj0-eSmr1EnZfn8,10262
92
92
  dev_setup/configure/starship/wizard.py,sha256=BmWl-U6ttF79gepDhCv8UxT8ZDIMe1SWnhSkA1iIrGQ,15498
93
- devstuff-2.2.0.dist-info/METADATA,sha256=Jq_Nx1lYKtqm-nRmPEdjg7R3HOte4oGhj9nL4ARUTMk,68408
94
- devstuff-2.2.0.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
95
- devstuff-2.2.0.dist-info/entry_points.txt,sha256=48ITy9ENdXDFrTHwAyVPUpq1MDmgFqcOisOo5mAR6OQ,53
96
- devstuff-2.2.0.dist-info/RECORD,,
93
+ devstuff-2.2.1.dist-info/METADATA,sha256=QLY5Y0oqXNKDKuGz7uCso5sWbXNCyE927_czjOKC_Pg,68408
94
+ devstuff-2.2.1.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
95
+ devstuff-2.2.1.dist-info/entry_points.txt,sha256=48ITy9ENdXDFrTHwAyVPUpq1MDmgFqcOisOo5mAR6OQ,53
96
+ devstuff-2.2.1.dist-info/RECORD,,