.files/nix/configurations/vanadium/home/xmobar.nix

50 lines
2.1 KiB
Nix

{
programs.xmobar = {
enable = true;
# XMobar's config file is not a segment of valid Haskell source code -- it is instead a DSL
# Note how `Run` handles its arguments properly without parens?
#
# Also xmobar wants GHC if we use it as a library, and I'm lazy, you probably want to keep it this way.
extraConfig = ''
Config { overrideRedirect = False
, font = "Iosevka 13"
, bgColor = "#000000"
, fgColor = "#FFFFFF"
, position = BottomH 30
, commands = [ Run Date "%a %d %H:%M:%S" "date" 10
, Run Com "tomorrow"
[ "--target", "2025-08-14"
, "--target", "2025-08-21"
] "" 3600
, Run Battery
[ "-t", "<left> (<timeleft>"
, "-H", "70"
, "-L", "20"
, "-h", "green"
, "-n", "orange"
, "-l", "red"
, "--"
, "-P"
, "-A", "20"
, "-a", "notify-send -u critical \"Battery Low\" \"Please charge your battery\""
]
60
, Run Com "powerprofilesctl" [ "get" ] "" 60
, Run XMonadLog
, Run
Weather "LFRN"
[ "-t", "<station>: <tempC>C"
, "-L","10", "-H", "25"
, "--normal", "white"
, "--high", "orange"
, "--low", "blue"
]
9000
]
, sepChar = "%"
, alignSep = "}{"
, template = " %XMonadLog% }{ %LFRN% | %battery%, %powerprofilesctl%) | %date%, j%tomorrow% "
}
'';
};
}