diff --git a/bashrc b/bashrc new file mode 100644 index 0000000..afde4fa --- /dev/null +++ b/bashrc @@ -0,0 +1,307 @@ +append_path () { + case ":$PATH:" in + *:"$1":*) + ;; + *) + PATH="${PATH:+$PATH:}$1" + esac +} +append_path "$HOME/bin" +append_path "$HOME/.local/bin" + +### EXPORT ### +export EDITOR=/usr/bin/nvim +export VISUAL='nano' +export HISTCONTROL=ignoreboth:erasedups:ignorespace +HISTSIZE=100000 +HISTFILESIZE=2000000 +# shopt -s histappend +export PAGER='most' + + +#Ibus settings if you need them +#type ibus-setup in terminal to change settings and start the daemon +#delete the hashtags of the next lines and restart +#export GTK_IM_MODULE=ibus +#export XMODIFIERS=@im=dbus +#export QT_IM_MODULE=ibus + +# PS1= +# PS1="\[\033[1;34m\][\$(date +%H%M)][\u@\h:\w]$\[\033[0m\] " +if [[ $(tty) == */dev/tty* ]]; then + PS1="\e[1;31m[\u\e[1;32mIP: $(ip -4 addr | grep -v '127.0.0.1' | grep -v 'secondary' | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | sed -z 's/\n/|/g;s/|\$/\n/' | rev | cut -c 2- | rev) | \e[1;31m]\n[>]\[\e[1;31m\]\$(pwd) $ \[\e[0m\]" +else + PS1="\e[1;31m┌──[I'm \u\e[0m➜ \e[1;32mPublic IP: $(ip -4 addr | grep -v '127.0.0.1' | grep -v 'secondary' | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | sed -z 's/\n/|/g;s/|\$/\n/' | rev | cut -c 2- | rev)🔒\e[1;31m]\n└──╼[\e[1;32mSNIGDHA OS\e[1;31m]\[\e[1;31m\]\$(pwd)\n$ Command: \[\e[0m\]" +fi + + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + + +if [ -d "$HOME/.bin" ] ; + then PATH="$HOME/.bin:$PATH" +fi + +if [ -d "$HOME/.local/bin" ] ; + then PATH="$HOME/.local/bin:$PATH" +fi + +#ignore upper and lowercase when TAB completion +bind "set completion-ignore-case on" + +### ALIASES ### + +#list +alias ls='ls --color=auto' +alias la='ls -a' +alias ll='ls -alFh' +alias l='ls' +alias l.="ls -A | egrep '^\.'" +alias listdir="ls -d */ > list" +alias del="sudo rm -rf" +alias c='clear' +alias q='exit' + +#pacman +alias sps='sudo pacman -S' +alias install="sudo pacman -S" +alias yes="yay -S" +alias spr='sudo pacman -R' +alias sprs='sudo pacman -Rs' +alias uninstall="sudo pacman -Rs" +alias sprdd='sudo pacman -Rdd' +alias spqo='sudo pacman -Qo' +alias spsii='sudo pacman -Sii' + +# show the list of packages that need this package - depends mpv as example +function_depends() { + search=$(echo "$1") + sudo pacman -Sii $search | grep "Required" | sed -e "s/Required By : //g" | sed -e "s/ /\n/g" + } + +alias depends='function_depends' + +#fix obvious typo's +alias cd..='cd ..' +alias pdw='pwd' +alias udpate='sudo snigdhaos-updater' +alias upd='sudo snigdhaos-updater' +alias upate='sudo snigdhaos-updater' +alias updte='sudo snigdhaos-updater' +alias updqte='sudo snigdhaos-updater' +alias upqll='paru -Syu --noconfirm' +alias upal='paru -Syu --noconfirm' + +## Colorize the grep command output for ease of use (good for log files)## +alias grep='grep --color=auto' +alias egrep='egrep --color=auto' +alias fgrep='fgrep --color=auto' + +#readable output +alias df='df -h' + +#pacman unlock +alias unlock="sudo rm /var/lib/pacman/db.lck" +alias rmpacmanlock="sudo rm /var/lib/pacman/db.lck" + +#free +alias free="free -mt" + +#continue download +alias wget="wget -c" + +#userlist +alias userlist="cut -d: -f1 /etc/passwd | sort" + +#merge new settings +alias merge="xrdb -merge ~/.Xresources" + +# Aliases for software managment +# pacman or pm +alias pacman='sudo pacman --color auto' +alias update='sudo snigdhaos-updater' +alias upd='sudo snigdhaos-updater' + +# paru as aur helper - updates everything +alias pksyua="paru -Syu --noconfirm" +alias upall="paru -Syu --noconfirm" +alias upa="paru -Syu --noconfirm" + +#ps +alias psa="ps auxf" +alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e" + +#grub update +alias update-grub="sudo grub-mkconfig -o /boot/grub/grub.cfg" +alias grub-update="sudo grub-mkconfig -o /boot/grub/grub.cfg" + +#add new fonts +alias update-fc='sudo fc-cache -fv' +#switch between bash and zsh +alias tobash="sudo chsh $USER -s /bin/bash && echo 'Now log out.'" +alias tozsh="sudo chsh $USER -s /bin/zsh && echo 'Now log out.'" +alias tofish="sudo chsh $USER -s /bin/fish && echo 'Now log out.'" + +#switch between displaymanager or bootsystem +alias toboot="sudo /usr/local/bin/snigdha-toboot" +alias togrub="sudo /usr/local/bin/snigdha-togrub" + +#audio check pulseaudio or pipewire +alias audio="pactl info | grep 'Server Name'" + +#skip integrity check +alias paruskip='paru -S --mflags --skipinteg' +alias yayskip='yay -S --mflags --skipinteg' +alias trizenskip='trizen -S --skipinteg' + +#check vulnerabilities microcode +alias microcode='grep . /sys/devices/system/cpu/vulnerabilities/*' + +#check cpu +alias cpu="cpuid -i | grep uarch | head -n 1" + +# enable virtudal box services +alias start-vmware="sudo systemctl enable --now vmtoolsd.service" +alias vmware-start="sudo systemctl enable --now vmtoolsd.service" +alias sv="sudo systemctl enable --now vmtoolsd.service" + +#shopt +shopt -s autocd # change to named directory +shopt -s cdspell # autocorrects cd misspellings +shopt -s cmdhist # save multi-line commands in history as single line +shopt -s dotglob +shopt -s histappend # do not overwrite history +shopt -s expand_aliases # expand aliases + +#Recent Installed Packages +alias rip="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -200 | nl" +alias riplong="expac --timefmt='%Y-%m-%d %T' '%l\t%n %v' | sort | tail -3000 | nl" + +#iso and version used +alias iso="cat /etc/dev-rel | awk -F '=' '/ISO/ {print $2}'" +alias isoo="cat /etc/dev-rel" + +#Cleanup orphaned packages +alias cleanup='sudo pacman -Rns $(pacman -Qtdq)' + +# This will generate a list of explicitly installed packages +alias list="sudo pacman -Qqe" +#This will generate a list of explicitly installed packages without dependencies +alias listt="sudo pacman -Qqet" +# list of AUR packages +alias listaur="sudo pacman -Qqem" +# add > list at the end to write to a file + +# install packages from list +# pacman -S --needed - < my-list-of-packages.txt + +#clear +alias clean="clear; seq 1 $(tput cols) | sort -R | sparklines | lolcat" + +#search content with ripgrep +alias rg="rg --sort path" + +#gpg +#verify signature for isos +alias gpg-check="gpg2 --keyserver-options auto-key-retrieve --verify" +alias fix-gpg-check="gpg2 --keyserver-options auto-key-retrieve --verify" +#receive the key of a developer +alias gpg-retrieve="gpg2 --keyserver-options auto-key-retrieve --receive-keys" +alias fix-gpg-retrieve="gpg2 --keyserver-options auto-key-retrieve --receive-keys" +alias fix-keyserver="[ -d ~/.gnupg ] || mkdir ~/.gnupg ; cp /etc/pacman.d/gnupg/gpg.conf ~/.gnupg/ ; echo 'done'" + +#maintenance +alias big="expac -H M '%m\t%n' | sort -h | nl" + +#hblock (stop tracking with hblock) +#use unhblock to stop using hblock +alias unhblock="hblock -S none -D none" + +#systeminfo +alias probe="sudo -E hw-probe -all -upload" +alias sysfailed="systemctl list-units --failed" + +#shutdown or reboot +alias ssn="sudo shutdown now" +alias sr="reboot" + +#update betterlockscreen images +alias bls="betterlockscreen -u /usr/share/backgrounds/snigdha-wallpapers/" + +#give the list of all installed desktops - xsessions desktops +alias xd="ls /usr/share/xsessions" +alias xdw="ls /usr/share/wayland-sessions" + +#give a list of the kernels installed +alias kernel="ls /usr/lib/modules" +alias kernels="ls /usr/lib/modules" + +#am I on grub or systemd-boot +alias boot="sudo bootctl status | grep Product" + +# # ex = EXtractor for all kinds of archives +# # usage: ex +ex () +{ + if [ -f $1 ] ; then + case $1 in + *.tar.bz2) tar xjf $1 ;; + *.tar.gz) tar xzf $1 ;; + *.bz2) bunzip2 $1 ;; + *.rar) unrar x $1 ;; + *.gz) gunzip $1 ;; + *.tar) tar xf $1 ;; + *.tbz2) tar xjf $1 ;; + *.tgz) tar xzf $1 ;; + *.zip) unzip $1 ;; + *.Z) uncompress $1;; + *.7z) 7z x $1 ;; + *.deb) ar x $1 ;; + *.tar.xz) tar xf $1 ;; + *.tar.zst) tar xf $1 ;; + *) echo "'$1' cannot be extracted via ex()" ;; + esac + else + echo "'$1' is not a valid file" + fi +} + +#wayland aliases +alias wsimplescreen="wf-recorder -a" +alias wsimplescreenrecorder="wf-recorder -a -c h264_vaapi -C aac -d /dev/dri/renderD128 --file=recording.mp4" + +#btrfs aliases +alias btrfsfs="sudo btrfs filesystem df /" +alias btrfsli="sudo btrfs su li / -t" + +#snapper aliases +alias snapcroot="sudo snapper -c root create-config /" +alias snapchome="sudo snapper -c home create-config /home" +alias snapli="sudo snapper list" +alias snapcr="sudo snapper -c root create" +alias snapch="sudo snapper -c home create" + +#git +alias rmgitcache="rm -r ~/.cache/git" +alias grh="git reset --hard" + +#pamac +alias pamac-unlock="sudo rm /var/tmp/pamac/dbs/db.lock" + +#moving your personal files and folders from /personal to ~ +alias personal='cp -Rf /personal/* ~' +alias sn="gpg --detach-sign" +alias gc="git clone" +alias gp="git push" +alias gm="git commit -m" + + +#create a file called .bashrc-personal and put all your personal aliases +#in there. They will not be overwritten by skel. + +# [[ -f ~/.bashrc-personal ]] && . ~/.bashrc-personal + +if [[ $1 != no-repeat-flag && -z $NO_REPETITION ]]; then + neofetch +fi diff --git a/push.sh b/push.sh new file mode 100755 index 0000000..159678a --- /dev/null +++ b/push.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +# Author : Eshan Roy +# Author URI : https://eshanized.github.io/ + +# NOTE: REPO = Your Repository Name On the Host +# NOTE: ORG = Your ORGANIZATION NAME or USERNAME +# NOTE: HOST = GitHub, Gitlab, Bitbucket etc. + +# Repo Config +REPO=snigdhaos-roots +# Host Config +HOST=https://github.com +# Destination Config +ORG=Snigdha-OS + +# Set the repository URL and branch +REPO_URL="${HOST}/${ORG}/${REPO}.git" +BRANCH="master" # or "main" depending on your repository's default branch + +# Commit message +MESSAGE="@eshanized: push via script" + +# Add all files, commit, and push changes +git add . +git commit -m "$MESSAGE" +git push origin $BRANCH \ No newline at end of file