home · contact · privacy
Provide user skeleton directory to symlink into.
authorChristian Heller <c.heller@plomlompom.de>
Mon, 7 Sep 2026 01:15:37 +0000 (01:15 +0000)
committerChristian Heller <c.heller@plomlompom.de>
Mon, 7 Sep 2026 01:15:37 +0000 (01:15 +0000)
_lib.sh
backlight.py [deleted file]
home_user/.local/bin/backlight [new file with mode: 0755]
start_home.sh [deleted file]
start_root.sh
start_user.sh [new file with mode: 0755]

diff --git a/_lib.sh b/_lib.sh
index c7002c6e212344bbac9f28407bc41fba16cf7976..a4759dc39f8a47db35931720398947727193f060 100644 (file)
--- a/_lib.sh
+++ b/_lib.sh
@@ -3,6 +3,7 @@ SCRIPT_NAME=$0
 cd "$(dirname "${SCRIPT_NAME}")"
 
 # constants unlikely to change
+FNAME_PROFILE=.profile
 NAME_DEV=dev
 PATH_DEV="/${NAME_DEV}"
 PATH_MNT=/mnt
@@ -14,6 +15,9 @@ NAME_LUKSVG=cryptolvm
 NAME_SWAP=swap
 PATH_MNT_ROOT="${PATH_MNT}/root"
 
+# constants derived from changeables
+PATH_PROFILE="${HOME}/${FNAME_PROFILE}"
+
 # path constructors
 path_luks_mapper() {
     printf '%s/mapper/%s' "${PATH_DEV}" "$1"
@@ -151,3 +155,7 @@ usage() {
     [ "${COUNT_INPUTS}" -eq $# ]\
         || die "${MSG}"
 }
+augment_profile() {
+    msg 'Augmenting user %s …' "${FNAME_PROFILE}"
+    echo 'alias ls="ls --color=auto"' >> "${PATH_PROFILE}"
+}
diff --git a/backlight.py b/backlight.py
deleted file mode 100755 (executable)
index 6273512..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env python3
-'Simple wrapper for manipulating backlight device brightness file(s).'
-from argparse import ArgumentError, ArgumentParser
-from pathlib import Path
-
-FILENAME_MAX = 'max_brightness'
-FILENAME_TARGET = 'brightness'
-PATH_BACKLIGHTS = '/sys/class/backlight'
-PERCENTAGE_MIN = 0
-PERCENTAGE_MAX = 100
-
-APP_DESC = 'Set backlight strength.'
-ARG_NAME = 'strength'
-ARG_HELP = f'percentage of possible maximum (default: {PERCENTAGE_MAX})'
-ARG_ERR_RANGE = f'must be >={PERCENTAGE_MIN}, <={PERCENTAGE_MAX}'
-
-if __name__ == '__main__':
-    parser = ArgumentParser(description=APP_DESC)
-    arg = parser.add_argument(
-            ARG_NAME,
-            metavar=ARG_NAME.upper(),
-            type=int,
-            nargs='?',
-            default=PERCENTAGE_MAX,
-            help=ARG_HELP
-            )
-    args = parser.parse_args()
-    target_percentage = getattr(args, ARG_NAME)
-    if not PERCENTAGE_MIN <= target_percentage <= PERCENTAGE_MAX:
-        parser.error(str(ArgumentError(arg, ARG_ERR_RANGE)))
-    for path_backlight in Path(PATH_BACKLIGHTS).iterdir():
-        path_max = Path(path_backlight).joinpath(FILENAME_MAX)
-        path_target = Path(path_backlight).joinpath(FILENAME_TARGET)
-        brightness_max = int(path_max.read_text(encoding='utf8'))
-        target_abs = int((target_percentage / 100) * brightness_max)
-        path_target.write_text(f'{target_abs}\n', encoding='utf8')
-        print(f'set {path_backlight} to {target_percentage}% ({target_abs})')
diff --git a/home_user/.local/bin/backlight b/home_user/.local/bin/backlight
new file mode 100755 (executable)
index 0000000..6273512
--- /dev/null
@@ -0,0 +1,37 @@
+#!/usr/bin/env python3
+'Simple wrapper for manipulating backlight device brightness file(s).'
+from argparse import ArgumentError, ArgumentParser
+from pathlib import Path
+
+FILENAME_MAX = 'max_brightness'
+FILENAME_TARGET = 'brightness'
+PATH_BACKLIGHTS = '/sys/class/backlight'
+PERCENTAGE_MIN = 0
+PERCENTAGE_MAX = 100
+
+APP_DESC = 'Set backlight strength.'
+ARG_NAME = 'strength'
+ARG_HELP = f'percentage of possible maximum (default: {PERCENTAGE_MAX})'
+ARG_ERR_RANGE = f'must be >={PERCENTAGE_MIN}, <={PERCENTAGE_MAX}'
+
+if __name__ == '__main__':
+    parser = ArgumentParser(description=APP_DESC)
+    arg = parser.add_argument(
+            ARG_NAME,
+            metavar=ARG_NAME.upper(),
+            type=int,
+            nargs='?',
+            default=PERCENTAGE_MAX,
+            help=ARG_HELP
+            )
+    args = parser.parse_args()
+    target_percentage = getattr(args, ARG_NAME)
+    if not PERCENTAGE_MIN <= target_percentage <= PERCENTAGE_MAX:
+        parser.error(str(ArgumentError(arg, ARG_ERR_RANGE)))
+    for path_backlight in Path(PATH_BACKLIGHTS).iterdir():
+        path_max = Path(path_backlight).joinpath(FILENAME_MAX)
+        path_target = Path(path_backlight).joinpath(FILENAME_TARGET)
+        brightness_max = int(path_max.read_text(encoding='utf8'))
+        target_abs = int((target_percentage / 100) * brightness_max)
+        path_target.write_text(f'{target_abs}\n', encoding='utf8')
+        print(f'set {path_backlight} to {target_percentage}% ({target_abs})')
diff --git a/start_home.sh b/start_home.sh
deleted file mode 100755 (executable)
index 9eaf55e..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-. "$(dirname "$0")/_lib.sh"
-
-# constants unlikely to change
-FNAME_PROFILE=.profile
-
-# constants derived from changeables
-PATH_PROFILE="${HOME}/${FNAME_PROFILE}"
-
-msg 'Augmenting user %s …' "${FNAME_PROFILE}"
-echo 'alias ls="ls --color=auto"' >> "${PATH_PROFILE}"
index 95082225693ac871f7acaab53bdcca369680dd1b..f51d1695359cf423dcfdaaab76579663e805e562 100755 (executable)
@@ -2,7 +2,6 @@
 . "$(dirname "$0")/_lib.sh"
 
 # constants unlikely to change
-FNAME_START_HOME=start_home.sh
 PATH_DEFAULT_LOCALE=/etc/default/locale
 PATH_SYSCTL_PRINTK=/etc/sysctl.d/60-printk-console.conf
 PATH_TLP_THRESH_CONF=/etc/tlp.conf.d/60-thresholds.conf
@@ -17,8 +16,7 @@ PRINTK_LEVELS="4 4 1 7"
 TLP_THRESH_START=40
 TLP_THRESH_STOP=80
 
-msg 'Calling %s …' "${FNAME_START_HOME}"
-"./${FNAME_START_HOME}"
+augment_profile
 
 msg 'Ensuring packages: %s' "${TO_INSTALL}"
 apt-get -y update
diff --git a/start_user.sh b/start_user.sh
new file mode 100755 (executable)
index 0000000..df49b1b
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+. "$(dirname "$0")/_lib.sh"
+
+# constants we might want to change at some point
+PATH_SKEL_USER="$(pwd)/home_user"
+
+augment_profile
+
+msg 'Linking %s files into home directory …' "${PATH_SKEL_USER}"
+find "${PATH_SKEL_USER}" -mindepth 1 -maxdepth 1\
+    -exec ln -v -s {} "${HOME}/" \;