aboutsummaryrefslogtreecommitdiff
path: root/users/tdback/modules/xmonad
diff options
context:
space:
mode:
authortdback <tyler@tdback.net>2025-02-02 21:11:21 -0500
committertdback <tyler@tdback.net>2025-02-02 21:11:21 -0500
commit080909508881d8ab3f013b43eebceeb405e575b2 (patch)
tree9ee85b4ca4b2ada89d866522463bbd8cd152abcc /users/tdback/modules/xmonad
parentf93a66c0c2a26d217c75b5bad7e7c9cb335c8c91 (diff)
users/tdback: now using xmonad wm
Diffstat (limited to 'users/tdback/modules/xmonad')
-rw-r--r--users/tdback/modules/xmonad/default.nix68
1 files changed, 68 insertions, 0 deletions
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
+ ];
+}