{
  pkgs,
  lib,
  config,
  osConfig,
  inputs,
  ...
}: let
  cfg = osConfig.mods;
in {
  # Modules
  mods.xdg.enable = true;
  mods.i3.enable = true;
  # mods.hyprland.enable = true;
  mods.terminal.zsh.enable = true;
  mods.terminal.emulator.enable = true;
  mods.terminal.development.enable = true;
  mods.terminal.tools.enable = true;
  mods.terminal.hr.enable = true;
  mods.desktop.development.enable = true;
  mods.desktop.productivity.enable = false;
  mods.zen.enable = true;

  home.packages = with pkgs;
    [
      thunderbird
      pulseaudio
      pavucontrol
      alsa-utils
      rustdesk-flutter

      # tools
      docker
      fish
      devenv
      dbeaver-bin
      ruff
      just
      go
      rainfrog
      tealdeer
      gh
      (callPackage ./packages/mender-cli.nix {})
    ]
    # Non-free </3
    ++ [google-cloud-sdk google-cloud-sql-proxy];

  # Hardware preferences
  ## Monitors
  xsession.windowManager.i3.config.workspaceOutputAssign = [
    {
      workspace = "1";
      output = "${cfg.monitors.primary.name}";
    }
    {
      workspace = "2";
      output = "${cfg.monitors.right.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.right.name}" = "00ffffffffffff0030aef465010101011e1e0103803c22782a31d5a65453a0240a5054bfcf00d1c0d100b300a9c09500818081c08100e973006aa0a034504220680055502100001a565e00a0a0a029503020350055502100001a000000fd00304b0f6e1e000a202020202020000000fc00513237712d31300a202020202001ff020329f04b10050403021f1413121101230907078301000067030c001000183c681a00000101304b00023a801871382d40582c450055502100001e662156aa51001e30468f330055502100001eab22a0a050841a303020360055502100001a7c2e90a0601a1e403020360055502100001a000000000000000000000000000026";
        "${cfg.monitors.primary.name}" = "00ffffffffffff0005e30427b11a0000321f0104a53c22783be445a554529e260d5054bfef00d1c0b30095008180814081c001010101565e00a0a0a029503020350055502100001e000000ff005141424d434841303036383333000000fc00513237563447350a2020202020000000fd00304b72721e010a2020202020200163020318f14b0103051404131f120211902309070783010000a073006aa0a029500820350055502100001a2a4480a0703827403020350055502100001a023a801871382d40582c450055502100001ef03c00d051a0355060883a0055502100001c000000000000000000000000000000000000000000000000000000000000005f";
      };
      config = {
        "${cfg.monitors.primary.name}" = cfg.monitors.primary.config;
        "${cfg.monitors.right.name}" = cfg.monitors.right.config;
      };
    };
  };

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