# CachyOS Kernel Manager A simple, terminal-based UI (TUI) application for managing CachyOS and standard Arch Linux kernels on your system. This tool provides an easy way to view, install, and uninstall various kernels. ## Features - **Interactive TUI:** A straightforward menu allows you to see all managed kernels at a glance. - **Status Indicators:** Clearly shows which kernels are currently installed. - **Batch Operations:** Select multiple kernels to install or uninstall in a single operation. - **Simplified Management:** Automates the process of running `pacman` commands to add or remove kernels and their corresponding headers. ## Managed Kernels The application manages a pre-defined list of popular CachyOS and standard Arch Linux kernels: ### CachyOS Kernels - `linux-cachyos` - `linux-cachyos-bmq` - `linux-cachyos-bore` - `linux-cachyos-deckify` - `linux-cachyos-eevdf` - `linux-cachyos-hardened` - `linux-cachyos-lts` - `linux-cachyos-rc` - `linux-cachyos-rt-bore` - `linux-cachyos-server` ### Standard Kernels - `linux` - `linux-hardened` - `linux-lts` - `linux-rt` - `linux-zen` ## Getting Started ### Prerequisites - A CachyOS or Arch Linux-based distribution. - .NET 8.0 SDK installed. - `pacman` package manager. ### Building and Running 1. **Clone the repository:** ```bash git clone cd CachyOSKernelManager ``` 2. **Run the application:** You can run the application directly using the .NET CLI: ```bash dotnet run --project CachyOSKernelManager.csproj ``` 3. **Build a release executable (Optional):** To create a self-contained executable: ```bash dotnet build -c Release ``` The executable will be located in `bin/Release/net8.0/linux-x64/`. ## How to Use When you run the application, you will be presented with a list of kernels. - **Navigate:** Use the **Up Arrow** and **Down Arrow** keys to move through the list. - **Select/Deselect:** Press the **Spacebar** to toggle a kernel for installation or uninstallation. - `[X]` indicates the kernel is selected for an action (or already installed). - `[ ]` indicates the kernel is not selected. - **Apply Changes:** Press **Enter** to apply the selected changes. The application will then run the necessary `pacman` commands. - **Quit:** Press **Q** to exit the application at any time.