{
  pkgs,
  device-name,
  inputs,
  ...
}: {
  home.packages = with pkgs; [
    bat
    fzf
    fd
    eza
    btop
    man-pages
    inputs.floatc.packages.${pkgs.stdenv.hostPlatform.system}.default
  ];

  home.sessionVariables = {
    PAGER = "bat -l man";
    MANPAGER = "bat -l man";
  };

  programs = {
    bash.enable = true;
    fzf.enable = true;
    eza.enable = true;

    direnv = {
      enable = true;
      silent = true;
      nix-direnv .enable = true;
    };

    nushell = {
      enable = true;

      extraConfig = builtins.readFile ./config.nu;

      settings = {
        show_banner = false;
      };

      shellAliases = {
        cat = "bat -p -P";
        nix-shell = "nix-shell --run nu";
        garbage = "  sudo nix-collect-garbage --delete-old";
        c = "clear";
      };
    };
  };

  programs.zellij = {
    enable = true;
    enableBashIntegration = false;
    settings = {
      on_force_close = "quit";
      simplified_ui = true;
      pane_frames = false;
      default_layout = "compact";
      show_startup_tips = false;
    };
  };

  gtk.enable = true;
  qt.enable = true;

  programs = {
    btop.enable = true;

    git = {
      enable = true;
      package = pkgs.gitFull;
      settings = {
        user.name = "Jiří Maxmilián Stříbrný";
        user.email = "max.stribrny@gmail.com";
        init.defaultBranch = "main";
        push.autoSetupRemote = true;
        github.user = "maxstrb";
        credential.helper = "store";
      };
    };
  };
}
