hyprland-wiki/pages/Nix/Options & Overrides.md

63 lines
1.6 KiB
Markdown
Raw Permalink Normal View History

---
title: Options & Overrides
---
You can override the package through the `.override` or `.overrideAttrs`
mechanisms. This is easily achievable on [NixOS](../Hyprland-on-NixOS) or
2024-03-17 13:44:39 +01:00
[Home Manager](../Hyprland-on-Home-Manager).
2022-12-18 14:20:19 +01:00
## Package options
These are the default options that the Hyprland package is built with. These can
be changed by setting the appropriate option to `true`/`false`.
2022-12-18 14:20:19 +01:00
### Package
```nix
(pkgs.hyprland.override { # or inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland
2023-11-27 12:36:33 +01:00
enableXWayland = true; # whether to enable XWayland
legacyRenderer = false; # whether to use the legacy renderer (for old GPUs)
withSystemd = true; # whether to build with systemd support
2022-12-18 14:20:19 +01:00
})
```
### NixOS & HM modules
```nix
{
programs.hyprland = { # or wayland.windowManager.hyprland
enable = true;
xwayland.enable = true;
};
}
2022-12-18 14:20:19 +01:00
```
## Options descriptions
### XWayland
XWayland is enabled by default in the Nix package. You can disable it either in
the package itself, or through the module options.
2022-12-18 14:20:19 +01:00
## Using Nix repl
If you're using Nix (and not NixOS or Home Manager) and you want to override,
you can do it like this:
2022-12-18 14:20:19 +01:00
2023-08-26 18:31:56 +02:00
```nix
2022-12-18 14:20:19 +01:00
$ nix repl
2024-05-05 14:56:59 +02:00
nix-repl> :lf git+https://github.com/hyprwm/Hyprland?submodules=1
2023-11-27 12:36:33 +01:00
nix-repl> :bl outputs.packages.x86_64-linux.hyprland.override { /* flag here */ }
2022-12-18 14:20:19 +01:00
```
Then you can run Hyprland from the built path.
2024-08-13 22:13:20 +02:00
You can also use `overrideAttrs` to override `mkDerivation`'s arguments, such as
`cmakeBuildType`:
```nix
$ nix repl
nix-repl> :lf git+https://github.com/hyprwm/Hyprland?submodules=1
nix-repl> :bl outputs.packages.x86_64-linux.hyprland.overrideAttrs (self: super: { cmakeBuildType = "debug" })
```