mirror of
https://github.com/anotherhadi/nixy.git
synced 2026-04-02 11:12:09 +02:00
new bindings! which-key like
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
This commit is contained in:
@@ -1,57 +0,0 @@
|
|||||||
{
|
|
||||||
wayland.windowManager.hyprland.settings = {
|
|
||||||
bindin = [
|
|
||||||
# Launcher
|
|
||||||
"$mod, mouse:272, global, caelestia:launcherInterrupt"
|
|
||||||
"$mod, mouse:273, global, caelestia:launcherInterrupt"
|
|
||||||
"$mod, mouse:274, global, caelestia:launcherInterrupt"
|
|
||||||
"$mod, mouse:275, global, caelestia:launcherInterrupt"
|
|
||||||
"$mod, mouse:276, global, caelestia:launcherInterrupt"
|
|
||||||
"$mod, mouse:277, global, caelestia:launcherInterrupt"
|
|
||||||
"$mod, mouse_up, global, caelestia:launcherInterrupt"
|
|
||||||
"$mod, mouse_down, global, caelestia:launcherInterrupt"
|
|
||||||
];
|
|
||||||
bind = [
|
|
||||||
# Launcher
|
|
||||||
"$mod, SPACE, global, caelestia:launcher"
|
|
||||||
"$mod, X, global, caelestia:session" # Powermenu
|
|
||||||
|
|
||||||
# Misc
|
|
||||||
"$mod, L, global, caelestia:lock"
|
|
||||||
"$mod, N, exec, caelestia shell drawers toggle sidebar"
|
|
||||||
# Utilities
|
|
||||||
"$mod+Shift, SPACE, exec, caelestia shell gameMode toggle" # Toggle Focus/Game mode
|
|
||||||
"$mod+Shift, S, global, caelestia:screenshotFreeze" # Capture region (freeze)
|
|
||||||
"$mod+Shift+Alt, S, global, caelestia:screenshot" # Capture region
|
|
||||||
"$mod+Alt, R, exec, caelestia record -s" # Record screen with sound
|
|
||||||
"Ctrl+Alt, R, exec, caelestia record" # Record screen
|
|
||||||
"$mod+Shift+Alt, R, exec, caelestia record -r" # Record region
|
|
||||||
|
|
||||||
"$mod+Shift, E, exec, pkill fuzzel || caelestia emoji -p"
|
|
||||||
];
|
|
||||||
bindl = [
|
|
||||||
# Brightness
|
|
||||||
", XF86MonBrightnessUp, global, caelestia:brightnessUp"
|
|
||||||
", XF86MonBrightnessDown, global, caelestia:brightnessDown"
|
|
||||||
"$mod, F2, exec, nightshift-toggle"
|
|
||||||
"$mod, F3, exec, nightshift-toggle"
|
|
||||||
|
|
||||||
# Media
|
|
||||||
", XF86AudioPlay, global, caelestia:mediaToggle"
|
|
||||||
", XF86AudioPause, global, caelestia:mediaToggle"
|
|
||||||
", XF86AudioNext, global, caelestia:mediaNext"
|
|
||||||
", XF86AudioPrev, global, caelestia:mediaPrev"
|
|
||||||
", XF86AudioStop, global, caelestia:mediaStop"
|
|
||||||
|
|
||||||
# Sound
|
|
||||||
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
|
||||||
|
|
||||||
# Utilities
|
|
||||||
", Print, exec, caelestia screenshot" # Full screen capture > clipboard
|
|
||||||
];
|
|
||||||
bindle = [
|
|
||||||
", XF86AudioRaiseVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
|
|
||||||
", XF86AudioLowerVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -7,7 +7,6 @@
|
|||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.caelestia-shell.homeManagerModules.default
|
inputs.caelestia-shell.homeManagerModules.default
|
||||||
./bindings.nix
|
|
||||||
./bar.nix
|
./bar.nix
|
||||||
./launcher.nix
|
./launcher.nix
|
||||||
./appearance.nix
|
./appearance.nix
|
||||||
|
|||||||
@@ -1,31 +1,175 @@
|
|||||||
{pkgs, ...}: {
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
colors = config.lib.stylix.colors;
|
||||||
|
|
||||||
|
mkMenu = menu: let
|
||||||
|
configFile =
|
||||||
|
pkgs.writeText "config.yaml"
|
||||||
|
(lib.generators.toYAML {} {
|
||||||
|
anchor = "bottom-right";
|
||||||
|
border = "#${colors.base0D}80";
|
||||||
|
background = "#${colors.base01}EE";
|
||||||
|
color = "#${colors.base05}";
|
||||||
|
margin_right = 15;
|
||||||
|
margin_bottom = 15;
|
||||||
|
rows_per_column = 5;
|
||||||
|
|
||||||
|
inherit menu;
|
||||||
|
});
|
||||||
|
in
|
||||||
|
pkgs.writeShellScriptBin "menu" ''
|
||||||
|
exec ${lib.getExe pkgs.wlr-which-key} ${configFile}
|
||||||
|
'';
|
||||||
|
in {
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
"$mod" = "SUPER";
|
"$mod" = "SUPER";
|
||||||
"$shiftMod" = "SUPER_SHIFT";
|
"$shiftMod" = "SUPER_SHIFT";
|
||||||
|
|
||||||
bind =
|
bind =
|
||||||
[
|
[
|
||||||
|
# Applications
|
||||||
|
("$shiftMod, A, exec, "
|
||||||
|
+ lib.getExe (mkMenu [
|
||||||
|
{
|
||||||
|
key = "a";
|
||||||
|
desc = "Proton Authenticator";
|
||||||
|
cmd = "env WEBKIT_DISABLE_COMPOSITING_MODE=1 ${pkgs.proton-authenticator}/bin/proton-authenticator";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "p";
|
||||||
|
desc = "Proton Pass";
|
||||||
|
cmd = "${pkgs.proton-pass}/bin/proton-pass";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "v";
|
||||||
|
desc = "Proton VPN";
|
||||||
|
cmd = "${pkgs.protonvpn-gui}/bin/protonvpn-app";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "o";
|
||||||
|
desc = "Obsidian";
|
||||||
|
cmd = "${pkgs.obsidian}/bin/obsidian";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "s";
|
||||||
|
desc = "Signal";
|
||||||
|
cmd = "${pkgs.signal-desktop}/bin/signal-desktop";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "t";
|
||||||
|
desc = "TickTick";
|
||||||
|
cmd = "${pkgs.ticktick}/bin/ticktick";
|
||||||
|
}
|
||||||
|
]))
|
||||||
|
|
||||||
|
# Web links
|
||||||
|
"$mod,B, exec, uwsm app -- ${pkgs.brave}/bin/brave" # Browser (Brave)
|
||||||
|
("$shiftMod, B, exec, "
|
||||||
|
+ lib.getExe (mkMenu [
|
||||||
|
{
|
||||||
|
key = "h";
|
||||||
|
desc = "Home";
|
||||||
|
cmd = "${pkgs.brave}/bin/brave 'https://home.hadi.diy'";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "m";
|
||||||
|
desc = "Proton Mail";
|
||||||
|
cmd = "${pkgs.brave}/bin/brave 'https://mail.proton.me/u/2/inbox'";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "c";
|
||||||
|
desc = "Proton Calendar";
|
||||||
|
cmd = "${pkgs.brave}/bin/brave 'https://calendar.proton.me/u/2'";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "l";
|
||||||
|
desc = "Proton Lumo";
|
||||||
|
cmd = "${pkgs.brave}/bin/brave 'https://lumo.proton.me/u/2'";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "d";
|
||||||
|
desc = "Proton Drive";
|
||||||
|
cmd = "${pkgs.brave}/bin/brave 'https://drive.proton.me/u/2/'";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "G";
|
||||||
|
desc = "Google Gemini";
|
||||||
|
cmd = "${pkgs.brave}/bin/brave 'https://gemini.google.com/'";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "g";
|
||||||
|
desc = "Github";
|
||||||
|
cmd = "${pkgs.brave}/bin/brave 'https://github.com/'";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "n";
|
||||||
|
desc = "MyNixos";
|
||||||
|
cmd = "${pkgs.brave}/bin/brave 'https://mynixos.com/'";
|
||||||
|
}
|
||||||
|
]))
|
||||||
|
|
||||||
|
# Power
|
||||||
|
"$mod, X, global, caelestia:session" # Powermenu
|
||||||
|
("$shiftMod, X, exec, "
|
||||||
|
+ lib.getExe (mkMenu [
|
||||||
|
{
|
||||||
|
key = "l";
|
||||||
|
desc = "Lock";
|
||||||
|
cmd = "hyprctl dispatch global caelestia:lock";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "s";
|
||||||
|
desc = "Suspend";
|
||||||
|
cmd = "systemctl suspend";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "r";
|
||||||
|
desc = "Reboot";
|
||||||
|
cmd = "systemctl reboot";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "p";
|
||||||
|
desc = "Power Off";
|
||||||
|
cmd = "systemctl poweroff";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "n";
|
||||||
|
desc = "Nightshift";
|
||||||
|
cmd = "nightshift-toggle";
|
||||||
|
}
|
||||||
|
]))
|
||||||
|
|
||||||
|
# Quick launch
|
||||||
"$mod,RETURN, exec, uwsm app -- ${pkgs.ghostty}/bin/ghostty" # Ghostty (terminal)
|
"$mod,RETURN, exec, uwsm app -- ${pkgs.ghostty}/bin/ghostty" # Ghostty (terminal)
|
||||||
"$mod,E, exec, uwsm app -- ${pkgs.thunar}/bin/thunar" # Thunar
|
"$mod,E, exec, uwsm app -- ${pkgs.thunar}/bin/thunar" # Thunar
|
||||||
"$mod,B, exec, uwsm app -- ${pkgs.brave}/bin/brave" # Browser (Brave)
|
"$shiftMod, E, exec, pkill fuzzel || caelestia emoji -p" # Emoji picker
|
||||||
"$mod,K, exec, uwsm app -- ${pkgs.proton-pass}/bin/proton-pass" # Proton Pass
|
"$mod, SPACE, global, caelestia:launcher" # Launcher
|
||||||
"$mod,V, exec, uwsm app -- ${pkgs.protonvpn-gui}/bin/protonvpn-app" # Proton VPN
|
"$mod, N, exec, caelestia shell drawers toggle sidebar" # Sidebar (Notifications, quick actions)
|
||||||
"$mod,A, exec, uwsm app -- env WEBKIT_DISABLE_COMPOSITING_MODE=1 ${pkgs.proton-authenticator}/bin/proton-authenticator" # Proton Auth
|
|
||||||
"$mod,M, exec, uwsm app -- ${pkgs.vivaldi}/bin/vivaldi --profile-directory=Default --app-id=jnpecgipniidlgicjocehkhajgdnjekh" # Proton Mail (PWA)
|
|
||||||
"$mod,C, exec, uwsm app -- ${pkgs.vivaldi}/bin/vivaldi --profile-directory=Default --app-id=ojibjkjikcpjonjjngfkegflhmffeemk" # Proton Calendar (PWA)
|
|
||||||
"$mod,I, exec, uwsm app -- ${pkgs.vivaldi}/bin/vivaldi --profile-directory=Default --app-id=lcfjlhjhpmdjimnbkdfjnkojodddgfmd" # Proton Lumo (PWA)
|
|
||||||
|
|
||||||
|
# Windows
|
||||||
"$mod,Q, killactive," # Close window
|
"$mod,Q, killactive," # Close window
|
||||||
"$mod,T, togglefloating," # Toggle Floating
|
|
||||||
"$mod,F, fullscreen" # Toggle Fullscreen
|
"$mod,F, fullscreen" # Toggle Fullscreen
|
||||||
"$mod,left, movefocus, l" # Move focus left
|
"$shiftMod,F, togglefloating," # Toggle Floating
|
||||||
"$mod,right, movefocus, r" # Move focus Right
|
|
||||||
"$mod,up, movefocus, u" # Move focus Up
|
# Focus Windows
|
||||||
"$mod,down, movefocus, d" # Move focus Down
|
"$mod,H, movefocus, l" # Move focus left
|
||||||
"$shiftMod,up, focusmonitor, -1" # Focus previous monitor
|
"$mod,J, movefocus, d" # Move focus Down
|
||||||
"$shiftMod,down, focusmonitor, 1" # Focus next monitor
|
"$mod,K, movefocus, u" # Move focus Up
|
||||||
"$shiftMod,left, layoutmsg, addmaster" # Add to master
|
"$mod,L, movefocus, r" # Move focus Right
|
||||||
"$shiftMod,right, layoutmsg, removemaster" # Remove from master
|
"$shiftMod,H, focusmonitor, -1" # Focus previous monitor
|
||||||
|
"$shiftMod,J, layoutmsg, removemaster" # Remove from master
|
||||||
|
"$shiftMod,K, layoutmsg, addmaster" # Add to master
|
||||||
|
"$shiftMod,L, focusmonitor, 1" # Focus next monitor
|
||||||
|
|
||||||
|
# Utilities
|
||||||
|
"$shiftMod, SPACE, exec, caelestia shell gameMode toggle" # Toggle Focus/Game mode
|
||||||
|
"$shiftMod, S, global, caelestia:screenshotFreeze" # Capture region (freeze)
|
||||||
|
", Print, global, caelestia:screenshotFreeze" # Capture region (freeze)
|
||||||
|
"$shiftMod+Alt, S, global, caelestia:screenshot" # Capture region
|
||||||
]
|
]
|
||||||
++ (builtins.concatLists (builtins.genList (i: let
|
++ (builtins.concatLists (builtins.genList (i: let
|
||||||
ws = i + 1;
|
ws = i + 1;
|
||||||
@@ -39,5 +183,35 @@
|
|||||||
"$mod,mouse:272, movewindow" # Move Window (mouse)
|
"$mod,mouse:272, movewindow" # Move Window (mouse)
|
||||||
"$mod,R, resizewindow" # Resize Window (mouse)
|
"$mod,R, resizewindow" # Resize Window (mouse)
|
||||||
];
|
];
|
||||||
|
|
||||||
|
bindl = [
|
||||||
|
# Brightness
|
||||||
|
", XF86MonBrightnessUp, global, caelestia:brightnessUp"
|
||||||
|
", XF86MonBrightnessDown, global, caelestia:brightnessDown"
|
||||||
|
|
||||||
|
# Media
|
||||||
|
", XF86AudioPlay, global, caelestia:mediaToggle"
|
||||||
|
", XF86AudioPause, global, caelestia:mediaToggle"
|
||||||
|
", XF86AudioNext, global, caelestia:mediaNext"
|
||||||
|
", XF86AudioPrev, global, caelestia:mediaPrev"
|
||||||
|
", XF86AudioStop, global, caelestia:mediaStop"
|
||||||
|
|
||||||
|
# Sound
|
||||||
|
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||||
|
", XF86AudioRaiseVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||||
|
", XF86AudioLowerVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindin = [
|
||||||
|
# Launcher
|
||||||
|
"$mod, mouse:272, global, caelestia:launcherInterrupt"
|
||||||
|
"$mod, mouse:273, global, caelestia:launcherInterrupt"
|
||||||
|
"$mod, mouse:274, global, caelestia:launcherInterrupt"
|
||||||
|
"$mod, mouse:275, global, caelestia:launcherInterrupt"
|
||||||
|
"$mod, mouse:276, global, caelestia:launcherInterrupt"
|
||||||
|
"$mod, mouse:277, global, caelestia:launcherInterrupt"
|
||||||
|
"$mod, mouse_up, global, caelestia:launcherInterrupt"
|
||||||
|
"$mod, mouse_down, global, caelestia:launcherInterrupt"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user