/dots2k

Passionately Crafted CLI Setup 🐧❤️

Primary LanguageShellGNU General Public License v3.0GPL-3.0

License People Stars Forks Watches Last Updated

Passionately Crafted CLI Setup 🐧❤️

dots2k in action
Terminal screenshot

What's this

My personal configs, passionately crafted for setting up an optimal CLI dev experience across platforms.

Inspiration

Hours and nights spent on the terminal, willingness to improve.

Setup

I made a recording for setting this up on an Ubuntu system

git clone https://github.com/2kabhishek/dots2k
cd dots2k

# Menu based interactive setup, recommended for beginners
./setup.sh

# Setup everything unattended
./setup.sh -a

If you plan to use this without using the setup script, make sure to install the recommended packages in the setup.sh script.

Git Setup

Important

Make sure to change the user.name and user.email in the ~/.gitconfig file with your own or use git config --global user.name "Your Name"

I use GPG signing for commits, check this for setting it up, or use git config --global commit.gpgSign false to disable it.

Fonts

I'll recommend Nerd Fonts. I'm using FiraCode 3.11.

Local Configs

Some configs are intentionally not included as they will vary based on every system. For these, I recommend creating the ~/config/shell/local.sh file, which you can edit using the loca alias.

#!/bin/sh

export EDITOR=nvim
export CLIPCOPY=wl-copy
export CLIPPASTE=wl-paste

You can put all your local aliases, env vars and functions here.

Keybindings

dots2k comes with a lot of keybindings, here are some of them:

Included Configs

Shell

  • bash - The bash shell.
  • fish - fish shell configs.
  • shell - Shell configuration scripts.
  • zsh - zsh shell configs.
    • .zshrc - Main zsh config, that loads required modules.

Development Tools

  • bundle - A Ruby gem dependency manager.
  • delta - A syntax-highlighting pager for git and diff output.
  • git - Global git configurations.
  • lazygit - A simple terminal UI for git commands.
  • luarc - Configs for the Lua language.
  • prettier - A code formatter.
  • pry - A Ruby REPL.
  • pystartup - Python startup configurations.
  • reek - A code smell detector for Ruby.
  • stylua - A Lua formatter.
  • tmux - A terminal multiplexer.
  • typos - A spell checker for code.
  • vim - The original text editor.

System Tools

  • bat - A cat clone with syntax highlighting and Git integration.
  • cmus - A music player, with a custom theme.
  • bluetuith - A Bluetooth TUI.
  • dircolors - Sets up color definitions for GNU ls.
  • htop - An interactive process viewer.
  • inputrc - Configs for readline, used by bash and other CLI programs.
  • ranger - A console file manager.
  • topgrade - Upgrades all packages.

Terminal Emulators

  • alacritty - A cross-platform, OpenGL terminal emulator.
  • kitty - A GPU-based terminal emulator.
  • konsole - The KDE terminal emulator and a nice color scheme.

Browser

  • vimium - A browser extension for keyboard navigation.
  • chrome - User styles for Chrome, used with Firefox.

Window Management

  • autorandr - Manages display configurations on Xorg.
  • compiz - A compositing window manager, configs for xfce.
  • conky - A system widget.
  • dmenu - A dynamic menu for X.
  • fontconfig - Configures and customizes font access.
  • greetd - A minimal login manager.
  • i3 - A tiling window manager, comes with i3status.
  • libinput-gestures - Binds gestures to commands.
  • Xresources - Configurations for X applications.

The dots2k Universe

dots2k serves as a core for some of my other dev environments targeted for specific platforms, other tools have their own repos:

Platform Specific

  • mac2k: Elevate your terminal game on macOS with mac2k
  • win2k: Say goodbye to bland command lines on Windows
  • termux2k: Supercharge your Android development on the go

Editor

  • nvim2k: Neovim config for ultimate productivity and efficiency.

Tmux

  • tmux2k: Pretty and functional theme for tmux.
  • tmux-tilit: Add window manager-like capabilities to tmux.
  • tmux-tea: Powerful tmux session management.

CLI Tools

  • tdo: Simple and fast note taking.
  • mkrepo: Easy and quick GitHub repo setup.
  • ghpm: Manage all your GitHub repos.
  • gsync: Seamlessly sync your git repos.
  • cmtr: Commit changes quick.
  • gitrim: Trim unnecessary files from git history.

Shell Prompts

  • posh2k: Eye candy and power for your oh-my-posh based shells.
  • starship2k: Fast and pretty shell with starship.

Browser

  • qute2k: Keyboard driven browser for vim lovers.
  • nightblue: Theme of choice for Firefox.

Window Management

  • sway2k: Powerful and flexible window management with sway and Wayland.
  • awesome2k: Manage your windows with awesome and Xorg.
  • rofi2k: Streamline your Linux workflow with rofi app launcher.

Themes

  • BWnB: Slightly older theme for KDE and Windows 10.
  • Nightbow: Pitch black theme for VS Code.
  • refind2k: Pretty boot screen for multi-boot users.

How I built it

I built dots2k with a lot of love and passion, a lot of sleepless nights. It's an ongoing project, and I'm always looking for ways to improve it.

Challenges faced

Getting over the initial learning curve on the command line, failing and trying again :)

What I learned

While building dots2k I have learned to love the command line, and it's efficiency, have discovered countless tools and techniques, which will serve me for the rest of my days.

What's next

Planning to add more tools, better management, always updating.

Hit the ⭐ button if you found this useful.

More Info

Find more cool configs and setups at GitHub does dotfiles

Source | Website