aboutsummaryrefslogtreecommitdiffhomepage
path: root/nix
diff options
context:
space:
mode:
authorMihai Fufezan <[email protected]>2023-08-02 00:49:30 +0300
committerMihai Fufezan <[email protected]>2023-08-14 10:39:57 +0300
commite510c6a7fcccb22db9cd4d07865382e9e3650410 (patch)
tree8e26ca841732b295e6dd25ccbedfe7a944949d12 /nix
parentc1bcbdb3dd1370351738d3874a58c57be8faaa9a (diff)
downloadHyprland-e510c6a7fcccb22db9cd4d07865382e9e3650410.tar.gz
Hyprland-e510c6a7fcccb22db9cd4d07865382e9e3650410.zip
Nix: add deprecation messages for removed/renamed flags
Diffstat (limited to 'nix')
-rw-r--r--nix/default.nix173
1 files changed, 89 insertions, 84 deletions
diff --git a/nix/default.nix b/nix/default.nix
index fcafe7fe..663d5429 100644
--- a/nix/default.nix
+++ b/nix/default.nix
@@ -33,99 +33,104 @@
wrapRuntimeDeps ? true,
version ? "git",
commit,
+ # deprecated flags
+ nvidiaPatches ? false,
+ hidpiXWayland ? false,
}:
-stdenv.mkDerivation {
- pname = "hyprland${lib.optionalString enableNvidiaPatches "-nvidia"}${lib.optionalString debug "-debug"}";
- inherit version;
+assert lib.assertMsg (!nvidiaPatches) "The option `nvidiaPatches` has been renamed `enableNvidiaPatches`";
+assert lib.assertMsg (!hidpiXWayland) "The option `hidpiXWayland` has been removed. Please refer https://wiki.hyprland.org/Configuring/XWayland";
+ stdenv.mkDerivation {
+ pname = "hyprland${lib.optionalString enableNvidiaPatches "-nvidia"}${lib.optionalString debug "-debug"}";
+ inherit version;
- src = lib.cleanSourceWith {
- filter = name: type: let
- baseName = baseNameOf (toString name);
- in
- ! (lib.hasSuffix ".nix" baseName);
- src = lib.cleanSource ../.;
- };
+ src = lib.cleanSourceWith {
+ filter = name: type: let
+ baseName = baseNameOf (toString name);
+ in
+ ! (lib.hasSuffix ".nix" baseName);
+ src = lib.cleanSource ../.;
+ };
- nativeBuildInputs = [
- jq
- meson
- ninja
- pkg-config
- makeWrapper
- wayland-scanner
- ];
+ nativeBuildInputs = [
+ jq
+ meson
+ ninja
+ pkg-config
+ makeWrapper
+ wayland-scanner
+ ];
- outputs = [
- "out"
- "man"
- "dev"
- ];
+ outputs = [
+ "out"
+ "man"
+ "dev"
+ ];
- buildInputs =
- [
- git
- cairo
- hyprland-protocols
- libdrm
- libinput
- libxkbcommon
- mesa
- pango
- udis86
- wayland
- wayland-protocols
- pciutils
- (wlroots.override {inherit enableNvidiaPatches;})
- ]
- ++ lib.optionals enableXWayland [libxcb xcbutilwm xwayland]
- ++ lib.optionals withSystemd [systemd];
+ buildInputs =
+ [
+ git
+ cairo
+ hyprland-protocols
+ libdrm
+ libinput
+ libxkbcommon
+ mesa
+ pango
+ udis86
+ wayland
+ wayland-protocols
+ pciutils
+ (wlroots.override {inherit enableNvidiaPatches;})
+ ]
+ ++ lib.optionals enableXWayland [libxcb xcbutilwm xwayland]
+ ++ lib.optionals withSystemd [systemd];
- mesonBuildType =
- if debug
- then "debug"
- else "release";
+ mesonBuildType =
+ if debug
+ then "debug"
+ else "release";
- mesonFlags = builtins.concatLists [
- ["-Dauto_features=disabled"]
- (lib.optional enableXWayland "-Dxwayland=enabled")
- (lib.optional legacyRenderer "-Dlegacy_renderer=enabled")
- (lib.optional withSystemd "-Dsystemd=enabled")
- ];
+ mesonFlags = builtins.concatLists [
+ ["-Dauto_features=disabled"]
+ (lib.optional enableXWayland "-Dxwayland=enabled")
+ (lib.optional legacyRenderer "-Dlegacy_renderer=enabled")
+ (lib.optional withSystemd "-Dsystemd=enabled")
+ ];
- patches = [
- # make meson use the provided wlroots instead of the git submodule
- ./patches/meson-build.patch
- # fixes portals search path to be picked up from $XDG_DESKTOP_PORTAL_DIR
- ./patches/portals.patch
- ];
+ patches = [
+ # make meson use the provided wlroots instead of the git submodule
+ ./patches/meson-build.patch
+ # fixes portals search path to be picked up from $XDG_DESKTOP_PORTAL_DIR
+ ./patches/portals.patch
+ ];
- postPatch = ''
- # Fix hardcoded paths to /usr installation
- sed -i "s#/usr#$out#" src/render/OpenGL.cpp
- substituteInPlace meson.build \
- --replace "@GIT_COMMIT_HASH@" '${commit}' \
- --replace "@GIT_DIRTY@" '${
- if commit == ""
- then "dirty"
- else ""
- }'
- '';
+ postPatch = ''
+ # Fix hardcoded paths to /usr installation
+ sed -i "s#/usr#$out#" src/render/OpenGL.cpp
+ substituteInPlace meson.build \
+ --replace "@GIT_COMMIT_HASH@" '${commit}' \
+ --replace "@GIT_DIRTY@" '${
+ if commit == ""
+ then "dirty"
+ else ""
+ }'
+ '';
- postInstall = ''
- ln -s ${wlroots}/include/wlr $dev/include/hyprland/wlroots
- ${lib.optionalString wrapRuntimeDeps ''
- wrapProgram $out/bin/Hyprland \
- --suffix PATH : ${lib.makeBinPath [binutils pciutils]}
- ''}
- '';
+ postInstall = ''
+ ln -s ${wlroots}/include/wlr $dev/include/hyprland/wlroots
+ ${lib.optionalString wrapRuntimeDeps ''
+ wrapProgram $out/bin/Hyprland \
+ --suffix PATH : ${lib.makeBinPath [binutils pciutils]}
+ ''}
+ '';
- passthru.providedSessions = ["hyprland"];
+ passthru.providedSessions = ["hyprland"];
- meta = with lib; {
- homepage = "https://github.com/vaxerski/Hyprland";
- description = "A dynamic tiling Wayland compositor that doesn't sacrifice on its looks";
- license = licenses.bsd3;
- platforms = platforms.linux;
- mainProgram = "Hyprland";
- };
-}
+ meta = with lib; {
+ homepage = "https://github.com/vaxerski/Hyprland";
+ description = "A dynamic tiling Wayland compositor that doesn't sacrifice on its looks";
+ license = licenses.bsd3;
+ platforms = platforms.linux;
+ mainProgram = "Hyprland";
+ };
+ }