mirror of
https://github.com/librephoenix/nixos-config
synced 2025-04-20 17:24:35 +05:30
Created "hyprprofile" script to asort keybinds into profiles
This commit is contained in:
parent
e3010396f9
commit
511e3bf626
|
@ -8,6 +8,9 @@
|
||||||
dmenu_command = "fuzzel -d";
|
dmenu_command = "fuzzel -d";
|
||||||
inherit config lib pkgs;
|
inherit config lib pkgs;
|
||||||
})
|
})
|
||||||
|
(import ./hyprprofiles/hyprprofiles.nix {
|
||||||
|
dmenuCmd = "fuzzel -d"; inherit config lib pkgs;
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
gtk.cursorTheme = {
|
gtk.cursorTheme = {
|
||||||
|
@ -25,6 +28,7 @@
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
exec-once = dbus-update-activation-environment DISPLAY XAUTHORITY WAYLAND_DISPLAY
|
exec-once = dbus-update-activation-environment DISPLAY XAUTHORITY WAYLAND_DISPLAY
|
||||||
exec-once = hyprctl setcursor '' + config.gtk.cursorTheme.name + " " + builtins.toString config.gtk.cursorTheme.size + ''
|
exec-once = hyprctl setcursor '' + config.gtk.cursorTheme.name + " " + builtins.toString config.gtk.cursorTheme.size + ''
|
||||||
|
exec-once = hyprprofile Personal
|
||||||
|
|
||||||
exec-once = pypr
|
exec-once = pypr
|
||||||
exec-once = nm-applet
|
exec-once = nm-applet
|
||||||
|
@ -202,6 +206,7 @@
|
||||||
|
|
||||||
bind=SUPER,I,exec,networkmanager_dmenu
|
bind=SUPER,I,exec,networkmanager_dmenu
|
||||||
bind=SUPER,P,exec,keepmenu
|
bind=SUPER,P,exec,keepmenu
|
||||||
|
bind=SUPERSHIFT,P,exec,hyprprofile-dmenu
|
||||||
|
|
||||||
monitor=eDP-1,1920x1080,1000x1200,1
|
monitor=eDP-1,1920x1080,1000x1200,1
|
||||||
monitor=HDMI-A-1,1920x1200,1920x0,1
|
monitor=HDMI-A-1,1920x1200,1920x0,1
|
||||||
|
@ -298,8 +303,12 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
while true; do
|
while true; do
|
||||||
if pgrep -x .obs-wrapped > /dev/null;
|
if pgrep -x .obs-wrapped > /dev/null;
|
||||||
then pkill -STOP fnott;
|
then
|
||||||
else pkill -CONT fnott;
|
pkill -STOP fnott;
|
||||||
|
emacsclient --eval "(org-yaap-mode 0)";
|
||||||
|
else
|
||||||
|
pkill -CONT fnott;
|
||||||
|
emacsclient --eval "(if (not org-yaap-mode) (org-yaap-mode 1))";
|
||||||
fi
|
fi
|
||||||
sleep 10;
|
sleep 10;
|
||||||
done
|
done
|
||||||
|
@ -400,7 +409,7 @@
|
||||||
# width = 1280;
|
# width = 1280;
|
||||||
spacing = 2;
|
spacing = 2;
|
||||||
|
|
||||||
modules-left = [ "custom/os" "battery" "backlight" "pulseaudio" "cpu" "memory" ];
|
modules-left = [ "custom/os" "custom/hyprprofile" "battery" "backlight" "pulseaudio" "cpu" "memory" ];
|
||||||
modules-center = [ "hyprland/workspaces" ];
|
modules-center = [ "hyprland/workspaces" ];
|
||||||
modules-right = [ "idle_inhibitor" "tray" "clock" ];
|
modules-right = [ "idle_inhibitor" "tray" "clock" ];
|
||||||
|
|
||||||
|
@ -409,6 +418,12 @@
|
||||||
"exec" = ''echo "" '';
|
"exec" = ''echo "" '';
|
||||||
"interval" = "once";
|
"interval" = "once";
|
||||||
};
|
};
|
||||||
|
"custom/hyprprofile" = {
|
||||||
|
"format" = " {}";
|
||||||
|
"exec" = ''cat ~/.hyprprofile'';
|
||||||
|
"interval" = 3;
|
||||||
|
"on-click" = "hyprprofile-dmenu";
|
||||||
|
};
|
||||||
"hyprland/workspaces" = {
|
"hyprland/workspaces" = {
|
||||||
"format" = "{icon}";
|
"format" = "{icon}";
|
||||||
"format-icons" = {
|
"format-icons" = {
|
||||||
|
@ -518,6 +533,10 @@
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#custom-hyprprofile {
|
||||||
|
color: #'' + config.lib.stylix.colors.base0D + '';
|
||||||
|
}
|
||||||
|
|
||||||
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||||
button:hover {
|
button:hover {
|
||||||
background: inherit;
|
background: inherit;
|
||||||
|
|
36
user/wm/hyprland/hyprprofiles/hyprprofiles.nix
Normal file
36
user/wm/hyprland/hyprprofiles/hyprprofiles.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{ config, lib, pkgs, dmenuCmd ? "rofi -dmenu", ... }:
|
||||||
|
let
|
||||||
|
dmenuScript = ''
|
||||||
|
#!/bin/sh
|
||||||
|
choice="$(\ls ~/.config/hyprprofiles | ''+dmenuCmd+'')";
|
||||||
|
hyprprofile $choice;
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.packages = [
|
||||||
|
(pkgs.writeScriptBin "hyprprofile" ''
|
||||||
|
#!/bin/sh
|
||||||
|
prevprofile="$(cat ~/.hyprprofile)"
|
||||||
|
newprofile=$1
|
||||||
|
if [ $# -eq 1 ]; then
|
||||||
|
if [ $newprofile = "Personal" ]; then
|
||||||
|
echo "" > ~/.hyprprofile;
|
||||||
|
else
|
||||||
|
echo $newprofile > ~/.hyprprofile;
|
||||||
|
fi
|
||||||
|
if [ -f ~/.config/hyprprofiles/$prevprofile/exit-hook.sh ]; then
|
||||||
|
exec ~/.config/hyprprofiles/$prevprofile/exit-hook.sh;
|
||||||
|
fi
|
||||||
|
if [ -f ~/.config/hyprprofiles/$newprofile/start-hook.sh ]; then
|
||||||
|
exec ~/.config/hyprprofiles/$newprofile/start-hook.sh;
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
'')
|
||||||
|
(pkgs.writeScriptBin "hyprprofile-dmenu" dmenuScript)
|
||||||
|
];
|
||||||
|
home.file.".config/hyprprofiles/" = {
|
||||||
|
source = ./profiles;
|
||||||
|
recursive = true;
|
||||||
|
executable = true;
|
||||||
|
};
|
||||||
|
}
|
4
user/wm/hyprland/hyprprofiles/profiles/Personal/start-hook.sh
Executable file
4
user/wm/hyprland/hyprprofiles/profiles/Personal/start-hook.sh
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
hyprctl keyword unbind SUPER,S;
|
||||||
|
hyprctl keyword bind SUPER,S,exec,qutebrowser;
|
5
user/wm/hyprland/hyprprofiles/profiles/Teaching/start-hook.sh
Executable file
5
user/wm/hyprland/hyprprofiles/profiles/Teaching/start-hook.sh
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
hyprctl keyword unbind SUPER,S;
|
||||||
|
hyprctl keyword bind SUPER,S,exec,container-open Teaching;
|
||||||
|
emacsclient --eval '(org-roam-switch-db "Teaching.p")'
|
5
user/wm/hyprland/hyprprofiles/profiles/Youtube/start-hook.sh
Executable file
5
user/wm/hyprland/hyprprofiles/profiles/Youtube/start-hook.sh
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
hyprctl keyword unbind SUPER,S;
|
||||||
|
hyprctl keyword bind SUPER,S,exec,container-open Tech;
|
||||||
|
emacsclient --eval '(org-roam-switch-db "Producer.p/LibrePhoenix.p")'
|
Loading…
Reference in a new issue