mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-01-24 13:32:50 -05:00
* ci: change to prek for pre-commit * refactor: fix shellcheck warnings for the scripts * chore: unify whitespace formatting * nix: add prek to dev shell
68 lines
1.7 KiB
Markdown
68 lines
1.7 KiB
Markdown
# Contributing
|
|
|
|
Contributions are welcome and encouraged.
|
|
|
|
To contribute fork this repository, make your changes, and open a pull request.
|
|
|
|
## Setup
|
|
|
|
Install [prek](https://prek.j178.dev/) then activate pre-commit hooks:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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](https://doc.qt.io/vscodeext/)
|
|
2. Configure `ctrl+shift+p` -> user preferences (json) with qmlls path
|
|
|
|
```json
|
|
{
|
|
"qt-qml.doNotAskForQmllsDownload": true,
|
|
"qt-qml.qmlls.customExePath": "/usr/lib/qt6/bin/qmlls"
|
|
}
|
|
```
|
|
|
|
3. Create empty `.qmlls.ini` file in `quickshell/` directory
|
|
|
|
```bash
|
|
cd quickshell
|
|
touch .qmlls.ini
|
|
```
|
|
|
|
4. Restart dms to generate the `.qmlls.ini` file
|
|
|
|
5. Make your changes, test, and open a pull request.
|
|
|
|
### GO (`core` directory)
|
|
|
|
1. Install the [Go Extension](https://code.visualstudio.com/docs/languages/go)
|
|
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.
|