my system configurations ^-^
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: basic bspwm

willow 18c617b8 44fbecba

+165 -5
+101
modules/home/desktop/bspwm/default.nix
··· 1 + # Bspwm settings 2 + { 3 + config, 4 + lib, 5 + pkgs, 6 + ... 7 + }: let 8 + mod = "super"; 9 + altMod = "alt"; 10 + in { 11 + xsession.windowManager.bspwm = { 12 + enable = true; 13 + settings = {}; 14 + extraConfig = '' 15 + bspc monitor -d Web Music Discord Editor Notes Email 7 8 9 10 16 + 17 + # Mice bindings 18 + # Set mod key 19 + bspc config pointer_modifier ${mod} 20 + 21 + # Set mouse 1 to move floating windows 22 + bspc config pointer_action1 move 23 + 24 + # Mouse 2 button resizes the window by side 25 + bspc config pointer_action2 resize_side 26 + 27 + # Mouse 3 button (right mouse) resize by corner 28 + bspc config pointer_action2 resize_corner 29 + 30 + bspc config focus_follows_pointer true 31 + bspc config automatic_scheme alternate 32 + ''; 33 + 34 + rules = { 35 + "discord" = { 36 + desktop = "^3"; 37 + follow = false; 38 + }; 39 + "Spotify" = { 40 + desktop = "^2"; 41 + follow = false; 42 + }; 43 + "apple-music" = { 44 + desktop = "^2"; 45 + follow = false; 46 + }; 47 + "obsidian" = { 48 + desktop = "^5"; 49 + follow = false; 50 + }; 51 + "thunderbird" = { 52 + desktop = "^6"; 53 + follow = false; 54 + }; 55 + }; 56 + 57 + startupPrograms = [ 58 + # "${pkgs.polkit_gnome} /libexec/polkit-gnome-authentication-agent-1" 59 + "thunderbird" 60 + "obsidian" 61 + # "xrandr --output HDMI-A-0 --mode 1920x1080 --rate 144 --primary" 62 + ]; 63 + }; 64 + 65 + services.sxhkd = { 66 + enable = true; 67 + 68 + keybindings = { 69 + "${mod} + q" = "kitty"; 70 + "${mod} + c" = "bspc node -c"; 71 + "${mod} + m" = "tofi-drun --drun-launch=true --fuzzy-match=true"; 72 + # "${mod} + r" = "bspc node @focused:/ --rotate 90"; 73 + # "${mod} + shift + r" = "bspc node @focused:/ --rotate 180"; 74 + # "${mod} + y" = "bspc node @parent -R 90"; 75 + }; 76 + 77 + extraConfig = '' 78 + # Switch to different workspaces with back-and-forth support 79 + ${mod} + {1-9,0} 80 + desktop='^{1-9,10}'; \ 81 + bspc query -D -d "$desktop.focused" && bspc desktop -f last || bspc desktop -f "$desktop" 82 + 83 + # Move windows to different workspaces 84 + ${altMod} + {1-9,0} 85 + bspc node -d ^{1-9,10} 86 + 87 + # Expand/contract a window by moving one of its side outward/inward 88 + ${mod} + s : {h,j,k,l} 89 + STEP=30; SELECTION={1,2,3,4}; \ 90 + bspc node -z $(echo "left -$STEP 0,bottom 0 $STEP,top 0 -$STEP,right $STEP 0" | cut -d',' -f$SELECTION) || \ 91 + bspc node -z $(echo "right -$STEP 0,top 0 $STEP,bottom 0 -$STEP,left $STEP 0" | cut -d',' -f$SELECTION) 92 + 93 + ${mod} + {t,shift + t,f,shift + f} 94 + bspc node -t '~{tiled,pseudo_tiled,floating,fullscreen}' 95 + 96 + # focus the node in the given direction 97 + ${mod} + {_,shift + }{h,j,k,l} 98 + bspc node -{f,s} {west,south,north,east} 99 + ''; 100 + }; 101 + }
+1
modules/home/desktop/default.nix
··· 1 1 {...}: { 2 2 imports = [ 3 + ./bspwm 3 4 ./hyprland 4 5 ]; 5 6 }
+1 -1
modules/home/desktop/hyprland/binds.nix
··· 66 66 # "mod, code:60, exec, rofimoji" 67 67 68 68 ", Print, exec, grim -g \"$(slurp -d -c f5bde6)\" - | wl-copy" 69 - "$mod, space, exec, tofi-drun --drun-launch=true --fuzzy-match=true --font /usr/share/fonts/OTF/MonaspiceNeNerdFont-Regular.otf" 69 + "$mod, space, exec, tofi-drun --drun-launch=true --fuzzy-match=true" 70 70 "$mod, Q, exec, kitty" 71 71 "$mod, F, exec, zen" 72 72 "$mod, E, exec, nautilus"
+1 -1
modules/home/services/gammastep.nix
··· 1 1 {...}: { 2 2 services.gammastep = { 3 - enable = true; 3 + enable = false; 4 4 tray = true; 5 5 provider = "manual"; 6 6 latitude = -38.0;
+1
modules/nixos/default.nix
··· 1 1 {...}: { 2 2 imports = [ 3 + ./desktop 3 4 ./network 4 5 ./nix 5 6 ./options
+57
modules/nixos/desktop/bspwm.nix
··· 1 + {lib, ...}: { 2 + # TODO)) tidy up, this is all messy 3 + 4 + services.picom = { 5 + enable = true; 6 + 7 + settings = { 8 + # adapted from https://github.com/nullishamy/derivation-station/blob/dd439aaa94ca5b64b7032640e5f056ef6d4c0253/machines/desktop/ui.nix#L6 9 + # TODO)) customise these 10 + 11 + # shadows 12 + shadow = false; 13 + shadow-radius = 2; 14 + shadow-opacity = 0.75; 15 + shadow-offset-x = -2; 16 + shadow-offset-y = -2; 17 + shadow-exclude = []; 18 + 19 + # fading 20 + fading = false; 21 + fade-in-step = 0.03; 22 + fade-out-step = 0.03; 23 + fade-delta = 5; 24 + fade-exclude = []; 25 + no-fading-openclose = 1; 26 + 27 + # opacity 28 + inactive-opacity = 1; 29 + frame-opacity = 1; 30 + inactive-opacity-override = false; 31 + active-opacity = 1; 32 + inactive-dim = 0; 33 + focus-exclude = []; 34 + opacity-rule = []; 35 + 36 + # corners 37 + corner-radius = 10; 38 + round-borders = 1; 39 + rounded-corners-exclude = []; 40 + }; 41 + }; 42 + 43 + # configure X11 44 + services = { 45 + displayManager = { 46 + defaultSession = "none+bspwm"; 47 + }; 48 + 49 + xserver = { 50 + enable = true; 51 + 52 + windowManager.bspwm = { 53 + enable = true; 54 + }; 55 + }; 56 + }; 57 + }
-1
modules/nixos/programs/default.nix
··· 4 4 ... 5 5 }: { 6 6 imports = [ 7 - ./desktop 8 7 ./fonts.nix 9 8 ]; 10 9
+1
modules/nixos/programs/desktop/default.nix modules/nixos/desktop/default.nix
··· 1 1 {...}: { 2 2 imports = [ 3 + ./bspwm.nix 3 4 ./hyprland.nix 4 5 ]; 5 6 }
modules/nixos/programs/desktop/hyprland.nix modules/nixos/desktop/hyprland.nix
+1 -1
modules/nixos/services/default.nix
··· 10 10 ./printing.nix 11 11 ./privacy.nix 12 12 ./restic.nix 13 - # ./sddm.nix 13 + ./sddm.nix 14 14 ./tlp.nix 15 15 # ./xfce.nix 16 16 ];
+1 -1
modules/nixos/services/sddm.nix
··· 2 2 services.displayManager.sddm = { 3 3 enable = true; 4 4 package = pkgs.kdePackages.sddm; 5 - wayland.enable = true; 5 + # wayland.enable = true; 6 6 }; 7 7 }