Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/murkl/arch-os-manager

Streamlining the system, package management and updates for improved usability in Arch OS
https://github.com/murkl/arch-os-manager

arch-os arch-update archlinux bash gum intuitive kiss kitty pacman paru shellcheck system-manager tui updater-script

Last synced: 6 days ago
JSON representation

Streamlining the system, package management and updates for improved usability in Arch OS

Awesome Lists containing this project

README

        





Arch OS Manager




**[ ➜ More Screenshots ](#screenshots)**





100% shellcheck approved


powered by Arch OS


## Install from AUR

1. Install Package **[ ➜ AUR/arch-os-manager](https://aur.archlinux.org/packages/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
```

2. Install Dependencies:

```
./arch-os --install
```

3. 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
- System health info
- Startup notify on available updates
- Notify & show latest Arch Linux news
- Notice on orphaned packages & pacdiff files
- Search & manage packages
- Show system info, packages & logs
- Upgrade system packages
- Remove orphaned packages
- Clear Package cache
- Reset Pacman keyring
- Built-in system log blacklist
- Built-in settings editor
- Standalone mode with built-in kitty

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](#install-dependencies-optional) 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
settings ➜ Edit settings in built-in ediitor
```

### System Actions

```
check ➜ Print package updates (checkupdates)
notify ➜ Notify on new package updates (autostart)
search ➜ Search & manage packages (pacman, aur)
info ➜ Show system info (logs, services, health)
upgrade ➜ System upgrade (news, health, pacman, aur, flatpak)
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 (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 (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)
SHOW_SYSTEM_LOG=true # Show system log in info (disable: false)
SHOW_SERVICE_LIST=true # Show running services in info (disable: false)
SHOW_UNKNOWN_PKG_LIST=false # Show unknown package counter instead of name list (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](https://extensions.gnome.org/extension/1010/)**

2. Set `Check command`:

```
dconf write /org/gnome/shell/extensions/arch-update/check-cmd "'/usr/bin/arch-os check'"
```

3. Set `Update command`:

```
dconf write /org/gnome/shell/extensions/arch-update/update-cmd "'arch-os --kitty upgrade'"
```

4. Set `Package Manager` (optional):

```
dconf write /org/gnome/shell/extensions/arch-update/package-manager "'arch-os --kitty'"
```

## Screenshots

This screenshots may outdated.





## Credits

- https://archlinux.org
- https://github.com/RaphaelRochet/arch-update
- https://github.com/Morganamilo/paru
- https://github.com/kovidgoyal/kitty
- https://github.com/charmbracelet/gum
- https://github.com/archlinux-downgrade/downgrade
- https://meldmerge.org