{ config, pkgs, ... }:

{
  # Home Manager needs a bit of information about you and the
  # paths it should manage.
  home.username = "tsv";
  home.homeDirectory = "/home/tsv";

  # This value determines the Home Manager release that your
  # configuration is compatible with. This helps avoid breakage
  # when a new Home Manager release introduces backwards
  # incompatible changes.
  #
  # You can update Home Manager without changing this value. See
  # the Home Manager release notes for a list of state version
  # changes in each release.
  home.stateVersion = "22.11";

  # Let Home Manager install and manage itself.
  programs.home-manager.enable = true;

  nixpkgs.config.allowUnfree = true;

  home.sessionVariables = {
    EDITOR = "nvim";
  };

  home.packages = with pkgs; [
    vimPlugins.vim-plug
    firefox
    git-crypt
    gnupg
    delta                                  # Nice diffing pager for Git
    docker-compose
    ruby_3_1
    rubyPackages_3_1.dip
    rubyPackages_3_1.solargraph
    calibre
    thunderbird
    anki
    htop
    fzf
    gitflow
    gimp
    slack
    spotify
    wine
    winetricks
  ];

  

  home.file.".bash_profile".source = ./bash_profile;
  home.file.".tmux.conf".source = ./tmux.conf;
  xdg.configFile."git/config".source = ./git/config;
  xdg.configFile."git/foxsoft_config".source = ./git/config_foxsoft;
  xdg.configFile."nvim/init.vim".source = ./nvim/init.vim;
  home.file.".ssh/config".source = ./ssh/config;

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