dotfiles/hosts/lio/i3_customizations.nix
RingOfStorms (Joshua Bell) 647423692c wip i3
2025-10-26 11:10:41 -05:00

52 lines
1.8 KiB
Nix

{ pkgs, ... }:
let
assignLines = ''
workspace 1 output DP-1
workspace 2 output DP-1
workspace 3 output DP-1
workspace 4 output DP-1
workspace 5 output DP-1
workspace 6 output DP-1
workspace 7 output DP-2
workspace 8 output DP-2
workspace 9 output DP-2
workspace 10 output DP-2
'';
bg1 = ../_shared_assets/wallpapers/pixel_neon.png;
bg2 = ../_shared_assets/wallpapers/pixel_neon_v.png;
xrSetup = "xrandr --output DP-1 --mode 3840x2160 --rate 97.983 --pos 0x0 --primary; xrandr --output DP-2 --mode 3440x1440 --rate 99.982 --rotate left --left-of DP-1";
xwallpaperCmd = "xwallpaper --output DP-1 --zoom ${bg1} --output DP-2 --zoom ${bg2}";
startupCmd = "sh -c 'sleep 0.2; i3-msg workspace number 7; sleep 0.2; i3-msg workspace number 1'";
i3ExtraOptions = {
startup = [
{ command = "${xrSetup}"; }
{ command = "sh -c 'sleep 0.5; ${xwallpaperCmd}'"; }
{ command = "${startupCmd}"; }
];
};
in
{
options = { };
config = {
home-manager.sharedModules = [
(
{ lib, pkgs, ... }:
let
inherit (lib) mkAfter;
in
{
xsession.windowManager.i3.config.bars = lib.mkForce [];
xsession.windowManager.i3.config.startup = mkAfter (i3ExtraOptions.startup ++ [
{ command = "nm-applet"; }
{ command = "blueman-applet"; }
{ command = "xfce4-power-manager"; }
{ command = "sh -c 'pgrep -x xfsettingsd >/dev/null || xfsettingsd'"; }
{ command = "sh -c 'pgrep -x xfce4-panel >/dev/null || (sleep 0.5; xfce4-panel --disable-wm-check)'"; }
]);
xsession.windowManager.i3.extraConfig = mkAfter assignLines;
home.packages = [ pkgs.xwallpaper pkgs.xorg.xrandr ];
}
)
];
};
}