arch-system/rootfs/usr/local/sbin/batlimit-set
grayTerminal-sh 14e547ce56 refactor: reorganize Arch system backup and restore
Separate system configuration from Dotfiles_ArchAP.

Add package manifests, system inventories, reusable templates,
safer backup/deployment scripts, on-demand service management,
TLP and zram configuration, and updated maintenance documentation.
2026-07-26 23:25:25 +02:00

37 lines
885 B
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
readonly BATTERY="BAT1"
readonly THRESHOLD_FILE="/sys/class/power_supply/${BATTERY}/charge_control_end_threshold"
if (( $# != 1 )); then
echo "Usage : batlimit-set SEUIL" >&2
exit 2
fi
readonly THRESHOLD="$1"
if [[ ! "$THRESHOLD" =~ ^[0-9]+$ ]]; then
echo "Erreur : le seuil doit être un entier." >&2
exit 2
fi
if (( THRESHOLD < 40 || THRESHOLD > 100 )); then
echo "Erreur : le seuil doit être compris entre 40 et 100." >&2
exit 2
fi
if [[ ! -e "$THRESHOLD_FILE" ]]; then
echo "Erreur : seuil de charge introuvable pour ${BATTERY}." >&2
exit 1
fi
printf '%s\n' "$THRESHOLD" > "$THRESHOLD_FILE"
read -r CURRENT_THRESHOLD < "$THRESHOLD_FILE"
if [[ "$CURRENT_THRESHOLD" != "$THRESHOLD" ]]; then
echo "Erreur : seuil demandé ${THRESHOLD} %, valeur appliquée ${CURRENT_THRESHOLD} %." >&2
exit 1
fi