diff options
author | tdback <tyler@tdback.net> | 2025-02-02 21:11:21 -0500 |
---|---|---|
committer | tdback <tyler@tdback.net> | 2025-02-02 21:11:21 -0500 |
commit | 080909508881d8ab3f013b43eebceeb405e575b2 (patch) | |
tree | 9ee85b4ca4b2ada89d866522463bbd8cd152abcc | |
parent | f93a66c0c2a26d217c75b5bad7e7c9cb335c8c91 (diff) |
users/tdback: now using xmonad wm
-rw-r--r-- | modules/profiles/xorg/default.nix | 2 | ||||
-rw-r--r-- | users/tdback/desktop.nix | 3 | ||||
-rw-r--r-- | users/tdback/modules/polybar/default.nix | 113 | ||||
-rw-r--r-- | users/tdback/modules/xmonad/default.nix | 68 | ||||
-rw-r--r-- | users/tdback/modules/xorg/default.nix | 110 |
5 files changed, 70 insertions, 226 deletions
diff --git a/modules/profiles/xorg/default.nix b/modules/profiles/xorg/default.nix index 8004d05..46c2777 100644 --- a/modules/profiles/xorg/default.nix +++ b/modules/profiles/xorg/default.nix @@ -21,7 +21,7 @@ enable = true; xkb.layout = "us"; displayManager.lightdm.enable = true; - windowManager.bspwm.enable = true; + windowManager.xmonad.enable = true; }; security.rtkit.enable = true; diff --git a/users/tdback/desktop.nix b/users/tdback/desktop.nix index 9b7fa8d..5760bc0 100644 --- a/users/tdback/desktop.nix +++ b/users/tdback/desktop.nix @@ -38,10 +38,9 @@ in ./modules/firefox ./modules/mpd ./modules/ncmpcpp - ./modules/polybar ./modules/rofi ./modules/tmux - ./modules/xorg + ./modules/xmonad ]; home.packages = with pkgs.unstable; [ diff --git a/users/tdback/modules/polybar/default.nix b/users/tdback/modules/polybar/default.nix deleted file mode 100644 index 72c7be8..0000000 --- a/users/tdback/modules/polybar/default.nix +++ /dev/null @@ -1,113 +0,0 @@ -{ - lib, - pkgs, - ... -}: -{ - services.polybar = { - enable = true; - package = pkgs.unstable.polybar.override { pulseSupport = true; }; - script = "polybar main &"; - settings = - let - colors = { - alert = "#505050"; - background = "#050505"; - background-alt = "#373B41"; - foreground = "#F1F1F1"; - }; - in - { - "bar/main" = { - width = "100%"; - height = "18pt"; - line.size = "3pt"; - font = [ "JetBrainsMonoNerdFont:size=9" ]; - foreground = "${colors.foreground}"; - background = "${colors.background}"; - separator = "|"; - padding = { - left = 1; - right = 1; - }; - - module.margin = 1; - modules = { - left = "bspwm"; - center = "time"; - right = "volume cpu memory date"; - }; - - wm.restack = "bspwm"; - cursor.click = "pointer"; - }; - - "module/bspwm" = { - type = "internal/bspwm"; - pin.workspaces = true; - label = { - focused = { - text = "%index%"; - foreground = "${colors.foreground}"; - padding = 1; - }; - occupied = { - text = "%index%"; - foreground = "${colors.alert}"; - padding = 1; - }; - urgent = { - text = "%index%"; - foreground = "${colors.foreground}"; - background = "${colors.background-alt}"; - padding = 1; - }; - empty.text = ""; - }; - }; - - "module/cpu" = { - type = "internal/cpu"; - interval = 3; - label = "CPU %percentage%%"; - }; - - "module/memory" = { - type = "internal/memory"; - interval = 3; - label = "RAM %percentage_used%%"; - }; - - "module/volume" = { - type = "internal/pulseaudio"; - label = { - volume = "VOL %percentage%%"; - muted = "VOL 0%"; - }; - click.right = "${lib.getExe pkgs.unstable.pavucontrol}"; - }; - - "module/time" = { - type = "internal/date"; - interval = 1; - label = "%time%"; - time = "%H:%M"; - }; - - "module/date" = { - type = "internal/date"; - interval = 1; - label = "%date%"; - date = "%m.%d.%Y"; - }; - - "settings" = { - screenchange.reload = true; - pseudo.transparency = true; - }; - }; - }; - - # Automatically start polybar for graphical sessions. - systemd.user.services.polybar.Install.WantedBy = [ "graphical-session.target" ]; -} diff --git a/users/tdback/modules/xmonad/default.nix b/users/tdback/modules/xmonad/default.nix new file mode 100644 index 0000000..7a59dbe --- /dev/null +++ b/users/tdback/modules/xmonad/default.nix @@ -0,0 +1,68 @@ +{ + lib, + pkgs, + ... +}: +let + inherit (lib) getExe; +in +{ + # Enable xmonad and xmonad-contrib. + xsession.windowManager.xmonad = { + enable = true; + enableContribAndExtras = true; + }; + + # Enable xmobar, which will be started from xmonad. + programs.xmobar = { + enable = true; + package = pkgs.unstable.xmobar; + extraConfig = + let + volume = lib.getExe pkgs.unstable.pavucontrol; + in + '' + Config + { font = "JetBrainsMono Nerd Font 9" + , allDesktops = True + , hideOnStart = False + , lowerOnStart = True + , overrideRedirect = True + , persistent = True + , sepChar = "%" + , alignSep = "}{" + , template = "%XMonadLog%}%time%{<action=`${volume}` button=1>%default:Master%</action> | %cpu% | %memory% | %date% " + , commands = + [ Run Cpu ["-t", "CPU: <total>%"] 10 + , Run Memory ["-t", "RAM: <usedratio>%"] 10 + , Run Date "%m.%d.%Y" "date" 10 + , Run Date "%H:%M" "time" 10 + , Run Volume "default" "Master" ["-t", "VOL: <volume>%"] 10 + , Run XMonadLog + ] + } + ''; + }; + + # Generate X11 init scripts. + home.file = with pkgs.unstable; { + ".xinitrc".text = '' + [ -f ~/.xprofile ] && . ~/.xprofile + [ -f ~/.Xresources ] && ${getExe xorg.xrdb} -merge ~/.Xresources + exec xmonad + ''; + ".xprofile".text = '' + ${getExe xorg.setxkbmap} -layout us + ${getExe xorg.xrandr} --output DP-0 --primary --mode 1920x1080 --rotate normal --rate 165 + ${getExe xorg.xset} r rate 350 40 + ${getExe xorg.xsetroot} -cursor_name left_ptr + ~/.fehbg + ''; + ".Xresources".text = "Xcursor.size: 24"; + }; + + # Include these packages. + home.packages = with pkgs.unstable; [ + pamixer + ]; +} diff --git a/users/tdback/modules/xorg/default.nix b/users/tdback/modules/xorg/default.nix deleted file mode 100644 index d45f00e..0000000 --- a/users/tdback/modules/xorg/default.nix +++ /dev/null @@ -1,110 +0,0 @@ -{ - lib, - pkgs, - ... -}: -with pkgs.unstable; -let - inherit (lib) getExe getExe'; -in -{ - xsession.windowManager.bspwm = { - enable = true; - package = bspwm; - settings = - let - border = "#16191F"; - feedback = "#485264"; - in - { - window_gap = 4; - border_width = 1; - top_padding = 2; - bottom_padding = 2; - right_padding = 2; - left_padding = 2; - top_monocle_padding = 0; - bottom_monocle_padding = 0; - right_monocle_padding = 0; - left_monocle_padding = 0; - split_ratio = 0.5; - borderless_monocle = true; - gapless_monocle = true; - normal_border_color = border; - active_border_color = border; - focused_border_color = feedback; - }; - - rules = { - "Zathura".state = "tiled"; - }; - - startupPrograms = [ - "${getExe xorg.setxkbmap} -layout us" - "${getExe xorg.xsetroot} -cursor_name left_ptr" - "${getExe xorg.xset} r rate 350 40" - "~/.fehbg" - ]; - - extraConfig = '' - ${getExe' bspwm "bspc"} monitor -d 1 2 3 4 5 6 7 8 9 - ''; - }; - - services.sxhkd = { - enable = true; - package = sxhkd; - keybindings = - let - bspc = getExe' bspwm "bspc"; - in - { - # Program hotkeys. - "alt + Tab" = "${getExe rofi} -show window"; - "super + r" = "${getExe rofi} -show drun"; - "super + x" = getExe alacritty; - "super + b" = "$BROWSER"; - "super + p" = "snapshot -f"; - "super + shift + p" = "snapshot"; - "super + Escape" = "systemctl --user restart polybar"; - "super + alt + {q,r}" = "${bspc} {quit,wm -r}"; - - # Function hotkeys. - "XF86AudioPrev" = "${getExe mpc} prev"; - "XF86AudioNext" = "${getExe mpc} next"; - "XF86AudioPlay" = "${getExe mpc} toggle"; - "XF86AudioLowerVolume" = "${getExe pamixer} -d 5"; - "XF86AudioRaiseVolume" = "${getExe pamixer} -i 5"; - "XF86AudioMute" = "${getExe pamixer} -t"; - - # Manipulate window manager. - "super + q" = "${bspc} node -{c,k}"; - "super + f" = "${bspc} node focused.tiled -t fullscreen"; - "super + t" = "${bspc} node focused.fullscreen -t tiled"; - "super + shift + f" = "${bspc} node focused.tiled -t floating"; - "super + shift + t" = "${bspc} node focused.floating -t tiled"; - "super + {_,shift + }{h,j,k,l}" = "${bspc} node -{f,s} {west,south,north,east}"; - "super + {_,shift}c" = "${bspc} node -f {next,prev}.local.!hidden.window"; - "super + bracket{left,right}" = "${bspc} desktop -f {prev,next}.local"; - "super + {grave,Tab}" = "${bspc} {node,desktop} -f last"; - "super + {o,i}" = "${bspc} wm -h off; ${bspc} node {older,newer} -f; ${bspc} wm -h on"; - "super + {_,shift + }{1-9,0}" = "${bspc} {desktop -f, node -d} '^{1-9,10}'"; - "super + alt + {h,j,k,l}" = "${bspc} node -z {left -20 0, bottom 0 20, top 0 -20, right 20 0}"; - "super + alt + shift {h,j,k,l}" = - "${bspc} node -z {right -20 0, top 0 20, bottom 0 -20, left 20 0}"; - "super + {Left,Down,Up,Right}" = "${bspc} node -v {-20 0,0 20,0 -20,20 0}"; - }; - }; - - # Generate X11 init scripts. - home.file = { - ".xinitrc".text = '' - [ -f ~/.xprofile ] && . ~/.xprofile - [ -f ~/.Xresources ] && ${getExe xorg.xrdb} -merge ~/.Xresources - exec ${getExe' bspwm "bspwm"} - ''; - ".xprofile".text = - "${getExe xorg.xrandr} --output DP-0 --primary --mode 1920x1080 --rotate normal --rate 165"; - ".Xresources".text = "Xcursor.size: 24"; - }; -} |