seeing if it's easier to fork tA's nixos laptop config rather than make one from scratch (more or less).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
2.3KB

  1. { pkgs, config, ... }: {
  2. home.keyboard.layout = "dvorak";
  3. # home.file.".xinitrc".text = ''
  4. # xrdb ~/.Xresources
  5. # sxhkd -m -1 -c ~/.config/sxhkd/sxhkdrc &
  6. # exec ${config.xsession.windowManager.command}
  7. # '';
  8. xsession = {
  9. enable = true;
  10. windowManager.bspwm = {
  11. enable = true;
  12. monitors = {
  13. "LVDS-1" = [ "I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX" "X" ];
  14. };
  15. rules = {
  16. "xterm" = {
  17. state = "pseudo_tiled";
  18. };
  19. };
  20. settings = {
  21. border_width = 5;
  22. window_gap = 10;
  23. split_ration = 0.5;
  24. };
  25. startupPrograms = [
  26. "feh --bg-fill .bg"
  27. ];
  28. };
  29. };
  30. services.sxhkd = {
  31. enable = true;
  32. keybindings = {
  33. "super + Return" = "urxvt";
  34. "super + {_,shift + }d" = "rofi -show {run,window}";
  35. "super + Escape" = "pkill -USR1 -x sxhkd";
  36. "super + shift + Escape" = "bspc wm -r";
  37. "super + m" = "bspc desktop -l next";
  38. "super + {_,shift + }q" = "bspc node -{c,k}";
  39. "super + {g, shift+g, c, r}" = "bspc node -t {tiled,pseudo_tiled,floating,fullscreen}";
  40. "super + ctrl + {g,c,r,l}" = "bspc node -g {marked,locked,sticky,private}";
  41. "super + y" = "bspc node newest.marked.local -n newest.!automatic.local";
  42. "super + {_,shift + }{h,t,n,s}" = "bspc node -{f,s} {west,south,north,east}";
  43. "super + {p,b,comma,period}" = "bspc node -f @{parent,brother,first,second}";
  44. "super + {_,shift + }u" = "bspc node -f {next,prev}.local.!hidden.window";
  45. "super + bracket{left,right}" = "bspc desktop -f {prev,next}.local";
  46. "super + {_,shift + }{1-9,0}" = "bspc {desktop -f,node -d} '^{1-9,0}'";
  47. "super + ctrl + {h,t,n,s}" = "bspc node -p {west,south,north,east}";
  48. "super + ctrl + {1-9}" = "bspc node -o 0.{1-9}";
  49. "super + ctrl + space" = "bspc node -p cancel";
  50. "super + ctrl + shift + space" = "bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel";
  51. "super + alt + {h,t,n,s}" = "bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}";
  52. "super + alt + shift + {h,t,n,s}" = "bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}";
  53. "super + {Left,Down,Up,Right}" = "bspc node -v {-20 0,0 20,0 -20,20 0}";
  54. "super + {_,shift + }f" = "bspc node any.local -R {90,270}";
  55. "super + ctrl + {_,shift + }f" = "bspc node -R {90,270}";
  56. };
  57. };
  58. }