mirror of
https://codeberg.org/leana8959/.files.git
synced 2025-12-06 14:49:14 +00:00
xmobar: write configuration in haskell
This commit is contained in:
parent
6e74d28502
commit
bc274fc677
2 changed files with 85 additions and 48 deletions
|
|
@ -1,50 +1,26 @@
|
|||
{
|
||||
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% "
|
||||
}
|
||||
'';
|
||||
{pkgs, ...}: {
|
||||
home.packages = let
|
||||
wrapped-xmobar = pkgs.symlinkJoin {
|
||||
name = "xmobar";
|
||||
paths = with pkgs; [
|
||||
# Xmobar wants ghc
|
||||
(haskellPackages.ghcWithPackages (self: [
|
||||
self.xmobar
|
||||
]))
|
||||
# The executable
|
||||
xmobar
|
||||
];
|
||||
};
|
||||
in [
|
||||
wrapped-xmobar
|
||||
];
|
||||
|
||||
xdg.configFile = {
|
||||
"xmobar" = {
|
||||
# Xmobar uses the directory to compile too,
|
||||
# Linking the entire folder directly would make the directory not writable
|
||||
recursive = true;
|
||||
source = "${./xmobar}";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue