* ci: change to prek for pre-commit * refactor: fix shellcheck warnings for the scripts * chore: unify whitespace formatting * nix: add prek to dev shell
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)
- Install the QML Extension
- Configure
ctrl+shift+p-> user preferences (json) with qmlls path
{
"qt-qml.doNotAskForQmllsDownload": true,
"qt-qml.qmlls.customExePath": "/usr/lib/qt6/bin/qmlls"
}
- Create empty
.qmlls.inifile inquickshell/directory
cd quickshell
touch .qmlls.ini
-
Restart dms to generate the
.qmlls.inifile -
Make your changes, test, and open a pull request.
GO (core directory)
- Install the Go Extension
- Ensure code is formatted with
make fmt - Add appropriate test coverage and ensure tests pass with
make test - Run
go mod tidy - Open pull request
Pull request
Include screenshots/video if applicable in your pull request if applicable, to visualize what your change is affecting.