---*This project is still under heavy development!*--- # L A C K A D A I S I C A L A collection of easy-to-understand, easy-to-use scripts, functions and aliases. Designed to be beginner-friendly but also useful! ## Disclaimer Some aspects of this project were generated by Google Gemini (in particular, daisy_help and daisy_liist). While we are generally against using LLMs for code, the added functionality of being able to get information for individual tools is useful and not considered to be vital functionality. ## How to use Simply open your shell's RC-file (.bashrc, .zshrc, etc) and include `source /daisy.source`, preferably at the bottom of the file. We recommend setting your editor before sourcing `lackadaisical`. For instance, putting `export EDITOR=/usr/bin/nano` near the top of your RC-file. It may later be overridden by `lackadaisical` itself if you use (or have used) `ched`. You can also try out the utilities by simply sourcing the file while running your shell of choice. It will automatically include itself into your `PATH` variable. At first use, `lackadaisical` will provide you with information via `daisy_help`. This information is identical to what can be read in the `Getting Started` section below. ## Getting started ``` --- BEGIN OF DAISY HELP --- =============================================================================== Thanks for installing LACKADAISICAL! This project aims to provide useful utilities as well as learning material. It is still under heavy development, not all of the things on this list are present/implemented. Utils marked with * are incomplete. This suite provides a number of functions, aliases and scripts. They are all aimed at enhancing your efficiency. To uninstall LACKADAISICAL, simply remove the source line from your shell RC, and reload it. This does not remove the files! You will also need to manually clear the configuration data in '/.config/ lackadaisical` if you so desire. To read this notice again, call the function 'daisy_help'. =============================================================================== These are the included binaries and utilities: - calm: Reduce a process 'niceness' to 0. - cdz: This utility extracts an archive to /tmp and changes directory to it in a new shell instance. Upon exit, the files are wiped. If `archivemount` is present, it will be used to mount the archive instead! You can bypass this behavior by specifying an env value of; NO_ARCHIVEMOUNT=1. The standard script supports zip, tarballs, and rar archives. We recommend relying on archivemount` if you have it installed. - editx: Uses your standard CLI editor to create/modify a file and make it executable. - filewait: This tool is given a filename of a file that does not exist yet. When the file appears on disk, the tool quits and simply returns the filename. This can be used in personal workflows to stall a longer command that relies on the existence of said file. - newday: A basic but powerful journaling system. Recommended to be set up via crontab. Can be used for everything from diaries to general file storage to even BTRFS snapshots. - own: A simple utility. It's effectively an alias for "sudo chown -R user:user" on the target dir/file. Root permissions required! - shrc: This tool allows you to edit the RC file for your shell in your preferred editor. After saving, the file is sourced by your shell if modified. - sw: A basic function that swaps two files by content. Useful for restoring backups. - what: This is a tool similar to which and others, the key difference is that it returns partial matches. It can be used to search for binaries. - binbox: This tool can be used to pack bash scripts into one big megascript, much like how `busybox` works. You can also make symlinks to it to invoke a specific script (as of writing, 11/25, symlinks do not work well). - bak/unbak: These small utilities make backups of files by making a copy with a .bak suffix. Unbak reverses the process by using sw and removes the backup. - lsa: A simple alias for ls -lah. - lsn: A simple alias for ls -lah --sort=time --reverse. - lss: A simple alias for ls -lah --sort=size --reverse. - editbin: An alias for editx $\(which \). Saves on typing. - editpeco: This function uses peco+tree like 'cdp', but opens your editor on the selected file(s). After you exit your editor(s), you are returned to peco where you left off. - ched: Like chsh but for your editor (EDITOR env). A list from which you can choose an installed editor (CLI or GUI) is shown. This list is by no means complete. - cdf: Use fzf to find a file and then cd to its location. - cdp: Similar to 'cdf' but uses tree+peco for the query. - ldrc: Edits daisy.source and re-sources it, similarly to shrc. - daisy_init: Alias for directly sourcing this file from any LACKADAISICAL binary. You may use this yourself. - grab: Alias for "awk '{print $x}'", where x is a number. E.g. "echo 'a b c' | grab 2" returns 'b'. - daisy_cbin: Contains the name of the current LACKADAISICAL binary being run. - daisy_enc: Converts a file/stdin to a base64 block that can be decoded by passing the output(s) to daisy_dec. - daisy_enc_multi: A version of daisy_enc that encodes multiple files and outputs daisy_base64_data blocks to a file or stdout. - daisy_dec: Converts daisy_base64_data blocks back to the form it was in originally. - daisy_dec_multi: A version of daisy_dec that runs on multiple input blocks that are either stored in a file or stdin. - daisy_alias/daisy_unalias: This utility sets persistent user aliases stored in .daisy_aliases in the lackadaisical config folder. They will remain persistent until unaliased. Call 'daisy_alias' without parameters to get a list. Use 'daisy_unalias' to remove an alias. - daisy_list: List all available commands without description. --- END OF DAISY HELP --- ```