pantry
ShellCheck
Our great sponsors
pantry | ShellCheck | |
---|---|---|
2 | 436 | |
38 | 31,718 | |
- | - | |
4.7 | 8.2 | |
7 days ago | 28 days ago | |
Haskell | Haskell | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pantry
-
[ANN] First release candidate for stack-2.9.3
In YAML configuration files, if the package-indices key (or the hackage-security key of its item) is omitted, the expiration of timestamps is now ignored, as intended. See Pantry #63.
-
ANN: first release candidate for stack-2.9.1
Include pantry-0.5.6: Remove operational and mirror keys from bootstrap key set #53
ShellCheck
-
So, I did a thing...
I'd recommend running ShellCheck over the file. For shell scripting, ShellCheck is a must have.
-
Can you specify a bash version in shellcheck?
shellcheck is a static analysis tool for debugging shell scripts. OP is asking if there is a way to have shellcheck analyse your shell script against a specific version of a shell.
www.shellcheck.net is an online lint checker for bash, ksh, dash and POSIX sh.
-
Write Posix Shell
But also please consider using Shellcheck if you do:
-
Alternatives for bash scripting
standardization - To write 100% portable scripts, I'd have to stick to basic POSIX sh features (no arrays etc.) which is limiting. I have encountered problems in the past with using my Linux scripts on BSD because of this. I can use https://www.shellcheck.net/ but using a well standardized language which has all the features I need would have solved this.
- How to add entry to history file when executing from script?
-
The Determinate Nix Installer
This looks good. I know I'm about to speak towards the OS version and not the Nix that can run atop other distros, but I definitely had some hiccups on the way to my NixOS-on-ZFS-root install (1), such as the configuration of the root user, whether to declaratively or dynamically configure non-root users and wifi networks (and having a working wifi driver that worked with my onboard chip to begin with... I truly believe that linux installs should not be expected to have to bootstrap via Ethernet at this point). Admittedly, a few of these things were due to not using the official GUI installer, but IMHO the commandline non-GUI install of NixOS should be as painless as possible as well.
(1) https://openzfs.github.io/openzfs-docs/Getting%20Started/Nix...
Regarding your argument against Bash, isn't it true that this is just a different version of the same bootstrapping problem, and that downloading a temporary but specific Bash version would get around that? (I agree that working with Bash leaves a lot to be desired. But it's also more accessible to end-users to hack on, observe, and learn from, than a compiled Rust binary is. And tools like Copilot and ChatGPT and https://www.shellcheck.net/ make working in Bash MUCH more painless, I've found.)
Couple more questions: 1) Is your installer idempotent? (I think it is, since you track what's been done in a JSON structure; just confirming! If the JSON file is lost, are you still idempotent though? lol) 2) Are you a profitable company or just a group of Nix believers?
-
Advice to be more efficient with the terminal?
also, write a lot of bash scripts. the Google Style Guide and shellcheck should help you learn good practice and why things are done in a certain way.
-
Bash script to clean pacman and yay cache
Do a shellcheck, having those "rm -rf" isn't safe, at all.
-
It installs waydroid on Arch automatically, I think
May I introduce you to shellcheck
What are some alternatives?
bash-language-server - A language server for Bash
shfmt - Dockernized shfmt. This formats shell script.
PowerShell - PowerShell for every system!
efm-langserver - General purpose Language Server
neomake - Asynchronous linting and make framework for Neovim/Vim
shellharden - The corrective bash syntax highlighter
sh - A shell parser, formatter, and interpreter with bash support; includes shfmt
stan - 🕵️ Haskell STatic ANalyser
hdocs - Haskell docs tool
maam - A monadic approach to static analysis following the methodology of AAM
proot - An chroot-like implementation using ptrace.
ohmyzsh - 🙃 A delightful community-driven (with 2,100+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.