{
  nixosConfig,
  sysLib,
  system,
  pkgs,
  grades,
  yambar_cpu,
  yambar_memory,
  ...
}: let
  makeScript = {
    file,
    dependencies,
    ...
  }:
    sysLib.writeShellScriptWithLibrary {
      name = "${builtins.baseNameOf file}";
      src = file;
      dependencies = dependencies ++ (builtins.attrValues {inherit (pkgs) dash;});
    }
    + "/bin/${builtins.baseNameOf file}";
in {
  xdg.configFile."yambar/config.yml".source = pkgs.substituteAll {
    src =
      if nixosConfig.soispha.laptop.enable
      then ./config/laptop.yml
      else ./config/config.yml;

    backlight =
      if nixosConfig.soispha.laptop.enable
      then nixosConfig.soispha.laptop.backlight
      else "";
    volume_script = makeScript {
      dependencies = builtins.attrValues {inherit (pkgs) pulseaudio gawk coreutils;};
      file = ./scripts/sound-volume;
    };
    grade_average_script = makeScript {
      dependencies =
        [
          grades.outputs.packages.${system}.default
        ]
        ++ (builtins.attrValues {inherit (pkgs) coreutils gawk;});
      file = ./scripts/grades-average;
    };
    cpu_script = yambar_cpu.app.${system}.default.program;
    memory_script = yambar_memory.app.${system}.default.program;

    disk_script = makeScript {
      dependencies = builtins.attrValues {inherit (pkgs) gawk btrfs-progs coreutils;};
      file = ./scripts/disk;
    };
  };
}
# vim: ts=2