MatrixFurry's Scripts #
Small (but incredibly useful!) scripts and utilities that don't need their own repo.
See --help for detailed usage info & examples!
Featured #
rawrsync #
Easily sync or deploy projects using rsync. Intended to somewhat replicate CLion's Deployment feature for use with other IDEs.
Configure with .rawrsync.toml in your project root. For example:
[org-server-23]
user = "username"
address = "org-server-23.tailnet-name.ts.net"
path = "/home/username/deployment/project/" # Destination path on the server
[vr-desktop]
user = "username"
address = "vr-desktop.tailnet-name.ts.net"
path = "/home/username/vr/project"
rawreplace #
Replace content between <a data-tag> elements in a markdown file
Allows you to directly edit the static parts of your markdown files without using templates, while also being able to update the content that is auto-generated by your CI scripts.
This is useful, for example, to keep package lists and descriptions
up to date, and is used in this repo (see meta/update-readme.nu)!
atproto-app-passwords #
Create an app password for your ATProto account.
TODO: Add subcommands to list and delete
update-gitignore #
Quickly and easily create or update gitignore files from predefined templates.
tangled-quick-setup #
Easily and quickly set up Git and Jujutsu for Tangled. Sets up the following:
- SSH Key
- Commit signing
- Change ID headers
ln-bin #
Quickly symlink executable files to ~/.local/bin/
auto-benchmark #
Set up and run a Blender benchmark on the specified device, then automatically compare your results to the results on Blender Open Data.
yt-rss #
Get an RSS feed for the specified YouTube channel.
far #
Find and replace text from all files in a directory, using the str replace syntax
Other Scripts #
abs-nu-exec #
Useful for executing nushell scripts in GNOME keyboard shortcuts without adding Homebrew PATH to your shell environment
adb-auto-connect #
Automatically find and connect to an Android device with Wireless Debugging over the local network.
You'll need to create a file at ~/.config/adb-auto-connect.nuon with the MAC Addresses you want to search for. For example:
[
"ff:ff:ff:ff:ff:ff",
"aa:aa:aa:aa:aa:aa"
]
clean-bin #
Remove broken symlinks from ~/.local/bin
detect-gpu-issues #
Detect issues with the GPU.
This was created for my own use on a Framework Laptop 16 with an external dock. Sometimes, the external GPU will have issues caused by my hacky m.2 to oculink adapter.
I can't guarantee this will work for you, but it does reliably detect when there is an issue on my system.
extract-m4a #
Extract audio from a m4a file to the codec's native container
homepod-mini-workaround #
see https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3279
lh-pairall #
Reset all Watchman (lighthouse_console) dongles and put them into pairing mode.
lyricfetch #
Note
I reccomend using a lrclib client such as lrcget or Chronograph instead!
Fetches lyrics from Genius using a Dumb instance, and adds them to your music library's metadata.
Currently only supports FLAC files.
pods-remote #
Create a podman socket connection over SSH This will not work with Tailscale SSH, see https://github.com/tailscale/tailscale/issues/5295
relink #
Update symlink targets from an old target directory to a new one
reset-envision-prefix #
Resets an Envision prefix and the downloaded repos. Useful to work around #65
start-service-if-needed #
Starts a systemd service if it is not already started, otherwise do nothing. Useful if you only want to ask for the password when the service actually needs to be started.
steam-disable-update #
Completely disable steam updates for a game or app.
Caveats to this approach:
- Your "last played" time will never update
- I haven't used it in a long time, so I can't guarantee it will work
- It might cause other bugs, I haven't tested it extensively
toggle-extension #
Provides an easy way to toggle a GNOME extension. Useful for setting up keyboard shortcuts.
Deprecated #
podman-remote-tcp #
Create a Podman remote TCP connection to a machine over SSH. This is insecure, be careful.