require 'dep' {
  -- dep manages dep ----------------------------------------------------------
  { 'squibid/dep',
    url = 'https://git.squi.bid/dep',
    -- branch = 'dev'
  },

  { 'squibid/git-yodel',
    url = 'https://git.squi.bid/git-yodel'
  },

  -- GAMES --------------------------------------------------------------------
  { 'seandewar/killersheep.nvim' },

  -- flexing on all the discord users -----------------------------------------
  -- { 'andweeb/presence.nvim' },

  -- colorschemes -------------------------------------------------------------
  { 'kvrohit/mellow.nvim' },
  { 'rockerBOO/boo-colorscheme-nvim' },

  -- ui -----------------------------------------------------------------------
  { 'lukas-reineke/indent-blankline.nvim' }, -- indentation indicators
  { 'folke/which-key.nvim' }, -- key map help
  { 'rcarriga/nvim-notify' }, -- notifications
  { 'tjdevries/express_line.nvim', -- status bar
    requires = 'nvim-lua/plenary.nvim',
  },
  { 'goolord/alpha-nvim' }, -- start page
  { 'dinhhuy258/sfm.nvim', -- tree view
    requires = 'dinhhuy258/sfm-git.nvim',
  },
  { 'mrjones2014/smart-splits.nvim'}, -- buffer resizing
  { 'axieax/urlview.nvim' }, -- view urls in current buffer
  { 'matbme/JABS.nvim' }, -- buffer switcher
  { 'ziontee113/icon-picker.nvim' }, -- icons
  { 'petertriho/nvim-scrollbar' }, -- scrollbar
  -- { 'lewis6991/satellite.nvim' }, -- new scrollbar for nvim 0.10
  { 'pocco81/true-zen.nvim' }, -- focus on the current thing
  { 'tomiis4/Hypersonic.nvim' }, -- regex helper/displayer

  { 'lewis6991/cleanfold.nvim' }, -- nice fold line
  { 'yaocccc/nvim-foldsign' }, -- fold sign in gutter

  -- functional plugins -------------------------------------------------------
  { 'lewis6991/gitsigns.nvim' },
  { 'chentoast/marks.nvim' },
  { 'pta2002/intellitab.nvim' },
  { 'mbbill/undotree' }, -- careful this one is written in vimscript
  { 'windwp/nvim-autopairs' },
  { 'numToStr/Comment.nvim' },
  { 'numtostr/BufOnly.nvim' }, -- kill the other buffers with :BufOnly
  { 'ahmedkhalf/project.nvim' }, -- cd into root of project
  { 'akinsho/toggleterm.nvim' },
  { 'chomosuke/term-edit.nvim' }, -- full vim keybinds in terminals

  -- note taking --------------------------------------------------------------
  { 'nvim-neorg/neorg' },
  { 'nvim-neorg/neorg-telescope' },

  -- fzf ----------------------------------------------------------------------
  { 'nvim-telescope/telescope.nvim',
    requires = 'nvim-lua/plenary.nvim',
    deps = {
      'nvim-telescope/telescope-file-browser.nvim',
      'nvim-telescope/telescope-ui-select.nvim',
      'AckslD/nvim-neoclip.lua',
    }
  },

  -- treesitter + colorizing --------------------------------------------------
  { 'nvim-treesitter/nvim-treesitter',
    deps = {
      { 'm-demare/hlargs.nvim' },
      { 'Wansmer/treesj' },
      { 'nvim-treesitter/nvim-treesitter-context' },
    }
  },
  { 'NvChad/nvim-colorizer.lua' },

  -- cmp ----------------------------------------------------------------------
  { 'hrsh7th/nvim-cmp',
    deps = {
      'lukas-reineke/cmp-under-comparator', -- better results
      'hrsh7th/cmp-buffer', -- buffers
      'FelipeLema/cmp-async-path', -- path
      'hrsh7th/cmp-calc', -- calculator
      'saadparwaiz1/cmp_luasnip', -- snippets
      'hrsh7th/cmp-nvim-lsp', -- lsp
      'uga-rosa/cmp-dictionary', -- dictionary
      'hrsh7th/cmp-nvim-lua', -- nvim lua api
    },
  },

  -- snippets -----------------------------------------------------------------
  { 'L3MON4D3/LuaSnip',
    deps = 'rafamadriz/friendly-snippets',
  },
  { 'doxnit/cmp-luasnip-choice' },

  -- lsp ----------------------------------------------------------------------
  { 'neovim/nvim-lspconfig' }, -- setup lsp
  { 'j-hui/fidget.nvim', -- shows lsp progress
    branch = 'legacy',
  },
  { 'folke/neodev.nvim' }, -- configure lua lsp for neovim

  { 'ray-x/lsp_signature.nvim' }, -- see information about the current function
  { 'dnlhc/glance.nvim' }, -- diagnostic info at a glance

  { 'folke/trouble.nvim' },
  { 'folke/todo-comments.nvim' },

  { 'danymat/neogen' }, -- generate lsp annotations

  -- dap ----------------------------------------------------------------------
  { 'mfussenegger/nvim-dap',
    deps = {
      'rcarriga/nvim-dap-ui',
    }
  },

  -- dap + lsp + linter + formatter installer ---------------------------------
  { 'williamboman/mason.nvim',
    deps = {
      { 'WhoIsSethDaniel/mason-tool-installer.nvim' },
      { 'williamboman/mason-lspconfig.nvim' },
      { 'jay-babu/mason-nvim-dap.nvim' },
    },
  },
}