Skip to main content
Better Blur DX can be installed on NixOS using flakes. This provides declarative configuration and reproducible builds.

Installation with Flakes

1

Add to flake.nix

Add Better Blur DX as an input to your flake.nix:
flake.nix
{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";

    kwin-effects-better-blur-dx = {
      url = "github:xarblu/kwin-effects-better-blur-dx";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };
}
The inputs.nixpkgs.follows = "nixpkgs" line ensures Better Blur DX uses the same nixpkgs version as your system, preventing duplicate dependencies.
2

Add to System Packages

Reference the flake input in your system configuration:
3

Rebuild Your System

Apply the configuration:
sudo nixos-rebuild switch --flake .#
4

Enable the Effect

After rebuilding:
  1. Open System Settings > Desktop Effects
  2. Disable any existing blur effects
  3. Enable Better Blur DX

Complete Example

Here’s a complete example showing the flake structure:
flake.nix
{
  description = "My NixOS System";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    
    kwin-effects-better-blur-dx = {
      url = "github:xarblu/kwin-effects-better-blur-dx";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs = { self, nixpkgs, kwin-effects-better-blur-dx, ... }@inputs: {
    nixosConfigurations.hostname = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      specialArgs = { inherit inputs; };
      modules = [
        ./configuration.nix
      ];
    };
  };
}
configuration.nix
{ inputs, pkgs, ... }:

{
  # ... other configuration ...

  environment.systemPackages = [
    inputs.kwin-effects-better-blur-dx.packages.${pkgs.system}.default
    # ... other packages ...
  ];

  # ... rest of configuration ...
}

Updating

To update to the latest version of Better Blur DX:
# Update the flake input
nix flake update kwin-effects-better-blur-dx

# Rebuild your system
sudo nixos-rebuild switch --flake .#
After updating, restart KWin by logging out and back in.

System Upgrades

Important: After upgrading Plasma or KWin, you may need to rebuild.The effect is compiled against a specific KWin version. After system upgrades that update KWin:
# Update and rebuild
nix flake update
sudo nixos-rebuild switch --flake .#
Then restart KWin by logging out and back in.

Home Manager Integration

You can also install Better Blur DX through Home Manager:
home.nix
{ inputs, pkgs, ... }:

{
  home.packages = [
    inputs.kwin-effects-better-blur-dx.packages.${pkgs.system}.default
  ];
}

Pinning a Specific Version

To pin a specific commit or version:
flake.nix
{
  inputs = {
    kwin-effects-better-blur-dx = {
      url = "github:xarblu/kwin-effects-better-blur-dx/COMMIT_HASH";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };
}
Replace COMMIT_HASH with the desired Git commit hash or tag.

Troubleshooting

If you encounter issues:
  1. Effect not loading: Verify the package is in your system:
    nix-store -q --references /run/current-system | grep better-blur
    
  2. Build failures: Try updating nixpkgs:
    nix flake update nixpkgs
    sudo nixos-rebuild switch --flake .#
    
  3. Version mismatch: Ensure the flake follows your nixpkgs:
    inputs.nixpkgs.follows = "nixpkgs"
    
  4. Check build logs: View the build output:
    nix build github:xarblu/kwin-effects-better-blur-dx --print-build-logs
    

Non-Flake Installation

If you’re not using flakes, you can install Better Blur DX using an overlay or by building manually. See the Manual Build guide.

Next Steps

Learn how to configure Better Blur DX in the Configuration section.

Build docs developers (and LLMs) love