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.
37 lines
885 B
Bash
Executable file
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
|