oizys/modules/desktop/window-managers/hyprland.nix

68 lines
1.3 KiB
Nix

{
inputs,
pkgs,
config,
lib,
...
}: let
inherit (lib) mkIf;
cfg = config.programs.hyprland;
lock = pkgs.writeShellApplication {
name = "lock";
runtimeInputs = with pkgs; [swaylock];
text = ''
swaylock -c 1e1e2e
'';
};
in {
config = mkIf cfg.enable {
systemd.services.screen-locker = {
wantedBy = ["sleep.target"];
description = "Lock the screen using a custom lock script";
before = ["suspend.target"];
serviceConfig = {
User = "daylin";
Type = "forking";
Environment = "DISPLAY=:0";
ExecStart = "${lock}/bin/lock";
};
};
security.pam.services.swaylock = {};
# programs.hyprland.package = inputs.hyprland.packages.${pkgs.system}.default;
# Optional, hint electron apps to use wayland:
environment.sessionVariables.NIXOS_OZONE_WL = "1";
environment.systemPackages = with pkgs; [
wlr-randr
kanshi
lock
brightnessctl
udiskie
# notifications
libnotify
dunst
# screenshots
grimblast
eww-wayland
rofi-wayland
hyprpaper
catppuccin-cursors.mochaDark
pavucontrol
wl-clipboard
];
nixpkgs.overlays = [
inputs.hyprland-contrib.overlays.default
inputs.nixpkgs-wayland.overlay
inputs.hyprland.overlays.default
];
};
}