pet
sysbox
pet | sysbox | |
---|---|---|
8 | 9 | |
4,206 | 206 | |
- | - | |
8.2 | 4.8 | |
5 days ago | 8 months ago | |
Go | Go | |
MIT 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.
pet
-
What's a really niche tool you use that you can't live without?
pet
-
How do you manage your shell scripts?
I'm using pet to save my usual long commands.
-
Do you get frustrated if can’t find the cmd?
Shout-out to pet, "a simple command line snippet manager" . Very handy wee tool!
-
auto alias-ing based on my long command habits
Some programs like pet would make aliases for me but it need my manual helps.
-
First time here!
Do you know pet, a "command line snippet manager"? Might be useful for you, especially if you don't have a massive history file to FZF through.
- I always get them mixed up
-
Example for using `buildGoPackage` or `buildGoModule`?
environment.systemPackages = with pkgs; [ callPackage buildGoModule rec { pname = "pet"; version = "0.3.4"; src = fetchFromGitHub { owner = "knqyf263"; repo = "pet"; rev = "v${version}"; sha256 = "0m2fzpqxk7hrbxsgqplkg7h2p7gv6s1miymv3gvw0cz039skag0s"; }; vendorSha256 = "1879j77k96684wi554rkjxydrj8g3hpp0kvxz03sd8dmwr3lh83j"; runVend = true; meta = with lib; { description = "Simple command-line snippet manager, written in Go"; homepage = "https://github.com/knqyf263/pet"; license = licenses.mit; maintainers = with maintainers; [ kalbasit ]; platforms = platforms.linux ++ platforms.darwin; }; } {} ]; error: 'functionArgs' requires a function, at /nix/store/ki037hma7q4dqj73wd8hg27plp45my3r-nixpkgs-21.11pre299952.7918dc5148d/nixpkgs/lib/trivial.nix:337:42
- Sd: My Script Directory
sysbox
-
OpenBSD cron(8) now supports random ranges with steps
Yes, I first learned this and the name "splay" from CFengine, back in the day.
I put together a small busybox-like collection of sysadmin tools, and one of the subcommands is "splay" to sleep for a random amount of time. It's one of those things that is useful surprisingly often, even outside cron.
https://github.com/skx/sysbox
-
The Rust Implementation of GNU Coreutils Is Becoming Remarkably Robust
I remember in 1999 there was a project to reimplement a bunch of these tools in perl:
https://perlpowertools.com/
I even contributed a little, back then. I guess writing basic versions of "ls", for example, is trivial. But there's a lot of work getting all the tools done, with all the flags implemented and behaving as expected.
I guess there are tools like busybox, toybox, and similar, which also implement a lot of "stuff" to varying degrees of completion. From my side the biggest takeaway from those projects is the sheer convenience of deploying a single binary and installing symlinks to change functionality.
I replicated something similar with my sysbox project, collecting tools together in one golang binary with various subcommands:
https://github.com/skx/sysbox
I use at least one of those tools on a daily basis, though I suspect they're not so universally useful.
-
Operating Systems
If you've got perl installed you'll might have a "GET" binary present, mine is /usr/bin/GET, which comes with the WWW-module.
Although this is written in portable perl, rather than being compiled, so the static vs. dynamic choice doesn't really mean much it is a simple alternative.
Otherwise I built a simple busybox-inspired collection of tools, written in golang, which includes a simple HTTP client too:
https://github.com/skx/sysbox
Those are just a couple of examples, I'm certain there are multiple other choices out there. But I guess curl is ubiquitous enough that most people just use it directly, and add it when missing!
- sysbox: sysadmin/scripting utilities, distributed as a single binary
- Show HN: A collection of sysadmin utilities, in a single binary
-
M4 – the one true templating language
That's pretty cool.
I wrote something similar in my static collection of sysadmin tools - https://github.com/skx/sysbox - In my simple pre-processor I only allow two special things:
#include "file/goes/here"
-
Ask HN: Tools you have made for yourself?
I bundled together a small collection of sysadmin/scripting-tools here:
https://github.com/skx/sysbox
Those are probably amongst the things that I use most often which are non-standard.
-
Sd: My Script Directory
I used to have very full ~/bin, and ~/$(hostname), directories. In the end I pared them back and started bundling things together in one binary.
The end result is very similar to this approach, I run "sysbox blah", or "sysbox help", and use integrated subcommands.
Very helpful and makes deployment easy by having only a single binary:
https://github.com/skx/sysbox
Not bash/shell, but similar and useful idea to experiment with.
-
New Cli Tool (Golang) for custom commands (input during the execution) and with REPL
I support that in my sysbox utility-box, via the subcommands processor, and it is very helpful.
What are some alternatives?
sqls - SQL language server written in Go.
jinja2-cli - CLI for Jinja2
dot-tools - Tools for managing dotfiles using git
dockly - Immersive terminal interface for managing docker containers and services
cobra - A Commander for modern Go CLI interactions
wireguird - wireguard gtk gui for linux
mkvtoolnix-batch-tool - Batch video and subtitle processing program with the ability to add, remove, or extract subtitles from all video files in a directory and its sub-directories.
shpotify - A command-line interface to Spotify.
utility-scripts - This repo contains the list of my personal bash scripts and setups. Might be useful in some day to day tasks.
m4b-tool - m4b-tool is a command line utility to merge, split and chapterize audiobook files such as mp3, ogg, flac, m4a or m4b
go-snippets - This is my go snippets.
qdoc - Convert documentation within a Lua script into a Markdown file.