Compare commits

...

86 commits

Author SHA1 Message Date
f1ef247c0c
[update] Update the zellij config 2023-06-20 14:50:45 +03:00
d50d555e11
[update] Update the KB layuots 2023-06-15 15:42:41 +03:00
8de3e7e86b
[new] Create btop config 2023-05-28 16:24:41 +03:00
db6ce2cf41
[update] Update the WM binary name 2023-05-28 15:15:03 +03:00
f4a5a15a8e
[shell] Create the setup.sh 2023-05-17 10:14:36 +03:00
efb569a435
[update] Update the yo-dwm binary name and source the .xprofile 2023-05-11 02:38:21 +03:00
37b3ccfd2a
[update] Add the atostart stuff to the .xprofile 2023-05-11 02:34:33 +03:00
93294e256d
[add/new] Create the .Xresources 2023-05-10 03:37:48 +03:00
9851a66ff9
[log] Save the dwm logs 2023-05-10 03:27:02 +03:00
29d62e5242
[fix] Auto start the gpg agent and setup the keybord lauots 2023-05-10 03:10:56 +03:00
0d39d11c52 Merge branch 'master' of github.com:anas-elgarhy/dotfiles 2023-05-10 01:35:13 +03:00
b2ac1d5ff2
[add/new] Create the vconsole config 2023-05-10 01:34:34 +03:00
e655f043e1
[fix] Fix the browser config link 2023-05-09 23:54:39 +03:00
878a6fc8b9
[doc] Create the browesr sub section 2023-05-09 23:42:57 +03:00
6d3de31390
[add/new] Create the firefox style 2023-05-09 23:23:43 +03:00
129b7e5c67 Merge branch 'master' of github.com:anas-elgarhy/dotfiles 2023-05-07 13:49:53 +03:00
2083dc5074
[fix] fix the wifi disable on startup issue 2023-05-07 13:48:12 +03:00
mergify[bot]
435d0ae8e7
Merge pull request #5 from anas-elgarhy/renovate/configure
Configure Renovate
2023-05-07 10:23:47 +00:00
e1016c11ba
[improve/driver conf] Use libinput for the touchpad instad of synaptics 2023-05-07 13:17:19 +03:00
43acbe091c
[improve] Update the tlp config 2023-05-07 05:00:05 +03:00
3e1bb5e15c
[doc/fix] Fix the tlp wiki link 2023-05-07 03:53:28 +03:00
03beee0e18
[doc] Improve the readme 2023-05-07 03:49:05 +03:00
baa36c638c
[doc] Add tlp explane 2023-05-07 03:41:42 +03:00
012e0e0f9c
[doc] Fix some grammer 2023-05-05 20:49:45 +03:00
f8bdba9ca9
[doc] Create ref section 2023-05-05 20:44:53 +03:00
dc1d970a7d
[clean] Remove the useless .scripts dir 2023-05-05 17:36:03 +03:00
bc7d3f6032
[update/add] Add aur:// alias 2023-05-05 17:18:36 +03:00
7c5bda0919
[update] Use the ssh insted of https in me:// alias 2023-05-05 17:14:50 +03:00
4a1f09d970
[add/new] Create the touchpad config, with Synaptics driver 2023-05-05 17:09:30 +03:00
7c30575420
[update/shell] Remove thefuck alias 2023-04-21 01:37:30 +02:00
44b89545d5
[update/shell] Add the init command for `github-copilot-cli 2023-04-21 01:21:45 +02:00
2a221d0667
[update/shell] Add the init command for `github-copilot-cli 2023-04-21 01:21:36 +02:00
4a8337e472
[update/shell] Add pull and fetch aliases for git 2023-04-18 23:33:53 +02:00
77af2fa024
[update] Remove the zellij pane freams and use the compact layuot 2023-04-18 23:20:43 +02:00
renovate[bot]
c1309c652f
Add renovate.json 2023-04-17 17:26:41 +00:00
mergify[bot]
ee8b820127
Merge pull request #8 from anas-elgarhy/imgbot
[ImgBot] Optimize images
2023-04-17 17:26:30 +00:00
ImgBotApp
89ba8be7e9
[ImgBot] Optimize images
*Total -- 3,394.60kb -> 2,962.89kb (12.72%)

/Screenshots/zsh-kitty-v0.3.png -- 919.40kb -> 772.17kb (16.01%)
/Screenshots/zsh-neofetch-kitty-cava-tty_clock-v0.3.png -- 1,131.93kb -> 992.27kb (12.34%)
/Screenshots/zsh-neofetch-kitty-cmus-notify-v0.3.png -- 1,343.27kb -> 1,198.45kb (10.78%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2023-04-17 12:49:57 +00:00
6f06cfe888
[doc] Update the screenshots 2023-04-17 11:15:52 +02:00
5855de31a4
[update] Add ~/.local/bin to the path 2023-04-17 10:54:12 +02:00
0a0b163dd1
[update] Changa the dwm oppacity to 80% 2023-04-17 10:47:25 +02:00
3337e9dea8
[new] Add the git config 2023-04-17 10:08:52 +02:00
51738c04ea
[add/new] Add the qt5 configs 2023-04-17 09:57:02 +02:00
cefb5fbb29
[update] Use the dracula theme with kitty
Source: https://github.com/dracula/kitty
2023-04-17 09:30:56 +02:00
46e83503aa
[update] use the dracula theme with dunst
Source: https://github.com/dracula/dunst
2023-04-17 09:16:42 +02:00
051b29f9ce
[add/new] Add the copyq configs 2023-04-17 08:57:57 +02:00
628138d100
[update] Changa the kitty oppacity to 26% 2023-04-17 08:36:30 +02:00
067d055c09
[update] Use the dracula theam for cava 2023-04-17 08:31:43 +02:00
bdbe4ba3ed
[update] Add more aliases 2023-04-16 00:10:10 +02:00
d3af14c21e
[CI] Add the disroot repo to the mirror action 2023-04-15 23:20:16 +02:00
73a70b022f
Merge pull request #7 from anas-elgarhy/mergify/anas-elgarhy/config-update
ci(Mergify): configuration update
2023-04-15 22:51:48 +02:00
2d9397eb53
Merge pull request #6 from anas-elgarhy/imgbot
[ImgBot] Optimize images
2023-04-15 22:51:32 +02:00
0bd95d9043 ci(Mergify): configuration update
Signed-off-by: Anas Elgarhy <anas.elgarhy.dev@gmail.com>
2023-04-15 22:51:13 +02:00
48ecf15dce
[clean] Remove the outdated screenshots 2023-04-15 22:36:24 +02:00
ImgBotApp
69ff5f2f93
[ImgBot] Optimize images
*Total -- 2,102.74kb -> 1,875.91kb (10.79%)

/Screenshots/zsh-neofetch-kitty-v0.2.png -- 831.39kb -> 721.69kb (13.19%)
/Screenshots/zsh-neofetch-kitty-cmus-notify-v0.2.png -- 1,271.35kb -> 1,154.22kb (9.21%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2023-04-15 06:17:47 +00:00
918a282bb2
[clean] Remove the outdated .ideavimrc file 2023-04-15 08:07:25 +02:00
c2e5c02078
[clean] Remove the cmus garpage 2023-04-15 08:02:05 +02:00
d3e901f710
[update] Udate the fish shell config 2023-04-15 07:56:47 +02:00
69ce4691b5
[update] Improve the ZSH config 2023-04-15 07:32:25 +02:00
bcf9205dfa
[update] Update bashrc 2023-04-15 07:18:14 +02:00
0474e0f265
[update] Move the util.sh to the correct path 2023-04-15 06:45:16 +02:00
7cf174e37e
[update] Create the extract util function 2023-04-15 06:42:10 +02:00
2e3fe67a92
[update] Create the youtube alieses 2023-04-15 06:32:58 +02:00
0197e6d3c5
[update] Set the pager to bat 2023-04-15 06:30:48 +02:00
45afdd620c
[doc] Update the readme 2023-04-15 05:23:19 +02:00
4c6140418d
[doc] Update the readme 2023-04-15 05:21:49 +02:00
7e0341098e
[update] Add alias for git 2023-04-15 05:04:44 +02:00
5001635823
[update] Remove the power10k prombt config 2023-04-15 04:54:29 +02:00
0a95329df7
[update] Add more aliases 2023-04-15 04:49:20 +02:00
e60e06afcc
[update] Improve the zsh configs 2023-04-15 04:36:04 +02:00
25a90e80c2
[fix] Append the PATH 2023-04-15 04:33:42 +02:00
dca853ac85
Create the public env 2023-04-15 04:06:04 +02:00
b569b57d63
Create the oh-my-posh theme 2023-04-15 03:26:18 +02:00
a816e697e9
Seprae the aliases 2023-04-15 02:45:02 +02:00
6698040877
Merge branch 'master' of github.com:anas-elgarhy/dotfiles 2023-04-15 02:41:44 +02:00
a772c19f8f
Rename README.md to README.md.outdated 2023-04-15 01:47:05 +02:00
239eacf23e
Add .xinitrc file 2023-03-08 22:48:25 +02:00
8a849d1865
Add X environment variables for Nabi in '.xprofile' 2023-03-08 22:47:22 +02:00
f0a1783099
Improve the doom configs :) 2023-03-04 12:02:11 +02:00
b6afc1eb74
Remove the wakatime api key and ignore it :) 2023-03-04 05:34:49 +02:00
7b3ce3e0ff
Create a basic doom emacs configs. 2023-03-04 04:24:04 +02:00
a7d6ccd855
Update the fish configs 2023-03-03 21:39:51 +02:00
9d5abd0cd1
Create nnn config 2023-03-03 21:35:17 +02:00
b6a0f3aa5a
Update kitty.conf background opacity 2023-03-03 21:33:30 +02:00
39850bf997
Create the base cmus configs 2023-01-20 22:31:24 +02:00
35bed94a39
Create the cmus-rps-rs configs :P 2023-01-20 22:30:38 +02:00
cd404690a2
Create the cmus-rpc configs :D 2023-01-20 22:29:35 +02:00
57 changed files with 2068 additions and 2426 deletions

29
.Xresources Normal file
View file

@ -0,0 +1,29 @@
*faceName: Public Sans
xterm*faceSize: 14
*multiClickTime: 300
*international: true
Xcursor.theme: default
Xcursor.size: 16 ! 32, 48 or 64 may also be good values
! Xft settings ---------------------------------------------------------------
Xft.lcdfilter: lcddefault
Xft.antialias: true
Xft.autohint: false
Xft.hinting: true
Xft.hintstyle: hintfull
Xft.rgba: rgb
! xterm ----------------------------------------------------------------------
xterm*geometry: 100x25
xterm*dynamicColors: true
xterm*utf8: 1
xterm*eightBitInput: true
xterm*saveLines: 12000
xterm*scrollTtyKeypress: true
xterm*scrollTtyOutput: false
xterm*jumpScroll: true
xterm*multiScroll: true
xterm*toolBar: false
xterm*termName: xterm-256color
xterm*faceName: Noto Sans Mono

333
.bashrc
View file

@ -1,15 +1,7 @@
### EXPORT ###
export EDITOR='nano'
export VISUAL='nano'
export HISTCONTROL=ignoreboth:erasedups
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
source "$HOME/.config/shell/public-env.sh"
source "$HOME/.config/shell/aliases.sh"
source "$HOME/.config/shell/utils.sh"
source "$HOME/.config/shell/setup.sh"
PS1='[\u@\h \W]\$ '
@ -17,147 +9,9 @@ PS1='[\u@\h \W]\$ '
[[ $- != *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 '^\.'"
#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='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'
#keyboard
alias give-me-azerty-be="sudo localectl set-x11-keymap be"
alias give-me-qwerty-us="sudo localectl set-x11-keymap us"
#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"
#which graphical card is working
alias whichvga="/usr/local/bin/arcolinux-which-vga"
#free
alias free="free -mt"
#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'
# paru as aur helper - updates everything
alias pksyua="paru -Syu --noconfirm"
alias upall="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"
#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='[ -d ~/.config ] || mkdir ~/.config && 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 shell configs
alias cb='cp /etc/skel/.bashrc ~/.bashrc && exec bash'
alias cz='cp /etc/skel/.zshrc ~/.zshrc && echo "Copied."'
alias cf='cp /etc/skel/.config/fish/config.fish ~/.config/fish/config.fish && echo "Copied."'
#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 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'"
alias toly="sudo pacman -S ly --noconfirm --needed ; sudo systemctl enable ly.service -f ; echo 'Ly is active - reboot now'"
alias togdm="sudo pacman -S gdm --noconfirm --needed ; sudo systemctl enable gdm.service -f ; echo 'Gdm is active - reboot now'"
alias tolxdm="sudo pacman -S lxdm --noconfirm --needed ; sudo systemctl enable lxdm.service -f ; echo 'Lxdm is active - reboot now'"
# kill commands
# quickly kill conkies
alias kc='killall conky'
# quickly kill polybar
alias kp='killall polybar'
# quickly kill picom
alias kpi='killall picom'
#hardware info --short
alias hw="hwinfo --short"
#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/*'
#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"
alias ram='rate-mirrors --allow-root arch | sudo tee /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"
#enabling vmware services
alias start-vmware="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
@ -166,179 +20,8 @@ shopt -s dotglob
shopt -s histappend # do not overwrite history
shopt -s expand_aliases # expand aliases
#youtube download
alias yta-aac="yt-dlp --extract-audio --audio-format aac "
alias yta-best="yt-dlp --extract-audio --audio-format best "
alias yta-flac="yt-dlp --extract-audio --audio-format flac "
alias yta-mp3="yt-dlp --extract-audio --audio-format mp3 "
alias ytv-best="yt-dlp -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 "
# History in cache directory:
HISTSIZE=1000000000
SAVEHIST=1000000000
HISTFILE=~/.shell_history
#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)'
#clear
alias clean="clear; seq 1 (tput cols) | sort -R | sparklines | lolcat"
#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 nlxdm="sudo $EDITOR /etc/lxdm/lxdm.conf"
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 narcomirrorlist='sudo nano /etc/pacman.d/arcolinux-mirrorlist'
alias nsddm="sudo $EDITOR /etc/sddm.conf"
alias nsddmk="sudo $EDITOR /etc/sddm.conf.d/kde_settings.conf"
alias nfstab="sudo $EDITOR /etc/fstab"
alias nnsswitch="sudo $EDITOR /etc/nsswitch.conf"
alias nsamba="sudo $EDITOR /etc/samba/smb.conf"
alias ngnupgconf="sudo nano /etc/pacman.d/gnupg/gpg.conf"
alias nhosts="sudo $EDITOR /etc/hosts"
alias nb="$EDITOR ~/.bashrc"
alias nz="$EDITOR ~/.zshrc"
alias nf="EDITOR ~/.config/fish/config.fish"
#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'"
#fixes
alias fix-permissions="sudo chown -R $USER:$USER ~/.config ~/.local"
alias keyfix="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
alias key-fix="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
alias keys-fix="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
alias fixkey="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
alias fixkeys="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
alias fix-key="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
alias fix-keys="/usr/local/bin/arcolinux-fix-pacman-databases-and-keys"
alias fix-sddm-config="/usr/local/bin/arcolinux-fix-sddm-config"
alias fix-pacman-conf="/usr/local/bin/arcolinux-fix-pacman-conf"
alias fix-pacman-keyserver="/usr/local/bin/arcolinux-fix-pacman-gpg-conf"
#maintenance
alias big="expac -H M '%m\t%n' | sort -h | nl"
alias downgrada="sudo downgrade --ala-url https://ant.seedhost.eu/arcolinux/"
#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="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 <file>
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
}
#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"
#Leftwm aliases
alias lti="leftwm-theme install"
alias ltu="leftwm-theme uninstall"
alias lta="leftwm-theme apply"
alias ltupd="leftwm-theme update"
alias ltupg="leftwm-theme upgrade"
#arcolinux applications
alias att="arcolinux-tweak-tool"
alias adt="arcolinux-desktop-trasher"
alias abl="arcolinux-betterlockscreen"
alias agm="arcolinux-get-mirrors"
alias amr="arcolinux-mirrorlist-rank-info"
alias aom="arcolinux-osbeck-as-mirror"
alias ars="arcolinux-reflector-simple"
alias atm="arcolinux-tellme"
alias avs="arcolinux-vbox-share"
alias awa="arcolinux-welcome-app"
#remove
alias rmgitcache="rm -r ~/.cache/git"
#moving your personal files and folders from /personal to ~
alias personal='cp -Rf /personal/* ~'
#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
exec zsh
# reporting tools - install when not installed
neofetch
#screenfetch
#alsi
#paleofetch
#fetch
#hfetch
#sfetch
#ufetch
#ufetch-arco
#pfetch
#sysinfo
#sysinfo-retro
#cpufetch
#colorscript random

212
.config/btop/btop.conf Normal file
View file

@ -0,0 +1,212 @@
#? Config file for btop v. 1.2.13
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
color_theme = "/usr/share/btop/themes/dracula.theme"
#* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = True
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = True
#* Set to true to force tty mode regardless if a real tty has been detected or not.
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
force_tty = False
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
#* Use whitespace " " as separator between different presets.
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = False
#* Rounded corners on boxes, is ignored if TTY mode is ON.
rounded_corners = True
#* Default symbols to use for graph creation, "braille", "block" or "tty".
#* "braille" offers the highest resolution but might not be included in all fonts.
#* "block" has half the resolution of braille but uses more common characters.
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
graph_symbol = "braille"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_cpu = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_mem = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_net = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace.
shown_boxes = "cpu mem net proc"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 2000
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "cpu lazy"
#* Reverse sorting order, True or False.
proc_reversed = False
#* Show processes as a tree.
proc_tree = True
#* Use the cpu graph colors in the process list.
proc_colors = True
#* Use a darkening gradient in the process list.
proc_gradient = True
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core = True
#* Show process memory as bytes instead of percent.
proc_mem_bytes = True
#* Show cpu graph for each process.
proc_cpu_graphs = True
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
proc_info_smaps = False
#* Show proc box on left side of screen instead of right.
proc_left = False
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = False
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_upper = "total"
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_lower = "idle"
#* Toggles if the lower CPU graph should be inverted.
cpu_invert_lower = False
#* Set to True to completely disable the lower CPU graph.
cpu_single_graph = False
#* Show cpu box at bottom of screen instead of top.
cpu_bottom = False
#* Shows the system uptime in the CPU box.
show_uptime = True
#* Show cpu temperature.
check_temp = True
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
cpu_sensor = "Auto"
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
show_coretemp = True
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
#* Example: "4:0 5:1 6:3"
cpu_core_map = ""
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
temp_scale = "celsius"
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
base_10_sizes = False
#* Show CPU frequency.
show_cpu_freq = True
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
clock_format = "%X"
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
background_update = True
#* Custom cpu model name, empty string to disable.
custom_cpu_name = ""
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
disks_filter = ""
#* Show graphs instead of meters for memory values.
mem_graphs = True
#* Show mem box below net box instead of above.
mem_below_net = False
#* Count ZFS ARC in cached and available memory.
zfs_arc_cached = True
#* If swap memory should be shown in memory box.
show_swap = True
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk = True
#* If mem box should be split to also show disks info.
show_disks = True
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True
#* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab = True
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
zfs_hide_datasets = False
#* Set to true to show available disk space for privileged users.
disk_free_priv = True
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
show_io_stat = True
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = True
#* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = True
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
#* Example: "/mnt/media:100 /:20 /boot:1".
io_graph_speeds = ""
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
net_download = 100
net_upload = 100
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto = True
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
net_sync = True
#* Starts with the Network Interface specified here.
net_iface = ""
#* Show battery stats in top right if battery is present.
show_battery = True
#* Which battery to use if multiple are present. "Auto" for auto detection.
selected_battery = "BAT0"
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
log_level = "WARNING"

View file

@ -1,11 +1,5 @@
## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
[general]
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
; mode = normal
# Accepts only non-negative values.
framerate = 144
@ -21,9 +15,9 @@ sensitivity = 200
# The number of bars (0-200). 0 sets it to auto (fill up console).
# Bars' width and space between bars in number of characters.
; bars = 0
bars = 0
bar_width = 3
; bar_spacing = 1
bar_spacing = 1
# bar_height is only used for output in "noritake" format
; bar_height = 32
@ -127,32 +121,16 @@ channels = stereo
[color]
# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
# ncurses output method and a terminal that can change color definitions such as Gnome-terminal or rxvt.
# if supported, ncurses mode will be forced on if user defined colors are used.
# default is to keep current terminal color
; background = default
; foreground = default
gradient = 1
# SDL only support hex code colors, these are the default:
; background = '#111111'
; foreground = '#33cccc'
# Gradient mode, only hex defined colors (and thereby ncurses mode) are supported,
# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
# You can define as many as 8 different colors. They range from bottom to top of screen
; gradient = 0
; gradient_count = 8
; gradient_color_1 = '#59cc33'
; gradient_color_2 = '#80cc33'
; gradient_color_3 = '#a6cc33'
; gradient_color_4 = '#cccc33'
; gradient_color_5 = '#cca633'
; gradient_color_6 = '#cc8033'
; gradient_color_7 = '#cc5933'
; gradient_color_8 = '#cc3333'
gradient_color_1 = '#8BE9FD'
gradient_color_2 = '#9AEDFE'
gradient_color_3 = '#CAA9FA'
gradient_color_4 = '#BD93F9'
gradient_color_5 = '#FF92D0'
gradient_color_6 = '#FF79C6'
gradient_color_7 = '#FF6E67'
gradient_color_8 = '#FF5555'

View file

@ -0,0 +1,11 @@
{
"interval" : 1000,
"caverImage" : "cmus",
"playIcon" : "play_icon_1",
"pauseIcon" : "pause_icon_2",
"partOneFormat" : "%title%",
"partTowFormat" : "from %album% by %artist%",
"sleepTime" : 300000,
"debug" : false,
"link" : false
}

View file

@ -0,0 +1,17 @@
debug: false
link: false
config_path: /home/anas/.config/cmus-rps-rs/config.conf
interval: 1
sleep: 300
part_one_format: %artist% - %title%
part_two_format: %album%
large_image: cmus
playing_image: play_icon_2
paused_image: pause_icon_2
large_text: cmus yoooo 
playing_text: Playing 
paused_text: Paused 
button_one_text: On github 😆
button_one_url: https://github.com/anas-elgarhy/cmus-rps-rs
button_two_text:
button_two_url:

221
.config/cmus/autosave Normal file
View file

@ -0,0 +1,221 @@
set aaa_mode=artist
set altformat_current= %F
set altformat_playlist= %f%= %d
set altformat_title=%f
set altformat_trackwin= %f%= %d
set auto_expand_albums_follow=true
set auto_expand_albums_search=true
set auto_expand_albums_selcur=true
set auto_reshuffle=true
set buffer_seconds=10
set color_cmdline_attr=default
set color_cmdline_bg=233
set color_cmdline_fg=188
set color_cur_sel_attr=default
set color_error=167
set color_info=186
set color_separator=107
set color_statusline_attr=default
set color_statusline_bg=237
set color_statusline_fg=145
set color_titleline_attr=default
set color_titleline_bg=186
set color_titleline_fg=237
set color_trackwin_album_attr=bold
set color_trackwin_album_bg=default
set color_trackwin_album_fg=default
set color_win_attr=default
set color_win_bg=233
set color_win_cur=183
set color_win_cur_attr=default
set color_win_cur_sel_attr=default
set color_win_cur_sel_bg=186
set color_win_cur_sel_fg=237
set color_win_dir=186
set color_win_fg=188
set color_win_inactive_cur_sel_attr=default
set color_win_inactive_cur_sel_bg=242
set color_win_inactive_cur_sel_fg=186
set color_win_inactive_sel_attr=default
set color_win_inactive_sel_bg=237
set color_win_inactive_sel_fg=145
set color_win_sel_attr=default
set color_win_sel_bg=254
set color_win_sel_fg=237
set color_win_title_attr=default
set color_win_title_bg=237
set color_win_title_fg=110
set confirm_run=true
set continue=true
set continue_album=true
set device=/dev/cdrom
set display_artist_sort_name=false
set dsp.alsa.device=
set dsp.ao.buffer_size=16384
set dsp.ao.device_interface=
set dsp.ao.driver=
set dsp.ao.wav_counter=1
set dsp.ao.wav_dir=/home/anas
set dsp.jack.resampling_quality=2
set dsp.jack.server_name=
set dsp.oss.device=
set follow=false
set format_clipped_text=…
set format_current= %a - %l -%3n. %t%= %y
set format_playlist= %-21%a %3n. %t%= %y %d %{?X!=0?%3X ? }
set format_playlist_va= %-21%A %3n. %t (%a)%= %y %d %{?X!=0?%3X ? }
set format_statusline= %{status} %{?show_playback_position?%{position} %{?duration?/ %{duration} }?%{?duration?%{duration} }}- %{total} %{?bpm>0?at %{bpm} BPM }%{?volume>=0?vol: %{?lvolume!=rvolume?%{lvolume},%{rvolume} ?%{volume} }}%{?stream?buf: %{buffer} }%{?show_current_bitrate & bitrate>=0? %{bitrate} kbps }%=%{?repeat_current?repeat current?%{?play_library?%{playlist_mode} from %{?play_sorted?sorted }library?playlist}} | %1{continue}%1{follow}%1{repeat}%1{shuffle}
set format_title=%a - %l - %t (%y)
set format_trackwin=%3n. %t%= %y %d
set format_trackwin_album= %l %= %{albumduration}
set format_trackwin_va=%3n. %t (%a)%= %y %d
set format_treewin= %l
set format_treewin_artist=%a
set icecast_default_charset=UTF-8
set id3_default_charset=UTF-8
set input.aac.priority=50
set input.cdio.cddb_url=freedb.freedb.org:8880
set input.cdio.priority=50
set input.cue.priority=50
set input.ffmpeg.priority=30
set input.flac.priority=50
set input.mad.priority=55
set input.modplug.priority=50
set input.mpc.priority=50
set input.vorbis.priority=50
set input.wav.priority=50
set input.wavpack.priority=50
set lib_add_filter=
set lib_sort=albumartist date album discnumber tracknumber title filename play_count
set mixer.alsa.channel=
set mixer.alsa.device=
set mixer.oss.channel=PCM
set mixer.oss.device=
set mixer.pulse.restore_volume=1
set mouse=false
set mpris=true
set output_plugin=pulse
set passwd=
set pause_on_output_change=false
set pl_sort=
set play_library=true
set play_sorted=true
set repeat=true
set repeat_current=false
set replaygain=disabled
set replaygain_limit=true
set replaygain_preamp=0.000000
set resume=false
set rewind_offset=5
set scroll_offset=2
set set_term_title=true
set show_all_tracks=true
set show_current_bitrate=false
set show_hidden=false
set show_playback_position=true
set show_remaining_time=true
set shuffle=off
set skip_track_info=false
set smart_artist_sort=true
set softvol=false
set softvol_state=0 0
set start_view=tree
set status_display_program=
set stop_after_queue=false
set time_show_leading_zero=true
set tree_width_max=0
set tree_width_percent=33
set wrap_search=true
bind browser backspace browser-up
bind browser i toggle show_hidden
bind browser space win-activate
bind browser u win-update
bind common ! push shell
bind common + vol +10%
bind common , seek -1m
bind common - vol -10%
bind common . seek +1m
bind common / search-start
bind common 1 view tree
bind common 2 view sorted
bind common 3 view playlist
bind common 4 view queue
bind common 5 view browser
bind common 6 view filters
bind common 7 view settings
bind common = vol +10%
bind common ? search-b-start
bind common C toggle continue
bind common D win-remove
bind common E win-add-Q
bind common F push filter
bind common G win-bottom
bind common I echo {}
bind common L push live-filter
bind common M toggle play_library
bind common N search-prev
bind common P win-mv-before
bind common U win-update-cache
bind common [ vol +1% +0
bind common ] vol +0 +1%
bind common ^B win-page-up
bind common ^C echo Type :quit<enter> to exit cmus.
bind common ^D win-half-page-down
bind common ^E win-scroll-down
bind common ^F win-page-down
bind common ^L refresh
bind common ^R toggle repeat_current
bind common ^U win-half-page-up
bind common ^Y win-scroll-up
bind common a win-add-l
bind common b player-next
bind common c player-pause
bind common delete win-remove
bind common down win-down
bind common e win-add-q
bind common end win-bottom
bind common enter win-activate
bind common f toggle follow
bind common g win-top
bind common h seek -5
bind common home win-top
bind common i win-sel-cur
bind common j win-down
bind common k win-up
bind common l seek +5
bind common left seek -5
bind common m toggle aaa_mode
bind common mlb_click_bar player-pause
bind common mlb_click_selected win-activate
bind common mouse_scroll_down win-down
bind common mouse_scroll_down_bar seek -5
bind common mouse_scroll_down_title right-view
bind common mouse_scroll_up win-up
bind common mouse_scroll_up_bar seek +5
bind common mouse_scroll_up_title left-view
bind common n search-next
bind common o toggle play_sorted
bind common p win-mv-after
bind common page_down win-page-down
bind common page_up win-page-up
bind common q quit -i
bind common r toggle repeat
bind common right seek +5
bind common s toggle shuffle
bind common space win-toggle
bind common t toggle show_remaining_time
bind common tab win-next
bind common u update-cache
bind common up win-up
bind common v player-stop
bind common x player-play
bind common y win-add-p
bind common z player-prev
bind common { vol -1% -0
bind common } vol -0 -1%
fset missing-tag=!stream&(artist=""|album=""|title=""|tracknumber=-1|date=-1)
fset mp3=filename="*.mp3"
fset ogg=filename="*.ogg"
fset ogg-or-mp3=ogg|mp3
fset unheard=play_count=0
factivate

View file

@ -0,0 +1,50 @@
[Commands]
1\Command=copyq: plugins.itempinned.pin()
1\Icon=\xf08d
1\InMenu=true
1\Input=!OUTPUT
1\InternalId=copyq_pinned_pin
1\Name=Pin
1\Output=application/x-copyq-item-pinned
2\Command=copyq: plugins.itempinned.unpin()
2\Icon=\xf08d
2\InMenu=true
2\Input=application/x-copyq-item-pinned
2\InternalId=copyq_pinned_unpin
2\Name=Unpin
3\Command=copyq: plugins.itemtags.tag(decodeURIComponent('Important'))
3\Icon=\xf02b
3\InMenu=true
3\InternalId=copyq_tags_tag:Important
3\MatchCommand=copyq: plugins.itemtags.hasTag(decodeURIComponent('Important')) && fail()
3\Name=Tag as \x201cImportant\x201d
4\Command=copyq: plugins.itemtags.untag(decodeURIComponent('Important'))
4\Icon=\xf02b
4\InMenu=true
4\InternalId=copyq_tags_untag:Important
4\MatchCommand=copyq: plugins.itemtags.hasTag(decodeURIComponent('Important')) || fail()
4\Name=Remove tag \x201cImportant\x201d
5\Command=copyq: plugins.itemtags.tag()
5\Icon=\xf02b
5\InMenu=true
5\InternalId=copyq_tags_tag
5\Name=Add a Tag
6\Command=copyq: plugins.itemtags.untag()
6\Icon=\xf02b
6\InMenu=true
6\Input=application/x-copyq-tags
6\InternalId=copyq_tags_untag
6\Name=Remove a Tag
7\Command=copyq: plugins.itemtags.clearTags()
7\Icon=\xf02b
7\InMenu=true
7\Input=application/x-copyq-tags
7\InternalId=copyq_tags_clear
7\Name=Clear all tags
8\Command=copyq: menu()
8\GlobalShortcut=meta+v
8\Icon=\xf01c
8\InternalId=copyq_global_menu
8\IsGlobalShortcut=true
8\Name=Show the tray menu
size=8

View file

@ -0,0 +1,2 @@
[General]
filter_history=@Invalid()

220
.config/copyq/copyq.conf Normal file
View file

@ -0,0 +1,220 @@
[General]
plugin_priority=itemimage, itemencrypted, itemfakevim, itemnotes, itempinned, itemsync, itemtags, itemtext
[Options]
activate_closes=true
activate_focuses=true
activate_item_with_single_click=false
activate_pastes=true
always_on_top=true
autocompletion=true
autostart=false
change_clipboard_owner_delay_ms=150
check_clipboard=true
check_selection=false
clipboard_notification_lines=0
clipboard_tab=&clipboard
close_on_unfocus=true
close_on_unfocus_delay_ms=500
command_history_size=100
confirm_exit=true
copy_clipboard=false
copy_selection=false
disable_tray=false
edit_ctrl_return=true
editor=gedit --standalone -- %1
expire_tab=0
filter_case_insensitive=true
filter_regular_expression=false
hide_main_window=false
hide_main_window_in_task_bar=false
hide_tabs=false
hide_toolbar=false
hide_toolbar_labels=true
item_popup_interval=0
language=en
max_process_manager_rows=1000
maxitems=200
move=true
native_menu_bar=true
native_notifications=true
native_tray_menu=false
notification_horizontal_offset=10
notification_maximum_height=100
notification_maximum_width=300
notification_position=3
notification_vertical_offset=10
number_search=false
open_windows_on_current_screen=true
restore_geometry=true
row_index_from_one=true
run_selection=true
save_delay_ms_on_item_added=300000
save_delay_ms_on_item_edited=1000
save_delay_ms_on_item_modified=300000
save_delay_ms_on_item_moved=1800000
save_delay_ms_on_item_removed=600000
save_filter_history=false
save_on_app_deactivated=true
script_paste_delay_ms=250
show_advanced_command_settings=false
show_simple_items=false
show_tab_item_count=false
style=
tab_tree=false
tabs=&clipboard
text_tab_width=8
text_wrap=true
transparency=0
transparency_focused=0
tray_commands=true
tray_images=true
tray_item_paste=true
tray_items=5
tray_menu_open_on_left_click=false
tray_tab=
tray_tab_is_current=true
vi=true
window_key_press_time_ms=50
window_paste_with_ctrl_v_regex=
window_wait_after_raised_ms=50
window_wait_before_raise_ms=20
window_wait_for_modifier_released_ms=2000
window_wait_raised_ms=150
[Plugins]
itemencrypted\enabled=true
itemfakevim\enabled=true
itemimage\enabled=true
itemimage\image_editor=
itemimage\max_image_height=240
itemimage\max_image_width=320
itemimage\svg_editor=
itemnotes\enabled=true
itempinned\enabled=true
itemsync\enabled=true
itemtags\enabled=true
itemtext\default_style_sheet=
itemtext\enabled=true
itemtext\max_height=0
itemtext\max_lines=1000
itemtext\use_rich_text=true
[Shortcuts]
about=shift+f1
change_tab_icon=ctrl+shift+t
commands=f6
copy_selected_items=ctrl+c
delete_item=del
edit=f2
edit_notes=shift+f2
editor=ctrl+e
editor_background=
editor_bold=ctrl+b
editor_cancel=esc
editor_erase_style=
editor_font=
editor_foreground=
editor_italic=ctrl+i
editor_redo=ctrl+shift+z
editor_save=f2
editor_search=ctrl+f
editor_strikethrough=
editor_underline=ctrl+u
editor_undo=ctrl+z
exit=ctrl+q
export=ctrl+s
find_items=f3
help=f1
import=ctrl+i
item-menu=shift+f10
move_down=ctrl+down
move_to_bottom=ctrl+end
move_to_clipboard=
move_to_top=ctrl+home
move_up=ctrl+up
new=ctrl+n
new_tab=ctrl+t
next_tab=right
paste_selected_items=ctrl+v
preferences=ctrl+p
previous_tab=left
process_manager=ctrl+shift+z
remove_tab=ctrl+w
rename_tab=ctrl+f2
reverse_selected_items=ctrl+shift+r
show-log=f12
show_clipboard_content=ctrl+shift+c
show_item_content=f4
show_item_preview=f7
sort_selected_items=ctrl+shift+s
system-run=f5
toggle_clipboard_storing=ctrl+shift+x
[Tabs]
1\icon=
1\max_item_count=0
1\name=&clipboard
1\store_items=true
size=1
[Theme]
alt_bg=#21222c
alt_item_css=
bg=#282a36
css=
css_template_items=items
css_template_main_window=main_window
css_template_menu=menu
css_template_notification=notification
cur_item_css="\n ;border: 0.1em solid ${sel_bg}"
edit_bg=#282a36
edit_fg=#a4ffff
edit_font="Monospace,9,-1,5,50,0,0,0,0,0"
fg=#f8f8f2
find_bg="rgba(40,42,54,100)"
find_fg=#ffffa5
find_font="Segoe UI,9,-1,5,50,0,0,0,0,0,Regular"
font="Segoe UI,9,-1,5,50,0,0,0,0,0,Regular"
font_antialiasing=true
hover_item_css=
icon_size=20
item_css=
item_spacing=
menu_bar_css="\n ;background: ${bg}\n ;color: ${fg}"
menu_bar_disabled_css="\n ;color: ${bg - #666}"
menu_bar_selected_css="\n ;background: ${sel_bg}\n ;color: ${sel_fg}"
menu_css="\n ;border: 1px solid ${sel_bg}\n ;background: ${bg}\n ;color: ${fg}"
notes_bg=#44475a
notes_css=
notes_fg=#d6acff
notes_font="Serif,10,-1,5,50,0,0,0,0,0"
notification_bg=#44475a
notification_fg=#f8f8f2
notification_font=
num_fg=#a4ffff
num_font="Monospace,7,-1,5,25,0,0,0,0,0"
num_margin=2
search_bar="\n ;background: ${edit_bg}\n ;color: ${edit_fg}\n ;border: 1px solid ${alt_bg}\n ;margin: 2px"
search_bar_focused="\n ;border: 1px solid ${sel_bg}"
sel_bg=#44475a
sel_fg=#f8f8f2
sel_item_css=
show_number=true
show_scrollbars=true
style_main_window=true
tab_bar_css="\n ;background: ${bg - #222}"
tab_bar_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt"
tab_bar_scroll_buttons_css="\n ;background: ${bg - #222}\n ;color: ${fg}\n ;border: 0"
tab_bar_sel_item_counter="\n ;color: ${sel_bg - #044 + #400}"
tab_bar_tab_selected_css="\n ;padding: 0.5em\n ;background: ${bg}\n ;border: 0.05em solid ${bg}\n ;color: ${fg}"
tab_bar_tab_unselected_css="\n ;border: 0.05em solid ${bg}\n ;padding: 0.5em\n ;background: ${bg - #222}\n ;color: ${fg - #333}"
tab_tree_css="\n ;color: ${fg}\n ;background-color: ${bg}"
tab_tree_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt"
tab_tree_sel_item_counter="\n ;color: ${sel_fg - #044 + #400}"
tab_tree_sel_item_css="\n ;color: ${sel_fg}\n ;background-color: ${sel_bg}\n ;border-radius: 2px"
tool_bar_css="\n ;color: ${fg}\n ;background-color: ${bg}\n ;border: 0"
tool_button_css="\n ;color: ${fg}\n ;background: ${bg}\n ;border: 0\n ;border-radius: 2px"
tool_button_pressed_css="\n ;background: ${sel_bg}"
tool_button_selected_css="\n ;background: ${sel_bg - #222}\n ;color: ${sel_fg}\n ;border: 1px solid ${sel_bg}"
use_system_icons=true

View file

@ -0,0 +1,6 @@
[Options]
ConfigurationManager_geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x2k\0\0\0\xe4\0\0\x5\xbd\0\0\x3H\0\0\x2l\0\0\0\xe5\0\0\x5\xbc\0\0\x3G\0\0\0\0\0\0\0\0\a\x80\0\0\x2l\0\0\0\xe5\0\0\x5\xbc\0\0\x3G)
ConfigurationManager_geometry_1920x1080=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x2k\0\0\0\xe4\0\0\x5\xbd\0\0\x3H\0\0\x2l\0\0\0\xe5\0\0\x5\xbc\0\0\x3G\0\0\0\0\0\0\0\0\a\x80\0\0\x2l\0\0\0\xe5\0\0\x5\xbc\0\0\x3G)
MainWindow_geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x16\0\0\a\x7f\0\0\x4\x37\0\0\0\0\0\0\0\x16\0\0\a\x7f\0\0\x4\x37\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\x16\0\0\a\x7f\0\0\x4\x37)
MainWindow_geometry_1920x1080=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x16\0\0\a\x7f\0\0\x4\x37\0\0\0\0\0\0\0\x16\0\0\a\x7f\0\0\x4\x37\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\x16\0\0\a\x7f\0\0\x4\x37)
MainWindow_state=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x1\0\0\0\x3\0\0\0\0\0\0\0\0\xfc\x1\0\0\0\x1\xfb\0\0\0*\0\x64\0o\0\x63\0k\0W\0i\0\x64\0g\0\x65\0t\0I\0t\0\x65\0m\0P\0r\0\x65\0v\0i\0\x65\0w\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x43\0\xff\xff\xff\0\0\x3\xa5\0\0\x3\xf6\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x3\0\0\0\0\0\0\0\x1\0\0\0\x1c\0t\0o\0o\0l\0\x42\0\x61\0r\0T\0\x61\0\x62\0T\0r\0\x65\0\x65\x2\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\xe\0t\0o\0o\0l\0\x42\0\x61\0r\x3\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0t\0o\0o\0l\0\x42\0\x61\0r\0T\0\x61\0\x62\0\x42\0\x61\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)

View file

@ -0,0 +1,3 @@
[TabWidget]
collapsed_tabs=@Invalid()
tab_item_counters=@Variant(\0\0\0\b\0\0\0\x1\0\0\0\x14\0&\0\x63\0l\0i\0p\0\x62\0o\0\x61\0r\0\x64\0\0\0\x2\0\0\0\xc8)

View file

@ -0,0 +1,59 @@
[General]
alt_bg=#21222c
alt_item_css=
bg=#282a36
css=
css_template_items=items
css_template_main_window=main_window
css_template_notification=notification
css_template_tooltip=tooltip
cur_item_css="\n ;border: 0.1em solid ${sel_bg}"
edit_bg=#282a36
edit_fg=#a4ffff
edit_font="Monospace,9,-1,5,50,0,0,0,0,0"
fg=#f8f8f2
find_bg="rgba(40,42,54,100)"
find_fg=#ffffa5
find_font="Segoe UI,9,-1,5,50,0,0,0,0,0,Regular"
font="Segoe UI,9,-1,5,50,0,0,0,0,0,Regular"
font_antialiasing=true
hover_item_css=
icon_size=20
item_css=
item_spacing=
menu_bar_css="\n ;background: ${bg}\n ;color: ${fg}"
menu_bar_disabled_css="\n ;color: ${bg - #666}"
menu_bar_selected_css="\n ;background: ${sel_bg}\n ;color: ${sel_fg}"
menu_css="\n ;border: 1px solid ${sel_bg}\n ;background: ${bg}\n ;color: ${fg}"
notes_bg=#44475a
notes_css=
notes_fg=#d6acff
notes_font="Serif,10,-1,5,50,0,0,0,0,0"
notification_bg=#44475a
notification_fg=#f8f8f2
notification_font=
num_fg=#a4ffff
num_font="Monospace,7,-1,5,25,0,0,0,0,0"
search_bar="\n ;background: ${edit_bg}\n ;color: ${edit_fg}\n ;border: 1px solid ${alt_bg}\n ;margin: 2px"
search_bar_focused="\n ;border: 1px solid ${sel_bg}"
sel_bg=#44475a
sel_fg=#f8f8f2
sel_item_css=
show_number=true
show_scrollbars=true
style_main_window=true
tab_bar_css="\n ;background: ${bg - #222}"
tab_bar_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt"
tab_bar_scroll_buttons_css="\n ;background: ${bg - #222}\n ;color: ${fg}\n ;border: 0"
tab_bar_sel_item_counter="\n ;color: ${sel_bg - #044 + #400}"
tab_bar_tab_selected_css="\n ;padding: 0.5em\n ;background: ${bg}\n ;border: 0.05em solid ${bg}\n ;color: ${fg}"
tab_bar_tab_unselected_css="\n ;border: 0.05em solid ${bg}\n ;padding: 0.5em\n ;background: ${bg - #222}\n ;color: ${fg - #333}"
tab_tree_css="\n ;color: ${fg}\n ;background-color: ${bg}"
tab_tree_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt"
tab_tree_sel_item_counter="\n ;color: ${sel_fg - #044 + #400}"
tab_tree_sel_item_css="\n ;color: ${sel_fg}\n ;background-color: ${sel_bg}\n ;border-radius: 2px"
tool_bar_css="\n ;color: ${fg}\n ;background-color: ${bg}\n ;border: 0"
tool_button_css="\n ;color: ${fg}\n ;background: ${bg}\n ;border: 0\n ;border-radius: 2px"
tool_button_pressed_css="\n ;background: ${sel_bg}"
tool_button_selected_css="\n ;background: ${sel_bg - #222}\n ;color: ${sel_fg}\n ;border: 1px solid ${sel_bg}"
use_system_icons=true

96
.config/doom/config.el Normal file
View file

@ -0,0 +1,96 @@
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
;; Place your private configuration here! Remember, you do not need to run 'doom
;; sync' after modifying this file!
;; Some functionality uses this to identify you, e.g. GPG configuration, email
;; clients, file templates and snippets. It is optional.
(setq user-full-name "Anas Elgarhy"
user-mail-address "anas.elgarhy.dev@gmail.com")
;; There are two ways to load a theme. Both assume the theme is installed and
;; available. You can either set `doom-theme' or manually load a theme with the
;; `Load-theme' function. This is the default:
;doom-theme 'doom-xcode
;doom-theme 'doom-one
;doom-theme 'consult-theme
;doom-theme 'doom-henna
(setq doom-theme 'doom-dracula)
;; doom exposes five (optional) variables for controlling fonts in doom:
;;
;; - `doom-font' -- the primary font to use
;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable)
;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for
;; presentations or streaming.
;; - `doom-unicode-font' -- for unicode glyphs
;; - `doom-serif-font' -- for the `fixed-pitch-serif' face
;;
;; see 'c-h v doom-font' for documentation and more examples of what they
;; accept. for example:
;;
;; (setq doom-font (font-spec :family "FiraCode Nerd Font" :size 12 :weight 'semi-light))
;; Defult directory
(setq default-directory "~")
;; Maps
(map! :ne "M-/" #'comment-or-uncomment-region)
;; (map! :ne "SPC / r" #'deadgrep)
;; (map! :ne "SPC n b" #'org-brain-visualize)
;; This determines the style of line numbers in effect. If set to `nil', line
;; numbers are disabled. For relative line numbers, set this to `relative'.
(setq display-line-numbers-type 'relative)
;; If you use `org' and don't want your org files in the default location below,
;; change `org-directory'. It must be set before org loads!
(setq org-directory "~/org/")
;; Whenever you reconfigure a package, make sure to wrap your config in an
;; `after!' block, otherwise Doom's defaults may override your settings. E.g.
;;
;; (after! PACKAGE
;; (setq x y))
;;
;; The exceptions to this rule:
;;
;; - Setting file/directory variables (like `org-directory')
;; - Setting variables which explicitly tell you to set them before their
;; package is loaded (see 'C-h v VARIABLE' to look up their documentation).
;; - Setting doom variables (which start with 'doom-' or '+').
;;
;; Here are some additional functions/macros that will help you configure Doom.
;;
;; - `load!' for loading external *.el files relative to this one
;; - `use-package!' for configuring packages
;; - `after!' for running code after a package has loaded
;; - `add-load-path!' for adding directories to the `load-path', relative to
;; this file. Emacs searches the `load-path' when you load packages with
;; `require' or `use-package'.
;; - `map!' for binding new keys
;;
;; To get information about any of these functions/macros, move the cursor over
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
;; This will open documentation for it, including demos of how they are used.
;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces,
;; etc).
;;
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
;; they are implemented.
;; accept completion from copilot and fallback to company
(use-package! copilot
:hook (prog-mode . copilot-mode)
:bind (("C-TAB" . 'copilot-accept-completion-by-word)
("C-<tab>" . 'copilot-accept-completion-by-word)
:map copilot-completion-map
("<tab>" . 'copilot-accept-completion)
("TAB" . 'copilot-accept-completion)))
(global-wakatime-mode)

198
.config/doom/init.el Normal file
View file

@ -0,0 +1,198 @@
;;; init.el -*- lexical-binding: t; -*-
;; This file controls what Doom modules are enabled and what order they load
;; in. Remember to run 'doom sync' after modifying it!
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
;; documentation. There you'll find a link to Doom's Module Index where all
;; of our modules are listed, including what flags they support.
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
;; 'C-c c k' for non-vim users) to view its documentation. This works on
;; flags as well (those symbols that start with a plus).
;;
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
;; directory (for easy access to its source code).
(doom! :input
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
;;chinese
japanese
;;layout ; auie,ctsrnm is the superior home row
:completion
(company ; the ultimate code completion backend
+tng ; a snazzy tab completion backend for Emacs
+auto ; as-you-type code completion
+childframe ; a nicer company UI (Emacs 26+ only)
)
helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
(ivy +fuzzy) ; a search engine for love and life
vertico ; the search engine of the future
:ui
deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
doom-quit ; DOOM quit-message prompts when you quit Emacs
(emoji +unicode) ; 🙂
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
hydra
indent-guides ; highlighted indent columns
ligatures ; ligatures and symbols to make your code pretty again
minimap ; show a map of the code on the side
modeline ; snazzy, Atom-inspired modeline, plus API
nav-flash ; blink cursor line after big motions
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
tabs ; a tab bar for Emacs
treemacs ; a project drawer, like neotree but cooler
unicode ; extended unicode support for various languages
(vc-gutter +pretty) ; vcs diff in the fringe
vi-tilde-fringe ; fringe tildes to mark beyond EOB
window-select ; visually switch windows
workspaces ; tab emulation, persistence & separate workspaces
;;zen ; distraction-free coding or writing
:editor
(evil +everywhere); come to the dark side, we have cookies
file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding
(format +onsave) ; automated prettiness
;;god ; run Emacs commands without modifier keys
;;lispy ; vim for lisp, for people who don't like vim
multiple-cursors ; editing in many places at once
objed ; text object editing for the innocent
;;parinfer ; turn lisp into python, sort of
rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to
word-wrap ; soft wrapping with language-aware indent
:emacs
(dired +icons) ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
ibuffer ; interactive buffer management
undo ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree
:term
eshell ; the elisp shell that works everywhere
;;shell ; simple shell REPL for Emacs
;;term ; basic terminal emulator for Emacs
vterm ; the best terminal emulation in Emacs
:checkers
syntax ; tasing you for every semicolon you forget
(spell +flyspell) ; tasing you for misspelling mispelling
grammar ; tasing grammar mistake every you make
:tools
;;ansible
biblio ; Writes a PhD for you (citation needed)
debugger ; FIXME stepping through code, to help you add bugs
direnv
docker
editorconfig ; let someone else argue about tabs vs spaces
ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls)
gist ; interacting with github gists
lookup ; navigate your code and its documentation
lsp ; M-x vscode
magit ; a git porcelain for Emacs
make ; run make tasks from Emacs
;;pass ; password manager for nerds
pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders
;;rgb ; creating color strings
taskrunner ; taskrunner for all your projects
;;terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux
tree-sitter ; syntax and parsing, sitting in a tree...
;;upload ; map local to remote projects via ssh/ftp
:os
(:if IS-MAC macos) ; improve compatibility with macOS
;;tty ; improve the terminal Emacs experience
:lang
;;agda ; types of types of types of types...
;;beancount ; mind the GAAP
;;(cc +lsp) ; C > C++ == 1
;;clojure ; java with a lisp
;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c
;;csharp ; unity, .NET, and mono shenanigans
;;data ; config/data formats
;;(dart +flutter) ; paint ui and not much else
;;dhall
;;elixir ; erlang done right
;;elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
;;erlang ; an elegant language for a more civilized age
;;ess ; emacs speaks statistics
;;factor
;;faust ; dsp, but you get to keep your soul
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3
;;gdscript ; the language you waited for
(go +lsp) ; the hipster dialect
(graphql +lsp) ; Give queries a REST
;;(haskell +lsp) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on
;;json ; At least it ain't XML
(java +lsp) ; the poster child for carpal tunnel syndrome
javascript ; all(hope(abandon(ye(who(enter(here))))))
;;julia ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script)
latex ; writing papers in Emacs has never been so fun
;;lean ; for folks with too much to prove
;;ledger ; be audit you can be
lua ; one-based indices? one-based indices
markdown ; writing docs for people to ignore
nim ; python + lisp at the speed of c
;;nix ; I hereby declare "nix geht mehr!"
ocaml ; an objective camel
org ; organize your plain life in plain text
;;php ; perl's insecure younger brother
plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
python ; beautiful is better than ugly
qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs
;;raku ; the artist formerly known as perl6
;;rest ; Emacs as a REST client
;;rst ; ReST in peace
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps
sh ; she sells {ba,z,fi}sh shells on the C xor
;;sml
;;solidity ; do you need a blockchain? No.
swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
;;web ; the tubes
yaml ; JSON, but readable
zig ; C, but simpler
:email
(mu4e +org +gmail)
;;notmuch
;;(wanderlust +gmail)
:app
calendar
emms
everywhere ; *leave* Emacs!? You must be joking
;;irc ; how neckbeards socialize
(rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought
:config
;;literate
(default +bindings +smartparens))

58
.config/doom/packages.el Normal file
View file

@ -0,0 +1,58 @@
;; -*- no-byte-compile: t; -*-
;;; $DOOMDIR/packages.el
;; To install a package with Doom you must declare them here and run 'doom sync'
;; on the command line, then restart Emacs for the changes to take effect -- or
;; use 'M-x doom/reload'.
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
;(package! some-package)
;; To install a package directly from a remote git repo, you must specify a
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
;; https://github.com/radian-software/straight.el#the-recipe-format
;(package! another-package
; :recipe (:host github :repo "username/repo"))
;; If the package you are trying to install does not contain a PACKAGENAME.el
;; file, or is located in a subdirectory of the repo, you'll need to specify
;; `:files' in the `:recipe':
;(package! this-package
; :recipe (:host github :repo "username/repo"
; :files ("some-file.el" "src/lisp/*.el")))
;; If you'd like to disable a package included with Doom, you can do so here
;; with the `:disable' property:
;(package! builtin-package :disable t)
;; You can override the recipe of a built in package without having to specify
;; all the properties for `:recipe'. These will inherit the rest of its recipe
;; from Doom or MELPA/ELPA/Emacsmirror:
;(package! builtin-package :recipe (:nonrecursive t))
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
;; Specify a `:branch' to install a package from a particular branch or tag.
;; This is required for some packages whose default branch isn't 'master' (which
;; our package manager can't deal with; see radian-software/straight.el#279)
;(package! builtin-package :recipe (:branch "develop"))
;; Use `:pin' to specify a particular commit to install.
;(package! builtin-package :pin "1a2b3c4d5e")
;; Doom's packages are pinned to a specific commit and updated from release to
;; release. The `unpin!' macro allows you to unpin single packages...
;(unpin! pinned-package)
;; ...or multiple packages
;(unpin! pinned-package another-pinned-package)
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
;(unpin! t)
; GitHub Copilot
(package! copilot
:recipe (:host github :repo "zerolfx/copilot.el" :files ("*.el" "dist")))
; Wakatime
(package! wakatime-mode
:recipe (:host github :repo "wakatime/wakatime-mode" :files ("*.el")))

View file

@ -17,7 +17,7 @@
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = none
follow = mouse
### Geometry ###
@ -33,7 +33,7 @@
origin = top-right
# Offset from the origin
offset = 10x40
offset = 10x50
# Scale factor. It is auto-detected if value is 0.
scale = 0
@ -68,35 +68,28 @@
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
transparency = 20
transparency = 15
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
# If gap_size is greater than 0, this setting will be ignored.
separator_height = 2
separator_height = 1
# Padding between text and separator.
padding = 10
padding = 8
# Horizontal padding.
horizontal_padding = 10
# Padding between text and icon.
text_icon_padding = 5
text_icon_padding = 0
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 1
frame_width = 0
# Defines color of the frame around the notification window.
frame_color = "#d22e3f"
# Size of gap to display between notifications - requires a compositor.
# If value is greater than 0, separator_height will be ignored and a border
# of size frame_width will be drawn around each notification instead.
# Click events on gaps do not currently propagate to applications below.
gap_size = 2
frame_color = "#282a36"
# Define a color for the separator.
# possible values are:
@ -104,7 +97,7 @@
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = auto
separator_color = frame
# Sort messages by urgency.
sort = yes
@ -114,15 +107,15 @@
# Set to 0 to disable.
# A client can set the 'transient' hint to bypass this. See the rules
# section for how to disable this if necessary
# idle_threshold = 120
idle_threshold = 120
### Text ###
font = DroidSansMono Nerd Font 9
font = FiraCode Nerd Font 10
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 9
line_height = 0
# Possible values are:
# full: Allow a small subset of html markup in notifications:
@ -132,7 +125,7 @@
# <u>underline</u>
#
# For a complete reference see
# <https://docs.gtk.org/Pango/pango_markup.html>.
# <https://developer.gnome.org/pango/stable/pango-Markup.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
@ -158,7 +151,7 @@
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
format = "<b>%s</b>\n%b"
format = "%s %p\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
@ -191,27 +184,18 @@
### Icons ###
# Recursive icon lookup. You can set a single theme, instead of having to
# define all lookup paths.
enable_recursive_icon_lookup = true
# Set icon theme (only used for recursive icon lookup)
icon_theme = Adwaita
# You can also set multiple icon themes, with the leftmost one being used first.
# icon_theme = "Adwaita, breeze"
# Align icons left/right/top/off
# Align icons left/right/off
icon_position = left
# Scale small icons up to this size, set to 0 to disable. Helpful
# for e.g. small files or high-dpi screens. In case of conflict,
# max_icon_size takes precedence over this.
min_icon_size = 24
min_icon_size = 0
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 128
max_icon_size = 64
# Paths to default icons (only neccesary when not using recursive icon lookup)
# Paths to default icons.
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
### History ###
@ -229,7 +213,7 @@
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = /usr/bin/brave
browser = /usr/bin/firefox-developer-edition -new-tab
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
@ -241,7 +225,11 @@
class = Dunst
# Define the corner radius of the notification window
corner_radius = 18
# in pixel size. If the radius is 0, you have no rounded
# corners.
# The radius will be automatically lowered if it exceeds half of the
# notification height to avoid clipping text and/or icons.
corner_radius = 0
# Ignore the dbus closeNotification message.
# Useful to enforce the timeout set by dunst configuration. Without this
@ -286,8 +274,8 @@
# * context_all: Open context menu for all notifications.
# These values can be strung together for each mouse event, and
# will be executed in sequence.
mouse_left_click = close_current
mouse_middle_click = do_action, close_current
mouse_left_click = do_action, close_current
mouse_middle_click = open_url, close_current
mouse_right_click = close_all
# Experimental features that may or may not work correctly. Do not expect them
@ -304,26 +292,26 @@
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#0f161e"
foreground = "#ffffff"
background = "#282a36"
foreground = "#6272a4"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#default_icon = /path/to/icon
#new_icon = /path/to/icon
[urgency_normal]
background = "#0f161e"
foreground = "#ffffff"
background = "#282a36"
foreground = "#bd93f9"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#default_icon = /path/to/icon
#new_icon = /path/to/icon
[urgency_critical]
background = "#650f28"
foreground = "#ffffff"
frame_color = "#900C30"
timeout = 20
background = "#ff5555"
foreground = "#f8f8f2"
frame_color = "#ff5555"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#default_icon = /path/to/icon
#new_icon = /path/to/icon
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
@ -351,14 +339,12 @@
# set_category
# timeout
# urgency
# icon_position
# skip_display
# history_ignore
# action_name
# word_wrap
# ellipsize
# alignment
# hide_text
#
# Shell-like globbing will get expanded.
#

View file

@ -1,29 +0,0 @@
alias clear='clear && ufetch'
alias cls='/usr/bin/clear'
alias lsc='/usr/bin/ls --color=auto' # Default ls with colors
# alias ls='logo-ls -Dh' # Modern ls https://github.com/Yash-Handa/logo-ls
alias jls='jls -lh'
alias ls='jls'
alias cmus='cmus-rpc-rs --link &>/dev/null & /bin/cmus'
alias neofetch='neofetch --kitty /mnt/Data/Personalize/Wallpapers/anime --crop_mode fill --crop_offset center --xoffset 1 --yoffset 1'
alias nfe='neofetch'
# navigation
alias ..='cd ..'
alias ...='cd ../..'
alias .3='cd ../../..'
alias .4='cd ../../../..'
alias .5='cd ../../../../..'
# Colorize grep output (good for log files)
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
# confirm before overwriting something
alias cp="cp -i"
alias mv='mv -i'
alias rm='rm -i'

View file

@ -0,0 +1,177 @@
# fish completion for prx -*- shell-script -*-
function __prx_debug
set -l file "$BASH_COMP_DEBUG_FILE"
if test -n "$file"
echo "$argv" >> $file
end
end
function __prx_perform_completion
__prx_debug "Starting __prx_perform_completion"
# Extract all args except the last one
set -l args (commandline -opc)
# Extract the last arg and escape it in case it is a space
set -l lastArg (string escape -- (commandline -ct))
__prx_debug "args: $args"
__prx_debug "last arg: $lastArg"
# Disable ActiveHelp which is not supported for fish shell
set -l requestComp "PRX_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg"
__prx_debug "Calling $requestComp"
set -l results (eval $requestComp 2> /dev/null)
# Some programs may output extra empty lines after the directive.
# Let's ignore them or else it will break completion.
# Ref: https://github.com/spf13/cobra/issues/1279
for line in $results[-1..1]
if test (string trim -- $line) = ""
# Found an empty line, remove it
set results $results[1..-2]
else
# Found non-empty line, we have our proper output
break
end
end
set -l comps $results[1..-2]
set -l directiveLine $results[-1]
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
# completions must be prefixed with the flag
set -l flagPrefix (string match -r -- '-.*=' "$lastArg")
__prx_debug "Comps: $comps"
__prx_debug "DirectiveLine: $directiveLine"
__prx_debug "flagPrefix: $flagPrefix"
for comp in $comps
printf "%s%s\n" "$flagPrefix" "$comp"
end
printf "%s\n" "$directiveLine"
end
# This function does two things:
# - Obtain the completions and store them in the global __prx_comp_results
# - Return false if file completion should be performed
function __prx_prepare_completions
__prx_debug ""
__prx_debug "========= starting completion logic =========="
# Start fresh
set --erase __prx_comp_results
set -l results (__prx_perform_completion)
__prx_debug "Completion results: $results"
if test -z "$results"
__prx_debug "No completion, probably due to a failure"
# Might as well do file completion, in case it helps
return 1
end
set -l directive (string sub --start 2 $results[-1])
set --global __prx_comp_results $results[1..-2]
__prx_debug "Completions are: $__prx_comp_results"
__prx_debug "Directive is: $directive"
set -l shellCompDirectiveError 1
set -l shellCompDirectiveNoSpace 2
set -l shellCompDirectiveNoFileComp 4
set -l shellCompDirectiveFilterFileExt 8
set -l shellCompDirectiveFilterDirs 16
if test -z "$directive"
set directive 0
end
set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
if test $compErr -eq 1
__prx_debug "Received error directive: aborting."
# Might as well do file completion, in case it helps
return 1
end
set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
if test $filefilter -eq 1; or test $dirfilter -eq 1
__prx_debug "File extension filtering or directory filtering not supported"
# Do full file completion instead
return 1
end
set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
__prx_debug "nospace: $nospace, nofiles: $nofiles"
# If we want to prevent a space, or if file completion is NOT disabled,
# we need to count the number of valid completions.
# To do so, we will filter on prefix as the completions we have received
# may not already be filtered so as to allow fish to match on different
# criteria than the prefix.
if test $nospace -ne 0; or test $nofiles -eq 0
set -l prefix (commandline -t | string escape --style=regex)
__prx_debug "prefix: $prefix"
set -l completions (string match -r -- "^$prefix.*" $__prx_comp_results)
set --global __prx_comp_results $completions
__prx_debug "Filtered completions are: $__prx_comp_results"
# Important not to quote the variable for count to work
set -l numComps (count $__prx_comp_results)
__prx_debug "numComps: $numComps"
if test $numComps -eq 1; and test $nospace -ne 0
# We must first split on \t to get rid of the descriptions to be
# able to check what the actual completion will be.
# We don't need descriptions anyway since there is only a single
# real completion which the shell will expand immediately.
set -l split (string split --max 1 \t $__prx_comp_results[1])
# Fish won't add a space if the completion ends with any
# of the following characters: @=/:.,
set -l lastChar (string sub -s -1 -- $split)
if not string match -r -q "[@=/:.,]" -- "$lastChar"
# In other cases, to support the "nospace" directive we trick the shell
# by outputting an extra, longer completion.
__prx_debug "Adding second completion to perform nospace directive"
set --global __prx_comp_results $split[1] $split[1].
__prx_debug "Completions are now: $__prx_comp_results"
end
end
if test $numComps -eq 0; and test $nofiles -eq 0
# To be consistent with bash and zsh, we only trigger file
# completion when there are no other completions
__prx_debug "Requesting file completion"
return 1
end
end
return 0
end
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
# so we can properly delete any completions provided by another script.
# Only do this if the program can be found, or else fish may print some errors; besides,
# the existing completions will only be loaded if the program can be found.
if type -q "prx"
# The space after the program name is essential to trigger completion for the program
# and not completion of the program name itself.
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
complete --do-complete "prx " > /dev/null 2>&1
end
# Remove any pre-existing completions for the program since we will be handling all of them.
complete -c prx -e
# The call to __prx_prepare_completions will setup __prx_comp_results
# which provides the program's completion choices.
complete -c prx -n '__prx_prepare_completions' -f -a '$__prx_comp_results'

View file

@ -6,7 +6,9 @@ set VISUAL "neovide" # $VISUAL use neovide in GUI m
source $HOME/.config/fish/completions/*
source $HOME/.config/fish/functions/functions.fish # Loads the functions file
source $HOME/.config/fish/aliases.sh # Loads the aliases file
source $HOME/.config/shell/aliases.sh # Loads the aliases file
clear
source $HOME/.config/nnn/config.sh
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"
@ -44,4 +46,18 @@ set fish_color_error '#ff6c6b'
set fish_color_param brcyan
### SETTING THE STARSHIP PROMPT ###
starship init fish | source
# starship init fish | source
# thefuck --alias | source
# pnpm
set -gx PNPM_HOME "/home/anas/.local/share/pnpm"
if not string match -q -- $PNPM_HOME $PATH
set -gx PATH "$PNPM_HOME" $PATH
end
# pnpm end
# Auto run
echo "Don't worry I'm here for you <3"
oh-my-posh init fish --config ~/.config/ohmyposh/1_shell.omp.json | source

View file

@ -41,4 +41,4 @@ SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dbrblack
SETUVAR fish_pager_color_selected_completion:\x1d
SETUVAR fish_pager_color_selected_description:\x1d
SETUVAR fish_pager_color_selected_prefix:\x1d
SETUVAR fish_user_paths:/snap/bin\x1e/home/anas/\x2elocal/bin\x1e/home/anas/Android/Sdk/platform\x2dtools\x1e/home/anas/\x2ecargo/bin\x1e/home/anas/\x2escripts
SETUVAR fish_user_paths:/home/anas/\x2econfig/emacs/bin\x1e/usr/lib/jvm/default/bin\x1e/home/anas/\x2eemacs\x2ed/bin\x1e/snap/bin\x1e/home/anas/\x2elocal/bin\x1e/home/anas/Android/Sdk/platform\x2dtools\x1e/home/anas/\x2ecargo/bin\x1e/home/anas/\x2escripts

View file

@ -1,4 +1,7 @@
background #1d1f21
background_opacity 0.26
include themes/dracula.conf
font_family FiraCode Nerd Font
bold_font FiraCode Nerd Font Bold

View file

@ -0,0 +1,56 @@
foreground #f8f8f2
background #282a36
selection_foreground #ffffff
selection_background #44475a
url_color #8be9fd
# black
color0 #21222c
color8 #6272a4
# red
color1 #ff5555
color9 #ff6e6e
# green
color2 #50fa7b
color10 #69ff94
# yellow
color3 #f1fa8c
color11 #ffffa5
# blue
color4 #bd93f9
color12 #d6acff
# magenta
color5 #ff79c6
color13 #ff92df
# cyan
color6 #8be9fd
color14 #a4ffff
# white
color7 #f8f8f2
color15 #ffffff
# Cursor colors
cursor #f8f8f2
cursor_text_color background
# Tab bar colors
active_tab_foreground #282a36
active_tab_background #f8f8f2
inactive_tab_foreground #282a36
inactive_tab_background #6272a4
# Marks
mark1_foreground #282a36
mark1_background #ff5555
# Splits/Windows
active_border_color #f8f8f2
inactive_border_color #6272a4

2
.config/nnn/config.sh Normal file
View file

@ -0,0 +1,2 @@
export NNN_ARCHIVE="\\.(7z|a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|rar|rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)\$"

View file

@ -0,0 +1,113 @@
{
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
"blocks": [
{
"alignment": "left",
"newline": true,
"segments": [
{
"foreground": "#ffbebc",
"leading_diamond": "<#ff70a6> \ue200 </>",
"properties": {
"display_host": true
},
"style": "diamond",
"template": "{{ .UserName }} <#ffffff>on</>",
"type": "session"
},
{
"foreground": "#bc93ff",
"properties": {
"time_format": "Monday <#ffffff>at</> 3:04 PM"
},
"style": "diamond",
"template": " {{ .CurrentDate | date .Format }} ",
"type": "time"
}
],
"type": "prompt"
},
{
"alignment": "right",
"segments": [
{
"foreground": "#a9ffb4",
"style": "plain",
"type": "text"
},
{
"foreground": "#a9ffb4",
"properties": {
"style": "dallas",
"threshold": 0
},
"style": "diamond",
"template": " {{ .FormattedMs }}s <#ffffff>\ue601</>",
"type": "executiontime"
},
{
"properties": {
"root_icon": "\uf292 "
},
"style": "diamond",
"template": " \uf0e7 ",
"type": "root"
},
{
"foreground": "#ee79d1",
"properties": {
"branch_icon": "\ue725 ",
"fetch_stash_count": true,
"fetch_status": true,
"fetch_upstream_icon": true,
"fetch_worktree_count": true
},
"style": "diamond",
"template": " {{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} \uf692 {{ .StashCount }}{{ end }} ",
"type": "git"
}
],
"type": "prompt"
},
{
"alignment": "left",
"newline": true,
"segments": [
{
"foreground": "#ffafd2",
"leading_diamond": "<#00c7fc> \ue285 </><#ffafd2>{</>",
"properties": {
"folder_icon": "\uf07b",
"folder_separator_icon": "\uf9e0",
"home_icon": "home",
"style": "agnoster_full"
},
"style": "diamond",
"template": " \ue5ff {{ .Path }} ",
"trailing_diamond": "<#ffafd2>}</>",
"type": "path"
},
{
"foreground": "#A9FFB4",
"foreground_templates": [
"{{ if gt .Code 0 }}#ef5350{{ end }}"
],
"properties": {
"always_enabled": true
},
"style": "plain",
"template": " \ue286 ",
"type": "exit"
}
],
"type": "prompt"
}
],
"console_title_template": "{{ .Folder }}",
"transient_prompt": {
"background": "transparent",
"foreground": "#FEF5ED",
"template": "\ue285 "
},
"version": 2
}

View file

@ -22,8 +22,10 @@ blur-strength = 3;
# ];
#### Transparency / Opacity #####
frame-opacity = 1;
inactive-opacity = 0.77;
frame-opacity = 0.9;
inactive-opacity-override = true;
opacity-rule = [
"70:class_g = 'Alacritty'",
"80:class_g = 'dwm'",
];

View file

@ -0,0 +1,4 @@
[ColorScheme]
active_colors=#ffbd93f9, #ff424559, #ff484d6b, #ff6272a4, #ff44475a, #ff44475a, #ff6272a4, #ff44475a, #ffbd93f9, #ff282a36, #ff282a36, #ff44475a, #ff6272a4, #ffbd93f9, #ff8be9fd, #ff8be9fd, #ff44475a, #ff6272a4, #ff44475a, #fff8f8f2, #ff44475a
disabled_colors=#ffbd93f9, #ff424559, #ff484d6b, #ff6272a4, #ff44475a, #ff44475a, #ff6272a4, #ff44475a, #ffbd93f9, #ff282a36, #ff282a36, #ff44475a, #ff6272a4, #ffbd93f9, #ff8be9fd, #ff8be9fd, #ff44475a, #ff6272a4, #ff44475a, #fff8f8f2, #ff44475a
inactive_colors=#ffbd93f9, #ff424559, #ff484d6b, #ff6272a4, #ff44475a, #ff44475a, #ff6272a4, #ff44475a, #ffbd93f9, #ff282a36, #ff282a36, #ff44475a, #ff6272a4, #ffbd93f9, #ff8be9fd, #ff8be9fd, #ff44475a, #ff6272a4, #ff44475a, #fff8f8f2, #ff44475a

32
.config/qt5ct/qt5ct.conf Normal file
View file

@ -0,0 +1,32 @@
[Appearance]
color_scheme_path=/home/anas/.config/qt5ct/colors/Dracula.conf
custom_palette=true
icon_theme=Dracula
standard_dialogs=default
style=Breeze
[Fonts]
fixed="Sans Serif,9,-1,5,50,0,0,0,0,0"
general="Sans Serif,9,-1,5,50,0,0,0,0,0"
[Interface]
activate_item_on_single_click=1
buttonbox_layout=2
cursor_flash_time=1000
dialog_buttons_have_icons=1
double_click_interval=400
gui_effects=@Invalid()
keyboard_scheme=2
menus_have_icons=true
show_shortcuts_in_context_menus=true
stylesheets=@Invalid()
toolbutton_style=4
underline_shortcut=1
wheel_scroll_lines=3
[SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x16\0\0\x4\x1f\0\0\x4\x37\0\0\0\x1\0\0\0\x17\0\0\x4\x1e\0\0\x4\x36\0\0\0\0\0\0\0\0\a\x80\0\0\0\x1\0\0\0\x17\0\0\x4\x1e\0\0\x4\x36)
[Troubleshooting]
force_raster_widgets=1
ignored_applications=@Invalid()

56
.config/shell/aliases.sh Normal file
View file

@ -0,0 +1,56 @@
alias lsc='/usr/bin/ls --color=auto' # Default ls with colors
# alias ls='logo-ls -Dh' # Modern ls https://github.com/Yash-Handa/logo-ls
alias jls='jls -lh'
alias ls='jls'
alias neofetch='neofetch --kitty /mnt/Data/Personalize/Wallpapers --crop_mode fill --crop_offset center --xoffset 1 --yoffset 1'
alias nfe='neofetch'
# navigation
alias ~='cd ~'
alias .-='cd -'
alias cd..='cd ..'
alias ..='cd ..'
alias ...='cd ../..'
alias .3='cd ../../..'
alias .4='cd ../../../..'
alias .5='cd ../../../../..'
# Show the current path with (jpwd)
alias .='jpwd'
# Edit something
alias e="$EDITOR"
# Read the file
alias r='bat'
# Git
alias push='git push'
alias commit='git commit -S'
alias clone='git clone'
alias add='git add'
alias status='git status'
alias pull='git pull'
alias fetch='git fetch'
# Colorize grep output (good for log files)
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
# confirm before overwriting something
alias cp="cp -i"
alias mv='mv -i'
# alias rm='rm -i'
# Update
alias fuck-my-lap='sudo pacman -Syyu'
#youtube download
alias yta-aac="yt-dlp --extract-audio --audio-format aac "
alias yta-best="yt-dlp --extract-audio --audio-format best "
alias yta-flac="yt-dlp --extract-audio --audio-format flac "
alias yta-mp3="yt-dlp --extract-audio --audio-format mp3 "
alias ytv-best="yt-dlp -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 "

View file

@ -0,0 +1,33 @@
export BROWSER='firefox-developer-edition'
# ls colors from https://github.com/body20002/nova/blob/main/nova.zsh-theme + *.jar and *.mp4, *.mkv from me :D
export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.jar=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.mp4=01;35:*.mkv=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:'
# XDG
export XDG_CACHE_HOME=$HOME/.cache
export XDG_CONFIG_HOME=$HOME/.config
export XDG_DATA_HOME=$HOME/.local/share
export XDG_STATE_HOME=$HOME/.local/state
# Editor
export EDITOR='lvim'
export VISUAL="lvim"
export HISTCONTROL=ignoreboth:erasedups
export PAGER='bat'
export JAVA_HOME='/usr/lib/jvm/java-19-openjdk'
### PATH ###
# export PATH="$HOME/.local/bin:/usr/local/bin:/usr/bin:$PATH"
if [ -d "$HOME/.bin" ] ;
then PATH="$HOME/.bin:$PATH"
fi
if [ -d "$HOME/.local/bin" ] ;
then PATH="$HOME/.local/bin:$PATH"
fi
export PATH="$HOME/.local/share/bin:$PATH"
export PATH="$JAVA_HOME/bin:$HOME/.local/share/gem/ruby/3.0.0/bin:$HOME/Android/Sdk/platform-tools:$PATH"
export PATH="$HOME/.scripts:$PATH"
export PATH="$HOME/.config/emacs/bin:$HOME/.emacs.d/bin:$PATH"
export PATH="/snap/bin:$PATH"
export PATH="$HOME/.cargo/bin:$PATH"

25
.config/shell/setup.sh Normal file
View file

@ -0,0 +1,25 @@
PROMPT=ohmyposh
# Fix cava not showing bars
LC_MESSAGES=en_US.UTF-8
LANGUAGE=en_US
LANG=en_US.UTF-8
# Enable the autojump
[[ -s /etc/profile.d/autojump.sh ]] && source /etc/profile.d/autojump.sh
# Setup the github-copilot-cli alias `??`
if command -v github-copilot-cli >/dev/null 2>&1; then
eval "$(github-copilot-cli alias -- "$0")"
fi
# The prompt
if command -v oh-my-posh >/dev/null 2>&1 && [[ $PROMPT == "ohmyposh" ]]; then
eval "$(oh-my-posh init $(basename $SHELL) --config ~/.config/ohmyposh/1_shell.omp.json)"
fi
if command -v starship >/dev/null 2>&1 && [[ $PROMPT == "starship" ]]; then
eval "$(starship init $(basename $SHELL))"
fi
# Auto run
echo "Don't worry I'm here for you <3"

26
.config/shell/utils.sh Normal file
View file

@ -0,0 +1,26 @@
# # ex = EXtractor for all kinds of archives
# # usage: ex <file>
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
}

View file

@ -2,7 +2,7 @@
keybinds {
normal {
// uncomment this and adjust key if using copy_on_select=false
// bind "Alt c" { Copy; }
bind "Alt c" { Copy; }
}
locked {
bind "Ctrl g" { SwitchToMode "Normal"; }
@ -76,7 +76,7 @@ keybinds {
bind "d" { HalfPageScrollDown; }
bind "u" { HalfPageScrollUp; }
// uncomment this and adjust key if using copy_on_select=false
// bind "Alt c" { Copy; }
bind "Alt c" { Copy; }
}
search {
bind "Ctrl s" { SwitchToMode "Normal"; }
@ -181,14 +181,14 @@ plugins {
// - detach (Default)
// - quit
//
// on_force_close "quit"
on_force_close "detach"
// Send a request for a simplified ui (without arrow fonts) to plugins
// Options:
// - true
// - false (Default)
//
// simplified_ui true
simplified_ui false
// Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL
@ -200,7 +200,7 @@ plugins {
// - true (default)
// - false
//
// pane_frames true
pane_frames false
// Choose the theme that is specified in the themes section.
// Default: default
@ -210,7 +210,7 @@ theme "dracula"
// The name of the default layout to load on startup
// Default: "default"
//
// default_layout "compact"
default_layout "compact"
// Choose the mode that zellij uses when starting up.
// Default: normal
@ -220,26 +220,19 @@ theme "dracula"
// Toggle enabling the mouse mode.
// On certain configurations, or terminals this could
// potentially interfere with copying text.
// Options:
// - true (default)
// - false
//
// mouse_mode false
mouse_mode true
// Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion.
// Valid values: positive integers
// Default value: 10000
//
// scroll_buffer_size 10000
scroll_buffer_size 100000
// Provide a command to execute when copying text. The text will be piped to
// the stdin of the program to perform the copy. This can be used with
// terminal emulators which do not support the OSC 52 ANSI control sequence
// that will be used by default if this option is not set.
// Examples:
//
// copy_command "xclip -selection clipboard" // x11
// copy_command "wl-copy" // wayland
// copy_command "pbcopy" // osx
@ -251,12 +244,10 @@ theme "dracula"
// - system (default)
// - primary
//
// copy_clipboard "primary"
copy_clipboard "system"
// Enable or disable automatic copy (and clear) of selection when releasing mouse
// Default: true
//
// copy_on_select false
copy_on_select false
// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
@ -266,9 +257,7 @@ theme "dracula"
// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// Default: false
//
// mirror_session true
mirror_session false
// The folder in which Zellij will look for layouts
//

60
.gitconfig Normal file
View file

@ -0,0 +1,60 @@
# INCLUDES
# --------
# Local/Private config goes in the include
[include]
path = ~/.gitconfig.local
# URL ALIASES
# -----------
# Alias for my mian account
[url "git@github.com:anas-elgarhy/"]
insteadOf = me://
# Alias for AUR
[url "ssh://aur@aur.archlinux.org/"]
insteadOf = aur://
# COLORS
# ------
# Dracula Dark Theme
[color]
ui = auto
[color "branch"]
current = cyan bold reverse
local = white
plain =
remote = cyan
[color "diff"]
commit =
func = cyan
plain =
whitespace = magenta reverse
meta = white
frag = cyan bold reverse
old = red
new = green
[color "grep"]
context =
filename =
function =
linenumber = white
match =
selected =
separator =
[color "interactive"]
error =
header =
help =
prompt =
[color "status"]
added = green
changed = yellow
header =
localBranch =
nobranch =
remoteBranch = cyan bold
unmerged = magenta bold reverse
untracked = red
updated = green bold
[user]
name = Anas Elgarhy
email = anas.elgarhy.dev@gmail.com
[core]
editor = lvim

View file

@ -39,3 +39,14 @@ jobs:
REMOTE_NAME: codeberg
GIT_USERNAME: anas-elgarhy
GIT_PASSWORD: ${{ secrets.CODEBERG_TOKEN }}
- name: mirror in git.disroot
uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: yesolutions/mirror-action@master
with:
REMOTE: 'https://git.disroot.org/anas-elgarhy/dotfiles.git'
REMOTE_NAME: disroot
GIT_USERNAME: anas-elgarhy
GIT_PASSWORD: ${{ secrets.DISROOT_TOKEN }}

View file

@ -1,38 +0,0 @@
"" Source your .vimrc
"source ~/.vimrc
" variables
let mapleader = ","
"" -- Suggested options --
" Show a few lines of context around the cursor. Note that this makes the
" text scroll if you mouse-click near the start or end of the window.
set scrolloff=5
set clipboard+=unnamedplus " Allow ideavim to copy/paste from/to the clipboard
set incsearch " Do incremental searching.
set history=2000 " Set the number of commands to remember.
" Don't use Ex mode, use Q for formatting.
map Q gq
"" -- Map IDE actions to IdeaVim -- https://jb.gg/abva4t
"" Map \r to the Reformat Code action
map \r <Action>(ReformatCode)
"" Map <leader>d to start debug
map <leader>d <Action>(Debug)
"" Map \b to toggle the breakpoint on the current line
map <leader>b <Action>(ToggleLineBreakpoint)
map <C-R> <Action>(Rename)
" Plugins
Plug 'easymotion/vim-easymotion'
Plug 'preservim/nerdtree'
Plug 'tpope/vim-surround'
" Find more examples here: https://jb.gg/share-ideavimrc
set ideajoin

7
.mergify.yml Normal file
View file

@ -0,0 +1,7 @@
pull_request_rules:
- name: Automatic merge on approval
conditions:
- "#approved-reviews-by>=1"
actions:
merge:
method: merge

View file

@ -0,0 +1,36 @@
@-moz-document url(chrome://browser/content/browser.xhtml) {
/* tabs on bottom of window */
/* requires that you set
* toolkit.legacyUserProfileCustomizations.stylesheets = true
* in about:config
*/
#main-window body { flex-direction: column-reverse !important; }
#navigator-toolbox { flex-direction: column-reverse !important; }
#urlbar {
top: unset !important;
bottom: calc((var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2) !important;
box-shadow: none !important;
display: flex !important;
flex-direction: column !important;
}
#urlbar-input-container {
order: 2;
}
#urlbar > .urlbarView {
order: 1;
border-bottom: 1px solid #666;
}
#urlbar-results {
display: flex;
flex-direction: column-reverse;
}
.search-one-offs { display: none !important; }
.tab-background { border-top: none !important; }
#navigator-toolbox::after { border: none; }
#TabsToolbar .tabbrowser-arrowscrollbox,
#tabbrowser-tabs, .tab-stack { min-height: 28px !important; }
.tabbrowser-tab { font-size: 80%; }
.tab-content { padding: 0 5px; }
.tab-close-button .toolbarbutton-icon { width: 12px !important; height: 12px !important; }
toolbox[inFullscreen=true] { display: none; }
}

1740
.p10k.zsh

File diff suppressed because it is too large Load diff

View file

@ -1,5 +0,0 @@
#!/bin/bash
# Generated by JetBrains Toolbox 1.25.12627 at 2022-08-15T20:10:08.786343048
"/home/anas/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/221.5921.27/bin/clion.sh" "$@"

View file

@ -1,5 +0,0 @@
#!/bin/bash
# Generated by JetBrains Toolbox 1.25.12627 at 2022-08-15T20:10:08.773876178
"/home/anas/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/222.3345.118/bin/idea.sh" "$@"

38
.xinitrc Normal file
View file

@ -0,0 +1,38 @@
#!/bin/sh
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
# start some nice programs
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
[ -f /etc/xprofile ] && . /etc/xprofile
[ -f ~/.xprofile ] && . ~/.xprofile
exec archy-dwm 2> .logs/archy-dwm.err > .logs/archy-dwm.log

29
.xprofile Normal file
View file

@ -0,0 +1,29 @@
#!/bin/sh
export XIM=nabi
export XIM_ARGS=
export XIM_PROGRAM="nabi"
export XMODIFIERS="@im=nabi"
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
# gnupg keyring agent
# ensure it's started so SSH will work
# https://www.gnupg.org/faq/whats-new-in-2.1.html#autostart
dbus-update-activation-environment --systemd DISPLAY
gpgconf --launch gpg-agent
export "SSH_AUTH_SOCK=/run/user/$(id -u)/gnupg/S.gpg-agent.ssh"
# Keyboard layouts switch (requires setxkbmap)
setxkbmap -model pc104 -layout us,ara -variant dvorak-l, -option grp:win_space_toggle
# Start compositor , for transparency
picom &
# Restores the wallpaper
nitrogen --restore &
# Start the network manger
nm-applet &
# Start the clipboard manger
copyq &
# sticky keys script
stickykeys &

74
.zshrc
View file

@ -1,30 +1,25 @@
### EXPORT ###
export EDITOR='nvim'
export VISUAL='nvim'
export TERMINAL='alacritty'
export JAVA_HOME='/usr/lib/jvm/java-18-openjdk'
# ls colors from https://github.com/body20002/nova/blob/main/nova.zsh-theme + *.jar and *.mp4, *.mkv from me :D
export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.jar=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.mp4=01;35:*.mkv=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:'
### PATH ###
export PATH="$java_home/bin:$HOME/.local/share/gem/ruby/3.0.0/bin:$HOME/.scripts:$PATH"
source "$HOME/.config/shell/public-env.sh"
source "$HOME/.config/shell/aliases.sh"
source "$HOME/.config/shell/utils.sh"
source "$HOME/.config/shell/setup.sh"
USE_POWERLINE="true"
setopt correct # Auto corect mistakes
setopt nobeep # No beep
ZSH_THEME="nova"
setopt dvorak # Use the Dvorak keyboard instead of the standard qwerty keyboard
setopt correctall # Try to correct the spelling of all arguments in a line.
setopt aliases # Expand aliases
# Enable colors and change prompt:
autoload -U colors && colors
# PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b "
PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b "
# PROMPT="%B%{$fg[cyan]%}%(4~|%-1~/.../%2~|%~)%u%b >%{$fg[cyan]%}>%B%(?.% "
# History in cache directory:
HISTSIZE=100000
SAVEHIST=100000
HISTFILE=~/.zsh_history
HISTSIZE=1000000000
SAVEHIST=1000000000
HISTFILE=~/.shell_history
# Basic auto/tab complete:
autoload -U compinit
@ -40,20 +35,11 @@ zstyle ':completion:*' cache-path ~/.zsh/cache
## Plugins section:
# Enable fish style features
source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
# Wakatime plugin:
source $HOME/.oh-my-zsh/custom/plugins/wakatime/wakatime.plugin.zsh
# 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
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
# Use syntax highlighting
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# Use history substring search
source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh
# Offer to install missing package if command is not found
@ -62,11 +48,6 @@ if [[ -r /usr/share/zsh/functions/command-not-found.zsh ]]; then
export PKGFILE_PROMPT_INSTALL_MISSING=1
fi
# Use syntax highlighting
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# Use history substring search
source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh
# Key bindings section
# vi mode
bindkey -v
@ -128,28 +109,3 @@ bindkey '^[[B' history-substring-search-down
# exec tmux
# fi
# Aliases
alias clear='clear && ufetch'
alias cls='/usr/bin/clear'
alias lsc='/usr/bin/ls --color=auto' # Default ls with colors
# alias ls='logo-ls -Dh' # Modern ls https://github.com/Yash-Handa/logo-ls
alias jls='jls -lh'
alias ls='jls'
alias cmus='cmus-rpc-rs --link &>/dev/null & cmus'
alias neofetch='neofetch --kitty /mnt/Data/Personalize/Wallpapers/anime --crop_mode fill --crop_offset center --xoffset 1 --yoffset 1'
alias nfe='neofetch'
# Fix cava not showing bars
LC_MESSAGES=en_US.UTF-8
LANGUAGE=en_US
LANG=en_US.UTF-8
# Auto run
ufetch
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="$HOME/.sdkman"
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"
eval "$(starship init zsh)"

View file

@ -1,42 +1,26 @@
# My configs 😃
### I use arch btw 🥰
## Screenshots
![](./Screenshots/zsh-neofetch-kitty-cmus-notify-v0.3.png)
![](./Screenshots/zsh-neofetch-kitty-cava-tty_clock-v0.3.png)
![](./Screenshots/zsh-kitty-v0.3.png)
```bash
-` anas@archLegion
.o+` ---------------
`ooo/ OS: Arch Linux x86_64
`+oooo: Host: 81SX Legion Y540-15IRH
`+oooooo: Kernel: 5.18.10-zen1-1-zen
-+oooooo+: Uptime: 8 hours, 13 mins
`/:-:++oooo+: Packages: 1005 (pacman)
`/++++/+++++++: Shell: zsh 5.9
`/++++++++++++++: Resolution: 1920x1080 @ 144.00Hz
`/+++ooooooooooooo/` WM: dwm
./ooosssso++osssssso+` Theme: Breeze [GTK2/3]
.oossssso-````/ossssss+` Icons: breeze [GTK2/3]
-osssssso. :ssssssso. Terminal: alacritty
:osssssss/ osssso+++. CPU: Intel i7-9750H (12) @ 4.500GHz [57.0°C]
/ossssssss/ +ssssooo/- GPU: NVIDIA GeForce GTX 1660 Ti Mobile
`/ossssso+/:- -:/+osssso+- Memory: 3700MiB / 15917MiB (23%)
`+sso+:-` `.-/+oso: Battery0: 59% [Unknown]
`++:. `-/+/
.` `/
```
## Ref
### Laptop stuff
* If u use a laptop like me and only use [yo-dwm][yo-dwm on github] or any other standalone WM u may notch that the touchpad doesn't work as you expect (like u can't perform the mouse button clicks with it), in this case, you need to configure the touchpad driver(and maybe download the driver itself). In most cases [libinput][libinput on arch wiki] is more than enough and it's installed by default with Xorg-server and Wayland, and this is what I'll go with. see [30-touchpad.conf](./etc/X11/xorg.conf.d/30-touchpad.conf), but you maybe want to use [synaptics][synaptics on arch wiki] instant if u want a specific feature that doesn't exist in libinput yet like the Circular scrolling
> I notch that the disable touchpad while typing option doesn't work with me when I trayd synaptics idk why but it works just fine with libinput
* When u use ur laptop as a daily driver then u may be concerned about the battery life (especially when u using a gaming laptop) and if ur laptop is from Lenovo like me u maybe used to have control over the charger to select a specific percentage for the battery and when the battery reaches it the laptop will stop the charging and it'll run on the charger only without taking anything from the battery and u save your battery life by reducing the charging cycles and the all is happy :D, so u can use [tlp][tlp on arch wiki] for this job and u can see(or steal) my configure from [tlp.conf](./etc/tlp.conf) which is just the default one with enabling the threshold mode to stop charging at 60%
#### Index
- [/etc](./etc)
- [.config](./.config)
- [.zshrc](./.zshrc) my main shell
- [.tmux.conf](./.tmux.conf)
### other
#### Browser
* If u want to put the tabs on the bottom of the window on Firefox then u have to move the [userChrome.css](./.mozilla/firefox/chrome/userChrome.css) file into ur Firefox user directory(u can find it in `~/.mozilla/firefox/`) in the `chrome` dir or create it if doesn't exist, and then u have to enable the `legacy user profile customizations stylesheets feature from [about:config](about:config)
## Also available on
* [GitLab](https://gitlab.com/Anas-Elgarhy/dotfiles)
* [BitBucket](https://bitbucket.org/anas_elgarhy/dotfiles)
* [Codeberg](https://codeberg.org/anas-elgarhy/dotfiles)
* [Notabug](https://notabug.org/anas-elgarhy/dotfiles) not instant updated
* [disroot](https://git.disroot.org/anas-elgarhy/dotfiles)
#### Screenshots
![terminal and tmux and dwm and cava and cmus and zsh and ufetch and cmatrix](./Screenshots/1.png)
![neovim with a java code](./Screenshots/neovim.png "NeoVim")
- I use [Nvchad](https://github.com/NvChad/NvChad)
#### Also available on
- [GitLab](https://gitlab.com/Anas-Elgarhy/dotfiles)
- [BitBucket](https://bitbucket.org/anas_elgarhy/dotfiles)
- [Codeberg](https://codeberg.org/anas-elgarhy/dotfiles)
- [Notabug](https://notabug.org/anas-elgarhy/dotfiles) not instant updated
[yo-dwm on github]: https://github.com/anas-elgarhy/yo-dwm
[libinput on arch wiki]: https://wiki.archlinux.org/title/Libinput
[synaptics on arch wiki]: https://wiki.archlinux.org/title/Touchpad_Synaptics
[tlp on arch wiki]: https://wiki.archlinux.org/title/TLP

Binary file not shown.

Before

Width:  |  Height:  |  Size: 522 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 410 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 500 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 772 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 992 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 722 KiB

View file

@ -0,0 +1,12 @@
Section "InputClass"
Identifier "touchpad"
Driver "libinput"
MatchIsTouchpad "on"
Option "Tapping" "on"
Option "TappingButtonMap" "lrm"
Option "ClickMethod" "clickfinger"
Option "TappingDrag" "true"
Option "TappingDragLock" "true"
Option "NaturalScrolling" "false"
Option "DisableWhileTyping" "true"
EndSection

View file

@ -24,9 +24,7 @@
# tlp - Parameters for power saving
# Set to 0 to disable, 1 to enable TLP.
# Default: 1
#TLP_ENABLE=1
TLP_ENABLE=1
# Control how warnings about invalid settings are issued:
# 0=disabled,
@ -39,15 +37,11 @@
# Operation mode when no power supply can be detected: AC, BAT.
# Concerns some desktop and embedded hardware only.
# Default: <none>
#TLP_DEFAULT_MODE=AC
TLP_DEFAULT_MODE=AC
# Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE
# Note: use in conjunction with TLP_DEFAULT_MODE=BAT for BAT settings on AC.
# Default: 0
#TLP_PERSISTENT_DEFAULT=0
TLP_PERSISTENT_DEFAULT=0
# Power supply classes to ignore when determining operation mode: AC, USB, BAT.
# Separate multiple classes with spaces.
@ -58,10 +52,8 @@
# Seconds laptop mode has to wait after the disk goes idle before doing a sync.
# Non-zero value enables, zero disables laptop mode.
# Default: 0 (AC), 2 (BAT)
#DISK_IDLE_SECS_ON_AC=0
#DISK_IDLE_SECS_ON_BAT=2
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
# Dirty page values (timeouts in secs).
# Default: 15 (AC), 60 (BAT)
@ -82,10 +74,8 @@
# and therefore kernel and most distributions have chosen them as defaults.
# You should have done your research about advantages/disadvantages *before*
# changing the governor.
# Default: <none>
#CPU_SCALING_GOVERNOR_ON_AC=powersave
#CPU_SCALING_GOVERNOR_ON_BAT=powersave
CPU_SCALING_GOVERNOR_ON_AC=performance
CPU_SCALING_GOVERNOR_ON_BAT=powersave
# Set the min/max frequency available for the scaling governor.
# Possible values depend on your CPU. For available frequencies see
@ -131,26 +121,20 @@
# Set the CPU "turbo boost" (Intel) or "turbo core" (AMD) feature:
# 0=disable, 1=allow.
# Note: a value of 1 does *not* activate boosting, it just allows it.
# Default: <none>
#CPU_BOOST_ON_AC=1
#CPU_BOOST_ON_BAT=0
CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=0
# Set the Intel CPU HWP dynamic boost feature:
# 0=disable, 1=enable.
# Requires intel_pstate scaling driver in 'active' mode and Intel Core i
# 6th gen. or newer CPU.
# Default: <none>
#CPU_HWP_DYN_BOOST_ON_AC=1
#CPU_HWP_DYN_BOOST_ON_BAT=0
CPU_HWP_DYN_BOOST_ON_AC=1
CPU_HWP_DYN_BOOST_ON_BAT=0
# Minimize number of used CPU cores/hyper-threads under light load conditions:
# 0=disable, 1=enable.
# Default: 0 (AC), 1 (BAT)
#SCHED_POWERSAVE_ON_AC=0
#SCHED_POWERSAVE_ON_BAT=1
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
# Kernel NMI Watchdog:
# 0=disable (default, saves power), 1=enable (for kernel debugging only).
@ -164,10 +148,8 @@
# thermal and fan speed. Values are given in order of increasing power saving.
# Note: check the output of tlp-stat -p to determine availability on your
# hardware and additional profiles such as: balanced-performance, quiet, cool.
# Default: <none>
#PLATFORM_PROFILE_ON_AC=performance
#PLATFORM_PROFILE_ON_BAT=low-power
PLATFORM_PROFILE_ON_AC=balanced_performance
PLATFORM_PROFILE_ON_BAT=balance_power
# Define disk devices on which the following DISK/AHCI_RUNTIME parameters act.
# Separate multiple devices with spaces.
@ -202,10 +184,8 @@
# See 'man hdparm' for details.
# Separate values for multiple disks with spaces. Use the special value 'keep'
# to keep the hardware default for the particular disk.
# Default: <none>
#DISK_SPINDOWN_TIMEOUT_ON_AC="0 0"
#DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0"
DISK_SPINDOWN_TIMEOUT_ON_AC="keep"
DISK_SPINDOWN_TIMEOUT_ON_BAT="keep"
# Select I/O scheduler for the disk devices.
# Multi queue (blk-mq) schedulers:
@ -310,10 +290,8 @@
#RADEON_POWER_PROFILE_ON_BAT=default
# Wi-Fi power saving mode: on=enable, off=disable.
# Default: off (AC), on (BAT)
#WIFI_PWR_ON_AC=off
#WIFI_PWR_ON_BAT=on
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=off
# Disable Wake-on-LAN: Y/N.
# Default: Y
@ -324,10 +302,8 @@
# A value of 0 disables, >= 1 enables power saving.
# Note: 1 is recommended for Linux desktop environments with PulseAudio,
# systems without PulseAudio may require 10.
# Default: 1
#SOUND_POWER_SAVE_ON_AC=1
#SOUND_POWER_SAVE_ON_BAT=1
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=10
# Disable controller too (HDA only): Y/N.
# Note: effective only when SOUND_POWER_SAVE_ON_AC/BAT is activated.
@ -376,9 +352,7 @@
#RUNTIME_PM_DISABLE="44:55.6"
# Set to 0 to disable, 1 to enable USB autosuspend feature.
# Default: 1
#USB_AUTOSUSPEND=1
USB_AUTOSUSPEND=1
# Exclude listed devices from USB autosuspend (separate with spaces).
# Use lsusb to get the ids.
@ -390,9 +364,7 @@
# Exclude audio devices from USB autosuspend:
# 0=do not exclude, 1=exclude.
# Default: 1
#USB_EXCLUDE_AUDIO=1
USB_EXCLUDE_AUDIO=1
# Exclude bluetooth devices from USB autosuspend:
# 0=do not exclude, 1=exclude.
@ -402,9 +374,7 @@
# Exclude phone devices from USB autosuspend:
# 0=do not exclude, 1=exclude (enable charging).
# Default: 0
#USB_EXCLUDE_PHONE=0
USB_EXCLUDE_PHONE=0
# Exclude printers from USB autosuspend:
# 0=do not exclude, 1=exclude.
@ -426,9 +396,7 @@
# Set to 1 to disable autosuspend before shutdown, 0 to do nothing
# Note: use as a workaround for USB devices that cause shutdown problems.
# Default: 0
#USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=0
# USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=0
# Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown
# on system startup: 0=disable, 1=enable.
@ -440,21 +408,15 @@
# Radio devices to disable on startup: bluetooth, nfc, wifi, wwan.
# Separate multiple devices with spaces.
# Default: <none>
#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth nfc wifi wwan"
DEVICES_TO_DISABLE_ON_STARTUP="bluetooth"
# Radio devices to enable on startup: bluetooth, nfc, wifi, wwan.
# Separate multiple devices with spaces.
# Default: <none>
#DEVICES_TO_ENABLE_ON_STARTUP="wifi"
# DEVICES_TO_ENABLE_ON_STARTUP="wifi wwan"
# Radio devices to disable on shutdown: bluetooth, nfc, wifi, wwan.
# Note: use as a workaround for devices that are blocking shutdown.
# Default: <none>
#DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth nfc wifi wwan"
# DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth nfc wifi wwan"
# Radio devices to enable on shutdown: bluetooth, nfc, wifi, wwan.
# (to prevent other operating systems from missing radios).
@ -496,8 +458,6 @@
# BAT0: Primary / Main / Internal battery (values in %)
# Note: also use for batteries BATC, BATT and CMB0
# Default: <none>
START_CHARGE_THRESH_BAT0=50
STOP_CHARGE_THRESH_BAT0=1
@ -509,16 +469,12 @@ STOP_CHARGE_THRESH_BAT0=1
#STOP_CHARGE_THRESH_BAT1=80
# Restore charge thresholds when AC is unplugged: 0=disable, 1=enable.
# Default: 0
RESTORE_THRESHOLDS_ON_BAT="0"
RESTORE_THRESHOLDS_ON_BAT="1"
# Control battery care drivers: 0=disable, 1=enable.
# Default: 1 (all)
#NATACPI_ENABLE=1
#TPACPI_ENABLE=1
#TPSMAPI_ENABLE=1
NATACPI_ENABLE=1
TPACPI_ENABLE=1
TPSMAPI_ENABLE=1
# ------------------------------------------------------------------------------
# tlp-rdw - Parameters for the radio device wizard

1
etc/vconsole.conf Normal file
View file

@ -0,0 +1 @@
KEYMAP=dvorak-l

6
renovate.json Normal file
View file

@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base"
]
}