From 330b094069901a02cf802a78b4f3bfc10fed3dee Mon Sep 17 00:00:00 2001 From: opal Date: Tue, 15 Apr 2025 23:57:28 -0700 Subject: [PATCH] moving files around --- .local/bin/todo | 47 +++++++++++++++++++++++++++++++++++++++++++++ .local/bin/vault | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100755 .local/bin/todo create mode 100755 .local/bin/vault diff --git a/.local/bin/todo b/.local/bin/todo new file mode 100755 index 0000000..7f9bf90 --- /dev/null +++ b/.local/bin/todo @@ -0,0 +1,47 @@ + + +#!/bin/sh + +TODO_FILE="$HOME/docs/todo.txt" +ARCHIVE_FILE="$HOME/docs/todo-archive.txt" +TODAY="$(date +%Y-%m-%d)" + +case "$1" in + add) + shift + echo "($TODAY) $*" >> "$TODO_FILE" + echo "Added: ($TODAY) $*" + ;; + lsa) + nl -w2 -s'. ' "$TODO_FILE" + ;; + ls) + grep -v '^x ' "$TODO_FILE" | nl -w2 -s'. ' + ;; + done) + if [ -z "$2" ]; then + echo "Usage: $0 done " + exit 1 + fi + TASK=$(sed -n "${2}p" "$TODO_FILE") + [ -z "$TASK" ] && { echo "Invalid task number."; exit 1; } + sed -i "${2}s/^/x ($TODAY) /" "$TODO_FILE" + echo "Marked done: $TASK" + ;; + archive) + grep '^x ' "$TODO_FILE" >> "$ARCHIVE_FILE" + sed -i '/^x /d' "$TODO_FILE" + echo "Archived completed tasks to $ARCHIVE_FILE" + ;; + tags) + if [ -z "$2" ]; then + echo "Usage: $0 tags <+tag|@context>" + exit 1 + fi + grep "$2" "$TODO_FILE" | grep -v '^x ' | nl -w2 -s'. ' + ;; + help|*) + echo "Usage: $0 {add | list | done | archive}" + ;; +esac + diff --git a/.local/bin/vault b/.local/bin/vault new file mode 100755 index 0000000..5935c75 --- /dev/null +++ b/.local/bin/vault @@ -0,0 +1,50 @@ +#!/bin/sh + +CONTAINER=${2:-"$HOME/vault.hc"} + +BASENAME=$(basename "$CONTAINER") +MAPPER_NAME="${BASENAME%.*}" +MOUNT_POINT="/mnt/$MAPPER_NAME" + +case "$1" in + open) + if [ ! -f "$CONTAINER" ]; then + echo "Container not found: $CONTAINER" + exit 1 + fi + + if [ -e "/dev/mapper/$MAPPER_NAME" ]; then + echo "Already opened at /dev/mapper/$MAPPER_NAME" + exit 1 + fi + + mkdir -p "$MOUNT_POINT" || exit 1 + + if sudo cryptsetup open --type tcrypt "$CONTAINER" "$MAPPER_NAME"; then + sudo mount "/dev/mapper/$MAPPER_NAME" "$MOUNT_POINT" && + echo "Mounted at $MOUNT_POINT" + else + echo "Failed to open container." + exit 1 + fi + ;; + + close) + if mountpoint -q "$MOUNT_POINT"; then + sudo umount "$MOUNT_POINT" + fi + + if [ -e "/dev/mapper/$MAPPER_NAME" ]; then + sudo cryptsetup close "$MAPPER_NAME" + echo "Closed and unmounted $MOUNT_POINT." + else + echo "Container is not open." + fi + ;; + + *) + echo "Usage: $0 {open|close} [path/to/container.hc]" + exit 1 + ;; +esac +