diff --git a/README.md b/README.md index c57b44f..9f2a1ed 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,29 @@ # My personal tools -**These tools were made by me for me so a lot of them have some very questionable decisions implemented such as embedding a lot of configuration files** -## [cln](https://git.site.quack-lab.dev/dave/synclib) +## Introduction + +This repository contains a collection of personal tools I've developed to address various needs and frustrations I've encountered in my workflow. Many of these tools make some questionable decisions, such as embedding configuration files, as they were initially created for my personal use. + +## Table of Contents + +1. [File Management Tools](#file-management-tools) + - [cln](#cln) + - [fiter](#fiter) + - [fmoditer](#fmoditer) +2. [Git and Repository Tools](#git-and-repository-tools) + - [repo](#repo) + - [git-vc](#git-vc) +3. [System Utilities](#system-utilities) + - [vsclean](#vsclean) + - [lazygit-cleaner](#lazygit-cleaner) + - [autoruns](#autoruns) +4. [Directory Management Tools](#directory-management-tools) + - [directory-cleaner](#directory-cleaner) + - [directory-deletor](#directory-deletor) + +## [File Management Tools](#file-management-tools) + +### [cln](https://git.site.quack-lab.dev/dave/synclib) **Create symbolic links given a custom set of commands** Mainly created out of frustration of windows ""symbolic"" links @@ -34,7 +56,7 @@ Example: Given its ability to read files for commands it can be used to manage a "standard" set of symbolic links -## [fiter](https://git.site.quack-lab.dev/dave/fiter) +### [fiter](https://git.site.quack-lab.dev/dave/fiter) **Iterate over files and rename them incrementally** Example: Given @@ -79,7 +101,7 @@ This means that it can run on files that already have iterative names because no **It also means that, on failure, files are left as .bak** -## [fmoditer](https://git.site.quack-lab.dev/dave/fmoditer) +### [fmoditer](https://git.site.quack-lab.dev/dave/fmoditer) **Iterate over files and rename them to their mod time** Works pretty much the same way as *iter* with the exception of *-f* which is not supported by *fmoditer* @@ -98,23 +120,29 @@ Running `fmoditer *.mp4` would result in 2023-05-22T17-11-06.mp4 ``` -## [vsclean](https://git.site.quack-lab.dev/dave/vsclean) -**"clean" vscode recent projects by deleting non existing entries and adding new folders** +## [Git and Repository Tools](#git-and-repository-tools) -Reads given directories and adds all folders in directories to vscode's recent projects +### [git-vc](https://git.site.quack-lab.dev/dave/git-vc) +**Monitors a directory and commits any changes to git on a set interval** +Meant to run as a service -The idea is that all projects in a "projects" folder should be accessible to vscode +Configuration is done through environmental variables: +- *ROOT* + - Defaults to /tmp +- *SCAN_INTERVAL* + - Defaults to 1m -Doing this manually requires opening every folder one by one +Runs +`git add .` > `git commit -m "Update"` every *SCAN_INTERVAL* on *ROOT* +It also sets its identity to *system system@localhost* -It also removes non existent entries from recent projects and recent files +The purpose of this tool is to make sure you never lose any data in a volatile directory -## [lazygit-cleaner]() -**Practically the same as vsclean but for lazygit** +For example given a directory where it's possible for files to spontaneously combust -Removes non existing entries from *state.yml* and adds any existing git repositories in projects +This tool will ensure they're never really lost thanks to git -## [repo](https://git.site.quack-lab.dev/dave/gitea-api) +### [repo](https://git.site.quack-lab.dev/dave/gitea-api) **Creates repositories on gitea and assigns them as "origin" on the git repository in working directory** The configuration of this tool is done through environmental variables: @@ -145,7 +173,29 @@ Usage of repo.exe: Name of the remote to create for the new repository (default "origin") ``` -## [autoruns](https://git.site.quack-lab.dev/dave/autoruns) +## [System Utilities](#system-utilities) + +### [vsclean](https://git.site.quack-lab.dev/dave/vsclean) +**"clean" vscode recent projects by deleting non existing entries and adding new folders** + +Reads given directories and adds all folders in directories to vscode's recent projects + +The idea is that all projects in a "projects" folder should be accessible to vscode + +Doing this manually requires opening every folder one by one + +It also removes non existent entries from recent projects and recent files + +This tool supports **no configuration** outside of constants applied at compile time + +### [lazygit-cleaner]() +**Practically the same as vsclean but for lazygit** + +Removes non existing entries from *state.yml* and adds any existing git repositories in projects + +This tool supports **no configuration** outside of constants applied at compile time + +### [autoruns](https://git.site.quack-lab.dev/dave/autoruns) **Runs programs specified in *autoruns.json* (at compile time)** This tool is meant to replace windows autoruns and is meant to be magnitudes faster than windows autoruns @@ -184,27 +234,11 @@ Entry struct { } ``` -## [git-vc](https://git.site.quack-lab.dev/dave/git-vc) -**Monitors a directory and commits any changes to git on a set interval** -Meant to run as a service +This tool supports **no configuration** outside of constants applied at compile time (one of which is autoruns.json) -Configuration is done through environmental variables: -- *ROOT* - - Defaults to /tmp -- *SCAN_INTERVAL* - - Defaults to 1m +## [Directory Management Tools](#directory-management-tools) -Runs -`git add .` > `git commit -m "Update"` every *SCAN_INTERVAL* on *ROOT* -It also sets its identity to *system system@localhost* - -The purpose of this tool is to make sure you never lose any data in a possibly volatile directory - -For example given a directory where it's possible for files to spontaneously combust - -This tool will ensure they're never really lost thanks to git - -## [directory-cleaner](https://git.site.quack-lab.dev/dave/directory-cleaner) +### [directory-cleaner](https://git.site.quack-lab.dev/dave/directory-cleaner) **Archives and deletes "old" files in a given directory** Meant to run as a service - preferably in a docker container @@ -244,7 +278,7 @@ This is important because moving files from *ROOT* to *ROOT_ARCHIVE* after *ARCH Therefore file time to live is actually *ARCHIVE_THRESHOLD* + *DELETE_THRESHOLD* -## [directory-deletor](https://git.site.quack-lab.dev/dave/directory-deletor) +### [directory-deletor](https://git.site.quack-lab.dev/dave/directory-deletor) **Deletes given directories in a directory on a set interval** Very similar to *directory-cleaner* except that this tool straight out deletes given directories