I use Neovim as my main IDE and text editor. Since I started using Neovim, I've been using the Catppuccin theme, until one day I was blessed by stumbling across vimcolours and realised I can create my own horrible theme to strain my eyes.
After five minutes of this I realised I actually don't like my eyes being strained, so I decided to make something that was easier for them to look at. I made the background grey, and added more purple because that's my favourite colour.
Okay so the way this works is to download the theme.vim file (after customising your theme) into a colors directory within your neovim configuration directory (in ~/.config/nvim).

Then you can put these two lines into the init.lua file, replacing my gay7.vim with whatever your theme is:
vim.opt.termguicolors = true
vim.cmd("colorscheme gay7")
The colours I used were taken from the colour scheme of my website:
$white: #FFFFFF;
$black: #000000;
$purple: #962FFE;
$pink: #FFA0E3;
$periwinkle: #EBD7FF;
$yoghurt: #d1e6ff;
$red: #FF3030;
$orange: #FF7930;
$yellow: #FFF530;
$green: #45FF30;
$cyan: #30FFEA;
$blue: #30A9FF;