{
  inputs,
  pkgs,
  lib,
  ...
}:
with pkgs; {
  imports = with inputs; [
    catppuccin.homeManagerModules.catppuccin
    nix-index-database.hmModules.nix-index
  ];

  nixpkgs = {
    config.allowUnfree = true;
  };

  home = {
    homeDirectory = "/home/marshall";
    username = "marshall";

    packages =
      [
        alejandra
        bun
        grc
        macchina
        wl-clipboard
        xclip
        zed-editor
      ]
      ++ (with inputs; [
        nixvim.packages.${pkgs.system}.default
      ]);
  };

  programs = {
    gpg.enable = true;
    skim.enable = true;
    tealdeer.enable = true;
    wezterm.enable = lib.mkForce false;

    atuin = {
      enable = true;
      settings = {
        inline_height = 20;
        show_preview = true;
        style = "compact";
      };
    };

    git = {
      extraConfig.credential.helper = "libsecret";
      signing.key = "91B1F40056A01DDF";
    };
  };

  services = {
    cliphist.enable = true;
  };

  systemd.user.startServices = "sd-switch";

  home.stateVersion = "23.11";
}
