Flexbile QtQuick based desktop shell toolkit.
Find a file
outfoxxed 2f194b7894
service/upower: track device additions/removals
Also ensures displayDevice is always present.
2024-12-20 15:58:44 -08:00
.github all: fix clang 18 lints 2024-11-24 03:36:04 -08:00
ci ci: use qt6.7.2 from cached nixpkgs commit 2024-11-23 05:39:27 -08:00
cmake build: add qs_add_link_dependencies 2024-11-19 13:58:34 -08:00
src service/upower: track device additions/removals 2024-12-20 15:58:44 -08:00
.clang-format feat(wayland): custom layershell implementation 2024-02-24 02:06:40 -08:00
.clang-tidy lint: remove reinterpret_cast lint 2024-12-06 20:18:38 -08:00
.editorconfig ci: test compilation against supported qt version / compiler matrix 2024-11-23 05:20:51 -08:00
.gitignore misc: remove the docs and examples submodules 2024-06-02 15:23:19 -07:00
BUILD.md i3/sway: add support for the I3 and Sway IPC 2024-11-24 12:50:22 +01:00
CMakeLists.txt i3/sway: add support for the I3 and Sway IPC 2024-11-24 12:50:22 +01:00
CONTRIBUTING.md docs: mention member reference syntax in CONTRIBUTING 2024-07-21 17:44:09 -07:00
default.nix i3/sway: add support for the I3 and Sway IPC 2024-11-24 12:50:22 +01:00
flake.lock ci: test compilation against supported qt version / compiler matrix 2024-11-23 05:20:51 -08:00
flake.nix all: remove NVIDIA workarounds 2024-06-02 15:36:33 -07:00
Justfile build: add progress bar to just lint-changed 2024-12-06 01:20:05 -08:00
LICENSE misc: add LGPL license 2024-03-04 06:10:03 -08:00
LICENSE-GPL misc: add LGPL license 2024-03-04 06:10:03 -08:00
README.md crash: print warning messages for run/buildtime Qt version mismatch 2024-10-17 14:58:45 -07:00
shell.nix ci: run lints and test compile on arch 2024-11-24 02:09:41 -08:00

quickshell

Flexbile QtQuick based desktop shell toolkit.

Hosted on: outfoxxed's gitea, github

Documentation available at quickshell.outfoxxed.me or can be built from the quickshell-docs repo.

Some fully working examples can be found in the quickshell-examples repo.

Breaking Changes

Quickshell is still in alpha and there will be breaking changes.

Commits with breaking qml api changes will contain a ! at the end of the scope (thing!: foo) and the commit description will contain details about the broken api.

Installation

Nix

This repo has a nix flake you can use to install the package directly:

{
  inputs = {
    nixpkgs.url = "nixpkgs/nixos-unstable";

    quickshell = {
      url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";

      # THIS IS IMPORTANT
      # Mismatched system dependencies will lead to crashes and other issues.
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };
}

Quickshell's binary is available at quickshell.packages.<system>.default to be added to lists such as environment.systemPackages or home.packages.

The package contains several features detailed in BUILD.md which can be enabled or disabled with overrides:

quickshell.packages.<system>.default.override {
  withJemalloc = true;
  withQtSvg = true;
  withWayland = true;
  withX11 = true;
  withPipewire = true;
  withPam = true;
  withHyprland = true;
}

Note: by default this package is built with clang as it is significantly faster.

Arch (AUR)

Quickshell has a third party AUR package available under the same name. It is not managed by us and should be looked over before use.

Caution

The AUR provides no way to force the quickshell package to rebuild when the Qt version changes. If you experience crashes after updating Qt, please try rebuilding Quickshell against the current Qt version before opening an issue.

Fedora (COPR)

Quickshell has a third party Fedora COPR package available under the same name. It is not managed by us and should be looked over before use.

Anything else

See BUILD.md for instructions on building and packaging quickshell.

Contributing / Development

See CONTRIBUTING.md for details.

License

Licensed under the GNU LGPL 3.
Unless you explicitly state otherwise, any contribution submitted for inclusion shall be licensed as above, without any additional terms or conditions.