diff --git a/home/zsh/.img.py b/home/zsh/.img.py new file mode 100755 index 0000000..f62a15e --- /dev/null +++ b/home/zsh/.img.py @@ -0,0 +1,6 @@ +#!python +import subprocess +import os, random +a = random.choice(os.listdir("/home/horhik/Pictures/Lain")) #change dir name to whatever +path = "~/Pictures/Lain/" + str(a) +print(path) diff --git a/home/zsh/.zshrc b/home/zsh/.zshrc index 98bfe9f..e1ac86c 100644 --- a/home/zsh/.zshrc +++ b/home/zsh/.zshrc @@ -1,407 +1,130 @@ -# If you come from bash you might have to change your $PATH. -# export PATH=$HOME/bin:/usr/local/bin:$PATH +# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. +# Initialization code that may require console input (password prompts, [y/n] +# confirmations, etc.) must go above this block; everything else may go below. +if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +fi -# Path to your oh-my-zsh installation. -#installation via script from github -#export ZSH="/home/$USER/.oh-my-zsh" -#installation via yay -S oh-my-zsh-git -export ZSH=/usr/share/oh-my-zsh/ +source ~/.zplug/init.zsh -# Set name of the theme to load --- if set to "random", it will -# load a random theme each time oh-my-zsh is loaded, in which case, -# to know which specific one was loaded, run: echo $RANDOM_THEME -# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes -# if you installed the package oh-my-zsh-powerline-theme-git then you type here "powerline" as zsh theme -ZSH_THEME="robyshell" +# Make sure to use double quotes +zplug "zsh-users/zsh-history-substring-search" -# Set list of themes to pick from when loading at random -# Setting this variable when ZSH_THEME=random will cause zsh to load -# a theme from this variable instead of looking in ~/.oh-my-zsh/themes/ -# If set to an empty array, this variable will have no effect. +# Use the package as a command +# And accept glob patterns (e.g., brace, wildcard, ...) +zplug "Jxck/dotfiles", as:command, use:"bin/{histuniq,color}" -# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) +# Can manage everything e.g., other person's zshrc +zplug "tcnksm/docker-alias", use:zshrc -# ZSH_THEME_RANDOM_IGNORED=(pygmalion tjkirch_mod) +# Disable updates using the "frozen" tag +zplug "k4rthik/git-cal", as:command, frozen:1 -# Uncomment the following line to use case-sensitive completion. -# CASE_SENSITIVE="true" +# Grab binaries from GitHub Releases +# and rename with the "rename-to:" tag +zplug "junegunn/fzf-bin", \ + from:gh-r, \ + as:command, \ + rename-to:fzf, \ + use:"*darwin*amd64*" -# Uncomment the following line to use hyphen-insensitive completion. -# Case-sensitive completion must be off. _ and - will be interchangeable. -# HYPHEN_INSENSITIVE="true" +# Supports oh-my-zsh plugins and the like +zplug "plugins/git", from:oh-my-zsh -# Uncomment the following line to disable bi-weekly auto-update checks. -# DISABLE_AUTO_UPDATE="true" +#zplug "romkatv/powerlevel10k", as:theme -# Uncomment the following line to automatically update without prompting. -# DISABLE_UPDATE_PROMPT="true" +zplug "Horhik/SimpleTW", as:theme +# Also prezto +#zplug "modules/prompt", from:prezto -# Uncomment the following line to change how often to auto-update (in days). -# export UPDATE_ZSH_DAYS=13 +# Load if "if" tag returns true +#zplug "lib/clipboard", from:oh-my-zsh, if:"[[ $OSTYPE == *darwin* ]]" -# Uncomment the following line if pasting URLs and other text is messed up. -# DISABLE_MAGIC_FUNCTIONS=true +# Run a command after a plugin is installed/updated +# Provided, it requires to set the variable like the following: +# ZPLUG_SUDO_PASSWORD="********" +zplug "jhawthorn/fzy", \ + as:command, \ + rename-to:fzy, \ + hook-build:"make && sudo make install" -# Uncomment the following line to disable colors in ls. -# DISABLE_LS_COLORS="true" +# Supports checking out a specific branch/tag/commit +zplug "b4b4r07/enhancd", at:v1 +zplug "mollifier/anyframe", at:4c23cb60 -# Uncomment the following line to disable auto-setting terminal title. -# DISABLE_AUTO_TITLE="true" +# Can manage gist file just like other packages +zplug "b4b4r07/79ee61f7c140c63d2786", \ + from:gist, \ + as:command, \ + use:get_last_pane_path.sh -# Uncomment the following line to enable command auto-correction. -# ENABLE_CORRECTION="true" +# Support bitbucket +zplug "b4b4r07/hello_bitbucket", \ + from:bitbucket, \ + as:command, \ + use:"*.sh" -# Uncomment the following line to display red dots whilst waiting for completion. -# COMPLETION_WAITING_DOTS="true" +# Rename a command with the string captured with `use` tag +zplug "b4b4r07/httpstat", \ + as:command, \ + use:'(*).sh', \ + rename-to:'$1' -# Uncomment the following line if you want to disable marking untracked files -# under VCS as dirty. This makes repository status check for large repositories -# much, much faster. -# DISABLE_UNTRACKED_FILES_DIRTY="true" +# Group dependencies +# Load "emoji-cli" if "jq" is installed in this example +zplug "stedolan/jq", \ + from:gh-r, \ + as:command, \ + rename-to:jq +zplug "b4b4r07/emoji-cli", \ + on:"stedolan/jq" +# Note: To specify the order in which packages should be loaded, use the defer +# tag described in the next section -# Uncomment the following line if you want to change the command execution time -# stamp shown in the history command output. -# You can set one of the optional three formats: -# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" -# or set a custom format using the strftime function format specifications, -# see 'man strftime' for details. -# HIST_STAMPS="mm/dd/yyyy" +# Set the priority when loading +# e.g., zsh-syntax-highlighting must be loaded +# after executing compinit command and sourcing other plugins +# (If the defer tag is given 2 or above, run after compinit command) +zplug "zsh-users/zsh-syntax-highlighting", defer:2 -# Would you like to use another custom folder than $ZSH/custom? -# ZSH_CUSTOM=/path/to/new-custom-folder +# Can manage local plugins +zplug "~/.zsh", from:local -# Which plugins would you like to load? -# Standard plugins can be found in ~/.oh-my-zsh/plugins/* -# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ -# Example format: plugins=(rails git textmate ruby lighthouse) -# Add wisely, as too many plugins slow down shell startup. - -#source $ZSH/oh-my-zsh.sh - -# User configuration - -# export MANPATH="/usr/local/man:$MANPATH" - -# You may need to manually set your language environment -# export LANG=en_US.UTF-8 - -# Preferred editor for local and remote sessions -# if [[ -n $SSH_CONNECTION ]]; then -# export EDITOR='vim' -# else -# export EDITOR='mvim' -# fi - -# Compilation flags -# export ARCHFLAGS="-arch x86_64" - - -#### ARCOLINUX SETTINGS #### - - -#source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh - -setopt GLOB_DOTS - -# If not running interactively, don't do anything -[[ $- != *i* ]] && return - -export HISTCONTROL=ignoreboth:erasedups - -# Make nano the default editor +# Install plugins if there are plugins that have not been installed +if ! zplug check --verbose; then + printf "Install? [y/N]: " + if read -q; then + echo; zplug install + fi +fi +# Then, source plugins and add commands to $PATH export EDITOR='nvim' export VISUAL='nvim' +export PATH=$PATH:$HOME/.local/bin -#PS1='[\u@\h \W]\$ ' - -if [ -d "$HOME/.bin" ] ; - then PATH="$HOME/.bin:$PATH" -fi - -if [ -d "$HOME/.local/bin" ] ; - then PATH="$HOME/.local/bin:$PATH" -fi - -#list -alias ls='ls --color=auto' -alias la='ls -a' -alias ll='ls -la' -alias l='ls' -alias l.="ls -A | egrep '^\.'" - -#fix obvious typo's -alias cd..='cd ..' -alias pdw="pwd" -alias udpate='sudo pacman -Syyu' -alias upate='sudo pacman -Syyu' -alias updte='sudo pacman -Syyu' -alias updqte='sudo pacman -Syyu' -alias upqll="yay -Syu --noconfirm" -alias upal="yay -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" - -#arcolinux logout unlock -alias rmlogoutlock="sudo rm /tmp/arcologout.lock" - -#free -alias free="free -mt" - -#use all cores -alias uac="sh ~/.bin/main/000*" - -#continue download -alias wget="wget -c" - -#userlist -alias userlist="cut -d: -f1 /etc/passwd" - -#merge new settings -alias merge="xrdb -merge ~/.Xresources" - -# Aliases for software managment -# pacman or pm -alias pacman='sudo pacman --color auto' -alias update='sudo pacman -Syyu' - -# yay as aur helper - updates everything -alias pksyua="yay -Syu --noconfirm" -alias upall="yay -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" - -#add new fonts -alias update-fc='sudo fc-cache -fv' - -#copy/paste all content of /etc/skel over to home folder - backup of config created - beware -alias skel='cp -Rf ~/.config ~/.config-backup-$(date +%Y.%m.%d-%H.%M.%S) && cp -rf /etc/skel/* ~' -#backup contents of /etc/skel to hidden backup folder in home/user -alias bupskel='cp -Rf /etc/skel ~/.skel-backup-$(date +%Y.%m.%d-%H.%M.%S)' - -#copy bashrc-latest over on bashrc - cb= copy bashrc -#alias cb='sudo cp /etc/skel/.bashrc ~/.bashrc && source ~/.bashrc' -#copy /etc/skel/.zshrc over on ~/.zshrc - cb= copy zshrc -alias cz='sudo cp /etc/skel/.zshrc ~/.zshrc && exec zsh' - -#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.'" - -#switch between lightdm and sddm -alias tolightdm="sudo pacman -S lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings --noconfirm --needed ; sudo systemctl enable lightdm.service -f ; echo 'Lightm is active - reboot now'" -alias tosddm="sudo pacman -S sddm --noconfirm --needed ; sudo systemctl enable sddm.service -f ; echo 'Sddm is active - reboot now'" - -#quickly kill conkies -alias kc='killall conky' - -#hardware info --short -alias hw="hwinfo --short" - -#skip integrity check -alias yayskip='yay -S --mflags --skipinteg' -alias trizenskip='trizen -S --skipinteg' - -#check vulnerabilities microcode -alias microcode='grep . /sys/devices/system/cpu/vulnerabilities/*' - -#get fastest mirrors in your neighborhood -alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist" -alias mirrord="sudo reflector --latest 30 --number 10 --sort delay --save /etc/pacman.d/mirrorlist" -alias mirrors="sudo reflector --latest 30 --number 10 --sort score --save /etc/pacman.d/mirrorlist" -alias mirrora="sudo reflector --latest 30 --number 10 --sort age --save /etc/pacman.d/mirrorlist" -#our experimental - best option for the moment -alias mirrorx="sudo reflector --age 6 --latest 20 --fastest 20 --threads 5 --sort rate --protocol https --save /etc/pacman.d/mirrorlist" -alias mirrorxx="sudo reflector --age 6 --latest 20 --fastest 20 --threads 20 --sort rate --protocol https --save /etc/pacman.d/mirrorlist" - -#mounting the folder Public for exchange between host and guest on virtualbox -alias vbm="sudo /usr/local/bin/arcolinux-vbox-share" - -#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 - -#youtube-dl -alias yta-aac="youtube-dl --extract-audio --audio-format aac " -alias yta-best="youtube-dl --extract-audio --audio-format best " -alias yta-flac="youtube-dl --extract-audio --audio-format flac " -alias yta-m4a="youtube-dl --extract-audio --audio-format m4a " -alias yta-mp3="youtube-dl --extract-audio --audio-format mp3 " -alias yta-opus="youtube-dl --extract-audio --audio-format opus " -alias yta-vorbis="youtube-dl --extract-audio --audio-format vorbis " -alias yta-wav="youtube-dl --extract-audio --audio-format wav " - -alias ytv-best="youtube-dl -f bestvideo+bestaudio " - -#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 to install ArcoLinux -alias iso="cat /etc/dev-rel | awk -F '=' '/ISO/ {print $2}'" - -#Cleanup orphaned packages -alias cleanup='sudo pacman -Rns $(pacman -Qtdq)' - -#search content with ripgrep -alias rg="rg --sort path" - -#get the error messages from journalctl -alias jctl="journalctl -p 3 -xb" - -#nano for important configuration files -#know what you do in these files -alias nlightdm="sudo $EDITOR /etc/lightdm/lightdm.conf" -alias npacman="sudo $EDITOR /etc/pacman.conf" -alias ngrub="sudo $EDITOR /etc/default/grub" -alias nconfgrub="sudo $EDITOR /boot/grub/grub.cfg" -alias nmkinitcpio="sudo $EDITOR /etc/mkinitcpio.conf" -alias nmirrorlist="sudo $EDITOR /etc/pacman.d/mirrorlist" -alias nsddm="sudo $EDITOR /etc/sddm.conf" -alias nfstab="sudo $EDITOR /etc/fstab" -alias nnsswitch="sudo $EDITOR /etc/nsswitch.conf" -alias nsamba="sudo $EDITOR /etc/samba/smb.conf" -alias nb="$EDITOR ~/.bashrc" -alias nz="$EDITOR ~/.zshrc" - -#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-key="[ -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" -alias downgrada="sudo downgrade --ala-url https://bike.seedhost.eu/arcolinux/" - -#systeminfo -alias probe="sudo -E hw-probe -all -upload" - -#shutdown or reboot -alias ssn="sudo shutdown now" -alias sr="sudo reboot" - -#update betterlockscreen images -alias bls="betterlockscreen -u /usr/share/backgrounds/arcolinux/" - -#give the list of all installed desktops - xsessions desktops -alias xd="ls /usr/share/xsessions" - -# # 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 -} - -#create a file called .zshrc-personal and put all your personal aliases -#in there. They will not be overwritten by skel. - -[[ -f ~/.zshrc-personal ]] && . ~/.zshrc-personal - -# reporting tools - install when not installed -# install neofetch -#neofetch -# install screenfetch -#screenfetch -# install ufetch-git -#ufetch -# install ufetch-arco-git -#ufetch-arco -# install arcolinux-paleofetch-git -#paleofetch -# install alsi -#alsi -# install arcolinux-bin-git - standard on ArcoLinux isos (or sfetch - smaller) -#hfetch -# install lolcat -#sfetch | lolcat - - - - - -export CC=/usr/bin/clang -export CXX=/usr/bin/clang++ -export _JAVA_AWT_WM_NONREPARENTING=1 -export ANDROID_SDK_ROOT=/home/horhik/Android/Sdk/ -export NDK_HOME=/home/horhik/Android/Sdk/ndk/22.0.7026061/ -plugins=(git colorize colored-man-pages emoji rustup sudo zsh-syntax-highlighting zsh-autosuggestions zsh-completions) -autoload -U compinit && compinit -export PATH=$HOME/.local/bin:$PATH -export PATH=/usr/local/bin:$PATH -export PATH=$HOME/.cargo/bin:$PATH -export PATH=$HOME/.emacs.d/bin:$PATH -export PATH=$HOME/Desktop:$PATH -export PATH=/home/horhik/code/projects/potato-notify:$PATH -export PATH="/root/.deno/bin:$PATH" alias vim=nvim -alias vi=vim -alias libvirtdaemon="sudo start-stop-daemon --start libvirtd" -alias virtm="sudo start-stop-daemon --start virtlogd &; sudo start-stop-daemon --start libvirtd &; virt-manager &" -alias clip=xclip -selection clipboard -alias suspend="loginctl suspend" -if [ -f '/home/horhik/yandex-cloud/path.bash.inc' ]; then source '/home/horhik/yandex-cloud/path.bash.inc'; fi -if [ -f '/home/horhik/yandex-cloud/completion.zsh.inc' ]; then source '/home/horhik/yandex-cloud/completion.zsh.inc'; fi -alias rd='rustc -g --emit="obj,link"' +alias tl=task list +# Taskwarrior +alias inbo='task +inbox' +alias ibx='task +inbox' +alias week='task burndown.weekly' +alias today='task due:today or scheduled:today' +alias prjcs='task projects' +alias tm='task modify' +alias launchpad='task project:Создать_свой_Launchpad' +alias homework='task project:school +next +school +homework' +alias don='task done' +alias watchlist="task +watchlist" +alias tc="task context" +alias cal="task calendar" +alias del="task delete" +alias next="task +next and -inbox" +alias somewhen="task add +somewhen" +alias review="task to_review | head -n 10" +alias tosomewhen="task modify -inbox +somewhen" -compile_and_run() { - rustc -g --emit="obj,link" $1 && gdb ${1%.*} - } - - alias rdr=compile_and_run - alias aia=ankiaudio - alias picom="killall picom; picom --experimental-backends &;" - alias cc="cargo check" - alias ct="cargo test" - alias gc="git clone" - alias gs="git status" - alias vim="nvim" - - -# eval $(thefuck --alias) - -if [ -e /home/horhik/.nix-profile/etc/profile.d/nix.sh ]; then . /home/horhik/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer +zplug load #--verbose +# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh