├── .aliases ├── .zshrc ├── README.md ├── banner └── install.sh /.aliases: -------------------------------------------------------------------------------- 1 | alias cls="clear" 2 | alias tree="exa --icons --tree -L 1 -I node_modules" 3 | alias ls="exa --icons" 4 | alias dir="exa --icons -lh" 5 | alias grep="grep --color" 6 | alias cat="bat" 7 | alias diff="icdiff" 8 | alias gitlog="git log --graph --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --all" 9 | -------------------------------------------------------------------------------- /.zshrc: -------------------------------------------------------------------------------- 1 | ZSH_THEME="agnoster" 2 | plugins=(git colored-man-pages) 3 | 4 | # Reload theme 5 | source $ZSH/oh-my-zsh.sh 6 | 7 | # Load plugins 8 | source /usr/share/zgen/zgen.zsh 9 | zgen load zsh-users/zsh-syntax-highlighting 10 | zgen load zsh-users/zsh-autosuggestions 11 | zgen load zsh-users/zsh-completions 12 | 13 | source ~/.dotfiles/.aliases 14 | 15 | export PAGER="less" 16 | 17 | # go 18 | export GOPATH=/usr/share/go 19 | 20 | # deno 21 | export DENO_INSTALL=$HOME/.deno 22 | 23 | # node 24 | export NVM_DIR=$HOME/.nvm 25 | [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm 26 | [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion 27 | 28 | # pnpm 29 | export PNPM_HOME=$HOME/.local/share/pnpm 30 | 31 | # zoxide 32 | eval "$(zoxide init zsh)" 33 | rm ~/.zcompdump*; compinit 34 | 35 | # PATH 36 | export PATH=$HOME/bin:/usr/games:/usr/local/bin:$HOME/.nvm:/usr/local/go/bin:$DENO_INSTALL/bin:$HOME/.cargo/bin:$GOPATH/bin:$PNPM_HOME:$PATH 37 | 38 | echo "$(cat $HOME/.dotfiles/banner)" | lolcat 39 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ManzDev dotfiles 2 | 3 | Script to prepare your GNU/Linux terminal (WSL also) in a «superterminal» with modern, autocompleted commands and other features. 4 | 5 | ## Includes 6 | 7 | - **Shell**: ZSH + OH-MY-ZSH + Agnoster theme 8 | - **Plugins**: Zgen plugin manager + History & Red/green completion commands 9 | - **Essentials tools**: wget + git + make + cmake + g++ 10 | - **CLI Editors**: vim + nano + micro 11 | - **CLI tools**: ccze + jq + nnn 12 | - **API/Request tools**: curl + http + googler + ddgr 13 | - **Help/Info**: man + tldr + neofetch 14 | - **Fun**: sl + lolcat + wipeclean + cmatrix 15 | - **Compressors/conversors**: unzip + zip + bzip2 + p7zip + svgo + ttf2woff + woff2 + ffmpeg 16 | - **Language + Package Managers**: Go + Rust + Deno + Node/NVM/PNPM 17 | - **Containers**: Docker 18 | 19 | | **Modern commands** | 20 | |-| 21 | | bat (cat) | 22 | | exa (ls, tree) | 23 | | glow (cat .md) | 24 | | jless (cat .json) | 25 | | catimg (image cat) | 26 | | duf (df) | 27 | | ncdu (du) | 28 | | zoxide (cd) | 29 | | htop (top) | 30 | | icdiff (diff) | 31 | | zellij (tmux) | 32 | | hyperfine (time) | 33 | 34 | ## Installation 35 | 36 | ```bash 37 | git clone https://github.com/manzdev/dotfiles ~/.dotfiles 38 | cd ~/.dotfiles 39 | bash install.sh 40 | ``` 41 | 42 | * Note: Do not run as root/sudo this file! 43 | 44 | ## Requisites 45 | 46 | If you haven't a non-root user with sudo privileges, create it before run this script: 47 | 48 | ```bash 49 | adduser manz --quiet 50 | usermod -aG sudo manz 51 | apt-get update -y && apt-get install -y sudo git 52 | su manz 53 | ``` 54 | 55 | ## More info 56 | 57 | ![Modern commands](https://pbs.twimg.com/media/FQZHmm5aIAkTXEw?format=jpg&name=small) 58 | 59 | - 1: https://twitter.com/Manz/status/1514983676739739658 60 | - 2: https://twitter.com/Manz/status/1516430573451059214 61 | 62 | -------------------------------------------------------------------------------- /banner: -------------------------------------------------------------------------------- 1 | @@@@@@@@@@ 2 | @@@ @@ 3 | @ &&&&&%%@@@ 4 | @@ &&( && (&@ _ 5 | @ ##&&&&&&&@ _ __ ___ __ _ _ __ ____ __| | _____ __ 6 | @@,@ ### #@ | '_ ` _ \ / _` | '_ \|_ / / _` |/ _ \ \ / / 7 | @@ @@ | | | | | | (_| | | | |/ / | (_| | __/\ V / 8 | @@ *.. @ |_| |_| |_|\__,_|_| |_/___(_)__,_|\___| \_/ 9 | 10 | 11 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | export DEBIAN_FRONTEND=noninteractive 2 | 3 | sudo apt update -y 4 | sudo apt install -y bash sudo wget git locales build-essential \ 5 | vim nano ccze jq less catimg tldr curl httpie man htop ncdu \ 6 | unzip zip bzip2 p7zip-full woff2 file imagemagick \ 7 | bat sl lolcat cmatrix ffmpeg \ 8 | libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev 9 | 10 | tldr -u 11 | 12 | # docker image support 13 | export SHELL=/bin/bash 14 | 15 | # fuzzy finder 16 | git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf 17 | ~/.fzf/install -all 18 | 19 | # PNPM/Node 20 | curl -fsSL https://get.pnpm.io/install.sh | sh - 21 | source ~/.bashrc 22 | pnpm env use -g 20 23 | pnpm install -g svgo wipeclean ttf2woff emoj servor 24 | 25 | # Rust 26 | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y 27 | source ~/.bashrc 28 | cargo install bat zoxide eza zellij hyperfine jless erdtree broot choose 29 | { 30 | echo '--level 2' 31 | echo '--icons' 32 | echo '--human' 33 | echo '-s size' 34 | } >> ~/.erdtreerc 35 | echo 'eval "$(zoxide init bash)"' >> ~/.bashrc 36 | 37 | # Go 38 | wget -q "https://go.dev/dl/go1.23.2.linux-amd64.tar.gz" -O - | sudo tar -C /usr/local -xzf - 39 | echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> ~/.bashrc 40 | go install github.com/muesli/duf@latest 41 | go install github.com/charmbracelet/glow@latest 42 | 43 | # Oh my posh 44 | sudo apt install -y curl unzip fonts-powerline nano 45 | curl -s https://ohmyposh.dev/install.sh | bash -s 46 | { 47 | echo 'export PATH=$PATH:$HOME/.local/bin' 48 | echo 'eval "$(oh-my-posh init bash)"' 49 | } >> ~/.bashrc 50 | 51 | { 52 | echo "alias ls='eza -l --level 1 --icons'" 53 | echo "alias tree='erd'" 54 | echo "alias cat='batcat'" 55 | } >> ~/.bashrc 56 | --------------------------------------------------------------------------------