* Nix flake for Xmobar
This flake exposes a module to use with home-manager.
Here is how to set it up:

1. Add the nixmobar flake as an input to your NiOS flake:
  #+BEGIN_SRC nix
  inputs = {
    nixmobar.url = "git+https://codeberg.org/xmobar/xmobar.git/?dir=nix";
  };
  #+END_SRC

2. And then, where you import your `home.nix`, add `extraSpecialArgs` like this:
  #+BEGIN_SRC nix
  home-manager = {
    extraSpecialArgs = {
      inherit inputs nixmobar;
    };
    users.refaelsh = import ./home.nix;
  };
  #+END_SRC

3. Final step, use the module in `home.nix`:
  #+BEGIN_SRC nix
  {
    inputs,
    ...
  }:
  {
    home.stateversion = "24.05";
  
    imports = [
      inputs.nixmobar.homeModules.mainmodule
      # Other imports go here.
    ];
  
  }
  #+END_SRC

* Example usage
#+BEGIN_SRC haskell
{
  programs.nixmobar = {
    enable = true;
    font = "Fira Code 13";
    additionalFonts = [ "Fira Code 22" ];
    bgColor = "#282A36";
    fgColor = "#F8F8F2";
    textOffset = 2;
    verbose = true;
    allDesktops = true;
    lowerOnStart = true;
    overrideRedirect = true;
    position = "BottomH 26";
    alpha = 200;
    alignSep = "}{";
    template = "<hspace=8/>%XMonadLog% }{ %load%|%disku%|%diskio%|<fc=#bd93f9><fn=1></fn></fc>%wifi_signal%|%dynnetwork%|<fc=#bd93f9><fn=1>󰈐</fn></fc>%cat0%|%multicoretemp%|%cpufreq%|%multicpu%|<fc=#bd93f9><fn=1></fn></fc>%kbd%|%memory% %swap%|%battery%|%alsa:default:Master%|<fc=#bd93f9><fn=1></fn></fc>%kernel_version%|%date%|%_XMONAD_TRAYPAD%";
    commands = # haskell
      ''
        Run XMonadLog,
        Run DiskU [("/", "<fc=#bd93f9><fn=1>\xf0a0</fn></fc> <free>")] [] 50,
        Run DiskIO [("/", "<read><fc=#bd93f9> R</fc> <fc=#bd93f9>W</fc> <write>")] ["-t", "", "-w", "4"] 10,
        Run DynNetwork ["-t", "<rx>KB/s<fc=#bd93f9><fn=1>\x1F89B</fn></fc><fc=#bd93f9><fn=1>\x1F899</fn></fc><tx>KB/s", "-w", "5"] 10,
        Run Memory ["-t", "<fc=#bd93f9><fn=1>\xE266</fn></fc><usedratio>%"] 10,
        Run Swap ["-t", "<fc=#bd93f9>S</fc><usedratio>%"] 10,
        Run Kbd [],
        Run CpuFreq ["-t", "<avg>GHz"] 50,
        Run MultiCoreTemp ["-t", "<fc=#bd93f9><fn=1>\xf2c9</fn></fc><avg>°", "-L", "60", "-H", "95", "-l", "white", "-n", "white", "-h", "red"] 50,
        Run CatInt 0 "/sys/class/hwmon/hwmon4/fan1_input" [] 50,
        Run MultiCpu ["-t", "<fc=#bd93f9><fn=1>\xf4bc</fn></fc> <vbar0><vbar1><vbar2><vbar3><vbar4><vbar5><vbar6><vbar7>", "-w", "99", "-L", "3", "-H", "50", "--normal", "green", "--high", "red"] 10,
        Run BatteryP ["BAT0"] ["-t", "<fc=#bd93f9><fn=1>󱊣</fn></fc><left>%", "-L", "10", "-H", "80", "-p", "3", "--", "-O", "<fc=green>On</fc> - ", "-i", "", "-L", "-15", "-H", "-5", "-l", "red", "-m", "blue", "-h", "green", "-a", "notify-once \"xmobar\" -u critical 'Battery running out!!'", "-A", "3"] 600,
        Run Alsa "default" "Master" ["-t", "<fc=#bd93f9><fn=1>\xf028</fn></fc> <volume>%"],
        Run Date "%a %_d %b %H:%M:%S" "date" 10,
        Run Load ["-t", "<fc=#bd93f9><fn=0>L</fn></fc><load1>", "-L", "1", "-H", "3", "-d", "2"] 300,
        Run ComX "nmcli" ["-t", "-f", "SIGNAL", "dev", "wifi"] "N/A" "wifi_signal" 50,
        Run Com "uname" ["-r"] "kernel_version" 3600,
        Run XPropertyLog "_XMONAD_TRAYPAD"
      '';
  };
}
#+END_SRC
