wip: add hyprland

This commit is contained in:
Sean Kovacs 2026-02-28 12:41:55 -05:00
commit dc69c8e6f6
Signed by: sckova
GPG key ID: 00F325187C68651A
6 changed files with 791 additions and 6 deletions

480
flake.lock generated
View file

@ -19,6 +19,39 @@
"type": "github" "type": "github"
} }
}, },
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1771610171,
"narHash": "sha256-+DeInuhbm6a6PpHDNUS7pozDouq2+8xSDefoNaZLW0E=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "7f9eb087703ec4acc6b288d02fa9ea3db803cd3d",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"base16": { "base16": {
"inputs": { "inputs": {
"fromYaml": "fromYaml" "fromYaml": "fromYaml"
@ -116,6 +149,22 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
@ -192,6 +241,28 @@
"type": "github" "type": "github"
} }
}, },
"gitignore": {
"inputs": {
"nixpkgs": [
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -212,6 +283,327 @@
"type": "github" "type": "github"
} }
}, },
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1753964049,
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprgraphics": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1770511807,
"narHash": "sha256-suKmSbSk34uPOJDTg/GbPrKEJutzK08vj0VoTvAFBCA=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "7c75487edd43a71b61adb01cae8326d277aab683",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprgraphics",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprgraphics": "hyprgraphics",
"hyprland-guiutils": "hyprland-guiutils",
"hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"hyprwire": "hyprwire",
"nixpkgs": [
"nixpkgs-unstable"
],
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems",
"xdph": "xdph"
},
"locked": {
"lastModified": 1772297734,
"narHash": "sha256-ASoB8+3t/DNKWv2LCEDjUP+tV2+Mi6Lzi5lryXGN2B0=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "1c64ef06d9cb555fc562345c172c45e95c3b3077",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-guiutils": {
"inputs": {
"aquamarine": [
"hyprland",
"aquamarine"
],
"hyprgraphics": [
"hyprland",
"hyprgraphics"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprtoolkit": "hyprtoolkit",
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1767023960,
"narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=",
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1765214753,
"narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1771866172,
"narHash": "sha256-fYFoXhQLrm1rD8vSFKQBOEX4OGCuJdLt1amKfHd5GAw=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "0b219224910e7642eb0ed49f0db5ec3d008e3e41",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprtoolkit": {
"inputs": {
"aquamarine": [
"hyprland",
"hyprland-guiutils",
"aquamarine"
],
"hyprgraphics": [
"hyprland",
"hyprland-guiutils",
"hyprgraphics"
],
"hyprlang": [
"hyprland",
"hyprland-guiutils",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprland-guiutils",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprland-guiutils",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"hyprland-guiutils",
"nixpkgs"
],
"systems": [
"hyprland",
"hyprland-guiutils",
"systems"
]
},
"locked": {
"lastModified": 1764592794,
"narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=",
"owner": "hyprwm",
"repo": "hyprtoolkit",
"rev": "5cfe0743f0e608e1462972303778d8a0859ee63e",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprtoolkit",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1771271487,
"narHash": "sha256-41gEiUS0Pyw3L/ge1l8MXn61cK14VAhgWB/JV8s/oNI=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "340a792e3b3d482c4ae5f66d27a9096bdee6d76d",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1770501770,
"narHash": "sha256-NWRM6+YxTRv+bT9yvlhhJ2iLae1B1pNH3mAL5wi2rlQ=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "0bd8b6cde9ec27d48aad9e5b4deefb3746909d40",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"hyprwire": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1771606233,
"narHash": "sha256-F3PLUqQ/TwgR70U+UeOqJnihJZ2EuunzojYC4g5xHr0=",
"owner": "hyprwm",
"repo": "hyprwire",
"rev": "06c7f1f8c4194786c8400653c4efc49dc14c0f3a",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwire",
"type": "github"
}
},
"niri": { "niri": {
"inputs": { "inputs": {
"niri-stable": "niri-stable", "niri-stable": "niri-stable",
@ -280,7 +672,7 @@
"inputs": { "inputs": {
"cachyos-kernel": "cachyos-kernel", "cachyos-kernel": "cachyos-kernel",
"cachyos-kernel-patches": "cachyos-kernel-patches", "cachyos-kernel-patches": "cachyos-kernel-patches",
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_3",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
@ -384,7 +776,7 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"systems": "systems" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1769537308, "lastModified": 1769537308,
@ -480,12 +872,36 @@
"type": "github" "type": "github"
} }
}, },
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat_2",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1771858127,
"narHash": "sha256-Gtre9YoYl3n25tJH2AoSdjuwcqij5CPxL3U3xysYD08=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "49bbbfc218bf3856dfa631cead3b052d78248b83",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"apple-silicon": "apple-silicon", "apple-silicon": "apple-silicon",
"base16": "base16", "base16": "base16",
"base16-discord": "base16-discord", "base16-discord": "base16-discord",
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland",
"niri": "niri", "niri": "niri",
"niri-blur": "niri-blur", "niri-blur": "niri-blur",
"nix-cachyos-kernel": "nix-cachyos-kernel", "nix-cachyos-kernel": "nix-cachyos-kernel",
@ -508,7 +924,7 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"systems": "systems_2" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1769316930, "lastModified": 1769316930,
@ -525,6 +941,21 @@
} }
}, },
"systems": { "systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_2": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -539,7 +970,7 @@
"type": "github" "type": "github"
} }
}, },
"systems_2": { "systems_3": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -571,6 +1002,47 @@
"type": "github" "type": "github"
} }
}, },
"xdph": {
"inputs": {
"hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1761431178,
"narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "4b8801228ff958d028f588f0c2b911dbf32297f9",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
},
"xwayland-satellite-stable": { "xwayland-satellite-stable": {
"flake": false, "flake": false,
"locked": { "locked": {

View file

@ -45,6 +45,11 @@
flake = false; flake = false;
}; };
hyprland = {
url = "github:hyprwm/Hyprland";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
noctalia = { noctalia = {
url = "github:noctalia-dev/noctalia-shell"; url = "github:noctalia-dev/noctalia-shell";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -83,6 +88,7 @@
home-manager, home-manager,
plasma-manager, plasma-manager,
niri, niri,
hyprland,
noctalia, noctalia,
spicetify-nix, spicetify-nix,
nur, nur,
@ -127,6 +133,7 @@
config = pkgConfig; config = pkgConfig;
overlays = [ overlays = [
niri.overlays.niri niri.overlays.niri
hyprland.overlays.default
noctalia.overlays.default noctalia.overlays.default
nur.overlays.default nur.overlays.default
(final: prev: { (final: prev: {

View file

@ -1,6 +1,7 @@
{ pkgs, config, ... }: { pkgs, config, ... }:
{ {
imports = [ imports = [
./hyprland.nix
./niri.nix ./niri.nix
./noctalia.nix ./noctalia.nix
./wallpaper.nix ./wallpaper.nix

299
home/tiling/hyprland.nix Normal file
View file

@ -0,0 +1,299 @@
{
config,
...
}:
{
wayland.windowManager.hyprland = with config.scheme; {
enable = true;
settings = {
# -----------------------------------------------------
# Environment Variables & Debug
# -----------------------------------------------------
env = [
"QT_QPA_PLATFORM,wayland"
"QT_QPA_PLATFORMTHEME,qt6ct"
"DISPLAY,:0"
"XCURSOR_THEME,${config.userOptions.cursor.name}"
"XCURSOR_SIZE,${toString config.userOptions.cursor.size}"
];
debug = {
disable_scale_checks = true;
};
# -----------------------------------------------------
# Monitors (Outputs)
# -----------------------------------------------------
monitor = [
"eDP-1, 3024x1964@120.000, 0x0, 1.5"
"HDMI-A-1, 3840x2160@144.000, 0x0, 1.5"
"DP-1, 3840x2160@143.999, 0x0, 1.5"
];
# -----------------------------------------------------
# Autostart
# -----------------------------------------------------
exec-once = [ ]; # systemd is based sorry
# -----------------------------------------------------
# Input
# -----------------------------------------------------
input = {
kb_layout = "us";
numlock_by_default = false;
repeat_delay = 600;
repeat_rate = 25;
follow_mouse = 1;
touchpad = {
natural_scroll = true;
tap-to-click = false;
drag_lock = false;
};
};
device = [
{
name = "epic-mouse-v1";
accel_profile = "adaptive";
natural_scroll = false;
}
];
# -----------------------------------------------------
# General & Layout
# -----------------------------------------------------
general = {
gaps_in = 2;
gaps_out = 4;
border_size = 2;
"col.active_border" = "rgba(${config.scheme.${config.colors.accent}}E6)";
"col.inactive_border" = "rgba(${base01}E6)";
layout = "dwindle";
};
scrolling = {
column_width = 0.5;
follow_focus = true;
explicit_column_widths = "0.333,0.5,0.667";
direction = "right";
};
# -----------------------------------------------------
# Decoration (0.54 Syntax)
# -----------------------------------------------------
decoration = {
rounding = 8;
active_opacity = 0.90;
inactive_opacity = 0.90;
fullscreen_opacity = 1.0;
blur = {
enabled = true;
size = 3;
passes = 2;
noise = 0.05;
contrast = 1.0;
};
# Shadows now live in their own dedicated block
shadow = {
enabled = true;
range = 10;
render_power = 3;
color = "rgba(${base11}BF)";
};
};
# -----------------------------------------------------
# Misc Settings
# -----------------------------------------------------
misc = {
disable_hyprland_logo = true;
disable_splash_rendering = true;
};
# -----------------------------------------------------
# Window Rules (0.54 Block Syntax)
# -----------------------------------------------------
windowrule = [
{
name = "games-openmw";
"match:class" = "^(openmw)$";
opacity = "1.0 1.0";
maximize = "on";
}
{
name = "games-minecraft";
"match:class" = "^(Minecraft)$";
opacity = "1.0 1.0";
maximize = "on";
}
{
name = "media-mpv";
"match:class" = "^(mpv)$";
opacity = "1.0 1.0";
}
{
name = "media-pip";
"match:class" = "^(firefox)$";
"match:title" = "^(Picture-in-Picture)$";
opacity = "1.0 1.0";
float = "on";
}
{
name = "terminal-fastfetch";
"match:class" = "^(kitty)$";
"match:title" = "^(fastfetch)$";
float = "on";
size = "960 480";
center = "on";
}
];
# -----------------------------------------------------
# Layer Rules (0.54 Block Syntax)
# -----------------------------------------------------
layerrule = [
{
name = "bar-blur";
"match:namespace" = "^(noctalia-bar-content-.*)$";
blur = "on";
ignore_alpha = "0";
}
{
name = "launcher-blur";
"match:namespace" = "^(launcher)$";
blur = "on";
ignore_alpha = "0";
}
];
# -----------------------------------------------------
# Keybindings
# -----------------------------------------------------
"$mod" = "SUPER";
bind = [
"$mod, T, exec, kitty"
"$mod SHIFT, T, exec, kitty --title fastfetch sh -c 'fastfetch; sleep 10'"
"$mod, Space, exec, fuzzel"
", XF86Search, exec, fuzzel"
"$mod, M, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
", XF86AudioPrev, exec, playerctl previous"
", XF86AudioPlay, exec, playerctl play-pause"
", XF86AudioNext, exec, playerctl next"
"$mod, Q, killactive,"
"$mod SHIFT, E, exit,"
"CTRL ALT, Delete, exit,"
"$mod, V, togglefloating,"
"$mod SHIFT, F, fullscreen, 1"
"$mod CTRL SHIFT, F, fullscreen, 0"
"$mod, W, togglegroup,"
"$mod SHIFT, left, focusmonitor, l"
"$mod SHIFT, down, focusmonitor, d"
"$mod SHIFT, up, focusmonitor, u"
"$mod SHIFT, right, focusmonitor, r"
"$mod SHIFT, H, focusmonitor, l"
"$mod SHIFT, J, focusmonitor, d"
"$mod SHIFT, K, focusmonitor, u"
"$mod SHIFT, L, focusmonitor, r"
"$mod SHIFT CTRL, left, movewindow, mon:l"
"$mod SHIFT CTRL, down, movewindow, mon:d"
"$mod SHIFT CTRL, up, movewindow, mon:u"
"$mod SHIFT CTRL, right, movewindow, mon:r"
"$mod, Page_Down, workspace, e+1"
"$mod, Page_Up, workspace, e-1"
"$mod, U, workspace, e+1"
"$mod, I, workspace, e-1"
"$mod, mouse_down, workspace, e+1"
"$mod, mouse_up, workspace, e-1"
"$mod CTRL, Page_Down, movetoworkspace, e+1"
"$mod CTRL, Page_Up, movetoworkspace, e-1"
"$mod CTRL, U, movetoworkspace, e+1"
"$mod CTRL, I, movetoworkspace, e-1"
"$mod SHIFT, S, exec, grim -g \"$(slurp)\" ~/Pictures/Screenshots/$(date +'%%a %%b %%e %%Y @%%l:%%M %%p').png"
"CTRL SHIFT, S, exec, grim ~/Pictures/Screenshots/$(date +'%%a %%b %%e %%Y @%%l:%%M %%p').png"
"$mod SHIFT, P, dpms, off"
", XF86Sleep, dpms, off"
]
++ (builtins.concatLists (
builtins.attrValues (
builtins.mapAttrs
(key: dir: [
"$mod, ${key}, movefocus, ${dir}"
"$mod CTRL, ${key}, movewindow, ${dir}"
])
{
left = "l";
right = "r";
up = "u";
down = "d";
H = "l";
L = "r";
K = "u";
J = "d";
}
)
))
++ (builtins.concatLists (
builtins.genList (
x:
let
ws =
let
c = (x + 1) / 10;
in
builtins.toString (x + 1 - (c * 10));
in
[
"$mod, ${ws}, workspace, ${ws}"
"$mod CTRL, ${ws}, movetoworkspace, ${ws}"
]
) 9
));
binde = [
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+"
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-"
"SHIFT, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.01+"
"SHIFT, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.01-"
", MouseForward, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+"
", MouseBack, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-"
"SHIFT, MouseForward, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.01+"
"SHIFT, MouseBack, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.01-"
", XF86MonBrightnessUp, exec, noctalia-shell ipc call brightness increase"
", XF86MonBrightnessDown, exec, noctalia-shell ipc call brightness decrease"
"SHIFT, XF86MonBrightnessUp, exec, brightnessctl --class=backlight set +1%"
"SHIFT, XF86MonBrightnessDown, exec, brightnessctl --class=backlight set 1%-"
"$mod, equal, resizeactive, 40 0"
"$mod, minus, resizeactive, -40 0"
"$mod SHIFT, equal, resizeactive, 0 40"
"$mod SHIFT, minus, resizeactive, 0 -40"
];
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
};
};
}

View file

@ -10,7 +10,7 @@
${pkgs.wbg}/bin/wbg -s \ ${pkgs.wbg}/bin/wbg -s \
%h/.local/share/wallpaper/daily-colored.jpg %h/.local/share/wallpaper/daily-colored.jpg
''; '';
Install.WantedBy = [ "niri.service" ]; Install.WantedBy = [ "graphical-session.target" ];
}; };
systemd.user.services.bing-wallpaper = { systemd.user.services.bing-wallpaper = {
@ -47,7 +47,7 @@
} }
); );
Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user start gowall-convert.service"; Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user start gowall-convert.service";
Install.WantedBy = [ "niri.service" ]; Install.WantedBy = [ "graphical-session.target" ];
}; };
systemd.user.timers.bing-wallpaper = { systemd.user.timers.bing-wallpaper = {

View file

@ -89,6 +89,12 @@
} }
]; ];
}; };
hyprland = {
enable = true;
package = pkgs.hyprland;
portalPackage = pkgs.xdg-desktop-portal-hyprland;
withUWSM = true;
};
}; };
services = { services = {