diff options
Diffstat (limited to 'home.nix')
| -rw-r--r-- | home.nix | 115 |
1 files changed, 114 insertions, 1 deletions
| @@ -569,7 +569,6 @@ in | |||
| 569 | # recoll? | 569 | # recoll? |
| 570 | # remmina? | 570 | # remmina? |
| 571 | # screen-locker | 571 | # screen-locker |
| 572 | # sxhkd if using bspwm and not i3 | ||
| 573 | # unison | 572 | # unison |
| 574 | 573 | ||
| 575 | poweralertd.enable = true; | 574 | poweralertd.enable = true; |
| @@ -588,6 +587,72 @@ in | |||
| 588 | temperature.night = 4500; | 587 | temperature.night = 4500; |
| 589 | }; | 588 | }; |
| 590 | 589 | ||
| 590 | sxhkd = { | ||
| 591 | enable = true; | ||
| 592 | keybindings = { | ||
| 593 | # reload sxhkd | ||
| 594 | "super + Escape" = "pkill -USR1 -x sxhkd"; | ||
| 595 | |||
| 596 | # BSPWM | ||
| 597 | # quit/restart bspwm | ||
| 598 | "super + alt + shift + ctrl + {e,r}" = "bspc {quit,wm -r}"; | ||
| 599 | # close/kill window | ||
| 600 | "super + shift + {q,k}" = "bspc node -{c,k}"; | ||
| 601 | # toggle between tiled and monocle layout | ||
| 602 | "super + m" = "bspc desktop -l next"; | ||
| 603 | # send newest marked node to newest preselected node | ||
| 604 | "super + y" = "bspc node newest.marked.local -n newest.!automatic.local"; | ||
| 605 | # swap current and biggest window | ||
| 606 | "super + g" = "bspc node -s biggest.window"; | ||
| 607 | |||
| 608 | # STATE/FLAGS | ||
| 609 | # set the window state | ||
| 610 | "super + {t,shift + t,s,f}" = "bspc node -t {tiled,pseudo_tiled,floating,fullscreen}"; | ||
| 611 | # set the node flags | ||
| 612 | "super + ctrl + {m,x,y,z}" = "bspc node -g {marked,locked,sticky,private}"; | ||
| 613 | |||
| 614 | # FOCUS/SWAP | ||
| 615 | # focus the node in the given direction | ||
| 616 | "super + {_,shift + }{n,e,o,i}" = "bspc node -{f,s} {west,south,north,east}"; | ||
| 617 | # focus the node for the given path jump | ||
| 618 | "super + {p,b,comma,period}" = "bspc node -f @{parent,brother,first,second}"; | ||
| 619 | # focus the next/previous window in the current desktop | ||
| 620 | "super + {_,shift + }c" = "bspc node -f {next,prev}.local.!hidden.window"; | ||
| 621 | # focus the next/previous desktop in the current monitor | ||
| 622 | "super + bracket{left,right}" = "bspc desktop -f {prev,next}.local"; | ||
| 623 | # focus the last node/desktop | ||
| 624 | "super + {grave,Tab}" = "bspc {node,desktop} -f last"; | ||
| 625 | # focus or send to the given desktop | ||
| 626 | "super + {_,shift + }{1-9,0}" = "bspc {desktop -f,node -d} '^{1-9,10}'"; | ||
| 627 | |||
| 628 | # PRESELECT | ||
| 629 | # preselect the direction | ||
| 630 | "super + ctrl + {n,e,o,i}" = "bspc node -p {west,south,north,east}"; | ||
| 631 | # preselect the ratio | ||
| 632 | "super + ctrl + {1-9}" = "bspc node -o 0.{1-9}"; | ||
| 633 | # cancel the preselection for the focused node | ||
| 634 | "super + ctrl + space" = "bspc node -p cancel"; | ||
| 635 | # cancel the preselection for the focused desktop | ||
| 636 | "super + ctrl + shift + space" = "bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel"; | ||
| 637 | |||
| 638 | # MOVE/RESIZE | ||
| 639 | # expand a window by moving one of its side outward | ||
| 640 | "super + alt + {n,e,o,i}" = "bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}"; | ||
| 641 | # contract a window by moving one of its side inward | ||
| 642 | "super + alt + shift + {n,e,o,i}" = "bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}"; | ||
| 643 | # move a floating window | ||
| 644 | "super + {Left,Down,Up,Right}" = "bspc node -v {-20 0,0 20,0 -20,20 0}"; | ||
| 645 | |||
| 646 | # program keybinds | ||
| 647 | "super + Return" = "emacsclient -c"; | ||
| 648 | "super + shift + Return" = "qutebrowser"; | ||
| 649 | "super + p" = "dmenu_run"; | ||
| 650 | "super + shift + b" = "kasimenu"; | ||
| 651 | "super + shift + u" = "kasimenu user"; | ||
| 652 | "super + shift + t" = "kasimenu_totp"; | ||
| 653 | }; | ||
| 654 | }; | ||
| 655 | |||
| 591 | syncthing = { | 656 | syncthing = { |
| 592 | enable = true; | 657 | enable = true; |
| 593 | settings = { | 658 | settings = { |
| @@ -895,4 +960,52 @@ in | |||
| 895 | videos = "$HOME/"; | 960 | videos = "$HOME/"; |
| 896 | }; | 961 | }; |
| 897 | }; | 962 | }; |
| 963 | |||
| 964 | xsession = { | ||
| 965 | enable = true; | ||
| 966 | profileExtra = '' | ||
| 967 | export _JAVA_AWT_WM_NONREPARENTING=1 | ||
| 968 | ''; | ||
| 969 | windowManager.bspwm = { | ||
| 970 | enable = true; | ||
| 971 | monitors = { | ||
| 972 | DP-4 = [ | ||
| 973 | "I" | ||
| 974 | "II" | ||
| 975 | "III" | ||
| 976 | "IV" | ||
| 977 | "V" | ||
| 978 | "VI" | ||
| 979 | "VII" | ||
| 980 | "VIII" | ||
| 981 | "IX" | ||
| 982 | "X" | ||
| 983 | ]; | ||
| 984 | eDP-1 = [ | ||
| 985 | "I" | ||
| 986 | "II" | ||
| 987 | "III" | ||
| 988 | "IV" | ||
| 989 | "V" | ||
| 990 | "VI" | ||
| 991 | "VII" | ||
| 992 | "VIII" | ||
| 993 | "IX" | ||
| 994 | "X" | ||
| 995 | ]; | ||
| 996 | }; | ||
| 997 | settings = { | ||
| 998 | border_width = 2; | ||
| 999 | window_gap = 0; | ||
| 1000 | gapless_monocle = true; | ||
| 1001 | split_ratio = 0.52; | ||
| 1002 | }; | ||
| 1003 | startupPrograms = [ | ||
| 1004 | "emacsclient -r" | ||
| 1005 | "qutebrowser" | ||
| 1006 | "xwallpaper --zoom ~/pics/wp/elite_milky_way_below2.png" | ||
| 1007 | "xsetwacom set \"Wacom One by Wacom S Pen stylus\" MapToOutput 2304x1440+560+0" | ||
| 1008 | ]; | ||
| 1009 | }; | ||
| 1010 | }; | ||
| 898 | } | 1011 | } |
