From 02839ab30b9b18fee8ff8442b827baeeb9f0807d Mon Sep 17 00:00:00 2001
From: tavo-wasd <gustavo@gustavocalvo.xyz>
Date: Mon, 27 Nov 2023 00:40:52 -0600
Subject: [PATCH] envm script for automating env creation, envvar for certs,
 ignore krita cfg files

---
 .gitignore   |  3 +++
 scripts/envm | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 shell/envvar |  2 ++
 3 files changed, 66 insertions(+)
 create mode 100755 scripts/envm

diff --git a/.gitignore b/.gitignore
index c74a9f5..3fdd0e1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -154,3 +154,6 @@ blender/
 ardour7/
 rstudio/
 nextjs-nodejs/
+kritadisplayrc
+kritarc
+okular-generator-popplerrc
diff --git a/scripts/envm b/scripts/envm
new file mode 100755
index 0000000..4e47c74
--- /dev/null
+++ b/scripts/envm
@@ -0,0 +1,61 @@
+#!/bin/sh
+# Automate temporary shell envs
+
+OPT="$1"
+ENVDIR="/tmp/env"
+ENVSHELL="/bin/bash"
+
+print_title() {
+    printf "\033[2m%s\033[0m\n" "$1"
+}
+
+print_dialogue() {
+    printf "\033[2m%s:\033[0m " "$1"
+}
+
+print_warning() {
+    printf "\033[31mWarning:\033[0m \033[2m%s\033[0m\n" "$1"
+}
+
+help() {
+    printf "\033[2mUsage:\033[0m envm [list|create|login|delete]\n"
+}
+
+list() {
+    print_title "Current users:"
+    sed '/^env-.*::\/tmp\/env\/.*:\/bin\/bash$/!d;s/^env-//g;s/:.*::/ -> /g;s/:/ -> /g' /etc/passwd
+}
+
+create() {
+    print_warning 'super user privileges are needed for user and home creation'
+    print_dialogue 'Create user' && read -r ENVUSER
+    ENVNAME="env-$ENVUSER"
+    sudo mkdir -p "$ENVDIR"
+    sudo useradd -m -d $ENVDIR/$ENVUSER -s $ENVSHELL $ENVNAME
+}
+
+login() {
+    list && echo
+    print_warning 'super user privileges are needed for login'
+    print_dialogue 'Login as' && read -r ENVUSER
+    [ -z "$ENVUSER" ] && print_warning 'Empty user' && return 0
+    ENVNAME="env-$ENVUSER"
+    sudo su - "$ENVNAME"
+}
+
+delete() {
+    list && echo
+    print_warning 'super user privileges are needed for user and home deletion'
+    print_dialogue 'Delete user' && read -r ENVUSER
+    [ -z "$ENVUSER" ] && print_warning 'Empty user' && return 0
+    ENVNAME="env-$ENVUSER"
+    sudo rm -rfv $ENVDIR/$ENVUSER
+    sudo userdel $ENVNAME
+}
+
+[ "$OPT" = "" ] && help && list
+[ "$OPT" = "help" ] && help
+[ "$OPT" = "list" ] && list
+[ "$OPT" = "create" ] && create
+[ "$OPT" = "login" ] && login
+[ "$OPT" = "delete" ] && delete
diff --git a/shell/envvar b/shell/envvar
index 1b056ce..cde09ec 100644
--- a/shell/envvar
+++ b/shell/envvar
@@ -39,3 +39,5 @@ export \
     CM_SELECTIONS="clipboard" \
     CM_MAX_CLIPS=10 \
 
+export \
+    MOZILLA_CERTIFICATE_FOLDER="$HOME/.local/share/mozilla/.mozilla/firefox/p2uualdb.default"