{ pkgs, lib, osConfig, sources, ... }:
let cfg = osConfig.mods;
in {
  # Modules
  mods.xdg.enable = true;
  mods.social.enable = false;
  mods.i3.enable = false;
  mods.terminal.zsh.enable = true;
  mods.terminal.emulator.enable = false;
  mods.terminal.development.enable = true;
  mods.terminal.tools.enable = true;
  mods.desktop.development.enable = false;
  mods.desktop.productivity.enable = false;
  mods.desktop.media.enable = false;

  # Hardware preferences

  ## Monitors
  xsession.windowManager.i3.config.workspaceOutputAssign = [
    {
      workspace = "1";
      output = "${cfg.monitors.primary.name}";
    }
    {
      workspace = "2";
      output = "${cfg.monitors.secondary.name}";
    }
  ];
  services.autorandr.enable = true;
  programs.autorandr = {
    enable = true;
    hooks.postswitch = {
      "notify-i3" = "${pkgs.i3}/bin/i3-msg restart";
      "set-wallpaper" = ''
        ${lib.getExe pkgs.feh} --bg-fill --nofehbg ${./wallpaper.png}
      '';
    };
    profiles.default = {
      fingerprint = {
        "${cfg.monitors.primary.name}" =
          "00ffffffffffff004c2d850433324d431a120103803420782aee91a3544c99260f5054bfef80714f8100814081809500a940b30001011a3680a070381f403020350006202000001a000000fd00384b1e5111000a202020202020000000fc0053796e634d61737465720a2020000000ff004831414b3530303030300a202000e9";
        "${cfg.monitors.secondary.name}" =
          "00ffffffffffff00410cca140101010134100103804728788a288e9e5548972416484badce0031594559615981800101010101010101a91a00a05000163030203700c48e21000018662150b051001b3040703600c48e21000018000000fc005068696c697073545620283529000000fd002f551f500e000a2020202020200156020323714f930414051f10121103020116150706230907078301000066030c00100080011d00bc52d01e20b8285540c48e2100001a011d007251d01e206e285500c48e2100001e011d80d0721c1620102c2580c48e2100009e011d8018711c1620582c2500c48e2100009ef33980d072382d40102c4580c48e2100001e0000f2";
      };
      config = {
        "${cfg.monitors.primary.name}" = cfg.monitors.primary.config;
        "${cfg.monitors.secondary.name}" = cfg.monitors.secondary.config;
      };
    };
  };

  # wayland.windowManager.hyprland.settings = {
  #   monitor = [
  #     "DP-2,2560x1440@144,0x480,1"
  #     "HDMI-A-2,1920x1080,2560x0,1,transform,3"
  #   ];
  #   input.sensitivity = -0.4;
  # };

  # Version of first install
  home.stateVersion = "23.05";
}
