tfpickard / cli

Cli Configuration to be worked on terminal and compatible with TTy based for Arch Linux

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cli Configuration

License GitHub stars GitHub forks GitHub repo size GitHub last commit GitHub issues GitHub pull requests

This is my cli configuration mostly tried to keep it keyboard driven and much focused to be working on TTY.

Seprating Cli from all other config to make sure that can easily setup this on any system Independent of GUI. Quickly able to run on TTY too.

Preview

Starship prompt (Just will be changing many times)

starship

fzf preview using the preview script in bin/ ueberzugpp is a dependency for my configuration should work fine on xorg and wayland

zsh-img zsh-comp

zsh

My zsh config have auto-completions that gives ghost text preview can be selected using the keymap ctrl-l Pressing tab for command completion will show fzf to complete the command args. jk will switch to vim mode in the shell prompt.

Fzf Mapping

  • ctrl-r to search history.
  • ctrl-t to search files in current directory.
  • alt-c to search directory.
    • ctrl-space multiple selection.
    • ctrl-/ unselect selection.

ctrl-/ Aur package install

aur-in

ctrl-alt-/ Aur package uninstall

aur-un

Setup

Dependencies

yay -S --needed \
    rustup python python-pip nodejs go \
    zsh-completion-git bash-complete-alias bash-completion \
    fd ripgrep shellcheck-bin shfmt advcpmv pistol-git bat exa git glow urlview git-secret trash-cli fzf xstow ttf-jetbrains-mono-nerd zoxide \
    w3m zip unzip unrar vim \
    zellij tmux urlview
git clone https://github.com/niksingh710/cli.git ~/.cli-dots
cd ~/.cli-dots
xstow */ -t ~ -force

Vim

Quick vim setup for TTY. if don't want to setup whole shell


curl https://raw.githubusercontent.com/niksingh710/cli/master/shell/.vimrc > ~/.vimrc

Utilities

These are the some utilities that i reccomend to have.

  • fzf Fuzzy finder gives god like navigation and other powers if used correctly.

    • fd simple sexy faster find
    • rg someone said this is better grep (so just have it)
  • lunarvim Nvim with less efforts (i have my own)

  • exa Better ls

  • bat cat command with wings

  • git Git cli

  • rclone Rclone cloud drive mounter

  • zellij Oh yeah this makes split in TTY (A multiplexer) Just u need it you don't know but u do. (I felt it is buggy)

    • urlview access urls available in tmux view
  • tmux Oh yeah this makes split in TTY (A multiplexer) Just u need it you don't know but u do. (no sixel but my preview with ueberzugpp works)

  • simplehttp Simple go utility to host folder on a network.

  • zsh Shell on steroid (bounded by ur vision)

    • starhip Prompt on Steroid

    • zoxide Lazy cd.

      Plugins and all is already managed in .zshconfig by znap.

      zsh-vi-mode This plugin overrides fzf keymaps and someother zsh stuff. so sourcing a different file zvm_after_init_commands+=('. file)

  • Other pkgs like

    • Bash completions
    • Zsh completions
  • Arch Specific

    • pkgfile
    • pkg conf
    • yay Aur helper.

Make sure to have go, python, nodejs, rustup is installed. ensure getting rust setup after installing rustup. also ensure that pip npm cargo are available and working.

  • Note

    For node js I prefer to use fnm

Keymaps

The keymaps are purely based on vim keymaps.

Leader key

Leader is a key type when pressed then it waits for the next key combo to be pressed to execute instructions.

Tool Leader
Lunarvim space
zellij c-a (Control-a)

Basic

These are some basic keymap patterns can be seen around.

j and k keys to move up and down h and l keys to move left right

More specific tool mapping will be present inside the tool config.

tmux

Make sure to press Leader, Shift+I to install plugins

Leader key Ctrl-a

keymaps action
leader,v split vertical
leader,s split horizontal
leader,r Reload Config
leader,m Maximize pane
leader,j,k,l,h Resize pane
leader,v visual mode in vim keymaps
leader,c-h,c-j,c-k,c-l Pane switcher switches pane with nvim too
Floating terminal

zellij

Leader key Ctrl-a

keymaps action
leader,v split vertical
leader,s split horizontal
leader,r Rename Tab
leader,m Maximize pane
leader,J,K,L,H Resize pane
leader,e Open terminal in editor buffer
leader,f Floating terminal
leader,h,j,k,l Pane switcher switches pane

vim

jk for switching to normal mode from insert mode. c-s saving buffer leader,q to quit vim

Use Leader,S,k to list all keymappings.

GPG [Note for me]

Download the private.key from google-drive gpg --import private.key

Note

Read xstow manual But in short don't miss -t ~ as it forces it's target to home dir if wanna include only single module you can do xstow <module> -t ~

About

Cli Configuration to be worked on terminal and compatible with TTy based for Arch Linux


Languages

Language:Lua 77.5%Language:Shell 22.2%Language:Vim Script 0.3%