xfce+bspwm make up to date and make workspaces more sensible

This commit is contained in:
Evie Litherland-Smith 2023-07-03 14:26:14 +01:00
parent f0a94b3c5c
commit 5f42675e2e
9 changed files with 90 additions and 168 deletions

View file

@ -1,16 +0,0 @@
{pkgs, ...}: {
imports = [
./xserver.nix
./sddm.nix
];
services.xserver = {
windowManager.i3.enable = true;
displayManager = {
defaultSession = "i3";
};
};
programs.i3lock = {
enable = true;
package = pkgs.i3lock-fancy;
};
}

View file

@ -1,22 +1,34 @@
{pkgs, ...}: {
imports = [./sddm.nix];
services.xserver = {
environment.systemPackages = with pkgs; [
gsettings-desktop-schemas
pavucontrol
pamixer
pulseaudio
flameshot
];
programs.thunar = {
enable = true;
desktopManager = {
xterm.enable = false;
xfce = {
enable = true;
enableXfwm = false;
noDesktop = true;
};
};
windowManager.bspwm.enable = true;
displayManager = {
defaultSession = "xfce+bspwm";
};
plugins = with pkgs.xfce; [
thunar-archive-plugin
thunar-volman
];
};
programs.i3lock = {
enable = true;
package = pkgs.i3lock-fancy;
services = {
xserver = {
desktopManager = {
xterm.enable = false;
xfce = {
enable = true;
enableXfwm = false;
noDesktop = true;
};
};
windowManager.bspwm.enable = true;
displayManager.defaultSession = "xfce+bspwm";
};
blueman.enable = true;
gvfs.enable = true;
tumbler.enable = true;
};
}

View file

@ -1,19 +0,0 @@
{pkgs, ...}: {
imports = [./sddm.nix];
services.xserver = {
enable = true;
desktopManager.xfce.enable = true;
displayManager = {
defaultSession = "xfce";
sessionCommands = ''
[ -f "$HOME/.config/nitrogen/bg-saved.cfg" ]\
&& ${pkgs.nitrogen}/bin/nitrogen --restore\
|| ${pkgs.nitrogen}/bin/nitrogen --set-auto $HOME/.dotfiles/wallpaper/images_dark/5120x2880.png --save
'';
};
};
programs.i3lock = {
enable = true;
package = pkgs.i3lock-fancy;
};
}

View file

@ -1,5 +1,4 @@
{...}: {
imports = [./default.nix];
services.xserver = {
enable = true;
layout = "gb";

View file

@ -36,61 +36,6 @@
};
};
};
xfce-bspwm-config = {pkgs, ...}: {
environment.systemPackages = with pkgs; [
nitrogen
power-profiles-daemon
xfce.thunar
flameshot
polybar
ranger
];
services.xserver = {
enable = true;
layout = "gb";
xkbVariant = "";
desktopManager = {
xterm.enable = false;
xfce = {
enable = true;
enableXfwm = false;
noDesktop = true;
};
};
windowManager.bspwm.enable = true;
displayManager = {
sddm = {
enable = true;
# theme = "catppuccin-macchiato";
settings = {General = {InputMethod = "";};};
};
defaultSession = "xfce+bspwm";
};
};
programs.i3lock = {
enable = true;
package = pkgs.i3lock-fancy;
};
};
wallpaper-config = {pkgs, ...}: {
xdg.configFile."nitrogen/bg-saved.cfg".text = ''
[xin_0]
file=${wallpapers.outputs.default}
mode=5
bgcolor=#000000
[xin_1]
file=${wallpapers.outputs.default}
mode=5
bgcolor=#000000
[xin_2]
file=${wallpapers.outputs.default}
mode=5
bgcolor=#000000
'';
xsession.windowManager.bspwm.extraConfig = ''${pkgs.nitrogen}/bin/nitrogen --restore '';
};
in {
nixosConfigurations = {
Legion = nixpkgs.lib.nixosSystem {
@ -122,8 +67,8 @@
};
modules = [
home-config
xfce-bspwm-config
./hosts/Vanguard
./desktop/xfce-bspwm.nix
./services/sshd
./services/syncthing/Vanguard.nix
({pkgs, ...}: {
@ -146,7 +91,6 @@
./home/personal.nix
./home/desktop/bspwm.nix
./home/gui
wallpaper-config
];
home = {
username = "xenia";
@ -154,6 +98,9 @@
stateVersion = "22.11";
};
programs.neovim.package = pkgs.neovim-nightly;
xsession.windowManager.bspwm.extraConfig = ''
${pkgs.feh}/bin/feh --no-fehbg --bg-fill ${wallpapers.outputs.default}
'';
};
})
];
@ -166,8 +113,8 @@
};
modules = [
home-config
xfce-bspwm-config
./hosts/Ronin
./desktop/xfce-bspwm.nix
./services/syncthing/Ronin.nix
({pkgs, ...}: {
services.xserver.displayManager.autoLogin.user = "elitherl";
@ -176,7 +123,6 @@
./home/work.nix
./home/desktop/bspwm.nix
./home/gui
wallpaper-config
];
home = {
username = "elitherl";
@ -184,18 +130,29 @@
stateVersion = "22.11";
};
programs.neovim.package = pkgs.neovim-nightly;
xdg.configFile."screenlayout.sh".text = ''
#!/usr/bin/env bash
xsession.windowManager.bspwm.extraConfig = ''
if [[ "$(xrandr --query | grep -E '^DP-1-1 connected')" ]]; then
xrandr --output eDP-1 --off\
--output DP-1-1 --primary --mode 1920x1200 --pos 0x185 --rotate normal\
--output DP-1-2 --mode 1920x1080 --pos 1920x0 --rotate left --output DP-1-3 --off
--output DP-1-2 --mode 1920x1080 --pos 1920x0 --rotate left
bspc monitor eDP-1 -r
bspc monitor DP-1-1 -g 1920x1200+0+185
bspc monitor DP-1-2 -g 1080x1920+1920+0
else
xrandr --output eDP-1 --primary --mode 1920x1080 --pos 0x0 --rotate normal
xrandr --output eDP-1 --primary --mode 1920x1080 --pos 0x0 --rotate normal\
--output DP-1-1 --off\
--output DP-1-2 --off
bspc monitor eDP-1 -g 1920x1080+0+0
bspc monitor DP-1-1 -r
bspc monitor DP-1-2 -r
fi
'';
xsession.windowManager.bspwm.extraConfig = ''
${pkgs.bash}/bin/bash $HOME/.config/screenlayout.sh
for desktop in "dev" "browser" "files" "chat" "remote"; do
bspc desktop $desktop --to-monitor primary
done
bspc monitor primary -o dev browser files chat remote
bspc monitor primary -d dev browser files chat remote
bspc wm -o
${pkgs.feh}/bin/feh --no-fehbg --bg-fill ${wallpapers.outputs.default}
'';
};
})

View file

@ -1,41 +1,39 @@
{pkgs, ...}: {
{...}: {
imports = [
./xfce.nix
./sxhkd.nix
];
home.packages = with pkgs; [dex];
xsession.windowManager.bspwm = {
enable = true;
settings = {
window_gap = 12;
border_width = 2;
split_ratio = 0.5;
borderless_monocle = true;
gapless_monocle = true;
pointer_modifier = "mod1";
borderless_monocle = false;
gapless_monocle = false;
pointer_modifier = "mod4";
pointer_action1 = "move";
pointer_action2 = "resize_side";
pointer_action3 = "resize_corner";
};
monitors = {
"primary" = ["I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX"];
};
monitors."primary" = ["dev" "browser" "files" "chat" "remote"];
rules = {
"Xfce4-terminal".state = "floating";
"Nm-connection-editor".state = "floating";
"Qemu-system-x86_64".state = "floating";
"Pavucontrol".state = "floating";
"kitty".desktop = "^1";
"firefox".desktop = "^2";
"Thunar".desktop = "^3";
"thunderbird".desktop = "^4";
"Mailspring".desktop = "^4";
"Element".desktop = "^5";
"Signal".desktop = "^5";
"TelegramDesktop".desktop = "^5";
"Steam".desktop = "^6";
"Bitwarden".desktop = "^7";
"Nxplayer.bin".desktop = "^8";
"Otpclient".state = "floating";
".blueman-manager-wrapped".state = "floating";
"org.wezfurlong.wezterm".desktop = "dev";
"firefox".desktop = "browser";
"Thunar".desktop = "files";
"Element".desktop = "chat";
"Signal".desktop = "chat";
"teams-for-linux".desktop = "chat";
"Nxplayer.bin" = {
desktop = "remote";
state = "floating";
};
};
extraConfig = ''
xsetroot -cursor_name left_ptr
@ -43,7 +41,6 @@
echo "---" | tee -a /tmp/polybar.log
polybar 2>&1 | tee -a /tmp/polybar.log & disown
echo "Bars launched..."
dex -a
'';
};
}

View file

@ -103,14 +103,11 @@ click-left = "powermenu"
[module/xworkspaces]
type = internal/xworkspaces
icon-0 = "I; "
icon-1 = "II; "
icon-2 = "III; "
icon-3 = "IV; "
icon-4 = "V; "
icon-5 = "VI; "
icon-6 = "VII; "
icon-7 = "VIII; "
icon-0 = "dev;󰅴"
icon-1 = "browser;󰈹"
icon-2 = "files;󰝰"
icon-3 = "chat;󰭹"
icon-4 = "remote;"
icon-default = " "
label-active = %icon%
@ -195,8 +192,12 @@ battery = BAT0
adapter = AC
format-charging = <animation-charging> <label-charging>
format-discharging = <ramp-capacity> <label-discharging>
format-full = <label-full>
format-low = <animation-low> <label-low>
label-charging = %percentage%% %time% %consumption%W
label-discharging = %percentage%% %time% %consumption%W
label-full = 󱟢
label-low = %percentage%% %time%
ramp-capacity-0 = 󰁺
ramp-capacity-1 = 󰁻
ramp-capacity-2 = 󰁼
@ -207,8 +208,8 @@ ramp-capacity-6 = 󰂀
ramp-capacity-7 = 󰂁
ramp-capacity-8 = 󰂂
ramp-capacity-9 = 󰁹
animation-low-0 = 󱃍
animation-low-1 =
animation-low-0 = 󰂎
animation-low-1 = 󰂃
animation-low-framerate = 200
animation-charging-0 = 󰢜
animation-charging-1 = 󰂆

View file

@ -8,41 +8,39 @@
# Launcher
"super + @space" = "rofi -show drun";
"super + shift + p" = "powermenu";
# bspwm hotkeys
"super + Escape" = "pkill -USR1 -x sxhkd";
"super + alt + {q,r}" = "bspc {quit,wm -r}";
"super + {_,shift + }q" = "bspc node -{c,k}";
"super + m" = "bspc desktop -l next";
"super + g" = "bspc node -s biggest";
# State/Flags
"super + {t,shift + t,s,f}" = "bspc node -t {tiled,pseudo_tiled,floating,fullscreen}";
"super + {t,shift + t,s,shift + m}" = "bspc node -t {tiled,pseudo_tiled,floating,fullscreen}";
# Focus/Scap
"super + {_,shift + }{h,j,k,l}" = "bspc node -{f,s} {west,south,north,east}";
"super + {_,shift + }{Left,Down,Up,Right}" = "bspc node -{f,s} {west,south,north,east}";
#"super + {p,b,comma,period}" = "bspc node -f @{parent,brother,first,second}";
"super + {_,shift + }c" = "bspc node -f {next,prev}.local.!hidden.window";
"super + {_,shift + }bracket{left,right}" = "bspc {desktop -f,node -d} {prev,next} --follow";
"super + {_,shift + }{comma,period}" = "bspc {monitor -f,node -m} {prev,next} --follow";
"super + {_,shift + }{comma,period}" = "bspc {desktop -f,node -d} {prev,next}.local.occupied --follow";
"super + {_,shift + }n" = "bspc {desktop -f,node -d} next.local --follow";
"super + {_,shift + }bracket{left,right}" = "bspc {monitor -f,node -m} {prev,next} --follow";
"super + {grave,Tab}" = "bspc {node,desktop} -f last";
"super + {_,shift + }{1-9,0}" = "bspc {desktop -f,node -d} '^{1-9,10}' --follow";
"super + {_,shift + }{1-9}" = "bspc {desktop -f,node -d} '^{1-9}' --follow";
# Named workspaces
"super + {_,shift + }{d,w,f,c,r}" = "bspc {desktop -f,node -d} '{dev,browser,files,chat,remote}' --follow";
# Preselect
"super + ctrl + {h,j,k,l}" = "bspc node -p {west,south,north,east}";
"super + ctrl + {1-9}" = "bspc node -o 0.{1-9}";
"super + ctrl + space" = "bspc node -p cancel";
"super + ctrl + shift + space" = "bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel";
# screenshot
# Screenshot
"Print" = "flameshot gui";
# Shortcuts
"super + w" = "firefox";
"super + e" = "thunar";
"super + p" = "i3lock";
"super + p" = "powermenu";
"super + F1" = "xfce4-screensaver-command --lock";
# Volume control keys
"XF86AudioMute" = "pamixer -t";

View file

@ -5,12 +5,5 @@
./rofi.nix
./polybar.nix
];
xfconf.settings = {
xfce4-session = {
"general/LockCommand" = "i3lock-fancy";
};
xsettings = {
"Gtk/MonospaceFontName" = "FiraCode Nerd Font 12";
};
};
xfconf.settings.xsettings."Gtk/MonospaceFontName" = "FiraCode Nerd Font 12";
}