nixos-configs/modules/ags/hyprland.nix
matt1432 8193a7db1e chore: update sources
Flake Inputs:
    • Updated input 'gtk-theme-src':
        'github:dracula/gtk' (2025-04-18) rev: 82837065c824158d4242c19ea7dded7645b9a9f1
      → 'github:dracula/gtk' (2025-04-27) rev: 3834a1bac175b226cff6b1c94faac9aba2819bd5

    • Updated input 'home-manager':
        'github:nix-community/home-manager' (2025-04-27) rev: 7b2aae3fb39928aecc5e41c10a9c87c4881614d5
      → 'github:nix-community/home-manager' (2025-04-28) rev: d0d9d0a1454d5a0200693570618084d80a8b336c

    • Updated input 'hyprgrass':
        'github:horriblename/hyprgrass' (2025-04-26) rev: 9125826ccc16bd3722fd07d74e7c5677b9c6d128
      → 'github:horriblename/hyprgrass' (2025-04-27) rev: 9b548876dcd30924047feed6b3b3086142d53ab4

    • Updated input 'hyprland':
        'github:hyprwm/Hyprland' (2025-04-27) rev: 0302bfdc2207f9b5482fb07aa6052e7f6cb237ca
      → 'github:hyprwm/Hyprland' (2025-04-27) rev: f5c5cfa960c157c8df50b496f621290234ac4505

    • Updated input 'modernz-src':
        'github:Samillion/ModernZ' (2025-04-19) rev: 6c49917529ab419a539d04f355a4760279964e57
      → 'github:Samillion/ModernZ' (2025-04-28) rev: 7b0a1ab702a4f2773eb20ad1c77ec257bdeca22d

    • Updated input 'nix-fast-build':
        'github:Mic92/nix-fast-build' (2025-04-27) rev: 0e5cbf407f2189941a766906bafe919b71f9126f
      → 'github:Mic92/nix-fast-build' (2025-04-28) rev: fc256b5e39013bb147e230a4fec513bd72c3b699

    • Updated input 'spotifyplus-src':
        'github:thlucas1/homeassistantcomponent_spotifyplus' (2025-04-27) rev: e2b82ab5371636f5b1c13f78264667c1732aa4d5
      → 'github:thlucas1/homeassistantcomponent_spotifyplus' (2025-04-27) rev: bca176bb4a35299a8378d9ec504593e268c87868

    • Updated input 'wakewords-src':
        'github:fwartner/home-assistant-wakewords-collection' (2025-04-24) rev: 755eded16d3f6feeb8556d2044357f07713e04e2
      → 'github:fwartner/home-assistant-wakewords-collection' (2025-04-28) rev: c7fbdcef2342974f05831dddae15462fd00bad4f

Docker Images:
    • ghcr.io/immich-app/immich-machine-learning release:
       sha256:48fc9c8315a00e1856cb9dff1db626ec8c7f1e424d60a6002c7f04ce94fdfa9a
     → sha256:f45063889794008cfc02fcf9d359b55fe37d1f8ebaf89653c89e1dd0e876eb7d

    • ghcr.io/immich-app/immich-server release:
       sha256:71cb6d2a6587f6481ae22b1cd743c74f163acbf26ade4df890e4425bb1f2e891
     → sha256:6680d88486251b0264a78a1934fe82eef875555aa6d84d703a0980328a5d5c31

Node modules:
    @types/node: 22.15.2 -> 22.15.3
    typescript-eslint: 8.31.0 -> 8.31.1
2025-04-28 13:54:14 -04:00

208 lines
4.8 KiB
Nix

self: {
lib,
osConfig,
...
}: let
inherit (self.lib.hypr) mkAnimation mkBezier mkBind mkLayerRule;
inherit (lib) mkIf;
cfgDesktop = osConfig.roles.desktop;
in {
config = mkIf cfgDesktop.ags.enable {
wayland.windowManager.hyprland = {
settings = {
general = {
gaps_in = 5;
gaps_out = 5;
border_size = 0;
};
decoration = {
rounding = 12;
blur = {
enabled = true;
size = 3;
passes = 1;
};
shadow.enabled = false;
};
animations = {
enabled = true;
bezier = map mkBezier [
{
name = "easeInQuart";
p0 = [0.895 0.030];
p1 = [0.685 0.220];
}
{
name = "easeOutQuart";
p0 = [0.165 0.840];
p1 = [0.440 1.000];
}
{
name = "easeInOutQuart";
p0 = [0.770 0.000];
p1 = [0.175 1.000];
}
# fade out
{
name = "easeInExpo";
p0 = [0.950 0.050];
p1 = [0.795 0.035];
}
];
animation = map mkAnimation [
{
name = "workspaces";
duration = 6;
bezier = "easeOutQuart";
style = "slide";
}
{
name = "windows";
duration = 4;
bezier = "easeOutQuart";
style = "slide";
}
{
name = "fadeIn";
enable = false;
}
{
name = "fadeOut";
duration = 4;
bezier = "easeInExpo";
}
{
name = "fadeLayersIn";
enable = false;
}
{
name = "fadeLayersOut";
duration = 4;
bezier = "easeInExpo";
}
{
name = "layers";
duration = 4;
bezier = "easeInOutQuart";
style = "fade";
}
];
};
layerrule = map mkLayerRule [
{
rule = "animation popin";
namespace = "^(hyprpaper.*)";
}
{
rule = "animation fade";
namespace = "^(bg-layer.*)";
}
{
rule = "noanim";
namespace = "^(noanim-.*)";
}
{
rule = "blur";
namespace = "^(blur-bg.*)";
}
{
rule = "ignorealpha 0.19";
namespace = "^(blur-bg.*)";
}
];
exec-once = [
"ags"
"sleep 3; ags request 'open win-applauncher'"
];
bind = map mkBind [
{
modifier = "$mainMod SHIFT";
key = "E";
command = "ags toggle win-powermenu";
}
{
modifier = "$mainMod";
key = "D";
command = "ags toggle win-applauncher";
}
{
modifier = "$mainMod";
key = "V";
command = "ags toggle win-clipboard";
}
{
key = "Print";
command = "ags toggle win-screenshot";
}
{
key = "XF86AudioMute";
command = "pactl set-sink-mute @DEFAULT_SINK@ toggle";
}
{
key = "XF86AudioMicMute";
command = "pactl set-source-mute @DEFAULT_SOURCE@ toggle";
}
{
modifier = "$mainMod";
key = "Print";
command = "bash -c \"grim -g \\\"$(slurp)\\\" - | satty -f -\"";
}
];
binde = map mkBind [
{
key = "XF86MonBrightnessUp";
command = "ags request 'Brightness.screen +0.05'";
}
{
key = "XF86MonBrightnessDown";
command = "ags request 'Brightness.screen -0.05'";
}
{
key = "XF86AudioRaiseVolume";
command = "wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ & ags request 'popup speaker' &";
}
{
key = "XF86AudioLowerVolume";
command = "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- & ags request 'popup speaker' &";
}
];
bindn = map mkBind [
{
key = "Escape";
command = "ags request closeAll";
}
];
bindr = map mkBind [
{
modifier = "CAPS";
key = "Caps_Lock";
command = "ags request fetchCapsState";
}
];
};
};
};
# For accurate stack trace
_file = ./default.nix;
}