Reword a lot of the readme

This commit is contained in:
2024-08-16 10:45:23 +02:00
parent 8ce1386b97
commit 4da3d152c2

104
README.md
View File

@@ -1,7 +1,29 @@
# My personal tools # 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** **Create symbolic links given a custom set of commands**
Mainly created out of frustration of windows ""symbolic"" links 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 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** **Iterate over files and rename them incrementally**
Example: Example:
Given 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** **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** **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* 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 2023-05-22T17-11-06.mp4
``` ```
## [vsclean](https://git.site.quack-lab.dev/dave/vsclean) ## [Git and Repository Tools](#git-and-repository-tools)
**"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 ### [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]() For example given a directory where it's possible for files to spontaneously combust
**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 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** **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: 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") 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)** **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 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) This tool supports **no configuration** outside of constants applied at compile time (one of which is autoruns.json)
**Monitors a directory and commits any changes to git on a set interval**
Meant to run as a service
Configuration is done through environmental variables: ## [Directory Management Tools](#directory-management-tools)
- *ROOT*
- Defaults to /tmp
- *SCAN_INTERVAL*
- Defaults to 1m
Runs ### [directory-cleaner](https://git.site.quack-lab.dev/dave/directory-cleaner)
`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)
**Archives and deletes "old" files in a given directory** **Archives and deletes "old" files in a given directory**
Meant to run as a service - preferably in a docker container 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* 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** **Deletes given directories in a directory on a set interval**
Very similar to *directory-cleaner* except that this tool straight out deletes given directories Very similar to *directory-cleaner* except that this tool straight out deletes given directories