1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-24 13:32:50 -05:00
Files
DankMaterialShell/CONTRIBUTING.md
Marcus Ramberg 7c88865d67 Refactor pre-commit hooks to use prek (#976)
* ci: change to prek for pre-commit

* refactor: fix shellcheck warnings for the scripts

* chore: unify whitespace formatting

* nix: add prek to dev shell
2025-12-11 09:11:12 -05:00

1.7 KiB

Contributing

Contributions are welcome and encouraged.

To contribute fork this repository, make your changes, and open a pull request.

Setup

Install prek then activate pre-commit hooks:

prek install

Nix Development Shell

If you have Nix installed with flakes enabled, you can use the provided development shell which includes all necessary dependencies:

nix develop

This will provide:

  • Go 1.24 toolchain (go, gopls, delve, go-tools) and GNU Make
  • Quickshell and required QML packages
  • Properly configured QML2_IMPORT_PATH

The dev shell automatically creates the .qmlls.ini file in the quickshell/ directory.

VSCode Setup

This is a monorepo, the easiest thing to do is to open an editor in either quickshell, core, or both depending on which part of the project you are working on.

QML (quickshell directory)

  1. Install the QML Extension
  2. Configure ctrl+shift+p -> user preferences (json) with qmlls path
{
  "qt-qml.doNotAskForQmllsDownload": true,
  "qt-qml.qmlls.customExePath": "/usr/lib/qt6/bin/qmlls"
}
  1. Create empty .qmlls.ini file in quickshell/ directory
cd quickshell
touch .qmlls.ini
  1. Restart dms to generate the .qmlls.ini file

  2. Make your changes, test, and open a pull request.

GO (core directory)

  1. Install the Go Extension
  2. Ensure code is formatted with make fmt
  3. Add appropriate test coverage and ensure tests pass with make test
  4. Run go mod tidy
  5. Open pull request

Pull request

Include screenshots/video if applicable in your pull request if applicable, to visualize what your change is affecting.