144 lines
4.5 KiB
Nix
144 lines
4.5 KiB
Nix
# Suckless home-manager configuration
|
|
# X11-specific settings that integrate with home-manager
|
|
{ pkgs-stable, ... }:
|
|
|
|
{
|
|
# Monitor management
|
|
programs.autorandr = {
|
|
enable = true;
|
|
package = pkgs-stable.autorandr;
|
|
hooks.postswitch = {
|
|
"set-xft-dpi" = "echo 'Xft.dpi: 96' | xrdb -merge";
|
|
"set-wallpaper" = ''
|
|
case "$AUTORANDR_CURRENT_PROFILE" in
|
|
docked)
|
|
xwallpaper --output eDP-1 --zoom ~/NixOS/Wallpapers/pearl.jpg --output DP-3 --zoom ~/NixOS/Wallpapers/siege.png
|
|
;;
|
|
mobile)
|
|
xwallpaper --output eDP-1 --zoom ~/NixOS/Wallpapers/siege.png
|
|
;;
|
|
esac
|
|
'';
|
|
};
|
|
profiles = {
|
|
"docked" = {
|
|
fingerprint = {
|
|
eDP-1 = "00ffffffffffff002c831207000000001d220104a51e1378025645935e5b9325185054000000010101010101010101010101010101010f3c80a070b0204018303c002ebd10000018000000000000000000000000000000000000000000000000000000000000000000000000000000fe004b443134304e3336333041303100df";
|
|
DP-3 = "00ffffffffffff0061a906b00100000025220103803c2278afa545ad504da6260c5054a5cb0081809500a9c0b300d1c0010101010101023a801871382d40582c450055502100001e000000ff0035333738323030303434353132000000fd0030a561ba3c000a202020202020000000fc005032374642422d52410a20202001c0020319b349010311130414051f90e200ca67030c00100038448e4480a070382d40582c450055502100001e605980a0703814403024350055502100001c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050";
|
|
};
|
|
config = {
|
|
DP-3 = {
|
|
enable = true;
|
|
primary = false;
|
|
mode = "1920x1080";
|
|
rate = "75.00";
|
|
dpi = 96;
|
|
position = "0x180";
|
|
};
|
|
eDP-1 = {
|
|
enable = true;
|
|
primary = true;
|
|
mode = "1920x1200";
|
|
rate = "60.00";
|
|
dpi = 96;
|
|
position = "1920x0";
|
|
rotate = "left";
|
|
scale = {
|
|
x = 0.75;
|
|
y = 0.75;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
"mobile" = {
|
|
fingerprint = {
|
|
eDP-1 = "00ffffffffffff002c831207000000001d220104a51e1378025645935e5b9325185054000000010101010101010101010101010101010f3c80a070b0204018303c002ebd10000018000000000000000000000000000000000000000000000000000000000000000000000000000000fe004b443134304e3336333041303100df";
|
|
};
|
|
config = {
|
|
eDP-1 = {
|
|
enable = true;
|
|
primary = true;
|
|
mode = "1920x1200";
|
|
rate = "60.00";
|
|
dpi = 96;
|
|
position = "0x0";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
services.autorandr = {
|
|
enable = true;
|
|
package = pkgs-stable.autorandr;
|
|
};
|
|
|
|
# Screenshots
|
|
services.flameshot = {
|
|
enable = true;
|
|
package = pkgs-stable.flameshot;
|
|
};
|
|
|
|
# Touchpad gestures (for mobile mode)
|
|
home.file.".config/libinput-gestures.conf".text = ''
|
|
# 3-finger up/down: tag navigation
|
|
gesture swipe up 3 sh -c 'echo "view-prev" > /tmp/dwm.fifo'
|
|
gesture swipe down 3 sh -c 'echo "view-next" > /tmp/dwm.fifo'
|
|
|
|
# 3-finger left/right: window cycling
|
|
gesture swipe left 3 sh -c 'echo "focus-prev" > /tmp/dwm.fifo'
|
|
gesture swipe right 3 sh -c 'echo "focus-next" > /tmp/dwm.fifo'
|
|
|
|
# 4-finger up/down: layout
|
|
gesture swipe up 4 sh -c 'echo "layout-mono" > /tmp/dwm.fifo'
|
|
gesture swipe down 4 sh -c 'echo "layout-tile" > /tmp/dwm.fifo'
|
|
|
|
# Pinch: rofi system menu / view all
|
|
gesture pinch in rofi -show system
|
|
gesture pinch out sh -c 'echo "view-all" > /tmp/dwm.fifo'
|
|
'';
|
|
|
|
# X11 startup script
|
|
home.file.".xinitrc".text = ''
|
|
# D-Bus environment for GTK apps (fixes slow first launch)
|
|
dbus-update-activation-environment --systemd DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY
|
|
|
|
# Apply monitor profile
|
|
autorandr --change --default mobile
|
|
|
|
# Disable DPMS and screen blanking
|
|
xset s off
|
|
xset -dpms
|
|
xset s noblank
|
|
|
|
# Numlock on
|
|
numlockx
|
|
|
|
# Status bar
|
|
slstatus &
|
|
|
|
# Compositor
|
|
# picom &
|
|
|
|
# Touchpad gestures
|
|
libinput-gestures-setup start &
|
|
|
|
# Auto-rotate
|
|
auto-rotate &
|
|
|
|
# KeePassXC (minimized, ready for browser extension)
|
|
keepassxc --minimized &
|
|
|
|
# Create dwmfifo for IPC
|
|
mkfifo /tmp/dwm.fifo 2>/dev/null || true
|
|
|
|
# Start dwm
|
|
exec dwm
|
|
'';
|
|
|
|
# Auto-start X11/dwm on tty1
|
|
programs.bash.profileExtra = ''
|
|
if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
|
|
exec startx
|
|
fi
|
|
'';
|
|
}
|