{ config, pkgs, lib, user, inputs, flakeRoot, ... }: let hyprlandConf = builtins.readFile (flakeRoot + "/assets/hyprland/conf/hyprland.conf"); userConfig = import (flakeRoot + "/assets/flake/users/henrov.nix"); in { # Nix settings to use Hyprland's cache for packages nix.settings = { substituters = [ "https://hyprland.cachix.org" ]; trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; }; # Install Hyprland and enable it as the window manager environment.systemPackages = with pkgs; [ hyprland ]; programs.hyprland = { enable = true; xwayland.enable = true; }; # Hyprland-specific Home Manager configurations home-manager.users.${user.username} = { home.stateVersion = userConfig.stateVersion; home.username = userConfig.username; home.homeDirectory = userConfig.homeDirectory; xdg.configFile."hypr/hyprland.conf".text = hyprlandConf; }; }