{ config, ... }:
{
  home.sessionPath = [
    "$HOME/bin"
    "$HOME/.local/share/JetBrains/Toolbox/scripts"
  ];

  metacfg = {
    user = {
      enable = true;
      name = config.snowfallorg.user.name;
    };
    cli-apps = {
      bash.enable = true;
      fish.enable = true;
      neovim.enable = false;
      bat.enable = true;
      starship.enable = true;
      home-manager.enable = true;
    };
    tools = {
      git.enable = true;
    };
    gui.kbd.ellipsis = true;
  };

  fonts.fontconfig.enable = true;

  services.syncthing = {
    enable = true;
    tray.enable = true;
  };

  dconf.settings = {
    # ...
    "org/gnome/shell" = {
      disable-user-extensions = false;

      # `gnome-extensions list` for a list
      enabled-extensions = [
        "Vitals@CoreCoding.com"
        "appindicatorsupport@rgcjonas.gmail.com"
        "dash-to-panel@jderose9.github.com"
        "hibernate-status@dromi"
        "autohide-battery@sitnik.ru"
        "clipboard-history@alexsaveau.dev"
      ];

      # dconf watch /
      favorite-apps = [
        "org.wezfurlong.wezterm.desktop"
        "jetbrains-toolbox.desktop"
        "org.mozilla.firefox.desktop"
        "firefox.desktop"
        "thunderbird.desktop"
        "org.mozilla.Thunderbird.desktop"
        "slack.desktop"
        "keybase.desktop"
        "cider-2.desktop"
        "org.gnome.Nautilus.desktop"
        "virt-manager.desktop"
      ];
    };
    "org/virt-manager/virt-manager/connections" = {
      autoconnect = [ "qemu:///system" ];
      uris = [ "qemu:///system" ];
    };
  };

  dconf.settings."org/gnome/desktop/input-sources".xkb-options = [ "mod:ellipsis" ];

  xdg.enable = true;
  xdg.mime.enable = true;

  xdg.configFile."wezterm/wezterm.lua".text = ''
    local wezterm = require("wezterm")
    local config = wezterm.config_builder()
    local act = wezterm.action

    config.enable_kitty_keyboard = true
    config.enable_scroll_bar = true
    config.window_background_image = '${./terminal-background.png}'
    config.window_background_image_hsb = {
      brightness = 0.5,
      hue = 1.0,
      saturation = 1.0,
    }

    config.term = 'wezterm'

    return config
  '';
}
