{"id":19386775,"url":"https://github.com/murkl/arch-os-manager","last_synced_at":"2025-04-23T23:30:37.617Z","repository":{"id":223322837,"uuid":"759916474","full_name":"murkl/arch-os-manager","owner":"murkl","description":"Streamlining the system, package management and updates for improved usability in Arch OS ","archived":false,"fork":false,"pushed_at":"2024-09-17T16:57:55.000Z","size":1211,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-17T21:10:45.174Z","etag":null,"topics":["arch-os","arch-update","archlinux","bash","gum","intuitive","kiss","kitty","pacman","paru","shellcheck","system-manager","tui","updater-script"],"latest_commit_sha":null,"homepage":"https://github.com/murkl/arch-os","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/murkl.png","metadata":{"files":{"readme":"docs/README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-19T15:27:15.000Z","updated_at":"2024-09-17T16:57:49.000Z","dependencies_parsed_at":"2024-02-22T21:24:53.769Z","dependency_job_id":"07a771e3-7944-44cf-bb28-7b1eaab3ff13","html_url":"https://github.com/murkl/arch-os-manager","commit_stats":null,"previous_names":["murkl/arch-os-app","murkl/arch-os-manager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/murkl%2Farch-os-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/murkl%2Farch-os-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/murkl%2Farch-os-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/murkl%2Farch-os-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/murkl","download_url":"https://codeload.github.com/murkl/arch-os-manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223936992,"owners_count":17228140,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arch-os","arch-update","archlinux","bash","gum","intuitive","kiss","kitty","pacman","paru","shellcheck","system-manager","tui","updater-script"],"created_at":"2024-11-10T10:07:26.583Z","updated_at":"2025-04-23T23:30:37.596Z","avatar_url":"https://github.com/murkl.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003e\n    \u003cimg src=\"./logo.svg\" width=\"150\" height=\"150\"\u003e\n    \u003cp\u003e\u003cb\u003eArch OS Manager\u003c/b\u003e\u003c/p\u003e\n  \u003c/h1\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \n  \u003cp\u003e\u003cimg src=\"./screenshots/main.png\"\u003e\u003c/p\u003e\n\n**[ ➜ More Screenshots ](#screenshots)**\n\n  \u003cp\u003eThe 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... \u003c/p\u003e\n\n  \u003cp\u003e\n    \u003cimg src=\"https://img.shields.io/badge/MAINTAINED-YES-green?style=for-the-badge\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-GPL_v2-blue?style=for-the-badge\"\u003e\n  \u003c/p\u003e\n  \u003cp\u003e\u003csub\u003e100% shellcheck approved\u003c/sub\u003e\u003c/p\u003e\n  \u003cp\u003e\u003csub\u003epowered by \u003ca href=\"https://github.com/murkl/arch-os\"\u003eArch OS\u003c/a\u003e\u003c/sub\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n## Install from AUR\n\n1. Install Package **[ ➜ AUR/arch-os-manager](https://aur.archlinux.org/packages/arch-os-manager)**\n\n2. Run Arch OS Manager:\n\n```\narch-os\n```\n\n**Note:** Add parameter `-k` to start with built-in kitty in standalone mode\n\n## Install from GitHub\n\n1. Install [Dependencies](#install-dependencies):\n\n```\nsudo pacman -S git base-devel pacman-contrib\n```\n\n2. Clone GitHub Repo:\n\n```\ngit clone https://github.com/murkl/arch-os-manager.git \u0026\u0026 cd arch-os-manager\n```\n\n3. Run Arch OS Manager:\n\n```\n./arch-os\n```\n\n**Note:** Add parameter `-k` to start with built-in kitty in standalone mode\n\n## Features\n\n- Check \u0026 list updates in _checkupdates_ format\n- Rich startup notification on available updates\n- Dashboard: System health info, packages \u0026 logs\n- Show unread/latest Arch Linux news\n- Notice on orphaned packages \u0026 pacdiff files\n- Search \u0026 manage packages\n- Manage system \u0026 user services\n- Upgrade system packages\n- Remove orphaned packages\n- Clear Package cache\n- Reset Pacman keyring\n- Built-in system log blacklist\n- Built-in config editor\n- Standalone mode with built-in kitty\n- System-oriented design\n\nInstall these **optional** dependencies to equip Arch OS Manager with additional features:\n\n- `paru`: Add support for manage AUR packages\n- `libnotify`: Add notification support\n- `flatpak`: Add support for manage Flatpak packages\n- `reflector`: Add support for refresh Pacman mirrorlist\n- `downgrade`: Add support for downgrade packages\n- `meld`: Add support for merge pacdiff configurations\n- `xdg-utils`: Add support for open news in browser\n- `gnome-shell-extensions`: Add support for GNOME Extensions\n\n**Note:** _see [Install Dependencies](#install-dependencies) for more information_\n\n## Usage\n\nThe manager can be opened regularly with `arch-os` or in standalone mode with `arch-os --kitty`.\n\n```\narch-os [--kitty | -k] [action]\n```\n\n**Note:** If no parameter is specified, the main menu is opened.\n\n### App Actions\n\n```\nhelp             ➜  Open help page\nversion          ➜  Print version info\nconfig           ➜  Edit config in built-in ediitor\n```\n\n### System Actions\n\n```\ncheck            ➜  Print package updates (checkupdates)\nnotify           ➜  Notify on new package updates (autostart)\ndashboard        ➜  Show dashboard (logs, services, health)\nupgrade          ➜  System upgrade (news, health, pacman, aur, flatpak)\npackage          ➜  Search \u0026 manage packages (pacman, aur)\nservice          ➜  Manage services (system \u0026 user)\norphans          ➜  Remove orphaned packages (pacman, aur, flatpak)\nmerge            ➜  Merge updated configurations (pacdiff, meld)\nrefresh          ➜  Refresh \u0026 edit pacman mirrorlist (reflector)\ndowngrade        ➜  Downgrade packages (pacman)\ncache            ➜  Clear package cache (pacman, aur)\nreset            ➜  Reset pacman keyring \u0026 upgrade (pacman)\n```\n\n### Install Dependencies\n\nUse parameter `--install` to install and preconfigure **all required packages** from the Arch OS Manager.\n\n#### Install \u0026 Set Font\n\nInstall and set font icons that are used to display information:\n\n```\nsudo pacman -S ttf-firacode-nerd\ngsettings set org.gnome.desktop.interface monospace-font-name 'FiraCode Nerd Font 10'\n```\n\nSource: [Nerd Fonts](https://www.nerdfonts.com/cheat-sheet)\n\n#### Pacman Packages (mandatory)\n\n```\ngit base-devel pacman-contrib\n```\n\n#### Binary Packages (mandatory)\n\nThese packages are downloaded to `~/.arch-os/bin`:\n\n- `gum` ➜ [GitHub Release](https://github.com/charmbracelet/gum/releases)\n- `kitty` ➜ [GitHub Release](https://github.com/kovidgoyal/kitty/releases)\n\n#### Pacman Packages (optional)\n\n```\nreflector libnotify fzf xdg-utils meld\n```\n\n#### AUR Packages (optional)\n\nThese packages are built and installed manually from the AUR-Git repository using `makepkg`:\n\n- paru (see `AUR_MANAGER_REPO` property for more details)\n- downgrade\n\nParu is preconfigured in `/etc/paru.conf`. Old configurations are copied to `/etc/paru.conf.20240919170446`, for example (before editing).\n\n## Config\n\nEdit the config with the built-in editor in Arch OS Manager or edit the config file manually.\n\n```\nCOLOR_FOREGROUND=110                  # Color foreground (see color chart)\nCOLOR_BACKGROUND=236                  # Color background (see color chart)\nCONTENT_MAX_WIDTH=110                 # Cut text after width in packages \u0026 logs (min: 80)\nCONTENT_MAX_HEIGHT=16                 # Max lines in packages \u0026 downgrade (max: 100)\nREFLECTOR_COUNTRY=none                # Set prefered reflector country (example: Germany,France)\nARCH_UPGRADE_CONFIRM=true             # Enable confirm upgrade system packages (experimental) (disable: false)\nARCH_DOWNLOAD_TIMEOUT=false           # Disable pacman/paru download timeout (enable: true)\nAUR_SUPPORT=true                      # Enable AUR support (disable: false)\nAUR_MANAGER_REPO=paru                 # Set AUR manager package for --install (paru, paru-bin, paru-git)\nAUR_REVIEW=false                      # Disable AUR review (enable: true)\nFLATPAK_SUPPORT=true                  # Enable flatpak support (disable: false)\nFLATPAK_UPGRADE_ENABLED=false         # Disable flatpak upgrade to use GNOME Software instead (enable: true)\nFLATPAK_UPGRADE_CONFIRM=false         # Disable confirm flatpak upgrade (experimental) (enable: true)\nAUTOSTART_NOTIFY=true                 # Enable update notify on system boot (disable: false)\nAUTOSTART_DELAY=30                    # Delay update check after boot in seconds (min: 10)\nORPHANS_CONFIRM=false                 # Disable confirm remove orphans (enable: true)\nNEWS_QUANTITY=3                       # Number of news to shown (disable: 0)\nUPGRADE_SHOW_HEALTH=false             # Show health view in upgrade (enable: true)\nHEALTH_ENABLE_UNKNOWN_PKG_LIST=false  # Show unknown package counter instead of name list (enable: true)\nHEALTH_SHOW_LOG=true                  # Show system log in healt (disable: false)\nDASHBOARD_SHOW_LOG=true               # Show system log in dashboard \u0026 health (disable: false)\nDASHBOARD_SHOW_SERVICES=true          # Show running services in dashboard (disable: false)\nDASHBOARD_SHOW_USER_SERVICES=false    # Show user services in dashboard \u0026 health (enable: true)\nDASHBOARD_SHOW_TIMESTAMP=true         # Show local databse timestamp (disable: false)\n```\n\n\u003cdetails\u003e\n\n\u003csummary style=\"font-weight: bold;\" id=\"color-chart\"\u003eColor Chart\u003c/summary\u003e\n\n\u003cp\u003e\u003cimg src=\"./color-chart.png\"\u003e\u003c/p\u003e\n\nSource: [Link](https://github.com/muesli/termenv?tab=readme-ov-file#color-chart)\n\n\u003c/details\u003e\n\n### Configuration Files\n\n- Arch OS Manager config: `~/.arch-os/config/settings.conf`\n- Built-in kitty config: `~/.arch-os/config/kitty.conf`\n- System log blacklist: `~/.arch-os/config/blacklist.conf`\n\n## Integrate GNOME Extension\n\n1. Install GNOME Extension **[➜ archlinux-updates-indicator](https://extensions.gnome.org/extension/1010/)**\n\n2. Set `Check command`:\n\n```\ndconf write /org/gnome/shell/extensions/arch-update/check-cmd \"'/usr/bin/arch-os check'\"\n```\n\n3. Set `Update command`:\n\n```\ndconf write /org/gnome/shell/extensions/arch-update/update-cmd \"'arch-os --kitty upgrade'\"\n```\n\n4. Set `Package Manager` (optional):\n\n```\ndconf write /org/gnome/shell/extensions/arch-update/package-manager \"'arch-os --kitty'\"\n```\n\n\u003cdetails\u003e\n\n\u003csummary\u003e\u003ch2 style=\"display: inline;\" id=\"screenshots\"\u003eScreenshots\u003c/h2\u003e\u003c/summary\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003csub\u003e\u003cb\u003eThis screenshots may outdated.\u003c/b\u003e\u003c/sub\u003e\n\n\n\u003cp\u003e\u003cimg src=\"./screenshots/notification.png\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"./screenshots/dashboard.png\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"./screenshots/health.png\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"./screenshots/upgrade.png\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"./screenshots/package.png\"\u003e\u003c/p\u003e\n\n\u003c/div\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\n\u003csummary\u003e\u003ch2 style=\"display: inline;\" id=\"development\"\u003eDevelopment\u003c/h2\u003e\u003c/summary\u003e\n\n```\n# Start with custom binaries (gum \u0026 kitty)\nGUM=/my/custom/gum KITTY=/my/custom/kitty ./arch-os\n\n# Install dependencies\n./arch-os --install\n\n# Init Arch OS Manager (binaries, dirs \u0026 files)\n./arch-os --init\n\n# Sync all databases\n./arch-os --sync\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\n\u003csummary\u003e\u003ch2 style=\"display: inline;\" id=\"credits\"\u003eCredits\u003c/h2\u003e\u003c/summary\u003e\n\n- https://www.nerdfonts.com/cheat-sheet\n- https://github.com/RaphaelRochet/arch-update\n- https://github.com/Morganamilo/paru\n- https://github.com/kovidgoyal/kitty\n- https://github.com/charmbracelet/gum\n- https://github.com/archlinux-downgrade/downgrade\n- https://meldmerge.org\n- https://archlinux.org\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmurkl%2Farch-os-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmurkl%2Farch-os-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmurkl%2Farch-os-manager/lists"}