/dotfiles

My configuration files for Linux and OSX.

Primary LanguageLuaMIT LicenseMIT

dotfiles

Dotfiles for MacOS and Arch Linux.

Note: If you want to give these dotfiles a try, you should fork this repo, review the code and remove things you don't want or need.

  • i3WM - A tiling window manager for X11.
  • tmux - A terminal multiplexer, runs on OpenBSD, FreeBSD, NetBSD, Linux, macOS and Solaris.
  • zsh - Highly customizable interactive login shell and command interpreter for shell scripting.
    • Oh My Zsh - Oh My Zsh is an open source, community-driven framework for managing your zsh configuration.
    • p10k - Powerlevel10k is a theme for Zsh.
    • autosuggestions - Fish-like fast/unobtrusive autosuggestions for zsh.
    • syntax-highlighting - Fish shell-like syntax highlighting for Zsh.
  • neovim - Hyperextensible Vim-based text editor.
    • lsp-zero - LSP quick start.
    • mason - Portable package manager for Neovim.
    • telescope - A highly extensible fuzzy finder built with Lua.
    • treesitter - Tree-sitter is a parser generator tool and an incremental parsing library, built with Rust.
    • harpoon - Highly customizable folder/file/terminal navigation utility.
  • nvim-from-scratch - Neovim config based on Neovim-from-scratch series.
    • nvim-lspconfig - Quickstart configurations for the Nvim LSP client.
    • telescope - A highly extensible fuzzy finder built with Lua.
    • treesitter - Tree-sitter is a parser generator tool and an incremental parsing library, built with Rust.
    • nvim-tree - A file explorer tree written in Lua.
    • null-ls - null-ls helps to inject LSP diagnostics, code actions, and more via Lua.
    • gitsigns - Super fast git decorations for neovim implemented purely in lua/teal.
    • gruvbox-material - A modified version of gruvbox colorscheme with softer colors.
  • vim - Vim is a free and open-source text editor which is highly configurable, built to make creating and changing any kind of text very efficient.
    • ctrlp - Full path fuzzy file, buffer, mru, tag, ... finder for Vim.
    • YouCompleteMe - A code-completion engine for Vim.
    • vim-airline - A customizable statusbar/tabline for Vim.
    • gruvbox - A retro color theme for Vim.
  • alacritty - A fast, cross-platform, OpenGL terminal emulator. Supported platforms: BSD, Linux, macOS and Windows.
  • ranger - A VIM-inspired filemanager for the console.
  • picom - A standalone compositor for X11.
  • redshift - Redshift adjusts the color temperature of your screen according to your surroundings.
  • pfetch - A minimal system information tool written in POSIX sh.
  • yabai - A tiling window manager for MacOS based on binary space partitioning.
  • skhd - Simple hotkey daemon for MacOS.

Screenshots - Linux

btop.png

i3.png

tmux.png

nvim.png

Pre-requisites

  • GNU Stow to manage dotfiles/configurations.
  • The dotfiles directory should be in home (for example, ~/dotfiles) to avoid additional flags like --target, though it is unavoidable when we have to stow files in a specific directory like root .

Installation

Configuration can be done using the following commands,

// default: to stow dotfiles w.r.t the home folder
$ stow nvim

// to stow dotfiles w.r.t a specific folder, e.g root
$ stow --target=/ intel-graphics

Important Notes

  • All the folders in the repo except the images folder can be stowed, it has the images for the README.md file.
  • Following folders have to be stowed from the root directory,
    • intel-graphics - config file to fix screen-tearing on Arch based systems, to be used with xf86-video-intel driver. Refer to this section in the ArchWiki for more details.
    • fonts - /usr/share/fonts to make fonts available for all users.
  • All the other folders except the ones mentioned above can be stowed from the home directory.

References