build: update build guide, nix and guix packages

This commit is contained in:
outfoxxed 2025-06-12 04:48:09 -07:00
parent 703a378908
commit 05b5eccf2e
Signed by untrusted user: outfoxxed
GPG key ID: 4C88A185FB89301E
5 changed files with 20 additions and 16 deletions

View file

@ -44,7 +44,7 @@ Quickshell has a set of base dependencies you will always need, names vary by di
- `qtshadertools` (build-time only) - `qtshadertools` (build-time only)
- `spirv-tools` (build-time only) - `spirv-tools` (build-time only)
- `pkg-config` (build-time only) - `pkg-config` (build-time only)
- `cli11` - `cli11` (build-time only)
On some distros, private Qt headers are in separate packages which you may have to install. On some distros, private Qt headers are in separate packages which you may have to install.
We currently require private headers for the following libraries: We currently require private headers for the following libraries:

View file

@ -5,18 +5,20 @@
keepDebugInfo, keepDebugInfo,
buildStdenv ? pkgs.clangStdenv, buildStdenv ? pkgs.clangStdenv,
pkg-config,
cmake, cmake,
ninja, ninja,
qt6,
spirv-tools, spirv-tools,
cli11, qt6,
breakpad, breakpad,
jemalloc, jemalloc,
cli11,
wayland, wayland,
wayland-protocols, wayland-protocols,
wayland-scanner,
xorg,
libdrm, libdrm,
libgbm ? null, libgbm ? null,
xorg,
pipewire, pipewire,
pam, pam,
@ -46,11 +48,12 @@
version = "0.1.0"; version = "0.1.0";
src = nix-gitignore.gitignoreSource "/docs\n/examples\n" ./.; src = nix-gitignore.gitignoreSource "/docs\n/examples\n" ./.;
nativeBuildInputs = with pkgs; [ nativeBuildInputs = [
cmake cmake
ninja ninja
qt6.qtshadertools qt6.qtshadertools
spirv-tools spirv-tools
cli11
qt6.wrapQtAppsHook qt6.wrapQtAppsHook
pkg-config pkg-config
] ++ (lib.optionals withWayland [ ] ++ (lib.optionals withWayland [
@ -61,7 +64,6 @@
buildInputs = [ buildInputs = [
qt6.qtbase qt6.qtbase
qt6.qtdeclarative qt6.qtdeclarative
cli11
] ]
++ lib.optional withCrashReporter breakpad ++ lib.optional withCrashReporter breakpad
++ lib.optional withJemalloc jemalloc ++ lib.optional withJemalloc jemalloc
@ -96,9 +98,10 @@
dontStrip = debug; dontStrip = debug;
meta = with lib; { meta = with lib; {
homepage = "https://git.outfoxxed.me/outfoxxed/quickshell"; homepage = "https://quickshell.outfoxxed.me";
description = "Flexbile QtQuick based desktop shell toolkit"; description = "Flexbile QtQuick based desktop shell toolkit";
license = licenses.lgpl3Only; license = licenses.lgpl3Only;
platforms = platforms.linux; platforms = platforms.linux;
mainProgram = "quickshell";
}; };
} }

6
flake.lock generated
View file

@ -2,11 +2,11 @@
"nodes": { "nodes": {
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1736012469, "lastModified": 1749285348,
"narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", "narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", "rev": "3e3afe5174c561dee0df6f2c2b2236990146329f",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -4,8 +4,9 @@
}; };
outputs = { self, nixpkgs }: let outputs = { self, nixpkgs }: let
forEachSystem = fn: nixpkgs.lib.genAttrs forEachSystem = fn:
[ "x86_64-linux" "aarch64-linux" ] nixpkgs.lib.genAttrs
nixpkgs.lib.platforms.linux
(system: fn system nixpkgs.legacyPackages.${system}); (system: fn system nixpkgs.legacyPackages.${system});
in { in {
packages = forEachSystem (system: pkgs: rec { packages = forEachSystem (system: pkgs: rec {

View file

@ -35,9 +35,9 @@
pkg-config pkg-config
qtshadertools qtshadertools
spirv-tools spirv-tools
wayland-protocols)) wayland-protocols
(inputs (list cli11 cli11))
jemalloc (inputs (list jemalloc
libdrm libdrm
libxcb libxcb
libxkbcommon libxkbcommon