1
0
Fork
You've already forked kernel-manager
0
No description
  • HTML 79.2%
  • JavaScript 18.2%
  • Shell 2.6%
2026年06月26日 12:12:19 +02:00
assets Dateien nach „assets" hochladen 2026年06月26日 11:33:48 +02:00
src Dateien nach „src" hochladen 2026年06月26日 12:12:00 +02:00
install.sh Dateien nach „/" hochladen 2026年06月26日 11:16:04 +02:00
kernel-manager-light.png Dateien nach „/" hochladen 2026年06月26日 12:12:19 +02:00
kernel-manager.png Dateien nach „/" hochladen 2026年06月26日 12:12:19 +02:00
logo.png Dateien nach „/" hochladen 2026年06月26日 11:16:04 +02:00
main.js Dateien nach „/" hochladen 2026年06月26日 11:16:04 +02:00
package-lock.json Dateien nach „/" hochladen 2026年06月26日 11:16:04 +02:00
package.json Dateien nach „/" hochladen 2026年06月26日 11:16:04 +02:00
preload.js Dateien nach „/" hochladen 2026年06月26日 11:16:15 +02:00
README.md README.md aktualisiert 2026年06月26日 11:32:57 +02:00

🐧 Void Kernel Manager

A modern GUI for managing Linux kernels on Void Linux

Void Linux Electron License: MIT Version


Overview

Void Kernel Manager is a desktop application built with Electron that gives you a clean, graphical interface for everything kernel-related on Void Linux — installing and removing kernels via XBPS, compiling custom kernels, managing GRUB and UEFI boot settings, and more.

All terminal output streams live into an integrated console panel, so you always see exactly what's happening.


Screenshots

Light Dark
Light Theme Dark Theme

Features

XBPS Kernels

  • Lists all available kernels from the official Void Linux repositories
  • Shows which kernel is currently running (highlighted)
  • Install or remove kernels with a single click via pkexec
  • One-click "Next Boot Only" button — sets a specific kernel for the next boot via grub-reboot without changing the default
  • DKMS module status viewer — check which kernel modules are currently built
  • Disk space overview per kernel version (/lib/modules + /boot)
  • Purge old kernels with vkpurge

Downloads

  • Fetches the live version list directly from kernel.org
  • Download any kernel tarball (all variants: mainline, stable, longterm) into ~/Downloads
  • Clone a custom Git repository or download a tarball by URL, streamed into the integrated console

Build & Config

  • Compile a custom kernel with configurable options:
    • Optimization level (O2, O3, Os)
    • CPU architecture targeting (native, znver3, alderlake, ...)
    • LTO (Link-Time Optimization)
    • ZFS and NVIDIA out-of-tree module support
    • Preemption mode (voluntary, full, RT)
    • ZRAM compression algorithm
    • Extra KCFLAGS
  • Export the result as an XBPS package
  • Save and load build configurations as JSON

Boot Configuration

  • Auto-detects your bootloader (GRUB or UEFI)
  • GRUB: Edit GRUB_CMDLINE_LINUX_DEFAULT directly in the UI and run update-grub with one click
  • UEFI: Populate a dropdown from efibootmgr entries and set BootNext for a one-time boot

Integrated Console

  • All xbps-install, xbps-remove, wget, git clone, and build commands stream their output directly into the built-in terminal panel
  • No external terminal emulator required

Auto-Updater

  • One-click update from the Codeberg repository via git clone into /usr/local/bin/kernel-manager/

Requirements

Dependency Purpose
electron ≥ 28 App runtime
xbps-query, xbps-install, xbps-remove Kernel management
pkexec (Polkit) Privilege escalation
vkpurge Cleaning up old kernels
dkms (optional) DKMS module status
grub / efibootmgr (optional) Boot configuration
wget Kernel downloads
git Repository cloning

Installation

Clone and run:

git clone https://codeberg.org/https://codeberg.org/pinguin-void/kernel-manager.git
cd kernel-manager
chmod +x install.sh
sudo ./install.sh

Or install to /usr/local/bin:

git clone https://codeberg.org/pinguin-void/kernel-manager /usr/local/bin/kernel-manager
cd /usr/local/bin/kernel-manager
npm install

Place your logo.png in the root of the project directory next to main.js.


Project Structure

kernel-manager/
├── logo.png ← your app icon (place here)
├── main.js ← Electron main process (all IPC, system calls)
├── preload.js ← context bridge (renderer ↔ main)
├── package.json
└── src/
 └── index.html ← complete UI (i18n, theming, all tabs)

Internationalization

The UI automatically detects your system language via app.getLocale(). You can also switch languages manually with the dropdown in the header — the choice is saved between sessions.

Currently supported: Deutsch · English

Additional languages can be added by extending the STRINGS object in src/index.html.


Theming

The app follows your OS theme automatically using native CSS system colors (Canvas, CanvasText, Highlight, ...) — no extra configuration needed. It looks correct in both light and dark mode out of the box, including on systems that switch automatically.


Updating

Click "Update App" in the header to pull the latest version from Codeberg. The updater clones the repo to a temp directory and copies the files to /usr/local/bin/kernel-manager/ via pkexec. Restart the app afterward.


Contributing

Contributions, translations, and bug reports are welcome on Codeberg. Please open an issue before submitting large changes.


License

MIT — see LICENSE.