diff --git a/README.md b/README.md new file mode 100644 index 0000000..51ab30a --- /dev/null +++ b/README.md @@ -0,0 +1,73 @@ +# 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.