Contributing

Contributions are welcome! If you find a bug or want to add support for a new KDE feature, please open an issue or pull request.

Development Environment

This project includes a flake.nix that provides a development shell with necessary tools (formatters, linters).

nix develop

formatting

We use nixfmt for Nix files and black for Python files.

To format the codebase:

nix fmt

Running Tests

There are basic tests included to ensure configuration files are generated correctly.

nix flake check

Structure

  • modules/: Contains the NixOS/Home Manager modules.
  • modules/widgets/: Definitions for panel widgets.
  • lib/: Helper functions.
  • script/: Python/Ruby scripts for rc2nix and config writing.