parchment

warm dark.
aged paper.

deep brown backgrounds, ochre foregrounds,
earthy syntax. built for long sessions.

palette
NORMAL init.lua 4:1
1-- parchment.nvim config
2
3local M = {}
4function M.setup(opts)
5  vim.cmd("colorscheme parchment")
6end
7return M
neovim dark 3 variants treesitter
github.com/saeeedhany/parchment.nvim ↗
overcast

cool gray.
steel focus.

desaturated slate, steel blues, dusty purples.
no warmth, just clarity.

palette
NORMAL config.h 3:1
1/* overcast — dwm colors */
2
3static const char *colors[][3] = {
4  [SchemeNorm] = { "#bbbbbb", "#222424" },
5  [SchemeSel] = { "#eeeeee", "#5b8aad" },
6};
7
neovim dark + light 2 variants dwm palette
github.com/saeeedhany/overcast.nvim ↗

the full environment

every tool chosen for weight and control. no electron, no bloat — just the unix stack.

neovim editor

lua config, lazy.nvim for plugins, treesitter for every language, lsp via mason. the themes live here first.

-- init.lua excerpt
require("lazy").setup({
  { "saeeedhany/parchment.nvim",
    priority = 1000 },
  { "nvim-treesitter/nvim-treesitter" },
  { "neovim/nvim-lspconfig" },
})
lazy.nvim  ·  treesitter  ·  lsp  ·  telescope  ·  gitsigns
dwm window manager

suckless dynamic window manager. patched and compiled from source. overcast's background color is the exact dwm bar background.

/* config.h — colors match overcast */
static const char *colors[][3] = {
  /* fg bg border */
  [SchemeNorm] = { "#bbbbbb", "#222424", "#3a3d3d" },
  [SchemeSel] = { "#eeeeee", "#5b8aad", "#5b8aad" },
};
tiling  ·  patched from source  ·  dmenu  ·  slstatus
st terminal

suckless simple terminal. patched for scrollback and alpha. colors pulled directly from the active theme's 16-color palette.

/* config.h — parchment palette */
static const char *colorname[] = {
  "#141312", /* black */
  "#cc3a3a", /* red */
  "#4a9e5c", /* green */
  "#c8a94a", /* yellow */
  "#3a8fc4", /* blue */
};
scrollback patch  ·  alpha patch  ·  font patch
bash shell

no zsh, no fish. bash with a clean prompt, useful aliases, and a few scripts that handle the tedious parts.

# .bashrc — prompt
PS1='\[\e[0;33m\]\u\[\e[0m\]
     \[\e[0;90m\]@\h \[\e[0;34m\]\w
     \[\e[0m\]\$ '
# useful aliases
alias v='nvim'
alias ls='ls --color=auto'
alias cfg='cd ~/.config'
custom prompt  ·  aliases  ·  utility scripts

get it running

both themes follow the same install pattern. one line to switch between them at any time.

parchment.nvim lazy.nvim
{
  "saeeedhany/parchment.nvim",
  priority = 1000,
  config = function()
    require("parchment").setup({})
    vim.cmd("colorscheme parchment")
    -- or: parchment-ember
    -- or: parchment-manuscript
  end,
}
overcast.nvim lazy.nvim
{
  "saeeedhany/overcast.nvim",
  priority = 1000,
  config = function()
    require("overcast").setup({})
    vim.cmd("colorscheme overcast")
    -- or: overcast-dawn
  end,
}

one line. full environment.

fresh machine to complete setup. clones dotfiles, builds suckless tools from source, configures neovim, bash, x11, fonts, and scripts. supports arch and minimal distros.

run this on the new machine
$ bash <(curl -fsSL https://saeeedhany.github.io/dotfiles/install.sh)
what gets set up
dotfiles
clones github.com/saeeedhany/dotfiles → ~/.dotfiles
neovim
latest build + symlinks ~/.config/nvim. lazy.nvim auto-installs plugins on first launch.
suckless suite
dwm · st · dmenu · slstatus — all compiled from source with your patched config.h
bash
symlinks .bashrc and .bash_profile — prompt, aliases, utility scripts
fonts & x11
JetBrainsMono Nerd Font, .xinitrc, .Xresources merged via xrdb
scripts + misc
dotfiles/bin → ~/bin  ·  feh · picom · dunst · maim · xdotool
distro support
arch linux
primary
pacman + yay. everything native. suckless patches preserved.
debian / ubuntu
supported
apt-based. neovim via appimage. suckless compiled from source.
fedora
supported
dnf-based. same suckless source path.
others
manual
script exits early — clone dotfiles manually and adapt.
inspect before running
# view the script first
$ curl -fsSL https://saeeedhany.github.io/dotfiles/install.sh | less
# or clone and run locally
$ git clone --depth=1 https://github.com/saeeedhany/dotfiles.git
$ bash dotfiles/install.sh