Skip to content
forked from stlenyk/batterrier

Set battery charge limit on ASUS laptops on Linux with CLI

License

Notifications You must be signed in to change notification settings

pepa65/batlimit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Dependencies Docs License Downloads

batlimit 0.9.2

Set battery charge limit on supported laptops on Linux with CLI

It is now widely acknowledged that the life span of Li-ion batteries is extended by not charging them to the max. An often recommended battery charge limit is 80.

Features

  • Works with supported laptop (info works with any machine): ASUS, Lenovo (ThinkPad), Dell, LG, Huawei, System76, Fujitsu, MSI, Toshiba and Intel Apple.
  • info: Show battery info (default).
  • limit: Set battery charge limit (needs root privileges), takes percentage as argument.
  • clear: Clear battery charge limit (needs root privileges)
  • persist: Persist the charge limit through creating and enabling systemd services, optionally takes percentage as argument for limit (needs root privileges).
  • unpersist: Unpersist the charge limit by disabling and removing systemd services (needs root privileges).
  • shell: Generate shell completions (bash, elvish, fish, powershell, zsh).
  • Can use abbreviations for the commands, like: batlimit u (unpersisting the limit).

Installation

Download static single-binary

wget https://github.com/pepa65/batlimit/releases/download/0.9.2/batlimit
sudo mv batlimit /usr/local/bin/
sudo chown root:root /usr/local/bin/batlimit
sudo chmod +x /usr/local/bin/batlimit

Using cargo (rust toolchain)

If not installed yet, install a Rust toolchain, see https://www.rust-lang.org/tools/install

Cargo from crates.io

cargo install batlimit --target=x86_64-unknown-linux-musl

Cargo from git

cargo install --git https://github.com/pepa65/batlimit --target=x86_64-unknown-linux-musl

Cargo static build (avoid GLIBC incompatibilities)

git clone https://github.com/pepa65/batlimit
cd batlimit
rustup target add x86_64-unknown-linux-musl
export RUSTFLAGS='-C target-feature=+crt-static'
cargo build --release --target=x86_64-unknown-linux-musl

For smaller binary size: upx --best --lzma target/x86_64-unknown-linux-musl/release/batlimit

Install with cargo-binstall

Even without a full Rust toolchain, rust binaries can be installed with the static binary cargo-binstall:

# Install cargo-binstall for Linux x86_64
# (Other versions are available at https://crates.io/crates/cargo-binstall)
wget github.com/cargo-bins/cargo-binstall/releases/latest/download/cargo-binstall-x86_64-unknown-linux-musl.tgz
tar xf cargo-binstall-x86_64-unknown-linux-musl.tgz
sudo chown root:root cargo-binstall
sudo mv cargo-binstall /usr/local/bin/

Install the musl binary: cargo-binstall batlimit

(Then batlimit will be installed in ~/.cargo/bin/ which will need to be added to PATH!)

Usage

batlimit 0.9.2 - Set battery charge limit on supported laptops on Linux with CLI
Usage: batlimit [COMMAND]
Commands:
  info       Print battery info (default command)
  limit      Set battery charge limit: PERCENT (1..99)
  clear      Clear charge limit
  persist    Persist charge limit with systemd: [PERCENT (1..99)]
  unpersist  Unpersist charge limit: disable and remove systemd services
  shell      Generate completions: SHELL (bash|elvish|fish|powershell|zsh)
  readme     Output the readme file from the repo
  help       Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

Commands can be abbreviated up to their first letter.
Root privileges required for: limit & clear, persist & unpersist

About

Set battery charge limit on ASUS laptops on Linux with CLI

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%