Skip to content

Simply maintain your Arch based distro with a single tool. Streamlining the system, package and update management for improved usability

License

Notifications You must be signed in to change notification settings

murkl/arch-os-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 

Repository files navigation

Arch OS Manager

➜ More Screenshots

The Arch OS Manager is a tool for managing Arch Linux systems. It provides a straightforward interface for system administration and supports execution via tty or desktop. Offering features like system upgrade, package management, health monitoring and some more...

100% shellcheck approved

powered by Arch OS

Install from AUR

  1. Install Package ➜ AUR/arch-os-manager

  2. Run Arch OS Manager:

arch-os

Note: Add parameter -k to start with built-in kitty in standalone mode

Install from GitHub

  1. Clone GitHub Repo:
git clone https://github.com/murkl/arch-os-manager.git && cd arch-os-manager
  1. Install Dependencies:
./arch-os --install
  1. Run Arch OS Manager:
./arch-os

Note: Add parameter -k to start with built-in kitty in standalone mode

Features

  • Check & list updates in checkupdates format
  • Rich startup notification on available updates
  • Dashboard: System health info, packages & logs
  • Show unread/latest Arch Linux news
  • Notice on orphaned packages & pacdiff files
  • Search & manage packages
  • Upgrade system packages
  • Remove orphaned packages
  • Clear Package cache
  • Reset Pacman keyring
  • Built-in system log blacklist
  • Built-in config editor
  • Standalone mode with built-in kitty
  • System-oriented design

Install these optional dependencies to equip Arch OS Manager with additional features:

  • paru: Add support for manage AUR packages
  • flatpak: Add support for manage Flatpak packages
  • reflector: Add support for refresh Pacman mirrorlist
  • downgrade: Add support for downgrade packages
  • meld: Add support for merge pacdiff configurations
  • xdg-utils: Add support for open news in browser
  • gnome-shell-extensions: Add support for GNOME Extensions

Note: see Install Dependencies for more information

Usage

The manager can be opened regularly with arch-os or in standalone mode with arch-os --kitty.

arch-os [--kitty | -k] [action]

Note: If no parameter is specified, the main menu is opened.

App Actions

help             ➜  Open help page
version          ➜  Print version info
config           ➜  Edit config in built-in ediitor

System Actions

check            ➜  Print package updates (checkupdates)
notify           ➜  Notify on new package updates (autostart)
dashboard        ➜  Show dashboard (logs, services, health)
upgrade          ➜  System upgrade (news, health, pacman, aur, flatpak)
pkg              ➜  Search & manage packages (pacman, aur)
orphans          ➜  Remove orphaned packages (pacman, aur, flatpak)
merge            ➜  Merge updated configurations (pacdiff, meld)
refresh          ➜  Refresh & edit pacman mirrorlist (reflector)
downgrade        ➜  Downgrade packages (pacman)
cache            ➜  Clear package cache (pacman, aur)
reset            ➜  Reset pacman keyring & upgrade (pacman)

Install Dependencies (optional)

Use parameter --install to install and preconfigure all required packages from the Arch OS Manager.

Pacman Packages

git base-devel pacman-contrib reflector flatpak gum kitty libnotify fzf xdg-utils meld

AUR Packages

These packages are built and installed manually from the AUR-Git repository using makepkg:

  • paru (see AUR_MANAGER_REPO property for more details)
  • downgrade

Paru is preconfigured in /etc/paru.conf. Old configurations are copied to /etc/paru.conf.20240919170446, for example (before editing).

Settings

Edit the settings with the built-in editor in Arch OS Manager or edit the config file manually.

ARCH_UPGRADE_CONFIRM=true             # Enable confirm upgrade system packages (experimental) (disable: false)
ARCH_DOWNLOAD_TIMEOUT=false           # Disable pacman/paru download timeout (enable: true)
AUR_MANAGER_REPO=paru                 # Set AUR manager package for --install (paru, paru-bin, paru-git)
AUR_SUPPORT=true                      # Enable AUR support (disable: false)
AUR_REVIEW=false                      # Disable AUR review (enable: true)
FLATPAK_SUPPORT=true                  # Enable flatpak support (disable: false)
FLATPAK_UPGRADE_CONFIRM=false         # Disable confirm flatpak upgrade (experimental) (enable: true)
ORPHANS_CONFIRM=false                 # Disable confirm remove orphans (enable: true)
AUTOSTART_NOTIFY=true                 # Enable update notify on system boot (disable: false)
AUTOSTART_DELAY=30                    # Delay update check after boot in seconds (min: 10)
NEWS_QUANTITY=3                       # Number of news to shown (disable: 0)
UPGRADE_SHOW_HEALTH=false             # Show health view in upgrade (enable: true)
HEALTH_ENABLE_UNKNOWN_PKG_LIST=false  # Show unknown package counter instead of name list (enable: true)
HEALTH_SHOW_LOG=true                  # Show system log in healt (disable: false)
DASHBOARD_SHOW_LOG=true               # Show system log in dashboard & health (disable: false)
DASHBOARD_SHOW_SERVICES=true          # Show running services in dashboard (disable: false)
DASHBOARD_SHOW_USER_SERVICES=false    # Show user services in dashboard & health (enable: true)

Configurations

  • Arch OS Manager config: ~/.arch-os/config/settings.conf
  • Built-in kitty config: ~/.arch-os/config/kitty.conf
  • System log blacklist: ~/.arch-os/config/blacklist.conf

Integrate GNOME Extension

  1. Install GNOME Extension ➜ archlinux-updates-indicator

  2. Set Check command:

dconf write /org/gnome/shell/extensions/arch-update/check-cmd "'/usr/bin/arch-os check'"
  1. Set Update command:
dconf write /org/gnome/shell/extensions/arch-update/update-cmd "'arch-os --kitty upgrade'"
  1. Set Package Manager (optional):
dconf write /org/gnome/shell/extensions/arch-update/package-manager "'arch-os --kitty'"

Screenshots

This screenshots may outdated.

Development

GUM=/my/custom/gum KITTY=/my/custom/kitty ./arch-os

Credits