docs: add build, packaging and development instructions
This commit is contained in:
parent
238ca8cf0b
commit
bd504daf56
3 changed files with 241 additions and 73 deletions
94
README.md
94
README.md
|
@ -11,7 +11,7 @@ Hosted on: [outfoxxed's gitea], [github]
|
|||
Documentation available at [quickshell.outfoxxed.me](https://quickshell.outfoxxed.me) or
|
||||
can be built from the [quickshell-docs](https://git.outfoxxed.me/outfoxxed/quickshell-docs) repo.
|
||||
|
||||
Some fully working examples can be found in the [quickshell-examples](https://git.outfoxxed.me/outfoxxed/quickshell-examples)
|
||||
Some fully working examples can be found in the [quickshell-examples](https://git.outfoxxed.me/outfoxxed/quickshell-examples)
|
||||
repo.
|
||||
|
||||
Both the documentation and examples are included as submodules with revisions that work with the current
|
||||
|
@ -48,84 +48,32 @@ This repo has a nix flake you can use to install the package directly:
|
|||
Quickshell's binary is available at `quickshell.packages.<system>.default` to be added to
|
||||
lists such as `environment.systemPackages` or `home.packages`.
|
||||
|
||||
`quickshell.packages.<system>.nvidia` is also available for nvidia users which fixes some
|
||||
common crashes.
|
||||
The package contains several features detailed in [BUILD.md](BUILD.md) which can be enabled
|
||||
or disabled with overrides:
|
||||
|
||||
```nix
|
||||
quickshell.packages.<system>.default.override {
|
||||
enableWayland = true;
|
||||
enableX11 = true;
|
||||
enablePipewire = true;
|
||||
withQtSvg = true;
|
||||
withJemalloc = true;
|
||||
}
|
||||
```
|
||||
|
||||
Note: by default this package is built with clang as it is significantly faster.
|
||||
|
||||
## Manual
|
||||
## Arch (AUR)
|
||||
Quickshell has a third party [AUR package] available under the same name.
|
||||
As is usual with the AUR it is not maintained by us and should be looked over before use.
|
||||
|
||||
If not using nix, you'll have to build from source.
|
||||
[AUR package]: https://aur.archlinux.org/packages/quickshell
|
||||
|
||||
### Dependencies
|
||||
To build quickshell at all, you will need the following packages (names may vary by distro)
|
||||
## Anything else
|
||||
See [BUILD.md](BUILD.md) for instructions on building and packaging quickshell.
|
||||
|
||||
- just
|
||||
- cmake
|
||||
- ninja
|
||||
- pkg-config
|
||||
- Qt6 [ QtBase, QtDeclarative ]
|
||||
|
||||
Jemalloc is recommended, in which case you will need:
|
||||
- jemalloc
|
||||
|
||||
To build with wayland support you will additionally need:
|
||||
- wayland
|
||||
- wayland-scanner (may be part of wayland on some distros)
|
||||
- wayland-protocols
|
||||
- Qt6 [ QtWayland ]
|
||||
|
||||
To build with x11 support you will additionally need:
|
||||
- libxcb
|
||||
|
||||
To build with pipewire support you will additionally need:
|
||||
- libpipewire
|
||||
|
||||
### Building
|
||||
|
||||
To make a release build of quickshell run:
|
||||
```sh
|
||||
$ just release
|
||||
```
|
||||
|
||||
If running an nvidia GPU, instead run:
|
||||
```sh
|
||||
$ just configure release -DNVIDIA_COMPAT=ON
|
||||
$ just build
|
||||
```
|
||||
|
||||
(These commands are just aliases for cmake commands you can run directly,
|
||||
see the Justfile for more information.)
|
||||
|
||||
If you have all the dependencies installed and they are in expected
|
||||
locations this will build correctly.
|
||||
|
||||
To install to /usr/local/bin run as root (usually `sudo`) in the same folder:
|
||||
```
|
||||
$ just install
|
||||
```
|
||||
|
||||
### Building (Nix)
|
||||
|
||||
You can build directly using the provided nix flake or nix package.
|
||||
```
|
||||
nix build
|
||||
nix build -f package.nix # calls default.nix with a basic callPackage expression
|
||||
```
|
||||
|
||||
# Development
|
||||
|
||||
For nix there is a devshell available from `shell.nix` and as a devShell
|
||||
output from the flake.
|
||||
|
||||
The Justfile contains various useful aliases:
|
||||
- `just configure [<debug|release> [extra cmake args]]`
|
||||
- `just build` (runs configure for debug mode)
|
||||
- `just run [args]`
|
||||
- `just clean`
|
||||
- `just test [args]` (configure with `-DBUILD_TESTING=ON` first)
|
||||
- `just fmt`
|
||||
- `just lint`
|
||||
# Contributing / Development
|
||||
See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
|
||||
|
||||
#### License
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue