Migrate Hyprland config to Lua
Convert all Hyprland settings to Lua format, including animations, binds, environment variables, monitor definitions, and window rules. Update host variable files and noctalia plugin settings to match the new Lua‑based configuration.
This commit is contained in:
1 parent
1b4dd4e329
commit
e3a6d544b3
10 files changed
+1478
-320
No files matched your search
@@ -1,33 +1,200 @@
|
||||
_: {
|
||||
wayland.windowManager.hyprland.settings.animations = {
|
||||
enabled = true;
|
||||
bezier = [
|
||||
"linear, 0, 0, 1, 1"
|
||||
"md3_standard, 0.2, 0, 0, 1"
|
||||
"md3_decel, 0.05, 0.7, 0.1, 1"
|
||||
"md3_accel, 0.3, 0, 0.8, 0.15"
|
||||
"overshot, 0.05, 0.9, 0.1, 1.1"
|
||||
"crazyshot, 0.1, 1.5, 0.76, 0.92 "
|
||||
"hyprnostretch, 0.05, 0.9, 0.1, 1.0"
|
||||
"menu_decel, 0.1, 1, 0, 1"
|
||||
"menu_accel, 0.38, 0.04, 1, 0.07"
|
||||
"easeInOutCirc, 0.85, 0, 0.15, 1"
|
||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
||||
"easeOutExpo, 0.16, 1, 0.3, 1"
|
||||
"softAcDecel, 0.26, 0.26, 0.15, 1"
|
||||
"md2, 0.4, 0, 0.2, 1 # use with .2s duration"
|
||||
{...}: {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
config.animations.enabled = true;
|
||||
curve = [
|
||||
{
|
||||
_args = [
|
||||
"linear"
|
||||
{
|
||||
type = "bezier";
|
||||
points = [[0 0] [1 1]];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"md3_standard"
|
||||
{
|
||||
type = "bezier";
|
||||
points = [[0.2 0] [0 1]];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"md3_decel"
|
||||
{
|
||||
type = "bezier";
|
||||
points = [[0.05 0.7] [0.1 1]];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"md3_accel"
|
||||
{
|
||||
type = "bezier";
|
||||
points = [[0.3 0] [0.8 0.15]];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"overshot"
|
||||
{
|
||||
type = "bezier";
|
||||
points = [[0.05 0.9] [0.1 1.1]];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"crazyshot"
|
||||
{
|
||||
type = "bezier";
|
||||
points = [[0.1 1.5] [0.76 0.92]];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"hyprnostretch"
|
||||
{
|
||||
type = "bezier";
|
||||
points = [[0.05 0.9] [0.1 1.0]];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"menu_decel"
|
||||
{
|
||||
type = "bezier";
|
||||
points = [[0.1 1] [0 1]];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"menu_accel"
|
||||
{
|
||||
type = "bezier";
|
||||
points = [[0.38 0.04] [1 0.07]];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"easeInOutCirc"
|
||||
{
|
||||
type = "bezier";
|
||||
points = [[0.85 0] [0.15 1]];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"easeOutCirc"
|
||||
{
|
||||
type = "bezier";
|
||||
points = [[0 0.55] [0.45 1]];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"easeOutExpo"
|
||||
{
|
||||
type = "bezier";
|
||||
points = [[0.16 1] [0.3 1]];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"softAcDecel"
|
||||
{
|
||||
type = "bezier";
|
||||
points = [[0.26 0.26] [0.15 1]];
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"md2"
|
||||
{
|
||||
type = "bezier";
|
||||
points = [[0.4 0] [0.2 1]];
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
animation = [
|
||||
"windows, 1, 3, md3_decel, popin 60%"
|
||||
"windowsIn, 1, 3, md3_decel, popin 60%"
|
||||
"windowsOut, 1, 3, md3_accel, popin 60%"
|
||||
"border, 1, 10, default"
|
||||
"fade, 1, 3, md3_decel"
|
||||
"layersIn, 1, 3, menu_decel, slide"
|
||||
"layersOut, 1, 1.6, menu_accel"
|
||||
"fadeLayersIn, 1, 2, menu_decel"
|
||||
"fadeLayersOut, 1, 4.5, menu_accel"
|
||||
"workspaces, 1, 7, menu_decel, slide"
|
||||
{
|
||||
leaf = "windows";
|
||||
enabled = true;
|
||||
speed = 3;
|
||||
bezier = "md3_decel";
|
||||
style = "popin 60%";
|
||||
}
|
||||
{
|
||||
leaf = "windowsIn";
|
||||
enabled = true;
|
||||
speed = 3;
|
||||
bezier = "md3_decel";
|
||||
style = "popin 60%";
|
||||
}
|
||||
{
|
||||
leaf = "windowsOut";
|
||||
enabled = true;
|
||||
speed = 3;
|
||||
bezier = "md3_accel";
|
||||
style = "popin 60%";
|
||||
}
|
||||
{
|
||||
leaf = "border";
|
||||
enabled = true;
|
||||
speed = 10;
|
||||
bezier = "default";
|
||||
}
|
||||
{
|
||||
leaf = "fade";
|
||||
enabled = true;
|
||||
speed = 3;
|
||||
bezier = "md3_decel";
|
||||
}
|
||||
{
|
||||
leaf = "layersIn";
|
||||
enabled = true;
|
||||
speed = 3;
|
||||
bezier = "menu_decel";
|
||||
style = "slide";
|
||||
}
|
||||
{
|
||||
leaf = "layersOut";
|
||||
enabled = true;
|
||||
speed = 1.6;
|
||||
bezier = "menu_accel";
|
||||
}
|
||||
{
|
||||
leaf = "fadeLayersIn";
|
||||
enabled = true;
|
||||
speed = 2;
|
||||
bezier = "menu_decel";
|
||||
}
|
||||
{
|
||||
leaf = "fadeLayersOut";
|
||||
enabled = true;
|
||||
speed = 4.5;
|
||||
bezier = "menu_accel";
|
||||
}
|
||||
{
|
||||
leaf = "workspaces";
|
||||
enabled = true;
|
||||
speed = 7;
|
||||
bezier = "menu_decel";
|
||||
style = "slide";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
+803
-126
@@ -6,155 +6,840 @@
|
||||
desktopEntriesPath = "/home/${username}/.local/state/home-manager/gcroots/current-home/home-path/share/applications/";
|
||||
|
||||
mainBinds = [
|
||||
"SUPER, A, exec, anki #\"Flashcard learning application\""
|
||||
"SUPER, B, exec, noctalia msg panel-toggle launcher \"/bw \" #\"Password manager\""
|
||||
"SUPER, C, exec, chromium #\"Ungoogled Chromium\""
|
||||
"SUPER, D, exec, vesktop #\"Discord client\""
|
||||
"SUPER, E, exec, noctalia msg panel-toggle launcher \"/emo \" #\"Emoji picker\""
|
||||
"SUPER, Escape, exec, noctalia msg session lock #\"Lock the screen\""
|
||||
"SUPER, G, exec, affinity-v3 #\"Graphics editor\""
|
||||
"SUPER, H, exec, helium #\"Helium web browser\""
|
||||
"SUPER, I, exec, iotas #\"Note-taking app\""
|
||||
"SUPER, J, exec, Jan #\"Local AI chat interface\""
|
||||
"SUPER, K, exec, gnome-calculator #\"Scientific calculator\""
|
||||
"SUPER, L, exec, logseq #\"Knowledge management tool\""
|
||||
"SUPER, M, exec, dex ${desktopEntriesPath}/messenger.desktop #\"Facebook Messenger client\""
|
||||
"SUPER, N, exec, dex ${desktopEntriesPath}/garandcloud.desktop #\"GarandCloud client\""
|
||||
"SUPER, O, exec, onlyoffice-desktopeditors #\"Office suite\""
|
||||
"SUPER, P, exec, plex-desktop #\"Plex media player\""
|
||||
"SUPER, R, exec, noctalia msg plugin noctalia/screen_recorder:service all replay-save #\"Save Replay\""
|
||||
"SUPER, Return, exec, kitty #\"Kitty terminal\""
|
||||
"SUPER, S, exec, steam #\"Steam Game launcher\""
|
||||
"SUPER, T, exec, thunar #\"File manager\""
|
||||
"SUPER, V, exec, codium #\"VS Codium\""
|
||||
"SUPER, W, exec, librewolf #\"Main Web browser (Librewolf)\""
|
||||
"SUPER, Z, exec, zeditor #\"Zed IDE\""
|
||||
{
|
||||
_args = [
|
||||
"SUPER + A"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"anki\")")
|
||||
{description = "Flashcard learning application";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + B"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg panel-toggle launcher \\\"/bw \\\"\")")
|
||||
{description = "Password manager";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + C"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"chromium\")")
|
||||
{description = "Ungoogled Chromium";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + D"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"vesktop\")")
|
||||
{description = "Discord client";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + E"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg panel-toggle launcher \\\"/emo \\\"\")")
|
||||
{description = "Emoji picker";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + Escape"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg session lock\")")
|
||||
{description = "Lock the screen";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + G"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"affinity-v3\")")
|
||||
{description = "Graphics editor";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + H"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"helium\")")
|
||||
{description = "Helium web browser";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + I"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"iotas\")")
|
||||
{description = "Note-taking app";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + J"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"Jan\")")
|
||||
{description = "Local AI chat interface";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + K"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"gnome-calculator\")")
|
||||
{description = "Scientific calculator";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + L"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"logseq\")")
|
||||
{description = "Knowledge management tool";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + M"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"dex ${desktopEntriesPath}/messenger.desktop\")")
|
||||
{description = "Facebook Messenger client";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + N"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"dex ${desktopEntriesPath}/garandcloud.desktop\")")
|
||||
{description = "GarandCloud client";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + O"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"onlyoffice-desktopeditors\")")
|
||||
{description = "Office suite";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + P"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"plex-desktop\")")
|
||||
{description = "Plex media player";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + R"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg plugin noctalia/screen_recorder:service all replay-save\")")
|
||||
{description = "Save Replay";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + Return"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"kitty\")")
|
||||
{description = "Kitty terminal";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + S"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"steam\")")
|
||||
{description = "Steam Game launcher";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + T"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"thunar\")")
|
||||
{description = "File manager";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + V"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"codium\")")
|
||||
{description = "VS Codium";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + W"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"librewolf\")")
|
||||
{description = "Main Web browser (Librewolf)";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + Z"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"zeditor\")")
|
||||
{description = "Zed IDE";}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
shiftBinds = [
|
||||
"SUPER SHIFT, C, exec, dex ${desktopEntriesPath}/claude.desktop #\"Claude AI chat\""
|
||||
"SUPER SHIFT, E, exec, evolution #\"Personal information management application\""
|
||||
"SUPER SHIFT, Escape, exec, noctalia msg panel-toggle session #\"Open Session Menu\""
|
||||
"SUPER SHIFT, G, exec, dex ${desktopEntriesPath}/chatgpt.desktop #\"ChatGPT AI chat\""
|
||||
"SUPER SHIFT, J, exec, dex ${desktopEntriesPath}/jellyfinClient.desktop #\"Jellyfin PWA\""
|
||||
"SUPER SHIFT, K, exec, noctalia msg panel-toggle kenn/keybind-cheatsheet:cheatsheet #\"Toggle keybind cheatsheet\""
|
||||
"SUPER SHIFT, M, exec, plexamp #\"Music player for Plex\""
|
||||
"SUPER SHIFT, N, exec, nextcloud #\"Nextcloud desktop sync client\""
|
||||
"SUPER SHIFT, O, exec, obs #\"Open Broadcaster Software\""
|
||||
"SUPER SHIFT, P, exec, pavucontrol #\"Toggle volume control panel\""
|
||||
"SUPER SHIFT, R, exec, noctalia msg config-reload #\"Restart Noctalia shell\""
|
||||
"SUPER SHIFT, Return, exec, noctalia msg panel-toggle launcher #\"Toggle application launcher\""
|
||||
"SUPER SHIFT, S, exec, noctalia msg screenshot-region #\"Take screenshot\""
|
||||
"SUPER SHIFT, T, exec, tutanota-desktop #\"Tutanota encrypted email client\""
|
||||
"SUPER SHIFT, V, exec, noctalia msg panel-toggle clipboard #\"Open clipboard manager\""
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + C"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"dex ${desktopEntriesPath}/claude.desktop\")")
|
||||
{description = "Claude AI chat";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + E"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"evolution\")")
|
||||
{description = "Personal information management application";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + Escape"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg panel-toggle session\")")
|
||||
{description = "Open Session Menu";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + G"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"dex ${desktopEntriesPath}/chatgpt.desktop\")")
|
||||
{description = "ChatGPT AI chat";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + J"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"dex ${desktopEntriesPath}/jellyfinClient.desktop\")")
|
||||
{description = "Jellyfin PWA";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + K"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg panel-toggle kenn/keybind-cheatsheet:cheatsheet\")")
|
||||
{description = "Toggle keybind cheatsheet";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + M"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"plexamp\")")
|
||||
{description = "Music player for Plex";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + N"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"nextcloud\")")
|
||||
{description = "Nextcloud desktop sync client";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + O"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"obs\")")
|
||||
{description = "Open Broadcaster Software";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + P"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"pavucontrol\")")
|
||||
{description = "Toggle volume control panel";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + R"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg config-reload\")")
|
||||
{description = "Restart Noctalia shell";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + Return"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg panel-toggle launcher\")")
|
||||
{description = "Toggle application launcher";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + S"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg screenshot-region\")")
|
||||
{description = "Take screenshot";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + T"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"tutanota-desktop\")")
|
||||
{description = "Tutanota encrypted email client";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + V"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg panel-toggle clipboard\")")
|
||||
{description = "Open clipboard manager";}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
altBinds = [
|
||||
"SUPER ALT, C, exec, noctalia msg panel-toggle control-center [tab] #\"Toggle control center\""
|
||||
"SUPER ALT, F, exec, finamp #\"Jellyfin music client\""
|
||||
"SUPER ALT, G, exec, dex ${desktopEntriesPath}/glance.desktop #\"Glance server panel\""
|
||||
"SUPER ALT, K, exec, kdenlive #\"Video editing software\""
|
||||
"SUPER ALT, M, exec, dex ${desktopEntriesPath}/mastodon.desktop #\"Mastodon social network client\""
|
||||
"SUPER ALT, N, exec, noctalia msg panel-toggle avivbintangaringga/nix-monitor:panel #\"Open nix-monitor\""
|
||||
"SUPER ALT, O, exec, obsidian #\"Notes app\""
|
||||
"SUPER ALT, P, exec, noctalia msg settings-open #\"Open settings panel\""
|
||||
"SUPER ALT, R, exec, noctalia msg plugin noctalia/screen_recorder:service all replay-toggle #\"Toggle Replay\""
|
||||
"SUPER ALT, S, exec, slack #\"Slack team communication tool\""
|
||||
"SUPER ALT, T, exec, gedit #\"GNOME text editor\""
|
||||
"SUPER ALT, W, exec, noctalia msg panel-toggle wallpaper #\"Toggle wallpaper\""
|
||||
{
|
||||
_args = [
|
||||
"SUPER + ALT + C"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg panel-toggle control-center [tab]\")")
|
||||
{description = "Toggle control center";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + ALT + F"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"finamp\")")
|
||||
{description = "Jellyfin music client";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + ALT + G"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"dex ${desktopEntriesPath}/glance.desktop\")")
|
||||
{description = "Glance server panel";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + ALT + K"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"kdenlive\")")
|
||||
{description = "Video editing software";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + ALT + M"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"dex ${desktopEntriesPath}/mastodon.desktop\")")
|
||||
{description = "Mastodon social network client";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + ALT + N"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg panel-toggle avivbintangaringga/nix-monitor:panel\")")
|
||||
{description = "Open nix-monitor";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + ALT + O"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"obsidian\")")
|
||||
{description = "Notes app";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + ALT + P"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg settings-open\")")
|
||||
{description = "Open settings panel";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + ALT + R"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg plugin noctalia/screen_recorder:service all replay-toggle\")")
|
||||
{description = "Toggle Replay";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + ALT + S"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"slack\")")
|
||||
{description = "Slack team communication tool";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + ALT + T"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"gedit\")")
|
||||
{description = "GNOME text editor";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + ALT + W"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg panel-toggle wallpaper\")")
|
||||
{description = "Toggle wallpaper";}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
controlBinds = [
|
||||
"SUPER CONTROL, C, exec, noctalia msg power-cycle #\"Cycle through power profiles\""
|
||||
"SUPER CONTROL, F, exec, noctalia msg panel-toggle nightwatch75/file-search:panel #\"File search\""
|
||||
"SUPER CONTROL, G, exec, gimp #\"GNU Image Manipulation Program\""
|
||||
"SUPER CONTROL, M, exec, mattermost-desktop #\"Mattermost team chat client\""
|
||||
# "SUPER CONTROL, N, exec, noctalia-shell ipc call plugin:ntfy-notifications refresh #\"Refresh ntfy\""
|
||||
"SUPER CONTROL, O, exec, dex ${desktopEntriesPath}/openWebUI.desktop #\"My own AI chat interface\""
|
||||
"SUPER CONTROL, R, exec, noctalia msg plugin noctalia/screen_recorder:service all toggle #\"Toogle screen recording\""
|
||||
"SUPER CONTROL, S, exec, signal-desktop #\"Signal encrypted messaging\""
|
||||
"SUPER CONTROL, T, exec, tsukimi #\"A simple Emby/Jellyfin Client\""
|
||||
"SUPER CONTROL, P, exec, noctalia msg panel-toggle oldirtty/color_picker:panel #\"Pick color from screen\""
|
||||
{
|
||||
_args = [
|
||||
"SUPER + CONTROL + C"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg power-cycle\")")
|
||||
{description = "Cycle through power profiles";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + CONTROL + F"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg panel-toggle nightwatch75/file-search:panel\")")
|
||||
{description = "File search";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + CONTROL + G"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"gimp\")")
|
||||
{description = "GNU Image Manipulation Program";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + CONTROL + M"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"mattermost-desktop\")")
|
||||
{description = "Mattermost team chat client";}
|
||||
];
|
||||
}
|
||||
# {
|
||||
# _args = [
|
||||
# "SUPER + CONTROL + N"
|
||||
# (lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia-shell ipc call plugin:ntfy-notifications refresh\")")
|
||||
# {description = "Refresh ntfy";}
|
||||
# ];
|
||||
# }
|
||||
{
|
||||
_args = [
|
||||
"SUPER + CONTROL + O"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"dex ${desktopEntriesPath}/openWebUI.desktop\")")
|
||||
{description = "My own AI chat interface";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + CONTROL + R"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg plugin noctalia/screen_recorder:service all toggle\")")
|
||||
{description = "Toogle screen recording";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + CONTROL + S"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"signal-desktop\")")
|
||||
{description = "Signal encrypted messaging";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + CONTROL + T"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"tsukimi\")")
|
||||
{description = "A simple Emby/Jellyfin Client";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + CONTROL + P"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg panel-toggle oldirtty/color_picker:panel\")")
|
||||
{description = "Pick color from screen";}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
windowManagementBinds = [
|
||||
"SUPER, F, fullscreen, #\"Toggle fullscreen mode\""
|
||||
"SUPER, Q, killactive, #\"Close active window\""
|
||||
# "SUPER SHIFT, I, togglesplit, #\"Toggle split layout\""
|
||||
"SUPER SHIFT, F, togglefloating, #\"Toggle floating mode\""
|
||||
{
|
||||
_args = [
|
||||
"SUPER + F"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.fullscreen({ action = \"toggle\" })")
|
||||
{description = "Toggle fullscreen mode";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + Q"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.close()")
|
||||
{description = "Close active window";}
|
||||
];
|
||||
}
|
||||
# {
|
||||
# _args = [
|
||||
# "SUPER + SHIFT + I"
|
||||
# (lib.generators.mkLuaInline "hl.dsp.window.float({ action = \"togglesplit\" })")
|
||||
# {description = "Toggle split layout";}
|
||||
# ];
|
||||
# }
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + F"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.float({ action = \"toggle\" })")
|
||||
{description = "Toggle floating mode";}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
windowFocusBinds = [
|
||||
"SUPER, down, movefocus, d #\"Move focus down\""
|
||||
"SUPER, left, movefocus, l #\"Move focus left\""
|
||||
"SUPER, right, movefocus, r #\"Move focus right\""
|
||||
"SUPER, up, movefocus, u #\"Move focus up\""
|
||||
{
|
||||
_args = [
|
||||
"SUPER + down"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ direction = \"down\" })")
|
||||
{description = "Move focus down";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + left"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ direction = \"left\" })")
|
||||
{description = "Move focus left";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + right"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ direction = \"right\" })")
|
||||
{description = "Move focus right";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + up"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ direction = \"up\" })")
|
||||
{description = "Move focus up";}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
windowMovementBinds = [
|
||||
"SUPER SHIFT, down, movewindow, d #\"Move window down\""
|
||||
"SUPER SHIFT, left, movewindow, l #\"Move window left\""
|
||||
"SUPER SHIFT, right, movewindow, r #\"Move window right\""
|
||||
"SUPER SHIFT, up, movewindow, u #\"Move window up\""
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + down"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.move({ direction = \"down\" })")
|
||||
{description = "Move window down";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + left"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.move({ direction = \"left\" })")
|
||||
{description = "Move window left";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + right"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.move({ direction = \"right\" })")
|
||||
{description = "Move window right";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + up"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.move({ direction = \"up\" })")
|
||||
{description = "Move window up";}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
windowSwapBinds = [
|
||||
"SUPER ALT, down, swapwindow, d #\"Swap active window with window below\""
|
||||
"SUPER ALT, left, swapwindow, l #\"Swap active window with window on the left\""
|
||||
"SUPER ALT, right, swapwindow, r #\"Swap active window with window on the right\""
|
||||
"SUPER ALT, up, swapwindow, u #\"Swap active window with window above\""
|
||||
{
|
||||
_args = [
|
||||
"SUPER + ALT + down"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.swap({ direction = \"down\" })")
|
||||
{description = "Swap active window with window below";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + ALT + left"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.swap({ direction = \"left\" })")
|
||||
{description = "Swap active window with window on the left";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + ALT + right"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.swap({ direction = \"right\" })")
|
||||
{description = "Swap active window with window on the right";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + ALT + up"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.swap({ direction = \"up\" })")
|
||||
{description = "Swap active window with window above";}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
workspacesSwitchBinds = [
|
||||
"SUPER, 0, workspace, 10 #\"Switch to workspace 10\""
|
||||
"SUPER, 1, workspace, 1 #\"Switch to workspace 1\""
|
||||
"SUPER, 2, workspace, 2 #\"Switch to workspace 2\""
|
||||
"SUPER, 3, workspace, 3 #\"Switch to workspace 3\""
|
||||
"SUPER, 4, workspace, 4 #\"Switch to workspace 4\""
|
||||
"SUPER, 5, workspace, 5 #\"Switch to workspace 5\""
|
||||
"SUPER, 6, workspace, 6 #\"Switch to workspace 6\""
|
||||
"SUPER, 7, workspace, 7 #\"Switch to workspace 7\""
|
||||
"SUPER, 8, workspace, 8 #\"Switch to workspace 8\""
|
||||
"SUPER, 9, workspace, 9 #\"Switch to workspace 9\""
|
||||
"SUPER CONTROL, left, workspace, e-1 #\"Switch to previous workspace\""
|
||||
"SUPER CONTROL, right, workspace, e+1 #\"Switch to next workspace\""
|
||||
"SUPER, mouse_down, workspace, e+1 #\"Switch to next workspace with mouse\""
|
||||
"SUPER, mouse_up, workspace, e-1 #\"Switch to previous workspace with mouse\""
|
||||
{
|
||||
_args = [
|
||||
"SUPER + 0"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ workspace = 10 })")
|
||||
{description = "Switch to workspace 10";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + 1"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ workspace = 1 })")
|
||||
{description = "Switch to workspace 1";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + 2"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ workspace = 2 })")
|
||||
{description = "Switch to workspace 2";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + 3"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ workspace = 3 })")
|
||||
{description = "Switch to workspace 3";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + 4"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ workspace = 4 })")
|
||||
{description = "Switch to workspace 4";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + 5"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ workspace = 5 })")
|
||||
{description = "Switch to workspace 5";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + 6"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ workspace = 6 })")
|
||||
{description = "Switch to workspace 6";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + 7"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ workspace = 7 })")
|
||||
{description = "Switch to workspace 7";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + 8"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ workspace = 8 })")
|
||||
{description = "Switch to workspace 8";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + 9"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ workspace = 9 })")
|
||||
{description = "Switch to workspace 9";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + CONTROL + left"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ workspace = \"e-1\" })")
|
||||
{description = "Switch to previous workspace";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + CONTROL + right"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ workspace = \"e+1\" })")
|
||||
{description = "Switch to next workspace";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + mouse_down"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ workspace = \"e+1\" })")
|
||||
{description = "Switch to next workspace with mouse";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + mouse_up"
|
||||
(lib.generators.mkLuaInline "hl.dsp.focus({ workspace = \"e-1\" })")
|
||||
{description = "Switch to previous workspace with mouse";}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
workspacesSwapBinds = [
|
||||
"SUPER SHIFT, 0, movetoworkspace, 10 #\"Move active window to workspace 10\""
|
||||
"SUPER SHIFT, 1, movetoworkspace, 1 #\"Move active window to workspace 1\""
|
||||
"SUPER SHIFT, 2, movetoworkspace, 2 #\"Move active window to workspace 2\""
|
||||
"SUPER SHIFT, 3, movetoworkspace, 3 #\"Move active window to workspace 3\""
|
||||
"SUPER SHIFT, 4, movetoworkspace, 4 #\"Move active window to workspace 4\""
|
||||
"SUPER SHIFT, 5, movetoworkspace, 5 #\"Move active window to workspace 5\""
|
||||
"SUPER SHIFT, 6, movetoworkspace, 6 #\"Move active window to workspace 6\""
|
||||
"SUPER SHIFT, 7, movetoworkspace, 7 #\"Move active window to workspace 7\""
|
||||
"SUPER SHIFT, 8, movetoworkspace, 8 #\"Move active window to workspace 8\""
|
||||
"SUPER SHIFT, 9, movetoworkspace, 9 #\"Move active window to workspace 9\""
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + 0"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.move({ workspace = 10 })")
|
||||
{description = "Move active window to workspace 10";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + 1"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.move({ workspace = 1 })")
|
||||
{description = "Move active window to workspace 1";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + 2"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.move({ workspace = 2 })")
|
||||
{description = "Move active window to workspace 2";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + 3"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.move({ workspace = 3 })")
|
||||
{description = "Move active window to workspace 3";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + 4"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.move({ workspace = 4 })")
|
||||
{description = "Move active window to workspace 4";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + 5"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.move({ workspace = 5 })")
|
||||
{description = "Move active window to workspace 5";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + 6"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.move({ workspace = 6 })")
|
||||
{description = "Move active window to workspace 6";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + 7"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.move({ workspace = 7 })")
|
||||
{description = "Move active window to workspace 7";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + 8"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.move({ workspace = 8 })")
|
||||
{description = "Move active window to workspace 8";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + SHIFT + 9"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.move({ workspace = 9 })")
|
||||
{description = "Move active window to workspace 9";}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
systemMediaAndControllsBinds = [
|
||||
",XF86AudioLowerVolume, exec, noctalia msg volume-down #\"Lower system volume\""
|
||||
",XF86AudioMute, exec, noctalia msg volume-mute #\"Mute audio output\""
|
||||
",XF86AudioMicMute, exec, noctalia msg mic-mute #\"Mute audio input\""
|
||||
",XF86AudioNext, exec, noctalia msg media next #\"Next media track\""
|
||||
",XF86AudioPlay, exec, noctalia msg media toggle #\"Play/Pause media\""
|
||||
",XF86AudioPrev, exec, noctalia msg media previous #\"Previous media track\""
|
||||
",XF86AudioRaiseVolume, exec, noctalia msg volume-up #\"Raise system volume\""
|
||||
",XF86MonBrightnessDown, exec, noctalia msg brightness-down #\"Decrease screen brightness\""
|
||||
",XF86MonBrightnessUp, exec, noctalia msg brightness-up #\"Increase screen brightness\""
|
||||
systemMediaAndControlsBinds = [
|
||||
{
|
||||
_args = [
|
||||
"XF86AudioLowerVolume"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg volume-down\")")
|
||||
{description = "Lower system volume";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"XF86AudioMute"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg volume-mute\")")
|
||||
{description = "Mute audio output";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"XF86AudioMicMute"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg mic-mute\")")
|
||||
{description = "Mute audio input";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"XF86AudioNext"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg media next\")")
|
||||
{description = "Next media track";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"XF86AudioPlay"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg media toggle\")")
|
||||
{description = "Play/Pause media";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"XF86AudioPrev"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg media previous\")")
|
||||
{description = "Previous media track";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"XF86AudioRaiseVolume"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg volume-up\")")
|
||||
{description = "Raise system volume";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"XF86MonBrightnessDown"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg brightness-down\")")
|
||||
{description = "Decrease screen brightness";}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"XF86MonBrightnessUp"
|
||||
(lib.generators.mkLuaInline "hl.dsp.exec_cmd(\"noctalia msg brightness-up\")")
|
||||
{description = "Increase screen brightness";}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
mkBlock = header: lines:
|
||||
mouseBinds = [
|
||||
{
|
||||
_args = [
|
||||
"SUPER + mouse:272"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.drag()")
|
||||
{
|
||||
mouse = true;
|
||||
description = "Drag active window";
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SUPER + mouse:273"
|
||||
(lib.generators.mkLuaInline "hl.dsp.window.resize()")
|
||||
{
|
||||
mouse = true;
|
||||
description = "Resize active window";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
toLua = lib.generators.toLua {};
|
||||
|
||||
# Noctalia scans numbered Lua headings and bare description fields.
|
||||
mkBlock = header: binds:
|
||||
lib.concatLines (
|
||||
["# ${header}"]
|
||||
++ (map (l: "bind = ${l}") lines)
|
||||
["-- ${header}"]
|
||||
++ map (bind: let
|
||||
args = lib.concatMapStringsSep ", " toLua (lib.take 2 bind._args);
|
||||
options = lib.concatStringsSep ", " (
|
||||
lib.mapAttrsToList (name: value: "${name} = ${toLua value}") (builtins.elemAt bind._args 2)
|
||||
);
|
||||
in "hl.bind(${args}, { ${options} })")
|
||||
binds
|
||||
);
|
||||
|
||||
fullConfig = lib.concatLines [
|
||||
""
|
||||
in {
|
||||
wayland.windowManager.hyprland.extraConfig = lib.concatLines [
|
||||
(mkBlock "1. MAIN APPS" mainBinds)
|
||||
(mkBlock "2. SHIFT APPS" shiftBinds)
|
||||
(mkBlock "3. ALT APPS" altBinds)
|
||||
@@ -165,15 +850,7 @@
|
||||
(mkBlock "8. WINDOWS SWAP" windowSwapBinds)
|
||||
(mkBlock "9. WORKSPACES SWITCH" workspacesSwitchBinds)
|
||||
(mkBlock "10. WORKSPACES SWAP" workspacesSwapBinds)
|
||||
(mkBlock "11. SYSTEM MEDIA & CONTROLS" systemMediaAndControllsBinds)
|
||||
(mkBlock "11. SYSTEM MEDIA & CONTROLS" systemMediaAndControlsBinds)
|
||||
(mkBlock "12. MOUSE" mouseBinds)
|
||||
];
|
||||
in {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
extraConfig = fullConfig;
|
||||
|
||||
bindm = [
|
||||
"SUPER, mouse:272, movewindow"
|
||||
"SUPER, mouse:273, resizewindow"
|
||||
];
|
||||
};
|
||||
}
|
||||
+109
-25
@@ -1,28 +1,112 @@
|
||||
_: {
|
||||
{...}: {
|
||||
wayland.windowManager.hyprland.settings.env = [
|
||||
"NIXOS_OZONE_WL, 1"
|
||||
"NIXPKGS_ALLOW_UNFREE, 1"
|
||||
"XDG_CURRENT_DESKTOP, Hyprland"
|
||||
"XDG_SESSION_TYPE, wayland"
|
||||
"XDG_SESSION_DESKTOP, Hyprland"
|
||||
"GDK_BACKEND, wayland, x11"
|
||||
"CLUTTER_BACKEND, wayland"
|
||||
"QT_QPA_PLATFORM=wayland;xcb"
|
||||
"QT_WAYLAND_DISABLE_WINDOWDECORATION, 1"
|
||||
"QT_AUTO_SCREEN_SCALE_FACTOR, 1"
|
||||
"SDL_VIDEODRIVER, x11"
|
||||
"MOZ_ENABLE_WAYLAND, 1"
|
||||
# This is to make electron apps start in wayland
|
||||
"ELECTRON_OZONE_PLATFORM_HINT,wayland"
|
||||
# Disabling this by default as it can result in inop cfg
|
||||
# Added card2 in case this gets enabled. For better coverage
|
||||
# This is mostly needed by Hybrid laptops.
|
||||
# but if you have multiple discrete GPUs this will set order
|
||||
#"AQ_DRM_DEVICES,/dev/dri/card0:/dev/dri/card1:/dev/card2"
|
||||
"GDK_SCALE,1"
|
||||
"QT_SCALE_FACTOR,1"
|
||||
"EDITOR,nano"
|
||||
"TERMINAL,kitty"
|
||||
"XDG_TERMINAL_EMULATOR,kitty"
|
||||
{
|
||||
_args = [
|
||||
"NIXOS_OZONE_WL"
|
||||
"1"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"NIXPKGS_ALLOW_UNFREE"
|
||||
"1"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"XDG_CURRENT_DESKTOP"
|
||||
"Hyprland"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"XDG_SESSION_TYPE"
|
||||
"wayland"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"XDG_SESSION_DESKTOP"
|
||||
"Hyprland"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"GDK_BACKEND"
|
||||
"wayland, x11"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"CLUTTER_BACKEND"
|
||||
"wayland"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"QT_QPA_PLATFORM"
|
||||
"wayland;xcb"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"QT_WAYLAND_DISABLE_WINDOWDECORATION"
|
||||
"1"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"QT_AUTO_SCREEN_SCALE_FACTOR"
|
||||
"1"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"SDL_VIDEODRIVER"
|
||||
"x11"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"MOZ_ENABLE_WAYLAND"
|
||||
"1"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"ELECTRON_OZONE_PLATFORM_HINT"
|
||||
"wayland"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"GDK_SCALE"
|
||||
"1"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"QT_SCALE_FACTOR"
|
||||
"1"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"EDITOR"
|
||||
"nano"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"TERMINAL"
|
||||
"kitty"
|
||||
];
|
||||
}
|
||||
{
|
||||
_args = [
|
||||
"XDG_TERMINAL_EMULATOR"
|
||||
"kitty"
|
||||
];
|
||||
}
|
||||
];
|
||||
}
|
||||
@@ -1,10 +1,6 @@
|
||||
_: {
|
||||
wayland.windowManager.hyprland.settings.exec-once = [
|
||||
"dbus-update-activation-environment --all --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
||||
"systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
||||
"systemctl --user start hyprpolkitagent"
|
||||
"noctalia"
|
||||
"wl-paste --type text --watch cliphist store" # Saves text
|
||||
"wl-paste --type image --watch cliphist store" # Saves images
|
||||
{lib, ...}: {
|
||||
wayland.windowManager.hyprland.settings.on._args = [
|
||||
"hyprland.start"
|
||||
(lib.generators.mkLuaInline "function()\n hl.exec_cmd(\"dbus-update-activation-environment --all --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP\")\n hl.exec_cmd(\"systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP\")\n hl.exec_cmd(\"systemctl --user start hyprpolkitagent\")\n hl.exec_cmd(\"noctalia\")\n hl.exec_cmd(\"wl-paste --type text --watch cliphist store\")\n hl.exec_cmd(\"wl-paste --type image --watch cliphist store\")\nend")
|
||||
];
|
||||
}
|
||||
@@ -19,20 +19,17 @@
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = pkgs.hyprland;
|
||||
configType = "hyprlang"; # TODO: hyprlang => lua migration.
|
||||
configType = "lua";
|
||||
xwayland.enable = true;
|
||||
systemd = {
|
||||
enable = true;
|
||||
enableXdgAutostart = true;
|
||||
variables = ["--all"];
|
||||
};
|
||||
settings = {
|
||||
settings.config = {
|
||||
input = {
|
||||
kb_layout = "${keyboardLayout}";
|
||||
kb_options = [
|
||||
"grp:alt_caps_toggle"
|
||||
"caps:super"
|
||||
];
|
||||
kb_options = "grp:alt_caps_toggle,caps:super";
|
||||
numlock_by_default = true;
|
||||
repeat_delay = 300;
|
||||
follow_mouse = 1;
|
||||
@@ -144,11 +141,27 @@
|
||||
xwayland.force_zero_scaling = true;
|
||||
};
|
||||
|
||||
extraConfig = "
|
||||
monitor=,preferred,auto,auto
|
||||
monitor=Virtual-1,1920x1080@60,auto,1
|
||||
${extraMonitorSettings}
|
||||
layerrule = blur on, blur_popups on, ignore_alpha 0.5, match:namespace noctalia-background-\.*$
|
||||
";
|
||||
settings.monitor =
|
||||
[
|
||||
{
|
||||
output = "";
|
||||
mode = "preferred";
|
||||
position = "auto";
|
||||
scale = "auto";
|
||||
}
|
||||
{
|
||||
output = "Virtual-1";
|
||||
mode = "1920x1080@60";
|
||||
position = "auto";
|
||||
scale = 1;
|
||||
}
|
||||
]
|
||||
++ extraMonitorSettings;
|
||||
settings.layer_rule = {
|
||||
match.namespace = "noctalia-background-\\..*$";
|
||||
blur = true;
|
||||
blur_popups = true;
|
||||
ignore_alpha = 0.5;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,100 +1,318 @@
|
||||
_: {
|
||||
wayland.windowManager.hyprland.settings.windowrule = [
|
||||
# XWayland specific rules
|
||||
#"noblur, xwayland:1" # Helps prevent odd borders/shadows for xwayland apps
|
||||
# downside it can impact other xwayland apps
|
||||
# This rule is a template for a more targeted approach
|
||||
"no_blur on, match:class resolve, match:xwayland 1" # Window rule for just resolve
|
||||
|
||||
# Application tags
|
||||
"tag +file-manager, match:class [Tt]hunar|org\.gnome\.Nautilus|[Pp]cmanfm-qt"
|
||||
"tag +terminal, match:class com\.mitchellh\.ghostty|org\.wezfurlong\.wezterm|Alacritty|kitty|kitty-dropterm"
|
||||
"tag +browser, match:class [Ff]irefox|org\.mozilla\.firefox|[Ff]irefox-esr"
|
||||
"tag +browser, match:class [Ll]ibrewolf|io\.gitlab\.librewolf-community"
|
||||
"tag +browser, match:class [Gg]oogle-chrome(-beta|-dev|-unstable)?|[Cc]hromium-browser(-beta|-dev|-unstable)?"
|
||||
"tag +projects, match:class VSCode|code|code-url-handler|codium|codium-url-handler|VSCodium|VSCodium-url-handler"
|
||||
"tag +projects, match:class dev\.zed\.Zed"
|
||||
"tag +im, match:class [Dd]iscord|[Ww]ebCord|[Vv]esktop"
|
||||
"tag +im, match:class [Ff]erdium"
|
||||
"tag +im, match:class [Ss]ignal"
|
||||
"tag +im, match:class [Ss]lack"
|
||||
"tag +im, match:class [Tt]eams-for-linux"
|
||||
"tag +games, match:class gamescope"
|
||||
"tag +games, match:class ?:steam_app_\d+"
|
||||
"tag +games, match:class tf_linux64"
|
||||
"tag +games, match:class Minecraft\*.*"
|
||||
"tag +gamestore, match:class [Ss]team"
|
||||
"tag +gamestore, match:title [Ll]utris"
|
||||
"tag +gamestore, match:class com\.heroicgameslauncher\.hgl"
|
||||
"tag +gamestore, match:class org\.prismlauncher\.PrismLauncher"
|
||||
"tag +settings, match:class gnome-disks|wihotspot(-gui)?"
|
||||
"tag +settings, match:class [Rr]ofi"
|
||||
"tag +settings, match:class file-roller|org\.gnome\.FileRoller"
|
||||
"tag +settings, match:class nm-applet|nm-connection-editor"
|
||||
"tag +settings, match:class pavucontrol|org\.pulseaudio\.pavucontrol|com\.saivert\.pwvucontrol"
|
||||
"tag +settings, match:class nwg-look|qt5ct|qt6ct|[Yy]ad"
|
||||
"tag +settings, match:class xdg-desktop-portal-gtk"
|
||||
"tag +settings, match:class nwg-displays"
|
||||
|
||||
# Position and movement rules
|
||||
"move 72% 7%, match:title Picture-in-Picture"
|
||||
"center on, match:class pavucontrol|org\.pulseaudio\.pavucontrol|com\.saivert\.pwvucontrol"
|
||||
"center on, match:class [Tt]hunar, match:title negative:.*[Tt]hunar.*"
|
||||
"center on, match:title Authentication Required"
|
||||
"center on, match:class org\.gnome\.Calculator"
|
||||
|
||||
# Idle inhibit rules
|
||||
"idle_inhibit fullscreen, match:class .*"
|
||||
"idle_inhibit fullscreen, match:title .*"
|
||||
"idle_inhibit fullscreen, match:fullscreen 1"
|
||||
|
||||
# Float rules
|
||||
"float on, match:class [Ww]aypaper"
|
||||
"float on, match:tag settings*"
|
||||
"float on, match:title Picture-in-Picture"
|
||||
"float on, match:title Authentication Required"
|
||||
"float on, match:title War in Tunnels"
|
||||
"float on, match:class codium|codium-url-handler|VSCodium, match:title negative:.*(?:codium|VSCodium).*"
|
||||
"float on, match:class com\.heroicgameslauncher\.hgl, match:title negative Heroic Games Launcher"
|
||||
"float on, match:class [Ss]team, match:title negative:[Ss]team"
|
||||
"float on, match:class [Tt]hunar, match:title negative:.*[Tt]hunar.*"
|
||||
"float on, match:class galculator"
|
||||
"float on, match:initial_title Add Folder to Workspace"
|
||||
"float on, match:initial_title Open Files"
|
||||
"float on, match:initial_title wants to save"
|
||||
"float on, match:class org\.gnome\.Calculator"
|
||||
|
||||
# Size rules
|
||||
"size 70% 60%, match:initial_title Open Files"
|
||||
"size 70% 60%, match:initial_title Add Folder to Workspace"
|
||||
"size 70% 70%, match:tag settings*"
|
||||
"size 360 616, match:class org\.gnome\.Calculator"
|
||||
|
||||
# Tile rules
|
||||
"tile on, match:class affinity\.exe"
|
||||
"tile on, match:class dev\.zed\.Zed"
|
||||
"tile on, match:class mpv"
|
||||
"tile on, match:class com-cburch-logisim-Main"
|
||||
|
||||
# Opacity rules
|
||||
"opacity 1.0 1.0, match:tag browser*"
|
||||
"opacity 0.9 0.8, match:tag projects*"
|
||||
"opacity 0.94 0.86, match:tag im*"
|
||||
"opacity 0.85 0.75, match:tag gamestore*"
|
||||
"opacity 0.9 0.8, match:tag file-manager*"
|
||||
"opacity 0.8 0.7, match:tag terminal*"
|
||||
"opacity 0.8 0.7, match:tag settings*"
|
||||
"opacity 0.8 0.7, match:class gedit|org\.gnome\.TextEditor|mousepad"
|
||||
"opacity 0.9 0.8, match:class seahorse # gnome-keyring gui"
|
||||
"opacity 0.95 0.75, match:title Picture-in-Picture"
|
||||
"opacity 0.9 0.8, match:class org\.gnome\.Calculator"
|
||||
|
||||
# Picture-in-Picture specific rules
|
||||
"pin on, match:title Picture-in-Picture"
|
||||
"keep_aspect_ratio on, match:title Picture-in-Picture"
|
||||
|
||||
# Games specific rules
|
||||
"no_blur on, match:tag games*"
|
||||
"fullscreen on, match:tag games*"
|
||||
{...}: {
|
||||
wayland.windowManager.hyprland.settings.window_rule = [
|
||||
{
|
||||
match = {
|
||||
class = "resolve";
|
||||
xwayland = 1;
|
||||
};
|
||||
no_blur = true;
|
||||
}
|
||||
{
|
||||
match = {class = "[Tt]hunar|org\\.gnome\\.Nautilus|[Pp]cmanfm-qt";};
|
||||
tag = "+file-manager";
|
||||
}
|
||||
{
|
||||
match = {class = "com\\.mitchellh\\.ghostty|org\\.wezfurlong\\.wezterm|Alacritty|kitty|kitty-dropterm";};
|
||||
tag = "+terminal";
|
||||
}
|
||||
{
|
||||
match = {class = "[Ff]irefox|org\\.mozilla\\.firefox|[Ff]irefox-esr";};
|
||||
tag = "+browser";
|
||||
}
|
||||
{
|
||||
match = {class = "[Ll]ibrewolf|io\\.gitlab\\.librewolf-community";};
|
||||
tag = "+browser";
|
||||
}
|
||||
{
|
||||
match = {class = "[Gg]oogle-chrome(-beta|-dev|-unstable)?|[Cc]hromium-browser(-beta|-dev|-unstable)?";};
|
||||
tag = "+browser";
|
||||
}
|
||||
{
|
||||
match = {class = "VSCode|code|code-url-handler|codium|codium-url-handler|VSCodium|VSCodium-url-handler";};
|
||||
tag = "+projects";
|
||||
}
|
||||
{
|
||||
match = {class = "dev\\.zed\\.Zed";};
|
||||
tag = "+projects";
|
||||
}
|
||||
{
|
||||
match = {class = "[Dd]iscord|[Ww]ebCord|[Vv]esktop";};
|
||||
tag = "+im";
|
||||
}
|
||||
{
|
||||
match = {class = "[Ff]erdium";};
|
||||
tag = "+im";
|
||||
}
|
||||
{
|
||||
match = {class = "[Ss]ignal";};
|
||||
tag = "+im";
|
||||
}
|
||||
{
|
||||
match = {class = "[Ss]lack";};
|
||||
tag = "+im";
|
||||
}
|
||||
{
|
||||
match = {class = "[Tt]eams-for-linux";};
|
||||
tag = "+im";
|
||||
}
|
||||
{
|
||||
match = {class = "gamescope";};
|
||||
tag = "+games";
|
||||
}
|
||||
{
|
||||
match = {class = "steam_app_\\d+";};
|
||||
tag = "+games";
|
||||
}
|
||||
{
|
||||
match = {class = "tf_linux64";};
|
||||
tag = "+games";
|
||||
}
|
||||
{
|
||||
match = {class = "Minecraft\\*.*";};
|
||||
tag = "+games";
|
||||
}
|
||||
{
|
||||
match = {class = "[Ss]team";};
|
||||
tag = "+gamestore";
|
||||
}
|
||||
{
|
||||
match = {title = "[Ll]utris";};
|
||||
tag = "+gamestore";
|
||||
}
|
||||
{
|
||||
match = {class = "com\\.heroicgameslauncher\\.hgl";};
|
||||
tag = "+gamestore";
|
||||
}
|
||||
{
|
||||
match = {class = "org\\.prismlauncher\\.PrismLauncher";};
|
||||
tag = "+gamestore";
|
||||
}
|
||||
{
|
||||
match = {class = "gnome-disks|wihotspot(-gui)?";};
|
||||
tag = "+settings";
|
||||
}
|
||||
{
|
||||
match = {class = "[Rr]ofi";};
|
||||
tag = "+settings";
|
||||
}
|
||||
{
|
||||
match = {class = "file-roller|org\\.gnome\\.FileRoller";};
|
||||
tag = "+settings";
|
||||
}
|
||||
{
|
||||
match = {class = "nm-applet|nm-connection-editor";};
|
||||
tag = "+settings";
|
||||
}
|
||||
{
|
||||
match = {class = "pavucontrol|org\\.pulseaudio\\.pavucontrol|com\\.saivert\\.pwvucontrol";};
|
||||
tag = "+settings";
|
||||
}
|
||||
{
|
||||
match = {class = "nwg-look|qt5ct|qt6ct|[Yy]ad";};
|
||||
tag = "+settings";
|
||||
}
|
||||
{
|
||||
match = {class = "xdg-desktop-portal-gtk";};
|
||||
tag = "+settings";
|
||||
}
|
||||
{
|
||||
match = {class = "nwg-displays";};
|
||||
tag = "+settings";
|
||||
}
|
||||
{
|
||||
match = {title = "Picture-in-Picture";};
|
||||
move = "72% 7%";
|
||||
}
|
||||
{
|
||||
match = {class = "pavucontrol|org\\.pulseaudio\\.pavucontrol|com\\.saivert\\.pwvucontrol";};
|
||||
center = true;
|
||||
}
|
||||
{
|
||||
match = {
|
||||
class = "[Tt]hunar";
|
||||
title = "negative:.*[Tt]hunar.*";
|
||||
};
|
||||
center = true;
|
||||
}
|
||||
{
|
||||
match = {title = "Authentication Required";};
|
||||
center = true;
|
||||
}
|
||||
{
|
||||
match = {class = "org\\.gnome\\.Calculator";};
|
||||
center = true;
|
||||
}
|
||||
{
|
||||
match = {class = ".*";};
|
||||
idle_inhibit = "fullscreen";
|
||||
}
|
||||
{
|
||||
match = {title = ".*";};
|
||||
idle_inhibit = "fullscreen";
|
||||
}
|
||||
{
|
||||
match = {fullscreen = 1;};
|
||||
idle_inhibit = "fullscreen";
|
||||
}
|
||||
{
|
||||
match = {class = "[Ww]aypaper";};
|
||||
float = true;
|
||||
}
|
||||
{
|
||||
match = {tag = "settings*";};
|
||||
float = true;
|
||||
}
|
||||
{
|
||||
match = {title = "Picture-in-Picture";};
|
||||
float = true;
|
||||
}
|
||||
{
|
||||
match = {title = "Authentication Required";};
|
||||
float = true;
|
||||
}
|
||||
{
|
||||
match = {title = "War in Tunnels";};
|
||||
float = true;
|
||||
}
|
||||
{
|
||||
match = {
|
||||
class = "codium|codium-url-handler|VSCodium";
|
||||
title = "negative:.*(?:codium|VSCodium).*";
|
||||
};
|
||||
float = true;
|
||||
}
|
||||
{
|
||||
match = {
|
||||
class = "com\\.heroicgameslauncher\\.hgl";
|
||||
title = "negative:Heroic Games Launcher";
|
||||
};
|
||||
float = true;
|
||||
}
|
||||
{
|
||||
match = {
|
||||
class = "[Ss]team";
|
||||
title = "negative:[Ss]team";
|
||||
};
|
||||
float = true;
|
||||
}
|
||||
{
|
||||
match = {
|
||||
class = "[Tt]hunar";
|
||||
title = "negative:.*[Tt]hunar.*";
|
||||
};
|
||||
float = true;
|
||||
}
|
||||
{
|
||||
match = {class = "galculator";};
|
||||
float = true;
|
||||
}
|
||||
{
|
||||
match = {initial_title = "Add Folder to Workspace";};
|
||||
float = true;
|
||||
}
|
||||
{
|
||||
match = {initial_title = "Open Files";};
|
||||
float = true;
|
||||
}
|
||||
{
|
||||
match = {initial_title = "wants to save";};
|
||||
float = true;
|
||||
}
|
||||
{
|
||||
match = {class = "org\\.gnome\\.Calculator";};
|
||||
float = true;
|
||||
}
|
||||
{
|
||||
match = {initial_title = "Open Files";};
|
||||
size = "70% 60%";
|
||||
}
|
||||
{
|
||||
match = {initial_title = "Add Folder to Workspace";};
|
||||
size = "70% 60%";
|
||||
}
|
||||
{
|
||||
match = {tag = "settings*";};
|
||||
size = "70% 70%";
|
||||
}
|
||||
{
|
||||
match = {class = "org\\.gnome\\.Calculator";};
|
||||
size = "360 616";
|
||||
}
|
||||
{
|
||||
match = {class = "affinity\\.exe";};
|
||||
float = false;
|
||||
}
|
||||
{
|
||||
match = {class = "dev\\.zed\\.Zed";};
|
||||
float = false;
|
||||
}
|
||||
{
|
||||
match = {class = "mpv";};
|
||||
float = false;
|
||||
}
|
||||
{
|
||||
match = {class = "com-cburch-logisim-Main";};
|
||||
float = false;
|
||||
}
|
||||
{
|
||||
match = {tag = "browser*";};
|
||||
opacity = "1.0 1.0";
|
||||
}
|
||||
{
|
||||
match = {tag = "projects*";};
|
||||
opacity = "0.9 0.8";
|
||||
}
|
||||
{
|
||||
match = {tag = "im*";};
|
||||
opacity = "0.94 0.86";
|
||||
}
|
||||
{
|
||||
match = {tag = "gamestore*";};
|
||||
opacity = "0.85 0.75";
|
||||
}
|
||||
{
|
||||
match = {tag = "file-manager*";};
|
||||
opacity = "0.9 0.8";
|
||||
}
|
||||
{
|
||||
match = {tag = "terminal*";};
|
||||
opacity = "0.8 0.7";
|
||||
}
|
||||
{
|
||||
match = {tag = "settings*";};
|
||||
opacity = "0.8 0.7";
|
||||
}
|
||||
{
|
||||
match = {class = "gedit|org\\.gnome\\.TextEditor|mousepad";};
|
||||
opacity = "0.8 0.7";
|
||||
}
|
||||
{
|
||||
match = {class = "seahorse";};
|
||||
opacity = "0.9 0.8";
|
||||
}
|
||||
{
|
||||
match = {title = "Picture-in-Picture";};
|
||||
opacity = "0.95 0.75";
|
||||
}
|
||||
{
|
||||
match = {class = "org\\.gnome\\.Calculator";};
|
||||
opacity = "0.9 0.8";
|
||||
}
|
||||
{
|
||||
match = {title = "Picture-in-Picture";};
|
||||
pin = true;
|
||||
}
|
||||
{
|
||||
match = {title = "Picture-in-Picture";};
|
||||
keep_aspect_ratio = true;
|
||||
}
|
||||
{
|
||||
match = {tag = "games*";};
|
||||
no_blur = true;
|
||||
}
|
||||
{
|
||||
match = {tag = "games*";};
|
||||
fullscreen = true;
|
||||
}
|
||||
];
|
||||
}
|
||||
@@ -1,7 +1,10 @@
|
||||
_: {
|
||||
programs.noctalia.settings.plugin_settings."kenn/keybind-cheatsheet" = {
|
||||
compositor = "hyprland";
|
||||
hyprland_parser = "lua";
|
||||
hyprland_lua_config = "~/.config/hypr/hyprland.lua";
|
||||
columns = 3;
|
||||
merge_sequential = true;
|
||||
show_actions = true;
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user