1
0
Fork 0
mirror of https://git.sr.ht/~neverness/ultima synced 2025-01-07 22:33:53 +00:00
ultima/jetpure/home/parts/hyprland.nix
2024-12-27 23:10:04 +09:00

107 lines
3.4 KiB
Nix

{ pkgs, ... }:
{
module.wm.hyprland = {
autostart = [ "mako" ];
binds =
let
c = "--class";
pic = "$(xdg-user-dir PICTURES)/$(date +'scr_%d-%m-%y|%H:%M:%S.png')";
in
with pkgs;
[
# PROGRAMS
"$m, $rt, exec, kitty"
"$m $s, $rt, exec, kitty ${c}=termfloat"
"$m, V, exec, telegram-desktop"
"$m $s, V, exec, thunderbird"
"$m, B, exec, zen"
"$m $s, B, exec, qutebrowser"
"$m $a, B, exec, floorp"
"$m, N, exec, kitty yazi"
"$m $s, N, exec, nemo"
"$m, M, exec, spotify"
"$m $s, M, exec, kitty ${c}=anicliru anicli-ru -q 1080"
"$m $a, M, exec, onlyoffice"
"$m, Z, exec, bottles"
"$m $s, Z, exec, prismlauncher"
"$m $a, Z, exec, qbittorrent"
# SCREENSHOTTER & VIDEO
", $PR, exec, ${grimblast}/bin/grimblast copysave area ${pic}"
"$s, $PR, exec, ${grimblast}/bin/grimblast copysave output ${pic}"
];
rules =
let
# titile & class
cl = "class:^";
tt = "title:^";
il = "initialClass:^";
it = "initialTitle:^";
# regex
x =
class: win: type:
"${type}, ${class}(${win})$";
in
[
(x "${cl}" "firefox" "workspace 2 silent")
(x "${cl}" "zen-alpha" "workspace 2 silent")
(x "${cl}" "zen-beta" "workspace 2 silent")
(x "${cl}" "spotify" "workspace 3 silent")
(x "${il}" "spotify" "workspace 3 silent")
(x "${it}" "Spotify" "workspace 3 silent")
(x "${tt}" "Spotify Free" "workspace 3 silent")
(x "${cl}" "com.ayugram" "workspace 4 silent")
(x "${cl}" "io.github.tdesktop_x64.TDesktop" "workspace 4 silent")
(x "${cl}" "vesktop" "workspace 4 silent")
(x "${cl}" "obsidian" "workspace 5 silent")
(x "${cl}" "anicli" "workspace 6 silent")
(x "${cl}" "org.qbittorrent.qBittorrent" "workspace 9 silent")
(x "${cl}" "mpv" "workspace magic silent")
# term rules
(x "${cl}" "termfloat" "float")
(x "${cl}" "termfloat" "move center")
(x "${cl}" "termfloat" "size 650 430")
# file manager
(x "${cl}" "tfm" "float")
(x "${cl}" "tfm" "move center")
(x "${cl}" "tfm" "size 800 350")
# ayu & 64gram
(x "${tt}" "com.ayugram" "minsize 540 680")
(x "${tt}" "io.github.tdesktop_x64.TDesktop" "minsize 540 680")
(x "${tt}" "Media viewer" "float")
(x "${tt}" "Media viewer" "move center")
(x "${tt}" "Media viewer" "size 670 540")
(x "${tt}" "Media viewer" "noanim")
(x "${tt}" "Media viewer" "fullscreen")
(x "${tt}" "Choose Files" "float")
(x "${tt}" "Choose Files" "move center")
(x "${tt}" "Choose Files" "size 650 450")
# xdg
(x "${cl}" "xdg-desktop-portal-gtk" "float")
(x "${cl}" "xdg-desktop-portal-gtk" "move center")
(x "${cl}" "xdg-desktop-portal-gtk" "size 807 570")
# mpv
(x "${cl}" "mpv" "nodim")
(x "${cl}" "anicliru" "float")
(x "${cl}" "anicliru" "size 810 630")
# torrent
(x "${cl}" "org.qbittorrent.qBittorrent" "float")
(x "${cl}" "org.qbittorrent.qBittorrent" "size 1020 740")
(x "${cl}" "org.qbittorrent.qBittorrent" "pseudo")
];
};
}