Skip to content

XayOn/dotfiles

Repository files navigation

Pretty, consistent configuration for neovim, zsh alacritty and bspwm.

Features

  • Four workspaces. No need for more 👍
  • Minimalistic config files. Not overriding defaults or copying example files whenever possible
  • Mostly distraction-free. Minimal info in the bar
  • Terminal-centric, keyboard-centric
  • Material based colors almost everywhere. OC alacritty (partial) port, polybar, bspwm and rofi. Wherever not possible, "dark material" colours are used (materia-dark for gtk, altough no GTK app is being shown)
  • Modern NeoVIM config with all the new stuff (treesitter, dap, lsp...) - Custom which-key menu - Mostly python-oriented configurations - Lua configuration from scratch
  • ZSH configuration with the same filosophy

Wallpaper on screenshots (you'll need to place it on .wallpaper.png on your home) is from Wallpapercave

Works well with my moonlander configuration

Screenshots

There's no better way to show a rice than screenshots. Here goes clean, neovim and tmux:

./docs/clean.png

./docs/neovim.png

./docs/rofi.png

./docs/tmux_ncmpcpp.png

./docs/dunst.png

Mandatory gif too:

./docs/main.gif

Global installation

Tested on:

  • Debian testing
  • Ubuntu 20.04
  • ArchLinux

Uses DotBot to install, should work on any system with:

  • git
  • curl
  • python
  • yay or apt

You can install prettierTerminal with one single command:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/XayOn/prettierTerminal/master/install-remote.sh)"

Or, the more traditional way

git clone https://github.com/XayOn/prettierTerminal
cd prettierTerminal
bash install.sh

Manual dependencies installation

NeoVIM configuration

docs/neovim.png

This is a kiss but fully featured neovim configuration, with IDE-like features preconfigured, mainly for python development

  • Lots of UI goodies. Makes the experience a tad similar to modern IDEs, without most of the crappy parts.
  • Wichkey with preconfigured menus
  • Git management with lazygit
  • Database administration UI
  • The trinity of modern neovim configs:
    • Treesitter-based syntax highlighting
    • Debugger with DAP
    • LSP (requires pyright to be installed for python)
warning:This requires a really recent version of neovim nightly.

Press leader (,) to see a nice menu with the leader-prefixed keybindings. Default vim keybindings will work as usuarl

Dependencies

Neovim-nightly is required, with:

  • python3
  • pip
  • nodejs
  • pyright (pip install pyright)
  • lazygit (you'll have to manually install this one)

ZSH Configuration

For ZSH, it installs ZINIT, my currently-favourite zsh plugin manager.

It will install a few plugins, the pure zsh theme, and the following binaries:

The plugins currently installed are:

BSPWM configuration

BSPWM is a lightweight tiling window manager

./docs/clean.png

Keybindings are defined in sxhkdrc

Dependencies

To use this bspwm configuration, you'd need:

  • bspwm
  • rofi
  • sxhkd
  • polybar
  • i3lock-fancy
  • materia-gtk-theme

The hardware

If you have a moonlander ⌨️, I'm using some features (tap dance, layers...) to use bspwm without having to press two keys at the same time. Pretty much like vim's leader key. I've linked my moonlander configuration on the repository

Extra

I'm using mautrix-* + gomuks as my main communications platform, khal to manage my nextcloud calendars, and neovim with neorg for my todo lists, wich covers all my basic needs.

Works well with less than 1gb ram (if you don't use firefox/chrome, that is)