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

  programs = {

    neovim = {
      enable = true;
      viAlias = true;
      vimAlias = true;
      extraConfig = ''
        set nocompatible
        syntax on

        set fileformat=unix
        set encoding=utf8
        set number relativenumber
        set wrap

        set tabstop=4
        set shiftwidth=4
        set softtabstop=4
        set smarttab
        set autoindent
        set colorcolumn=80
        highlight ColorColumn ctermbg=8

        set clipboard=unnamed,unnamedplus
        set list listchars=tab:>-,trail:_,extends:>,precedes:<,nbsp:~
        set showbreak=>

        let mapleader=" "

        "# disable macro mode
        map q <Nop>
      '';
    };

    tmux = {
      enable = true;
      historyLimit = 10000;
      mouse = true;
      extraConfig = ''
        
      '';
    };

    fzf = {
      enable = true;
      enableZshIntegration = true;
    };

    zsh = {
      enable = true;
      dotDir = ".config/zsh";
      #enableCompletions = true;
      #autosuggestions.enable = true;
      syntaxHighlighting.enable = true;
      oh-my-zsh = {
        enable = true;
        plugins = [ "git" ];
        theme = "daveverwer";
      };
    };

    git = {
      enable = true;
      settings.user.Name = "Faris";
      settings.user.email = "faris@mektem.com";
    };
  };

}
