/quickshell

Flexible toolkit for making desktop shells with QtQuick, targeting Wayland and X11

Primary LanguageC++GNU Lesser General Public License v3.0LGPL-3.0

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.

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.