Compare commits
63 Commits
5f8fc8e53c
...
master
Author | SHA1 | Date | |
---|---|---|---|
569921c80e | |||
d83c845b85 | |||
889f06070a | |||
b1b399fe30 | |||
7f1d9640b6 | |||
8d2f51b64a | |||
617ba5815d | |||
0494a6fe60 | |||
323698cd12 | |||
1511a5c1a5 | |||
5aac22cb6d | |||
08585df3ac | |||
a715528931 | |||
ec10ac7281 | |||
1da8b7946f | |||
dd5f32a6eb | |||
0a67016b07 | |||
c584e93215 | |||
d765b9f902 | |||
39a0a5ea72 | |||
4308782feb | |||
f84faba675 | |||
2bca0d2231 | |||
69be245213 | |||
55f777e6bc | |||
f6ce763e40 | |||
2abe975470 | |||
6f35662f0c | |||
c2ae3d5fa0 | |||
20cc3d92d1 | |||
55fb2af9ba | |||
8cc0c54799 | |||
7dd46f40f8 | |||
c12253370e | |||
af573cf273 | |||
e6e9958ef4 | |||
101b00c4fd | |||
8b033f7fc1 | |||
d2dd51c6a2 | |||
f122ba659d | |||
232e877fd4 | |||
78f7d05ddf | |||
528675c5e3 | |||
732529102f | |||
43134e0546 | |||
ea15b7dc15 | |||
ab3820fe8c | |||
a1f57b67b8 | |||
414bb14b1b | |||
d28b21dcdf | |||
c0588adc42 | |||
5d634bf601 | |||
e4b7f912ef | |||
f47078a66a | |||
38f71bd854 | |||
7a1b90c470 | |||
654a6f70a8 | |||
de1577d420 | |||
c574e4cba6 | |||
3768caaa76 | |||
ea861dbbfa | |||
13de19e0cc | |||
07e5a472f0 |
@@ -7,8 +7,9 @@ root = true
|
||||
[*]
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
indent_size = 2
|
||||
|
||||
# Matches multiple files with brace expansion notation
|
||||
[*.{sh,py,yml}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
indent_size = 2
|
||||
|
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
config/.npmrc
|
41
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"cSpell.words": [
|
||||
"autohint",
|
||||
"autorandr",
|
||||
"dunst",
|
||||
"dunstrc",
|
||||
"greenclip",
|
||||
"gtkrc",
|
||||
"hintstyle",
|
||||
"inotify",
|
||||
"keygen",
|
||||
"makepkg",
|
||||
"mimeapps",
|
||||
"nanorc",
|
||||
"networkmanager",
|
||||
"noconfirm",
|
||||
"pacman",
|
||||
"picom",
|
||||
"polkit",
|
||||
"polybar",
|
||||
"poshthemes",
|
||||
"powerline",
|
||||
"pyenv",
|
||||
"rgba",
|
||||
"rofi",
|
||||
"seafile",
|
||||
"terminalrc",
|
||||
"thefuck",
|
||||
"timedatectl",
|
||||
"trizen",
|
||||
"usermod",
|
||||
"xbacklight",
|
||||
"xfconf",
|
||||
"Xresources",
|
||||
"zokugun"
|
||||
],
|
||||
"sonarlint.connectedMode.project": {
|
||||
"connectionId": "public-sonarcloud",
|
||||
"projectKey": "Mastermindzh_dotfiles"
|
||||
}
|
||||
}
|
26
CHANGELOG.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to date versioning.
|
||||
|
||||
## [2024-12-12]
|
||||
|
||||
- Switched `notify-osd` for `dunst`
|
||||
- Switched `pulseaudio` for `pipewire`
|
||||
- **note** had to turn master volume on with `alsamixer` and use `sudo alsactl store` to keep the changes
|
||||
- Included default Xresources file
|
||||
- updated list with several new packages and removed some old ones
|
||||
|
||||
## [2022-08-03]
|
||||
|
||||
- Fixed i3lock re-using the last image
|
||||
- Set up /etc/environment sharing
|
||||
- Added in greenclip again
|
||||
- added after install and syncLocalSettings.json
|
||||
|
||||
## [2022-07-26]
|
||||
|
||||
- Added `vers=2.1` to `mount.cifs` command in [mounts.sh](./bash/mounts.sh) to fix an [upstream bug](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.18.y&id=ca83f50b43a099345e61950f74c4d9eb81c765fe)
|
||||
- Added a `clean-all` command to clean trash of my hard drives
|
45
README.md
@@ -4,35 +4,43 @@ This repository holds my Linux config files.
|
||||
|
||||
## Mandatory unixporn screenshots
|
||||
|
||||
New version as of dec 2021:
|
||||
New version as of January 2023:
|
||||
|
||||
[](https://raw.githubusercontent.com/Mastermindzh/dotfiles/master/media/dotfiles4.jpg)
|
||||
[](media/2024-dracula.png)
|
||||
|
||||
[](media/2024-dracula-2.png)
|
||||
|
||||
Older versions:
|
||||
- [dotfiles](media/dotfiles3.png)
|
||||
- [dotfiles](media/dotfiles.png)
|
||||
|
||||
- [dotfiles6](media/dotfiles6.png)
|
||||
- [dotfiles5-small](media/dotfiles-small-5.png)
|
||||
- [dotfiles5](media/dotfiles5.png)
|
||||
- [dotfiles4](https://raw.githubusercontent.com/Mastermindzh/dotfiles/master/media/dotfiles4.jpg)
|
||||
- [dotfiles3](media/dotfiles3.png)
|
||||
- [dotfiles2](media/dotfiles2.png)
|
||||
- [dotfiles](media/dotfiles.png)
|
||||
|
||||
## Tools
|
||||
|
||||
| Purpose | Tool |
|
||||
| ---------------- | ---------------------------------------------------------------------- |
|
||||
| WM | i3 (i3-gaps) |
|
||||
| bar | polybar |
|
||||
| App launcher | rofi |
|
||||
| Shell | Bash |
|
||||
| Notifications | Dunst |
|
||||
| Package managers | Pacman & Trizen |
|
||||
| OS | Arch Linux |
|
||||
| Terminal | xfce4-terminal |
|
||||
| Editor | nano |
|
||||
| Code editor | vscode / jetbrains stuff |
|
||||
| Browser | Chromium |
|
||||
| File manager | If I have to use one ... Nautilus |
|
||||
| Editor | nano & mousepad |
|
||||
| Code editor | vscode |
|
||||
| Browser | Firefox |
|
||||
| File manager | Thunar |
|
||||
| Music | Tidal through [Tidal-hifi](https://github.com/Mastermindzh/tidal-hifi) |
|
||||
| | |
|
||||
|
||||
## computer specifc setup
|
||||
## computer specific setup
|
||||
|
||||
Nowadays I use a few different computers and I'd used to apply the base config and configure each pc on its own.
|
||||
Nowadays I use a few different computers and I used to apply the base config and configure each pc on its own.
|
||||
I've grown tired of this approach however so I added a "pc specific" setup in the installer.
|
||||
|
||||
The pc specific setup bit will read the folder names in computers, offer you a choice, and execute the install.sh inside that folder.
|
||||
@@ -40,11 +48,18 @@ This allows me to get pc specific settings synced with git and applied easily.
|
||||
|
||||
## Getting x info to use in i3
|
||||
|
||||
Some things are handled by window class/title or have custom resolutions set, the tools below help obtaining the info required:
|
||||
Some things are handled by window class/title or have custom resolutions set, the tools below help obtain the info required:
|
||||
|
||||
- xprop -> displays static xwindow info including Window class
|
||||
- xwininfo -> displays xwindow info including current size/position
|
||||
- `xprop` -> displays static `xwindow` info including Window class
|
||||
- `xwininfo` -> displays `xwindow` info including current size/position
|
||||
|
||||
## getting icons
|
||||
|
||||
Copy/paste icons from this url: [https://fontawesome.com/v5/cheatsheet](https://fontawesome.com/v5/cheatsheet)
|
||||
Copy/paste icons from these URLs:
|
||||
|
||||
- [https://fontawesome.com/v5/cheatsheet](https://fontawesome.com/v5/cheatsheet)
|
||||
- [https://fonts.google.com/noto/specimen/Noto+Color+Emoji/glyphs?noto.query=noto+color+emoji](https://fonts.google.com/noto/specimen/Noto+Color+Emoji/glyphs?noto.query=noto+color+emoji)
|
||||
|
||||
## after-install
|
||||
|
||||
After install read [./docs/afterinstall.md](./docs/afterinstall.md)
|
||||
|
198
bash/.alias.sh
@@ -1,23 +1,6 @@
|
||||
# useful dockers
|
||||
alias phpserver='docker run --rm -p 2000:80 -v "$PWD":/var/www/html mastermindzh/php-xdebug'
|
||||
alias nodeserver='docker run --rm -p 3000:3000 -v "$PWD":/app mastermindzh/generic_node'
|
||||
alias reactserver='docker run --rm -p 8080:8080 -v "$PWD":/app mastermindzh/generic_node'
|
||||
alias mongoserver='docker run -d --rm -p 27017:27017 --name mongo-server -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123 -v ~/.db/mongo:/data/db mongo'
|
||||
alias sqlserver='docker run -d --rm --name sql-server -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Your_Password123" -p 1433:1433 -v ~/.db/mssql:/var/opt/mssql microsoft/mssql-server-linux'
|
||||
|
||||
# useful docker commands
|
||||
alias stop-dockers='docker stop $(docker ps -aq)'
|
||||
alias docker-clean-containers='docker container prune -f --filter "until=48h"'
|
||||
alias docker-clean-images='docker image prune -a -f --filter "until=48h"'
|
||||
alias docker-clean-volumes='docker volume prune -f --filter "label!=keep"'
|
||||
alias docker-clean-networks='docker network prune -f --filter "until=24h"'
|
||||
alias docker-clean-all='stop-dockers && docker-clean-containers && docker-clean-images && docker-clean-volumes && docker-clean-networks'
|
||||
|
||||
# Kubernetes commands
|
||||
alias mkubectl='microk8s.kubectl'
|
||||
alias kubestart='microk8s.start'
|
||||
alias kubestop='microk8s.stop'
|
||||
alias kubecontexts='kubectl config get-contexts'
|
||||
#!/bin/bash
|
||||
# source program-specific aliases:
|
||||
for f in ~/.aliases/*; do source "$f"; done
|
||||
|
||||
#dotnet core
|
||||
alias efupdate="dotnet ef database update"
|
||||
@@ -33,10 +16,18 @@ alias undo-commit='git reset --soft HEAD^'
|
||||
|
||||
## pacman and trizen
|
||||
alias aur='trizen --noconfirm'
|
||||
alias update='trizen -Syu --noconfirm'
|
||||
alias update='trizen --sudo_remove_timestamp=0 --sudo_autorepeat=1 --sudo_autorepeat_at_runtime=1 -Syu --noconfirm && update-av'
|
||||
alias update-av='sudo freshclam || exit 0'
|
||||
alias remove-orphans='sudo pacman -Rns $(pacman -Qtdq)'
|
||||
alias updatekeys='sudo pacman-key --refresh-key'
|
||||
alias updatemirrors='sudo reflector --latest 20 --protocol http,https --sort rate --save /etc/pacman.d/mirrorlist'
|
||||
alias clean-pacmancache='sudo paccache -rk 1 && sudo paccache -ruk0'
|
||||
alias clean-trizen-cache='sudo trizen -Scc'
|
||||
alias clean-trash='sudo rm -rf ~/.local/share/Trash/*'
|
||||
alias clean-journal='sudo journalctl --vacuum-time=2d'
|
||||
alias clean-pacman-unused='sudo pacman -R $(pacman -Qtdq)'
|
||||
|
||||
alias clean-all='clean-pacman-unused && clean-pacmancache && clean-trizen-cache && docker-clean-all && clean-node_modules && clean-journal && clean-trash'
|
||||
|
||||
## systeminfo
|
||||
alias meminfo='free -mth'
|
||||
@@ -49,9 +40,8 @@ alias preferredapps='exo-preferred-applications'
|
||||
#show 5 most memory consuming apps
|
||||
alias psmem='ps auxf | sort -nr -k 5 | head -n 5'
|
||||
|
||||
##utility
|
||||
# utility
|
||||
alias nmapscan='nmap -n -sP'
|
||||
alias pia='nohup sh /opt/pia/run.sh &>/dev/null & disown'
|
||||
alias wifimenu='nm-connection-editor'
|
||||
alias findcrlf='find . -path node_modules -prune -o -not -type d -exec file "{}" ";" | grep -E "BOM|CRLF"'
|
||||
alias fixcrlf='findcrlf > /tmp/crlftolf && cat /tmp/crlftolf | while read line; do CUTLINE=$(echo $line | cut -f1 -d":") && dos2unix $CUTLINE; done'
|
||||
@@ -59,15 +49,22 @@ alias enable-wifi='sudo ip link set wlp2s0 up'
|
||||
alias scan-wifi='sudo iw dev wlp2s0 scan'
|
||||
alias pretty-json='python -m json.tool'
|
||||
alias addpgpkey='gpg --recv-keys'
|
||||
alias clean-trash='sudo rm -rf ~/.local/share/Trash/*'
|
||||
alias clean-journal='sudo journalctl --vacuum-time=2d'
|
||||
alias clean-all='clean-trash && clean-journal && clean-pacmancache && docker-clean-all && clean-node-modules'
|
||||
alias dotnet-install='~/.dotnet-install.sh --install-dir /usr/share/dotnet/ -channel Current -version '
|
||||
alias mountshares='sudo bash ~/dotfiles/bash/mounts.sh'
|
||||
alias echo-server='npx http-echo-server'
|
||||
alias mountcalibre='sudo mount.cifs //10.10.1.11/books /mnt/calibre -o nobrl,user=mastermindzh,noperm,rw'
|
||||
alias xpid="xprop _NET_WM_PID | cut -d' ' -f3"
|
||||
alias clean-node-modules='find . -name "node_modules" -type d -print0 |xargs -0 rm -r --'
|
||||
alias clean-obj-bin='sudo find . -name "bin" -o -name "obj" -exec rm -rf {} \;'
|
||||
alias nomachine='/usr/NX/bin/nxplayer'
|
||||
alias unlockuser='faillock --reset --user'
|
||||
alias npm-list-links='npm ls -g --depth=0 --link=true'
|
||||
alias suspend='sudo bash ~/.config/i3/scripts/suspend.sh'
|
||||
alias clean-all='sudo pacman -R $(pacman -Qtdq) && sudo paccache -rk 1 && sudo paccache -ruk0 && sudo journalctl --vacuum-time=2d && docker-clean-all && rm -rf ~/.local/share/Trash/'
|
||||
alias delete-empty='find . -type d -empty -delete'
|
||||
alias addwireguard='sudo nmcli connection import type wireguard file '
|
||||
alias defaultfonts='for family in serif sans-serif monospace Arial Helvetica Verdana "Times New Roman" "Courier New"; do echo -e "\033[1m$family: \033[0m" && fc-match "$family" && echo ""; done'
|
||||
alias syncthinggui="xdg-open http://localhost:8384/"
|
||||
alias disableHistory="set +o history"
|
||||
|
||||
# might be useful in demos...
|
||||
alias oopsie='fuck'
|
||||
@@ -82,10 +79,10 @@ alias nocomment='grep -Ev '\''^(#|$)'\'''
|
||||
alias list='find ./ -maxdepth 1 -printf "%f\n"'
|
||||
|
||||
#show directories
|
||||
alias dirs='ls -FlA | grep :*/'
|
||||
alias dirs='ls -FlA | grep :*/'
|
||||
|
||||
#show executables
|
||||
alias execx='ls -FlA | grep -v \*'
|
||||
alias execx='ls -FlA | grep -v \*'
|
||||
|
||||
#ls -al
|
||||
alias la='ls -al'
|
||||
@@ -93,6 +90,10 @@ alias la='ls -al'
|
||||
# show external ip
|
||||
alias cmyip='curl -s http://ipecho.net/plain; echo'
|
||||
|
||||
# File merging
|
||||
alias pngtopdf="convert *.png"
|
||||
alias jpgtopdf="convert *.jpg"
|
||||
|
||||
## default command fixes :P
|
||||
alias mkdir='mkdir -p'
|
||||
alias wget='wget -c'
|
||||
@@ -106,6 +107,14 @@ alias handbrake='ghb'
|
||||
alias cal='cal -mw --color'
|
||||
alias chrome='google-chrome-stable'
|
||||
alias teams='teams-insiders --disable-seccomp-filter-sandbox'
|
||||
alias cat='bat'
|
||||
alias grep='grep -i'
|
||||
alias cura='cura -platformtheme gtk3'
|
||||
|
||||
## command overrides
|
||||
df() {
|
||||
duf
|
||||
}
|
||||
|
||||
# grub
|
||||
alias update-grub='grub-mkconfig -o /boot/grub/grub.cfg'
|
||||
@@ -114,91 +123,84 @@ alias update-grub='grub-mkconfig -o /boot/grub/grub.cfg'
|
||||
|
||||
# function to cd up a couple of times
|
||||
# USAGE: up 3 (goes up 3 directories)
|
||||
up(){
|
||||
DEEP=$1;
|
||||
[ -z "${DEEP}" ] && { DEEP=1; };
|
||||
for i in $(seq 1 ${DEEP}); do
|
||||
cd ../;
|
||||
done;
|
||||
up() {
|
||||
DEEP=$1
|
||||
[ -z "${DEEP}" ] && { DEEP=1; }
|
||||
for i in $(seq 1 ${DEEP}); do
|
||||
cd ../
|
||||
done
|
||||
}
|
||||
# function to extract ... well anything really
|
||||
extract () {
|
||||
if [ -f $1 ] ; then
|
||||
case $1 in
|
||||
*.tar.bz2) tar xvjf $1 ;;
|
||||
*.tar.gz) tar xvzf $1 ;;
|
||||
*.bz2) bunzip2 $1 ;;
|
||||
*.rar) unrar x $1 ;;
|
||||
*.gz) gunzip $1 ;;
|
||||
*.tar) tar xvf $1 ;;
|
||||
*.tbz2) tar xvjf $1 ;;
|
||||
*.tgz) tar xvzf $1 ;;
|
||||
*.zip) unzip $1 ;;
|
||||
*.Z) uncompress $1 ;;
|
||||
*.7z) 7z x $1 ;;
|
||||
*) echo "don't know how to extract '$1'..." ;;
|
||||
esac
|
||||
else
|
||||
echo "'$1' is not a valid file!"
|
||||
fi
|
||||
}
|
||||
extract() {
|
||||
if [ -f "$1" ]; then
|
||||
case "$1" in
|
||||
*.tar.bz2) tar xvjf "$1" ;;
|
||||
*.tar.gz) tar xvzf "$1" ;;
|
||||
*.bz2) bunzip2 "$1" ;;
|
||||
*.rar) unrar x "$1" ;;
|
||||
*.gz) gunzip "$1" ;;
|
||||
*.tar) tar xvf "$1" ;;
|
||||
*.tbz2) tar xvjf "$1" ;;
|
||||
*.tgz) tar xvzf "$1" ;;
|
||||
*.zip) unzip "$1" ;;
|
||||
*.Z) uncompress "$1" ;;
|
||||
*.7z) 7z x "$1" ;;
|
||||
*) echo "don't know how to extract '$1'..." ;;
|
||||
esac
|
||||
else
|
||||
echo "'$1' is not a valid file!"
|
||||
fi
|
||||
}
|
||||
|
||||
# function to return uptime in a human readable format
|
||||
myuptime () {
|
||||
uptime | awk '{ print "Uptime:", $3, $4, $5 }' | sed 's/,//g'
|
||||
return;
|
||||
myuptime() {
|
||||
uptime | awk '{ print "Uptime:", $3, $4, $5 }' | sed 's/,//g'
|
||||
return
|
||||
}
|
||||
|
||||
# function to check whether a specific host is up
|
||||
isup(){
|
||||
if ! [ -z "$1" ]; then
|
||||
ping -c 3 $1 > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "$1 seems to be offline";
|
||||
else
|
||||
echo "$1 seems to be online";
|
||||
fi
|
||||
fi
|
||||
isup() {
|
||||
if ! [ -z "$1" ]; then
|
||||
ping -c 3 $1 >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "$1 seems to be offline"
|
||||
else
|
||||
echo "$1 seems to be online"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# function to print a line across the screen
|
||||
printLine(){
|
||||
printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' -
|
||||
printLine() {
|
||||
printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' -
|
||||
}
|
||||
|
||||
# function to kill a port
|
||||
killport () {
|
||||
if [ -z "$1" ] ; then
|
||||
echo "please specify a port to kill"
|
||||
else
|
||||
fuser -k $1/tcp
|
||||
fi
|
||||
killport() {
|
||||
if [ -z "$1" ]; then
|
||||
echo "please specify a port to kill"
|
||||
else
|
||||
fuser -k "$1/tcp"
|
||||
fi
|
||||
}
|
||||
|
||||
# function to switch kubernetes namespace
|
||||
kubenamespaceswitch () {
|
||||
if [ -z "$1" ] ; then
|
||||
echo "please specify a namespace to switch to"
|
||||
else
|
||||
kubectl config set-context --current --namespace=$1
|
||||
fi
|
||||
# merges all pdfs in current directory into a new pdf
|
||||
mergepdf() {
|
||||
if [ -z "$1" ]; then
|
||||
echo "please provide an output name for your pdf file: mergepdf out.pdf"
|
||||
else
|
||||
pdfunite ./*.pdf "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
# function to switch kubernetes context
|
||||
kubecontextswitch () {
|
||||
if [ -z "$1" ] ; then
|
||||
echo "please specify a context to switch to, the following contexts are available:"
|
||||
kubectl config get-contexts
|
||||
else
|
||||
kubectl config use-context "$1"
|
||||
fi
|
||||
# sign a file using the signing key
|
||||
signfile() {
|
||||
if [ -z "$1" ]; then
|
||||
echo "please provide a file to sign: signfile file-to-sign.pdf"
|
||||
else
|
||||
ssh-keygen -Y sign -f ~/.ssh/signing-key.pub -n file "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
# function to switch to a different azure kubernetes cluster
|
||||
azkubeswitch () {
|
||||
if [ -z "$2" ] ; then
|
||||
echo "please execute with the following params: azkubeswitch {resourcegroupname} {clustername}"
|
||||
else
|
||||
az aks get-credentials --resource-group $1 --name $2
|
||||
fi
|
||||
}
|
||||
alias "set-timezone-romania"='timedatectl set-timezone Europe/Bucharest'
|
||||
alias "set-timezone-netherlands"=' timedatectl set-timezone Europe/Amsterdam'
|
||||
|
18
bash/.aliases/docker.sh
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
# useful docker commands
|
||||
alias stop-dockers='if [ $(docker ps -aq | wc -l) != 0 ]; then docker stop $(docker ps -aq); fi'
|
||||
alias docker-clean-containers='docker container prune -f --filter "until=48h"'
|
||||
alias docker-clean-images='docker image prune -a -f --filter "until=48h"'
|
||||
alias docker-clean-volumes='docker volume prune -f --filter "label!=keep"'
|
||||
alias docker-clean-networks='docker network prune -f --filter "until=24h"'
|
||||
alias docker-clean-all='stop-dockers && docker-clean-containers && docker-clean-images && docker-clean-volumes && docker-clean-networks'
|
||||
|
||||
# useful dockers
|
||||
alias phpserver='docker run --rm -p 2000:80 -v "$PWD":/var/www/html mastermindzh/php-xdebug'
|
||||
alias nodeserver='docker run --rm -p 3000:3000 -v "$PWD":/app mastermindzh/generic_node'
|
||||
alias reactserver='docker run --rm -p 8080:8080 -v "$PWD":/app mastermindzh/generic_node'
|
||||
alias mongoserver='docker run -d --rm -p 27017:27017 --name mongo-server -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123 -v ~/.db/mongo:/data/db mongo'
|
||||
alias sqlserver='docker run --rm --name sql-server -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Your_Password123" -p 1433:1433 -v ~/.db/mssql:/var/opt/mssql mcr.microsoft.com/mssql/server'
|
||||
alias mailcatcher='docker run -d -p 1080:1080 -p 1025:1025 --name mailcatcher schickling/mailcatcher'
|
||||
alias openwebui='docker run --rm -d -p 3004:8080 -v ~/.ollama:/root/.ollama -v ~/.open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:ollama'
|
||||
alias postgresdb='docker run --rm -d -v ~/.db/postgres:/var/lib/postgresql/data -e POSTGRES_PASSWORD=admin -e POSTGRES_USER=admin -e POSTGRES_DB=postgres --name="postgres" -p 5432:5432 postgres'
|
50
bash/.aliases/kubernetes.sh
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
# Kubernetes commands
|
||||
alias mkubectl='microk8s.kubectl'
|
||||
alias kubestart='microk8s.start'
|
||||
alias kubestop='microk8s.stop'
|
||||
alias kubecontexts='kubectl config get-contexts'
|
||||
|
||||
# function to switch kubernetes namespace
|
||||
kubenamespaceswitch() {
|
||||
if [ -z "$1" ]; then
|
||||
echo "please specify a namespace to switch to"
|
||||
else
|
||||
kubectl config set-context --current --namespace="$1"
|
||||
fi
|
||||
}
|
||||
|
||||
# function to switch kubernetes context
|
||||
kubecontextswitch() {
|
||||
if [ -z "$1" ]; then
|
||||
echo "please specify a context to switch to, the following contexts are available:"
|
||||
kubectl config get-contexts
|
||||
else
|
||||
kubectl config use-context "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
# function to switch to a different azure kubernetes cluster
|
||||
azkubeswitch() {
|
||||
if [ -z "$2" ]; then
|
||||
echo "please execute with the following params: azkubeswitch {resourcegroupname} {clustername}"
|
||||
else
|
||||
az aks get-credentials --resource-group "$1" --name "$2"
|
||||
fi
|
||||
}
|
||||
|
||||
# get old resources from kubernetes
|
||||
kube-get-old() {
|
||||
if [ -z "$1" ]; then
|
||||
echo "please provide a resource type, examples:"
|
||||
echo " kube-get-old pods"
|
||||
echo " kube-get-old namespaces"
|
||||
echo ""
|
||||
echo "you can pass extra arguments as the second param, examples:"
|
||||
echo " kube-get-old pods --all-namespaces"
|
||||
echo ' kube-get-old namespaces "--all-namespaces --second"'
|
||||
else
|
||||
|
||||
kubectl get "$1" ${2:+"$2"} -o go-template --template '{{range .items}}{{.metadata.name}} {{.metadata.creationTimestamp}}{{"\n"}}{{end}}' | awk -v twoWeeksAgo="date -d '-14 days'" -F':' '$2<twoWeeksAgo' | awk '{print $1}'
|
||||
fi
|
||||
}
|
4
bash/.aliases/node.sh
Normal file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
alias clean-node-modules='find . -not -path "*/.*" -name "node_modules" -type d -print0 | xargs -0 rm -rf'
|
||||
alias organize-package-json='npx format-package -w && npx sort-package-json'
|
43
bash/.bashrc
@@ -1,13 +1,8 @@
|
||||
# if powerline-shell is available use it.
|
||||
function _update_ps1() {
|
||||
if hash powerline-rs 2>/dev/null; then
|
||||
PS1="$(powerline-rs --shell bash $?)"
|
||||
fi
|
||||
}
|
||||
#!/bin/bash
|
||||
|
||||
# sourceIfExists
|
||||
function sourceIfExists () {
|
||||
[[ -f "$1" ]] && source "$1"
|
||||
function sourceIfExists() {
|
||||
[[ -f "$1" ]] && source "$1"
|
||||
}
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
@@ -16,27 +11,29 @@ function sourceIfExists () {
|
||||
source ~/.alias
|
||||
source ~/.custom
|
||||
source ~/.variables
|
||||
|
||||
sourceIfExists ~/.env
|
||||
sourceIfExists /usr/share/nvm/init-nvm.sh
|
||||
sourceIfExists ~/lib/azure-cli/az.completion
|
||||
eval "$(thefuck --alias)"
|
||||
eval "$(oh-my-posh init bash --config ~/.config/poshthemes/mastermindzh.yaml)"
|
||||
|
||||
# evals
|
||||
eval $(keychain --eval --quiet ~/.ssh/id_rsa)
|
||||
eval "$(pyenv init -)"
|
||||
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||
|
||||
if hash dotnet 2>/dev/null; then
|
||||
export DOTNET_ROOT=/usr/share/dotnet
|
||||
export MSBuildSDKsPath=$DOTNET_ROOT/sdk/$(${DOTNET_ROOT}/dotnet --version)/Sdks
|
||||
export PATH="${PATH}:${DOTNET_ROOT}:~/.dotnet/tools"
|
||||
# load keychain with private key
|
||||
if test -f "$HOME/.ssh/id_ed25519"; then
|
||||
eval "$(keychain --eval --quiet ~/.ssh/id_ed25519)"
|
||||
else
|
||||
# fallback to older rsa
|
||||
eval "$(keychain --eval --quiet ~/.ssh/id_rsa)"
|
||||
fi
|
||||
|
||||
PS1='[\u@\h \W]\$ '
|
||||
eval "$(pyenv init -)"
|
||||
|
||||
if [[ $TERM != linux && ! $PROMPT_COMMAND =~ _update_ps1 ]]; then
|
||||
PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
|
||||
if hash dotnet 2>/dev/null; then
|
||||
export DOTNET_ROOT=/usr/share/dotnet
|
||||
MSBuildSDKsPathVersion=$(${DOTNET_ROOT}/dotnet --version)
|
||||
export MSBuildSDKsPath=$DOTNET_ROOT/sdk/$MSBuildSDKsPathVersion/Sdks
|
||||
export PATH="${PATH}:${DOTNET_ROOT}:~/.dotnet/tools"
|
||||
fi
|
||||
|
||||
export PATH=$PATH:/home/mastermindzh/bin
|
||||
|
||||
|
@@ -1,3 +1,16 @@
|
||||
{
|
||||
"segments": ["virtual_env", "ssh", "cwd", "git", "hg", "jobs", "root"]
|
||||
"segments": [
|
||||
"virtual_env",
|
||||
"ssh",
|
||||
"cwd",
|
||||
"git",
|
||||
"jobs",
|
||||
"root"
|
||||
],
|
||||
"cwd": {
|
||||
"max_depth": 5
|
||||
},
|
||||
"vcs": {
|
||||
"show_symbol": "true"
|
||||
}
|
||||
}
|
||||
|
@@ -9,7 +9,6 @@ fi
|
||||
# declare variables
|
||||
MY_SERVER_LOCATION="//10.10.1.11"
|
||||
MOUNT_PREFIX="/mnt"
|
||||
USERNAME="mastermindzh"
|
||||
|
||||
# check whether array contains a key
|
||||
containsElement() {
|
||||
@@ -71,6 +70,26 @@ declare -A MOUNTS9=(
|
||||
[share]="emulation"
|
||||
[mount]="emulation"
|
||||
)
|
||||
declare -A MOUNTS10=(
|
||||
[server]="$MY_SERVER_LOCATION"
|
||||
[share]="audiobooks"
|
||||
[mount]="audiobooks"
|
||||
)
|
||||
declare -A MOUNTS11=(
|
||||
[server]="$MY_SERVER_LOCATION"
|
||||
[share]="games"
|
||||
[mount]="games"
|
||||
)
|
||||
declare -A MOUNTS12=(
|
||||
[server]="$MY_SERVER_LOCATION"
|
||||
[share]="data"
|
||||
[mount]="data"
|
||||
)
|
||||
declare -A MOUNTS13=(
|
||||
[server]="$MY_SERVER_LOCATION"
|
||||
[share]="vault"
|
||||
[mount]="vault"
|
||||
)
|
||||
# declare array with "objects"
|
||||
declare -n MOUNTS
|
||||
|
||||
@@ -121,10 +140,10 @@ for MOUNTS in ${!MOUNTS@}; do
|
||||
SERVER_LOCATION="$MY_SERVER_LOCATION/${MOUNTS[share]}"
|
||||
MOUNT_LOCATION="$MOUNT_PREFIX/${MOUNTS[mount]}"
|
||||
|
||||
mount.cifs "$SERVER_LOCATION" "$MOUNT_LOCATION" -o user=mastermindzh,noperm,rw
|
||||
mount.cifs "$SERVER_LOCATION" "$MOUNT_LOCATION" -o user=mastermindzh,noperm,rw,vers=2.0
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Succesfully mounted $MOUNT_LOCATION"
|
||||
echo "Successfully mounted $MOUNT_LOCATION"
|
||||
else
|
||||
echo "Failed mounting $SERVER_LOCATION on $MOUNT_LOCATION"
|
||||
fi
|
||||
|
51
bash/rofi/docker.sh
Normal file
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
#Set default terminal emulator
|
||||
TERMINAL_APP=xfce4-terminal
|
||||
CUSTOM_SCRIPTS_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)/custom"
|
||||
|
||||
function execInTerminal {
|
||||
$TERMINAL_APP -H -e "$1"
|
||||
}
|
||||
|
||||
function getExtraActions {
|
||||
local custom_scripts=""
|
||||
if [ -d "$CUSTOM_SCRIPTS_DIR" ]; then
|
||||
for file in "$CUSTOM_SCRIPTS_DIR"/*; do
|
||||
custom_scripts="$custom_scripts\n$(basename "$file")"
|
||||
done
|
||||
fi
|
||||
echo "$custom_scripts"
|
||||
}
|
||||
|
||||
selected_container=$(docker ps --format "table {{.Names}}\t{{.Image}}\t{{.ID}}" | sed '1d' | rofi -p "🥡 Running containers " -dmenu)
|
||||
container_options_attach="Attach"
|
||||
container_options_stop="Stop"
|
||||
container_options_logs="Logs"
|
||||
container_options_restart="Restart"
|
||||
|
||||
if [[ ! -z $selected_container ]]; then
|
||||
container_id=$(echo "$selected_container" | awk '{ print $3}')
|
||||
container_name=$(echo "$selected_container" | awk '{ print $1}')
|
||||
|
||||
selected_action=$(echo -e "$container_options_attach\n$container_options_logs\n$container_options_restart\n$container_options_stop$(getExtraActions)" | rofi -dmenu -selected-row 0)
|
||||
case $selected_action in
|
||||
"$container_options_attach")
|
||||
execInTerminal "docker exec -it ${container_id} /bin/sh"
|
||||
;;
|
||||
"$container_options_restart")
|
||||
msg=$(docker restart "$container_id")
|
||||
rofi -e "Message from the docker: $msg"
|
||||
;;
|
||||
"$container_options_logs")
|
||||
execInTerminal "docker logs -f ${container_id}"
|
||||
;;
|
||||
"$container_options_stop")
|
||||
msg=$(docker stop "$container_id")
|
||||
rofi -e "Message from the docker: $msg"
|
||||
;;
|
||||
*)
|
||||
bash "$CUSTOM_SCRIPTS_DIR/$selected_action" "$container_name"
|
||||
;;
|
||||
esac
|
||||
fi
|
8
computers/archfw/.Xresources
Normal file
@@ -0,0 +1,8 @@
|
||||
Xft.hinting: true
|
||||
rofi.dpi: 160
|
||||
dpi: 150
|
||||
Xcursor.size: 50
|
||||
Xft.hintstyle: hintslight
|
||||
Xft.rgba: rgba
|
||||
Xft.antialias: true
|
||||
Xft.dpi: 160
|
5
computers/archfw/.bashrc
Normal file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
alias dock='bash ~/dotfiles/computers/archfw/displaySwitch.sh docked'
|
||||
alias undock='bash ~/dotfiles/computers/archfw/displaySwitch.sh undocked'
|
||||
alias displaySwitch='bash ~/dotfiles/computers/archfw/displaySwitch.sh'
|
||||
alias deps='docker-compose -f /home/mastermindzh/code/tfx-workspace/docker-compose.yml up -d'
|
7
computers/archfw/.xsettingsd
Normal file
@@ -0,0 +1,7 @@
|
||||
Xft/Antialias 1
|
||||
Xft/Hinting 1
|
||||
Xft/HintStyle "hintfull"
|
||||
Xft/lcdfilter "lcddefault"
|
||||
Xft/RGBA "rgb"
|
||||
|
||||
Xft/DPI 110592
|
76
computers/archfw/displaySwitch.sh
Normal file
@@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Define the layouts
|
||||
layouts=("undocked" "docked")
|
||||
|
||||
# Define the settings for each layout
|
||||
declare -A undocked_settings=(
|
||||
["Xft.antialias"]="true"
|
||||
["Xft.hinting"]="true"
|
||||
["Xft.rgba"]="rgba"
|
||||
["Xft.hintstyle"]="hintslight"
|
||||
["Xcursor.size"]="50"
|
||||
["Xft.dpi"]="160"
|
||||
["rofi.dpi"]="160"
|
||||
["dpi"]="150"
|
||||
)
|
||||
|
||||
declare -A docked_settings=(
|
||||
["Xft.antialias"]="true"
|
||||
["Xft.hinting"]="true"
|
||||
["Xft.rgba"]="rgba"
|
||||
["Xft.hintstyle"]="hintslight"
|
||||
["Xcursor.size"]="25"
|
||||
["Xft.dpi"]="110"
|
||||
["rofi.dpi"]="110"
|
||||
["dpi"]="110"
|
||||
)
|
||||
|
||||
function updateXSettings() {
|
||||
local dpi=$1
|
||||
local dpi_value=$((dpi * 1024))
|
||||
sed -i -E "/Xft\/DPI/s/[0-9]+/$dpi_value/" ~/.xsettingsd
|
||||
killall -HUP xsettingsd
|
||||
}
|
||||
|
||||
function applyLayout() {
|
||||
local layout=$1
|
||||
case $layout in
|
||||
"undocked")
|
||||
xrandr --output eDP --primary --mode 2880x1920 --pos 0x0 --rotate normal --output DisplayPort-0 --off --output DisplayPort-1 --off --output DisplayPort-2 --off --output DisplayPort-3 --off --output DisplayPort-4 --off --output DisplayPort-5 --off --output DisplayPort-6 --off --output DisplayPort-7 --off
|
||||
updateXResources undocked_settings
|
||||
updateXSettings ${undocked_settings["dpi"]}
|
||||
;;
|
||||
"docked")
|
||||
xrandr --output eDP --off --output DisplayPort-0 --off --output DisplayPort-1 --off --output DisplayPort-2 --off --output DisplayPort-3 --primary --mode 2560x1440 --pos 0x0 --rotate normal --output DisplayPort-4 --off --output DisplayPort-5 --off --output DisplayPort-6 --off --output DisplayPort-7 --off
|
||||
updateXResources docked_settings
|
||||
updateXSettings ${docked_settings["dpi"]}
|
||||
;;
|
||||
*)
|
||||
echo "Unknown layout: $layout"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function updateXResources() {
|
||||
local -n settings=$1
|
||||
true >~/.Xresources
|
||||
for key in "${!settings[@]}"; do
|
||||
echo "$key: ${settings[$key]}" >>~/.Xresources
|
||||
done
|
||||
xrdb -merge ~/.Xresources
|
||||
}
|
||||
|
||||
layout=$1
|
||||
if [ -z "$layout" ]; then
|
||||
layout=$(zenity --list --title="Select Monitor Layout" --column="Layout" "${layouts[@]}")
|
||||
fi
|
||||
|
||||
if [ -n "$layout" ]; then
|
||||
applyLayout "$layout"
|
||||
i3-msg restart
|
||||
else
|
||||
echo "No layout selected."
|
||||
exit 1
|
||||
fi
|
5
computers/archfw/install.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
MY_PATH=$PWD/computers/archfw
|
||||
|
||||
# custom (laptop specific) bashrc thingies :)
|
||||
ln -sf "$MY_PATH/.bashrc" ~/.custom
|
6
computers/dev-pc/.Xresources
Normal file
@@ -0,0 +1,6 @@
|
||||
Xft.dpi: 140
|
||||
Xft.antialias: true
|
||||
Xft.hinting: true
|
||||
Xft.rgba: rgb
|
||||
Xft.hintstyle: hintfull
|
||||
Xft.autohint: 0
|
@@ -1,5 +1,6 @@
|
||||
#/bin/bash
|
||||
#!/bin/bash
|
||||
|
||||
MYPATH="$PWD/computers/dev-pc"
|
||||
|
||||
ln -sf "$MYPATH/xprofile.sh" ~/.xprofile
|
||||
ln -sf "$MYPATH/.Xresources" ~/.Xresources
|
||||
|
@@ -1,2 +1,4 @@
|
||||
#!/bin/sh
|
||||
xrandr --output DVI-I-0 --off --output DVI-I-1 --off --output HDMI-0 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output DP-0 --off --output DP-1 --off --output DVI-D-0 --off
|
||||
export GDK_DPI_SCALE=1
|
||||
export ELM_SCALE=1
|
||||
export QT_AUTO_SCREEN_SCALE_FACTOR=1
|
||||
|
9
computers/hparch/.xprofile
Normal file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
# startup stuffs
|
||||
|
||||
#/bin/bash
|
||||
displays=($(xrandr | awk '/ connected /{print $1}'))
|
||||
selected_display="${displays[0]}"
|
||||
xrandr --output "$selected_display" --brightness 0.60
|
||||
|
||||
# power savings
|
3
computers/hparch/install.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
MYPATH=$PWD/computers/hparch
|
||||
ln -sf "$MYPATH/.xprofile" ~/.xprofile
|
@@ -1,4 +0,0 @@
|
||||
Xft.dpi: 108
|
||||
Xft.antialias: 1
|
||||
rofi.dpi: 150
|
||||
Xcursor.size: 12
|
@@ -1,4 +0,0 @@
|
||||
Xft.dpi: 200
|
||||
Xft.antialias: 1
|
||||
rofi.dpi: 250
|
||||
Xcursor.size: 18
|
@@ -1,10 +0,0 @@
|
||||
alias vm='su -c "export QT_AUTO_SCREEN_SCALE_FACTOR= QT_SCREEN_SCALE_FACTORS= QT_SCALE_FACTOR= QT_DEVICE_PIXEL_RATIO= && VBoxManage setextradata Windows10 GUI/HiDPI/UnscaledOutput 1 && sudo VBoxManage startvm Windows10" && exit'
|
||||
alias dock='bash ~/.docked.sh && i3-msg restart'
|
||||
alias undock='bash ~/.undocked.sh && i3-msg restart'
|
||||
alias mountdata='sudo cryptsetup open --type luks /dev/nvme0n1p7 data && sudo mount -t ext4 /dev/mapper/data /home/mastermindzh/data'
|
||||
alias unmountdata='sudo umount /home/mastermindzh/data && sudo cryptsetup close data && sudo sysctl --write vm.drop_caches=3'
|
||||
|
||||
# useful kubernetes (AZURE) commands
|
||||
alias kubernetes-qa='azkubeswitch Inforit.Cloud InforitCluster'
|
||||
alias kubernetes-prod='azkubeswitch Inforit.Cloud Production'
|
||||
alias kubernetes-dev='azkubeswitch Inforit.Cloud Development'
|
@@ -1,3 +0,0 @@
|
||||
#!/bin/sh
|
||||
xrandr --output eDP-1 --mode 2560x1440 --pos 0x0 --rotate normal --output DP-1-2 --off --output HDMI-2 --off --output HDMI-1 --off --output DP-1 --off --output DP-1-3 --off --output DP-2 --off --output DP-1-1 --primary --mode 2560x1440 --pos 2560x0 --rotate normal
|
||||
xrdb -merge ~/.Xresources.docked
|
@@ -1 +0,0 @@
|
||||
QT_AUTO_SCREEN_SCALE_FACTOR=1
|
@@ -1,16 +0,0 @@
|
||||
#/bin/bash
|
||||
|
||||
MYPATH=$PWD/computers/work-xps
|
||||
|
||||
# set up hiDPI
|
||||
sudo ln -sf "$MYPATH/environment" /etc/environment
|
||||
|
||||
# set up docking
|
||||
ln -sf "$MYPATH/Xresources.docked" ~/.Xresources.docked
|
||||
ln -sf "$MYPATH/Xresources.undocked" ~/.Xresources.undocked
|
||||
ln -sf "$MYPATH/docked.sh" ~/.docked.sh
|
||||
ln -sf "$MYPATH/undocked.sh" ~/.undocked.sh
|
||||
ln -sf "$MYPATH/xprofile.sh" ~/.xprofile
|
||||
|
||||
# custom (laptop specific) bashrc thingies :)
|
||||
ln -sf "$MYPATH/custom-bashrc.sh" ~/.custom
|
@@ -1,3 +0,0 @@
|
||||
#!/bin/sh
|
||||
xrandr --output eDP-1 --primary --mode 3840x2160 --pos 0x0 --rotate normal --output DP-1-2 --off --output HDMI-2 --off --output HDMI-1 --off --output DP-1 --off --output DP-1-3 --off --output DP-2 --off --output DP-1-1 --off
|
||||
xrdb -merge /home/mastermindzh/.Xresources.undocked
|
@@ -1,18 +0,0 @@
|
||||
if [ `xrandr | grep -c ' connected '` -eq 2 ]; then
|
||||
source ~/.docked.sh
|
||||
else
|
||||
source ~/.undocked.sh
|
||||
fi
|
||||
|
||||
# startup stuffs
|
||||
displays=($(xrandr | awk '/ connected /{print $1}'))
|
||||
selected_display="${displays[0]}"
|
||||
|
||||
xrandr --output "$selected_display" --brightness 0.75
|
||||
|
||||
# power savings
|
||||
echo 'min_power' > '/sys/class/scsi_host/host0/link_power_management_policy';
|
||||
echo 'min_power' > '/sys/class/scsi_host/host1/link_power_management_policy';
|
||||
echo '1500' > '/proc/sys/vm/dirty_writeback_centisecs';
|
||||
echo 'auto' > '/sys/bus/usb/devices/1-9/power/control';
|
||||
echo 'auto' > '/sys/bus/pci/devices/0000:01:00.0/power/control';
|
8
config/.Xresources
Normal file
@@ -0,0 +1,8 @@
|
||||
Xft.antialias: true
|
||||
Xft.hinting: true
|
||||
Xft.rgba: rgba
|
||||
Xft.hintstyle: hintslight
|
||||
Xcursor.size: 12
|
||||
|
||||
# hi-dpi
|
||||
#Xft.dpi: 120
|
8
config/.bash_profile
Normal file
@@ -0,0 +1,8 @@
|
||||
#
|
||||
# ~/.bash_profile
|
||||
#
|
||||
|
||||
export GOBIN="/home/mastermindzh/.go"
|
||||
export PATH="$PATH:$(go env GOBIN):$(go env GOPATH)/bin"
|
||||
|
||||
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
@@ -1,6 +1,6 @@
|
||||
[user]
|
||||
email = info@rickvanlieshout.com
|
||||
name = Mastermindzh
|
||||
name = Rick van Lieshout
|
||||
[alias]
|
||||
tree = log --graph --decorate --pretty=format:'%ar [%h] %an <%ae> - %s'
|
||||
graph = log --graph --pretty=format:'%C(bold)%h%Creset%C(magenta)%d%Creset %s %C(yellow)<%an> %C(cyan)(%cr)%Creset' --abbrev-commit --date=relative
|
||||
@@ -16,3 +16,8 @@
|
||||
rebase = false
|
||||
[init]
|
||||
defaultBranch = master
|
||||
[filter "lfs"]
|
||||
required = true
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
process = git-lfs filter-process
|
||||
|
@@ -1,3 +0,0 @@
|
||||
init.author.name=Rick van Lieshout
|
||||
init.author.email=info@rickvanlieshout.com
|
||||
init.author.url=http://rickvanlieshout.com
|
35
config/autorandr/postswitch
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
move_workspace() {
|
||||
workspace="$1"
|
||||
output="$2"
|
||||
|
||||
i3-msg "[workspace=\"$workspace\"]" move workspace to output "$output"
|
||||
}
|
||||
export -f move_workspace
|
||||
|
||||
# get primary
|
||||
primary=$(xrandr | awk '/ primary / {print $1}')
|
||||
|
||||
declare -a movers=(
|
||||
"1: "
|
||||
"2: "
|
||||
"3: "
|
||||
"4: "
|
||||
"5: "
|
||||
"6: "
|
||||
"7: "
|
||||
"8: "
|
||||
"9: "
|
||||
"10: "
|
||||
# "11: "
|
||||
"12: "
|
||||
"13: "
|
||||
)
|
||||
|
||||
for workspace in "${movers[@]}"; do
|
||||
move_workspace "$workspace" "$primary" &
|
||||
done
|
||||
|
||||
# restart i3.
|
||||
i3-msg restart
|
8
config/code/sync-settings.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
# current machine's name, optional; it can be used to filter settings or in the commit message
|
||||
hostname: ""
|
||||
profile: main
|
||||
# sync on remote git
|
||||
repository:
|
||||
type: git
|
||||
url: git@github.com:Mastermindzh/code-settings.git
|
||||
branch: master
|
35
config/code/syncLocalSettings.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"ignoreUploadFiles": [
|
||||
"state.*",
|
||||
"syncLocalSettings.json",
|
||||
".DS_Store",
|
||||
"sync.lock",
|
||||
"projects.json",
|
||||
"projects_cache_vscode.json",
|
||||
"projects_cache_git.json",
|
||||
"projects_cache_svn.json",
|
||||
"gpm_projects.json",
|
||||
"gpm-recentItems.json"
|
||||
],
|
||||
"ignoreUploadFolders": [
|
||||
"workspaceStorage",
|
||||
"History",
|
||||
"globalStorage",
|
||||
"GlobalStorage"
|
||||
],
|
||||
"ignoreExtensions": [],
|
||||
"gistDescription": "Visual Studio Code Settings Sync Gist",
|
||||
"downloadPublicGist": false,
|
||||
"supportedFileExtensions": [
|
||||
"json",
|
||||
"code-snippets"
|
||||
],
|
||||
"openTokenLink": true,
|
||||
"disableUpdateMessage": false,
|
||||
"githubEnterpriseUrl": null,
|
||||
"askGistDescription": false,
|
||||
"customFiles": {},
|
||||
"hostName": null,
|
||||
"universalKeybindings": false,
|
||||
"autoUploadDelay": 20
|
||||
}
|
379
config/dunstrc
Normal file
@@ -0,0 +1,379 @@
|
||||
# See dunst(5) for all configuration options
|
||||
|
||||
[global]
|
||||
### Display ###
|
||||
|
||||
# Which monitor should the notifications be displayed on.
|
||||
monitor = 0
|
||||
|
||||
# Display notification on focused monitor. Possible modes are:
|
||||
# mouse: follow mouse pointer
|
||||
# keyboard: follow window with keyboard focus
|
||||
# none: don't follow anything
|
||||
#
|
||||
# "keyboard" needs a window manager that exports the
|
||||
# _NET_ACTIVE_WINDOW property.
|
||||
# This should be the case for almost all modern window managers.
|
||||
#
|
||||
# If this option is set to mouse or keyboard, the monitor option
|
||||
# will be ignored.
|
||||
follow = keyboard
|
||||
history = ctrl+shift+n
|
||||
|
||||
### Geometry ###
|
||||
|
||||
# dynamic (0, 300) or fixed 300
|
||||
width = (0, 400)
|
||||
height = (0, 300)
|
||||
origin = top-right
|
||||
offset = 10x50
|
||||
scale = 0
|
||||
|
||||
# Maximum number of notification (0 means no limit)
|
||||
notification_limit = 0
|
||||
|
||||
### Progress bar ###
|
||||
|
||||
progress_bar = true
|
||||
|
||||
# Set the progress bar height. This includes the frame, so make sure
|
||||
# it's at least twice as big as the frame width.
|
||||
progress_bar_height = 10
|
||||
|
||||
# Set the frame width of the progress bar
|
||||
progress_bar_frame_width = 1
|
||||
|
||||
# Set the minimum width for the progress bar
|
||||
progress_bar_min_width = 0
|
||||
|
||||
# Set the maximum width for the progress bar
|
||||
progress_bar_max_width = 300
|
||||
|
||||
highlight = "#FF79C6"
|
||||
|
||||
|
||||
# Show how many messages are currently hidden (because of
|
||||
# notification_limit).
|
||||
indicate_hidden = no
|
||||
|
||||
# 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 = 0
|
||||
|
||||
# Draw a line of "separator_height" pixel height between two
|
||||
# notifications.
|
||||
# Set to 0 to disable.
|
||||
separator_height = 1
|
||||
|
||||
# Padding between text and separator.
|
||||
padding = 8
|
||||
|
||||
# Horizontal padding.
|
||||
horizontal_padding = 10
|
||||
|
||||
# Padding between text and icon.
|
||||
text_icon_padding = 0
|
||||
|
||||
# Defines width in pixels of frame around the notification window.
|
||||
# Set to 0 to disable.
|
||||
frame_width = 1
|
||||
|
||||
# Defines color of the frame around the notification window.
|
||||
frame_color = "#bd93f9"
|
||||
|
||||
# Define a color for the separator.
|
||||
# possible values are:
|
||||
# * auto: dunst tries to find a color fitting to the background;
|
||||
# * 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 = frame
|
||||
|
||||
# Sort messages by urgency.
|
||||
sort = yes
|
||||
|
||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||
# for longer than idle_threshold seconds.
|
||||
# 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
|
||||
|
||||
### Text ###
|
||||
|
||||
font = Ubuntu 11
|
||||
|
||||
# The spacing between lines. If the height is smaller than the
|
||||
# font height, it will get raised to the font height.
|
||||
line_height = 0
|
||||
|
||||
# Possible values are:
|
||||
# full: Allow a small subset of html markup in notifications:
|
||||
# <b>bold</b>
|
||||
# <i>italic</i>
|
||||
# <s>strikethrough</s>
|
||||
# <u>underline</u>
|
||||
#
|
||||
# For a complete reference see
|
||||
# <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
|
||||
# server. Dunst will try to strip the markup but the parsing is
|
||||
# simplistic so using this option outside of matching rules for
|
||||
# specific applications *IS GREATLY DISCOURAGED*.
|
||||
#
|
||||
# no: Disable markup parsing, incoming notifications will be treated as
|
||||
# plain text. Dunst will not advertise that it has the body-markup
|
||||
# capability if this is set as a global setting.
|
||||
#
|
||||
# It's important to note that markup inside the format option will be parsed
|
||||
# regardless of what this is set to.
|
||||
markup = full
|
||||
|
||||
# The format of the message. Possible variables are:
|
||||
# %a appname
|
||||
# %s summary
|
||||
# %b body
|
||||
# %i iconname (including its path)
|
||||
# %I iconname (without its path)
|
||||
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||
# %n progress value if set without any extra characters
|
||||
# %% Literal %
|
||||
# Markup is allowed
|
||||
format = "%s %p\n%b"
|
||||
|
||||
# Alignment of message text.
|
||||
# Possible values are "left", "center" and "right".
|
||||
alignment = left
|
||||
|
||||
# Vertical alignment of message text and icon.
|
||||
# Possible values are "top", "center" and "bottom".
|
||||
vertical_alignment = center
|
||||
|
||||
# Show age of message if message is older than show_age_threshold
|
||||
# seconds.
|
||||
# Set to -1 to disable.
|
||||
show_age_threshold = 60
|
||||
|
||||
# Specify where to make an ellipsis in long lines.
|
||||
# Possible values are "start", "middle" and "end".
|
||||
ellipsize = middle
|
||||
|
||||
# Ignore newlines '\n' in notifications.
|
||||
ignore_newline = no
|
||||
|
||||
# Stack together notifications with the same content
|
||||
stack_duplicates = no
|
||||
|
||||
# Hide the count of stacked notifications with the same content
|
||||
hide_duplicate_count = false
|
||||
|
||||
# Display indicators for URLs (U) and actions (A).
|
||||
show_indicators = no
|
||||
|
||||
### Icons ###
|
||||
|
||||
# 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 = 0
|
||||
|
||||
# Scale larger icons down to this size, set to 0 to disable
|
||||
max_icon_size = 64
|
||||
|
||||
# Paths to default icons.
|
||||
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
||||
|
||||
### History ###
|
||||
|
||||
# Should a notification popped up from history be sticky or timeout
|
||||
# as if it would normally do.
|
||||
sticky_history = no
|
||||
|
||||
# Maximum amount of notifications kept in history
|
||||
history_length = 5
|
||||
|
||||
### Misc/Advanced ###
|
||||
|
||||
# Browser for opening urls in context menu.
|
||||
browser = /usr/bin/firefox -new-tab
|
||||
|
||||
# Always run rule-defined scripts, even if the notification is suppressed
|
||||
always_run_script = true
|
||||
|
||||
# Define the title of the windows spawned by dunst
|
||||
title = Dunst
|
||||
|
||||
# Define the class of the windows spawned by dunst
|
||||
class = Dunst
|
||||
|
||||
# Define the corner radius of the notification window
|
||||
# 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 = 10
|
||||
|
||||
# Ignore the dbus closeNotification message.
|
||||
# Useful to enforce the timeout set by dunst configuration. Without this
|
||||
# parameter, an application may close the notification sent before the
|
||||
# user defined timeout.
|
||||
ignore_dbusclose = false
|
||||
|
||||
### Wayland ###
|
||||
# These settings are Wayland-specific. They have no effect when using X11
|
||||
|
||||
# Uncomment this if you want to let notications appear under fullscreen
|
||||
# applications (default: overlay)
|
||||
# layer = top
|
||||
|
||||
# Set this to true to use X11 output on Wayland.
|
||||
force_xwayland = false
|
||||
|
||||
### Legacy
|
||||
|
||||
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||
# This setting is provided for compatibility with older nVidia drivers that
|
||||
# do not support RandR and using it on systems that support RandR is highly
|
||||
# discouraged.
|
||||
#
|
||||
# By enabling this setting dunst will not be able to detect when a monitor
|
||||
# is connected or disconnected which might break follow mode if the screen
|
||||
# layout changes.
|
||||
force_xinerama = false
|
||||
|
||||
### mouse
|
||||
|
||||
# Defines list of actions for each mouse event
|
||||
# Possible values are:
|
||||
# * none: Don't do anything.
|
||||
# * do_action: Invoke the action determined by the action_name rule. If there is no
|
||||
# such action, open the context menu.
|
||||
# * open_url: If the notification has exactly one url, open it. If there are multiple
|
||||
# ones, open the context menu.
|
||||
# * close_current: Close current notification.
|
||||
# * close_all: Close all notifications.
|
||||
# * context: Open context menu for the notification.
|
||||
# * 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_right_click = close_all
|
||||
|
||||
# Experimental features that may or may not work correctly. Do not expect them
|
||||
# to have a consistent behaviour across releases.
|
||||
[experimental]
|
||||
# Calculate the dpi to use on a per-monitor basis.
|
||||
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||
# using the resolution and physical size. This might be useful in setups
|
||||
# where there are multiple screens with very different dpi values.
|
||||
per_monitor_dpi = false
|
||||
|
||||
|
||||
[urgency_low]
|
||||
# IMPORTANT: colors have to be defined in quotation marks.
|
||||
# Otherwise the "#" and following would be interpreted as a comment.
|
||||
background = "#282a36"
|
||||
foreground = "#6272a4"
|
||||
timeout = 3
|
||||
# Icon for notifications with low urgency, uncomment to enable
|
||||
#new_icon = /path/to/icon
|
||||
|
||||
[urgency_normal]
|
||||
background = "#282a36"
|
||||
foreground = "#bd93f9"
|
||||
timeout = 5
|
||||
# Icon for notifications with normal urgency, uncomment to enable
|
||||
#new_icon = /path/to/icon
|
||||
|
||||
[urgency_critical]
|
||||
background = "#ff5555"
|
||||
foreground = "#f8f8f2"
|
||||
frame_color = "#ff5555"
|
||||
timeout = 20
|
||||
# Icon for notifications with critical urgency, uncomment to enable
|
||||
#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.
|
||||
#
|
||||
# Messages can be matched by
|
||||
# appname (discouraged, see desktop_entry)
|
||||
# body
|
||||
# category
|
||||
# desktop_entry
|
||||
# icon
|
||||
# match_transient
|
||||
# msg_urgency
|
||||
# stack_tag
|
||||
# summary
|
||||
#
|
||||
# and you can override the
|
||||
# background
|
||||
# foreground
|
||||
# format
|
||||
# frame_color
|
||||
# fullscreen
|
||||
# new_icon
|
||||
# set_stack_tag
|
||||
# set_transient
|
||||
# set_category
|
||||
# timeout
|
||||
# urgency
|
||||
# skip_display
|
||||
# history_ignore
|
||||
# action_name
|
||||
# word_wrap
|
||||
# ellipsize
|
||||
# alignment
|
||||
#
|
||||
# Shell-like globbing will get expanded.
|
||||
#
|
||||
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
||||
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
||||
# the desktop-entry won't get localized.
|
||||
#
|
||||
# SCRIPTING
|
||||
# You can specify a script that gets run when the rule matches by
|
||||
# setting the "script" option.
|
||||
# The script will be called as follows:
|
||||
# script appname summary body icon urgency
|
||||
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||
#
|
||||
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||
# to find fitting options for rules.
|
||||
|
||||
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
||||
# client
|
||||
#[transient_disable]
|
||||
# match_transient = yes
|
||||
# set_transient = no
|
||||
#
|
||||
# Make the handling of transient notifications more strict by making them not
|
||||
# be placed in history.
|
||||
#[transient_history_ignore]
|
||||
# match_transient = yes
|
||||
# history_ignore = yes
|
||||
|
||||
# fullscreen values
|
||||
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||
# delay: displays the new notification, if there is no fullscreen window active
|
||||
# If the notification is already drawn, it won't get undrawn.
|
||||
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||
# withdrawn from screen again and will get delayed like a new notification
|
||||
#[fullscreen_delay_everything]
|
||||
# fullscreen = delay
|
||||
#[fullscreen_show_critical]
|
||||
# msg_urgency = critical
|
||||
# fullscreen = show
|
||||
|
||||
#[espeak]
|
||||
# summary = "*"
|
||||
# script = dunst_espeak.sh
|
8
config/environment
Normal file
@@ -0,0 +1,8 @@
|
||||
#
|
||||
# This file is parsed by pam_env module
|
||||
#
|
||||
# Syntax: simple "KEY=VAL" pairs on separate lines
|
||||
#
|
||||
XCURSOR_THEME="Adwaita"
|
||||
EDITOR="nano"
|
||||
#GTK_THEME=Adwaita-dark
|
10
config/greenclip.toml
Normal file
@@ -0,0 +1,10 @@
|
||||
[greenclip]
|
||||
blacklisted_applications = []
|
||||
enable_image_support = true
|
||||
history_file = "/home/mastermindzh/.cache/greenclip.history"
|
||||
image_cache_directory = "/tmp/greenclip"
|
||||
max_history_length = 50
|
||||
max_selection_size_bytes = 0
|
||||
static_history = []
|
||||
trim_space_from_selection = true
|
||||
use_primary_selection_as_input = false
|
@@ -1,16 +0,0 @@
|
||||
gtk-application-prefer-dark-theme=0
|
||||
gtk-theme-name="Adwaita-dark"
|
||||
gtk-icon-theme-name="Numix"
|
||||
gtk-font-name="Cantarell 11"
|
||||
gtk-cursor-theme-name="elementary"
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=1
|
||||
gtk-menu-images=1
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=1
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle="hintmedium"
|
||||
gtk-xft-rgba="none"
|
19
config/gtk/settings.ini
Normal file
@@ -0,0 +1,19 @@
|
||||
[Settings]
|
||||
gtk-application-prefer-dark-theme=1
|
||||
gtk-theme-name=Adwaita-dark
|
||||
; gtk-theme-name="Dracula"
|
||||
gtk-font-name="Ubuntu 12"
|
||||
gtk-cursor-theme-name="Dracula-cursors"
|
||||
gtk-cursor-theme-size=12
|
||||
gtk-enable-event-sounds=1
|
||||
gtk-enable-input-feedback-sounds=1
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=1
|
||||
gtk-menu-images=1
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle="hintfull"
|
||||
gtk-xft-rgba="none"
|
||||
gtk-decoration-layout=icon:close
|
||||
gtk-enable-animations=true
|
1
config/lens/extensions.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/alebcay/openlens-node-pod-menu
|
@@ -20,14 +20,16 @@ application/x-extension-xht=firefox.desktop
|
||||
#--------------
|
||||
x-scheme-handler/postman=Postman.desktop
|
||||
x-scheme-handler/ssh=ktelnetservice5.desktop
|
||||
x-scheme-handler/msteams=teams-insiders.desktop
|
||||
x-scheme-handler/msteams=teams.desktop
|
||||
x-scheme-handler/discord-478576776990425110=discord-478576776990425110.desktop
|
||||
x-scheme-handler/mailspring=Mailspring.desktop
|
||||
x-scheme-handler/etcher=balena-etcher-electron.desktop
|
||||
x-scheme-handler/tidal=tidal-hifi.desktop
|
||||
|
||||
# files
|
||||
#--------------
|
||||
inode/director=Nautilus.desktop
|
||||
inode/director=thunar.desktop
|
||||
x-scheme-handler/ftb=ftb-app.desktop
|
||||
|
||||
[Added Associations]
|
||||
# browser-stuff
|
||||
@@ -67,10 +69,9 @@ application/javascript=visual-studio-code-insiders.desktop;
|
||||
|
||||
# other
|
||||
#--------------
|
||||
application/zip=org.gnome.Nautilus.desktop;xarchiver.desktop;
|
||||
application/zip=thunar,org.gnome.Nautilus.desktop;xarchiver.desktop;
|
||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document=wps-office-wps.desktop;
|
||||
application/x-remmina=org.gnome.gedit.desktop;org.kde.krdc.desktop;remmina-file.desktop;org.remmina.Remmina.desktop;
|
||||
|
||||
# newly added
|
||||
#--------------
|
||||
|
||||
|
@@ -1,44 +1,40 @@
|
||||
include /usr/share/nano/objc.nanorc
|
||||
include /usr/share/nano/asm.nanorc
|
||||
include /usr/share/nano/autoconf.nanorc
|
||||
include /usr/share/nano/awk.nanorc
|
||||
include /usr/share/nano/changelog.nanorc
|
||||
include /usr/share/nano/cmake.nanorc
|
||||
include /usr/share/nano/c.nanorc
|
||||
include /usr/share/nano/css.nanorc
|
||||
include /usr/share/nano/default.nanorc
|
||||
include /usr/share/nano/elisp.nanorc
|
||||
include /usr/share/nano/nanorc.nanorc
|
||||
include /usr/share/nano/mutt.nanorc
|
||||
include /usr/share/nano/nftables.nanorc
|
||||
include /usr/share/nano/html.nanorc
|
||||
include /usr/share/nano/php.nanorc
|
||||
include /usr/share/nano/tex.nanorc
|
||||
include /usr/share/nano/java.nanorc
|
||||
include /usr/share/nano/email.nanorc
|
||||
include /usr/share/nano/go.nanorc
|
||||
include /usr/share/nano/fortran.nanorc
|
||||
include /usr/share/nano/groff.nanorc
|
||||
include /usr/share/nano/guile.nanorc
|
||||
include /usr/share/nano/html.nanorc
|
||||
include /usr/share/nano/java.nanorc
|
||||
include /usr/share/nano/javascript.nanorc
|
||||
include /usr/share/nano/json.nanorc
|
||||
include /usr/share/nano/lua.nanorc
|
||||
include /usr/share/nano/makefile.nanorc
|
||||
include /usr/share/nano/man.nanorc
|
||||
include /usr/share/nano/markdown.nanorc
|
||||
include /usr/share/nano/nanohelp.nanorc
|
||||
include /usr/share/nano/nanorc.nanorc
|
||||
include /usr/share/nano/nftables.nanorc
|
||||
include /usr/share/nano/objc.nanorc
|
||||
include /usr/share/nano/ocaml.nanorc
|
||||
include /usr/share/nano/patch.nanorc
|
||||
include /usr/share/nano/perl.nanorc
|
||||
include /usr/share/nano/php.nanorc
|
||||
include /usr/share/nano/po.nanorc
|
||||
include /usr/share/nano/python.nanorc
|
||||
include /usr/share/nano/ruby.nanorc
|
||||
include /usr/share/nano/rust.nanorc
|
||||
include /usr/share/nano/sh.nanorc
|
||||
include /usr/share/nano/sql.nanorc
|
||||
include /usr/share/nano/tcl.nanorc
|
||||
include /usr/share/nano/texinfo.nanorc
|
||||
include /usr/share/nano/cmake.nanorc
|
||||
include /usr/share/nano/man.nanorc
|
||||
include /usr/share/nano/css.nanorc
|
||||
include /usr/share/nano/javascript.nanorc
|
||||
include /usr/share/nano/rust.nanorc
|
||||
include /usr/share/nano/autoconf.nanorc
|
||||
include /usr/share/nano/makefile.nanorc
|
||||
include /usr/share/nano/mgp.nanorc
|
||||
include /usr/share/nano/default.nanorc
|
||||
include /usr/share/nano/changelog.nanorc
|
||||
include /usr/share/nano/asm.nanorc
|
||||
include /usr/share/nano/c.nanorc
|
||||
include /usr/share/nano/lua.nanorc
|
||||
include /usr/share/nano/tex.nanorc
|
||||
include /usr/share/nano/xml.nanorc
|
||||
include /usr/share/nano/groff.nanorc
|
||||
include /usr/share/nano/ruby.nanorc
|
||||
include /usr/share/nano/po.nanorc
|
||||
include /usr/share/nano/ocaml.nanorc
|
||||
include /usr/share/nano/json.nanorc
|
||||
include /usr/share/nano/patch.nanorc
|
||||
include /usr/share/nano/sh.nanorc
|
||||
include /usr/share/nano/pov.nanorc
|
||||
include /usr/share/nano/python.nanorc
|
||||
include /usr/share/nano/gentoo.nanorc
|
||||
include /usr/share/nano/guile.nanorc
|
||||
include /usr/share/nano/nanohelp.nanorc
|
||||
include /usr/share/nano/perl.nanorc
|
||||
include /usr/share/nano/spec.nanorc
|
||||
include /usr/share/nano/postgresql.nanorc
|
||||
include /usr/share/nano/debian.nanorc
|
||||
include /usr/share/nano/awk.nanorc
|
||||
include /usr/share/nano/yaml.nanorc
|
||||
|
6
config/networkmanager/09-timezone
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
case "$2" in
|
||||
up)
|
||||
timedatectl set-timezone "$(curl --fail https://ipapi.co/timezone)"
|
||||
;;
|
||||
esac
|
@@ -1,25 +0,0 @@
|
||||
|
||||
slot-allocation = dynamic
|
||||
bubble-expire-timeout = 5sec
|
||||
bubble-vertical-gap = 25px
|
||||
bubble-horizontal-gap = 9px
|
||||
bubble-corner-radius = 45px
|
||||
bubble-icon-size = 30px
|
||||
bubble-gauge-size = 6px
|
||||
bubble-width = 240px
|
||||
bubble-background-color = 131313
|
||||
bubble-background-opacity = 80%
|
||||
text-margin-size = 10px
|
||||
text-title-size = 100%
|
||||
text-title-weight = bold
|
||||
text-title-color = ffffff
|
||||
text-title-opacity = 100%
|
||||
text-body-size = 90%
|
||||
text-body-weight = normal
|
||||
text-body-color = eaeaea
|
||||
text-body-opacity = 100%
|
||||
text-shadow-opacity = 100%
|
||||
location = 1
|
||||
bubble-prevent-fade = 0
|
||||
bubble-close-on-click = 1
|
||||
bubble-as-desktop-bg = 0
|
@@ -15,7 +15,7 @@
|
||||
#LogFile = /var/log/pacman.log
|
||||
#GPGDir = /etc/pacman.d/gnupg/
|
||||
#HookDir = /etc/pacman.d/hooks/
|
||||
HoldPkg = pacman glibc
|
||||
HoldPkg = pacman glibc
|
||||
#XferCommand = /usr/bin/curl -C - -f %u > %o
|
||||
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||
#CleanMethod = KeepInstalled
|
||||
@@ -39,7 +39,7 @@ VerbosePkgLists
|
||||
|
||||
# By default, pacman accepts packages signed by keys that its local keyring
|
||||
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||
SigLevel = Required DatabaseOptional
|
||||
SigLevel = Required DatabaseOptional
|
||||
LocalFileSigLevel = Optional
|
||||
#RemoteFileSigLevel = Required
|
||||
|
||||
@@ -82,9 +82,6 @@ Include = /etc/pacman.d/mirrorlist
|
||||
#[community-testing]
|
||||
#Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[community]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
# If you want to run 32 bit applications on your x86_64 system,
|
||||
# enable the multilib repositories as required here.
|
||||
|
||||
|
@@ -3,4 +3,7 @@
|
||||
#################################
|
||||
|
||||
# Opacity of inactive windows. (0.1 - 1.0)
|
||||
inactive-opacity = 1.0;
|
||||
inactive-opacity = 1.0
|
||||
vsync=true
|
||||
backend="glx"
|
||||
unredir-if-possible=true
|
||||
|
38
config/polybar/bars.ini
Normal file
@@ -0,0 +1,38 @@
|
||||
[bar/main]
|
||||
monitor = ${env:MONITOR:}
|
||||
width = 100%
|
||||
height = 18pt
|
||||
radius = 0
|
||||
padding-right = 0
|
||||
padding-left = 0
|
||||
module-margin = 1
|
||||
separator = |
|
||||
dpi = ${xrdb:Xft.dpi:-1}
|
||||
|
||||
; colors
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
border-color = #00000000
|
||||
separator-foreground = ${colors.disabled}
|
||||
|
||||
; modules
|
||||
modules-left = xworkspaces i3
|
||||
modules-center = tidal
|
||||
modules-right = output-audio weather temperature updates ping battery date
|
||||
; modules-right = output-audio input-audio weather temperature updates ping battery date
|
||||
|
||||
; fonts (fc-list)
|
||||
; offset = height - size / 2 (for vertical center, icons are weird and need to be even numbers)
|
||||
font-0 = Ubuntu regular:style=regular:size=12;3
|
||||
font-1 = FontAwesome:style=Regular;2
|
||||
font-2 = Noto Color Emoji:style=Regular:scale=10;2
|
||||
|
||||
cursor-click = pointer
|
||||
cursor-scroll = ns-resize
|
||||
|
||||
enable-ipc = true
|
||||
tray-position = ${env:TRAY_POSITION:right}
|
||||
|
||||
wm-restack = i3
|
||||
tray-reparent = true
|
||||
; override-redirect = true
|
26
config/polybar/config.ini
Normal file
@@ -0,0 +1,26 @@
|
||||
;==========================================================
|
||||
;
|
||||
;
|
||||
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
|
||||
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
|
||||
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
|
||||
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
|
||||
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
|
||||
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
|
||||
;
|
||||
;
|
||||
; To learn more about how to configure Polybar
|
||||
; go to https://github.com/polybar/polybar
|
||||
;
|
||||
; The README contains a lot of information
|
||||
;
|
||||
;==========================================================
|
||||
|
||||
[settings]
|
||||
screenchange-reload = true
|
||||
pseudo-transparency = true
|
||||
|
||||
; theme
|
||||
include-file = ~/.config/polybar/modules.ini
|
||||
include-file = ~/.config/polybar/themes/dracula.ini
|
||||
include-file = ~/.config/polybar/bars.ini
|
25
config/polybar/launch.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
killall -q polybar
|
||||
|
||||
# Launch Polybar, using default config location ~/.config/polybar/config.ini
|
||||
PRIMARY=$(xrandr --query | grep -i "connected primary" | cut -d" " -f1)
|
||||
export MONITOR=$PRIMARY
|
||||
polybar -r 2>&1 | tee -a /tmp/polybar.log &
|
||||
|
||||
# show-bar on all monitors
|
||||
# idk whether I like this at the moment, I don't really use external displays unless they are the primary or they are duplicated
|
||||
# if type "xrandr"; then
|
||||
# PRIMARY=$(xrandr --query | grep -i "connected primary" | cut -d" " -f1)
|
||||
# for m in $(xrandr --query | grep -i " connected" | cut -d" " -f1); do
|
||||
# export TRAY_POSITION=none
|
||||
# if [[ $m == "$PRIMARY" ]]; then
|
||||
# TRAY_POSITION=right
|
||||
# fi
|
||||
# export MONITOR=$m
|
||||
# polybar -r 2>&1 | tee -a /tmp/polybar.log &
|
||||
# done
|
||||
# else
|
||||
# polybar -r 2>&1 | tee -a /tmp/polybar.log &
|
||||
# fi
|
||||
disown
|
||||
echo "Polybar launched..."
|
189
config/polybar/modules.ini
Normal file
@@ -0,0 +1,189 @@
|
||||
[module/xworkspaces]
|
||||
type = internal/xworkspaces
|
||||
pin-workspaces = true
|
||||
|
||||
label-active = %name%
|
||||
label-active-background = ${colors.background-alt}
|
||||
; label-active-underline= ${colors.primary}
|
||||
label-active-foreground= ${colors.accent}
|
||||
label-active-padding = 1
|
||||
|
||||
label-occupied = %name%
|
||||
label-occupied-padding = 1
|
||||
|
||||
label-urgent = %name%
|
||||
label-urgent-background = ${colors.alert}
|
||||
label-urgent-padding = 1
|
||||
|
||||
label-empty = %name%
|
||||
label-empty-foreground = ${colors.disabled}
|
||||
label-empty-padding = 1
|
||||
|
||||
|
||||
[module/output-audio]
|
||||
type = internal/pulseaudio
|
||||
|
||||
format-volume-prefix = "🔊 "
|
||||
; format-volume-prefix = " "
|
||||
format-volume-prefix-foreground = ${colors.primary}
|
||||
format-volume = <label-volume>
|
||||
|
||||
label-volume = %percentage%%
|
||||
|
||||
|
||||
; label-muted = 🔇 muted
|
||||
label-muted = 🙉 muted
|
||||
label-muted-foreground = ${colors.disabled}
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 2
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.primary}
|
||||
label = %percentage_used:2%%
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.primary}
|
||||
label = %percentage:2%%
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
interval = 1
|
||||
|
||||
date = %Y-%m-%d %H:%M:%S
|
||||
|
||||
format-prefix = "📅 "
|
||||
; format-prefix = " "
|
||||
format-prefix-foreground = ${colors.primary}
|
||||
label =%date%
|
||||
|
||||
[module/temperature]
|
||||
type = internal/temperature
|
||||
|
||||
; Full path of temperature sysfs path
|
||||
; Use `sensors` to find preferred temperature source, then run
|
||||
; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done
|
||||
; to find path to desired file
|
||||
; Default reverts to thermal zone setting
|
||||
; hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
|
||||
|
||||
|
||||
base-temperature = 40
|
||||
warn-temperature = 80
|
||||
|
||||
# format-prefix = " "
|
||||
# format-warn-prefix = " "
|
||||
format-prefix = "🌡️"
|
||||
format-warn-prefix = "🌡️"
|
||||
format-prefix-foreground = ${colors.accent}
|
||||
|
||||
label = %temperature-c%
|
||||
format-warn = <label>
|
||||
|
||||
format-warn-foreground = ${colors.alert}
|
||||
|
||||
|
||||
[module/battery]
|
||||
type = internal/battery
|
||||
full-at = 98
|
||||
battery = BAT1
|
||||
time-format = %H:%M
|
||||
|
||||
format-charging = <animation-charging> <label-charging>
|
||||
label-charging = %percentage%% (%time%)
|
||||
|
||||
format-discharging = <ramp-capacity> <label-discharging>
|
||||
label-discharging = %percentage%% (%time%)
|
||||
|
||||
format-full = <label-full>
|
||||
format-full-prefix = "⚡ "
|
||||
; format-full-prefix = " "
|
||||
format-full-prefix-foreground = #666
|
||||
|
||||
ramp-capacity-0 = ""
|
||||
ramp-capacity-1 = ""
|
||||
ramp-capacity-2 = ""
|
||||
ramp-capacity-3 = ""
|
||||
ramp-capacity-4 = ""
|
||||
ramp-capacity-foreground = ${colors.accent}
|
||||
|
||||
animation-charging-0 = ""
|
||||
animation-charging-1 = ""
|
||||
animation-charging-2 = ""
|
||||
animation-charging-3 = ""
|
||||
animation-charging-4 = ""
|
||||
animation-charging-foreground = ${colors.yellow}
|
||||
animation-charging-framerate = 750
|
||||
|
||||
|
||||
[module/xwindow]
|
||||
type = internal/xwindow
|
||||
format = <label>
|
||||
label-maxlen = 75
|
||||
|
||||
[module/updates]
|
||||
type = custom/script
|
||||
interval = 300
|
||||
exec = "checkupdates 2>/dev/null | wc -l"
|
||||
|
||||
format = "<label>"
|
||||
format-prefix = "📥 "
|
||||
; format-prefix = " "
|
||||
format-prefix-foreground = ${colors.accent}
|
||||
label = %output%
|
||||
|
||||
[module/ping]
|
||||
type = custom/script
|
||||
interval = 60
|
||||
exec = "ping -c 3 8.8.8.8 2>/dev/null | tail -1 | awk '{print $4}' | cut -d '/' -f 2 | cut -f1 -d'.'"
|
||||
|
||||
format = "<label>"
|
||||
format-prefix = "📡 "
|
||||
; format-prefix = " "
|
||||
format-prefix-foreground = ${colors.accent}
|
||||
label = %output%
|
||||
click-left = firefox https://speedtest.net
|
||||
|
||||
[module/weather]
|
||||
type = custom/script
|
||||
interval = 900
|
||||
exec = "curl -s wttr.in/oss?format=1 | grep -v 'Unknown location' || echo ''"
|
||||
|
||||
format = "<label>"
|
||||
format-prefix-foreground = ${colors.accent}
|
||||
label = %output%
|
||||
click-left = xfce4-terminal -H -e "curl wttr.in/oss"
|
||||
|
||||
|
||||
[module/i3]
|
||||
type = internal/i3
|
||||
index-sort = true
|
||||
format = <label-mode>
|
||||
label-mode = %mode%
|
||||
format-foreground = ${colors.alert}
|
||||
|
||||
[module/tidal]
|
||||
type=custom/script
|
||||
interval = 1
|
||||
; format-prefix="🎵 "
|
||||
format-prefix=" "
|
||||
format-prefix-foreground = ${colors.tidal}
|
||||
format-foreground = ${colors.tidal}
|
||||
format = "<label>"
|
||||
label = %output:0:45:...%
|
||||
exec = "~/.config/i3/scripts/tidal-cli.sh info"
|
||||
click-left = "~/.config/i3/scripts/tidal-cli.sh playpause"
|
||||
scroll-up = "~/.config/i3/scripts/tidal-cli.sh next"
|
||||
scrolldown = "~/.config/i3/scripts/tidal-cli.sh previous"
|
||||
click-right = "~/.config/i3/scripts/tidal-cli.sh getLink | xclip -selection clipboard"
|
||||
|
||||
[module/input-audio]
|
||||
type = custom/script
|
||||
exec = ~/.config/polybar/scripts/pulse-microphone.sh
|
||||
tail = true
|
||||
click-left = ~/.config/polybar/scripts/pulse-microphone.sh --toggle &
|
||||
scroll-up = ~/.config/polybar/scripts/pulse-microphone.sh --increase &
|
||||
scroll-down = ~/.config/polybar/scripts/pulse-microphone.sh --decrease &
|
59
config/polybar/scripts/pulse-microphone.sh
Executable file
@@ -0,0 +1,59 @@
|
||||
#!/bin/sh
|
||||
|
||||
status() {
|
||||
MUTED=$(pacmd list-sources | awk '/\*/,EOF {print}' | awk '/muted/ {print $2; exit}')
|
||||
|
||||
if [ "$MUTED" = "yes" ]; then
|
||||
echo "🙊 muted"
|
||||
else
|
||||
OUTPUT=$(pacmd list-sources | grep "\* index:" -A 7 | grep volume | awk -F/ '{print $2}' | awk -F, '{ print $1 }' | tr -d ' ')
|
||||
echo "🎙️ $OUTPUT"
|
||||
fi
|
||||
}
|
||||
|
||||
listen() {
|
||||
status
|
||||
|
||||
LANG=EN
|
||||
pactl subscribe | while read -r event; do
|
||||
if echo "$event" | grep -q "source" || echo "$event" | grep -q "server"; then
|
||||
status
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
toggle() {
|
||||
MUTED=$(pacmd list-sources | awk '/\*/,EOF {print}' | awk '/muted/ {print $2; exit}')
|
||||
DEFAULT_SOURCE=$(pacmd list-sources | awk '/\*/,EOF {print $3; exit}')
|
||||
|
||||
if [ "$MUTED" = "yes" ]; then
|
||||
pactl set-source-mute "$DEFAULT_SOURCE" 0
|
||||
else
|
||||
pactl set-source-mute "$DEFAULT_SOURCE" 1
|
||||
fi
|
||||
}
|
||||
|
||||
increase() {
|
||||
DEFAULT_SOURCE=$(pacmd list-sources | awk '/\*/,EOF {print $3; exit}')
|
||||
pactl set-source-volume "$DEFAULT_SOURCE" +5%
|
||||
}
|
||||
|
||||
decrease() {
|
||||
DEFAULT_SOURCE=$(pacmd list-sources | awk '/\*/,EOF {print $3; exit}')
|
||||
pactl set-source-volume "$DEFAULT_SOURCE" -5%
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
--toggle)
|
||||
toggle
|
||||
;;
|
||||
--increase)
|
||||
increase
|
||||
;;
|
||||
--decrease)
|
||||
decrease
|
||||
;;
|
||||
*)
|
||||
listen
|
||||
;;
|
||||
esac
|
11
config/polybar/themes/dark.ini
Normal file
@@ -0,0 +1,11 @@
|
||||
[colors]
|
||||
background = #1e1e1e
|
||||
background-alt = #252526
|
||||
foreground = #848484
|
||||
primary = #f6f6f7
|
||||
secondary = #f6f6f7
|
||||
alert = #ef5350
|
||||
disabled = #707880
|
||||
accent = #fff
|
||||
yellow = #ebc034
|
||||
tidal = #00ffff
|
11
config/polybar/themes/dracula.ini
Normal file
@@ -0,0 +1,11 @@
|
||||
[colors]
|
||||
background = #282a36
|
||||
background-alt = #BD93F9
|
||||
foreground = #f8f8f2
|
||||
primary = #bd93f9
|
||||
secondary = #ffb86c
|
||||
alert = #ff5555
|
||||
disabled = #6272a4
|
||||
accent = #fff
|
||||
tidal = #50FA7B
|
||||
yellow = #F1FA8C
|
49
config/poshthemes/mastermindzh.yaml
Normal file
@@ -0,0 +1,49 @@
|
||||
# yaml-language-server: $schema=https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json
|
||||
|
||||
blocks:
|
||||
- type: rprompt
|
||||
overflow: hidden
|
||||
segments:
|
||||
- properties:
|
||||
cache_duration: none
|
||||
threshold: 1
|
||||
template: "{{ .FormattedMs }}"
|
||||
foreground: yellow
|
||||
background: transparent
|
||||
type: executiontime
|
||||
style: plain
|
||||
- type: prompt
|
||||
alignment: left
|
||||
segments:
|
||||
- properties:
|
||||
cache_duration: none
|
||||
home_icon: "\uf015 "
|
||||
style: agnoster_short
|
||||
template: "{{ .Path }} "
|
||||
foreground: "#77E4F7"
|
||||
type: path
|
||||
- properties:
|
||||
cache_duration: none
|
||||
fetch_status: true
|
||||
template: "<#ffffff>on</> {{ .HEAD }}{{ if or (.Working.Changed) (.Staging.Changed) }} \uf044 {{end}} "
|
||||
foreground: "#C678DD"
|
||||
type: git
|
||||
style: plain
|
||||
- properties:
|
||||
cache_duration: none
|
||||
fetch_version: true
|
||||
template: " \uf3d3 {{ if .PackageManagerIcon }}{{ .PackageManagerIcon }} {{ end }} {{ .Full }} "
|
||||
foreground: "#98C379"
|
||||
type: node
|
||||
style: plain
|
||||
newline: true
|
||||
- type: prompt
|
||||
alignment: left
|
||||
segments:
|
||||
- properties:
|
||||
cache_duration: none
|
||||
template: "➜ "
|
||||
foreground: "#63F08C"
|
||||
type: text
|
||||
style: plain
|
||||
version: 3
|
61
config/poshthemes/mastermindzh.yaml.bak
Normal file
@@ -0,0 +1,61 @@
|
||||
version: 2
|
||||
blocks:
|
||||
# prompt on the right
|
||||
- type: rprompt
|
||||
overflow: hidden
|
||||
segments:
|
||||
- background: transparent
|
||||
foreground: yellow
|
||||
style: plain
|
||||
template: "{{ .FormattedMs }}"
|
||||
type: executiontime
|
||||
properties:
|
||||
threshold: 1
|
||||
|
||||
# prompt segment
|
||||
- type: prompt
|
||||
alignment: left
|
||||
newline: true
|
||||
segments:
|
||||
- foreground: "#77E4F7"
|
||||
template: "{{ .Path }} "
|
||||
type: path
|
||||
properties:
|
||||
home_icon: " "
|
||||
style: agnoster_short
|
||||
|
||||
# git segment
|
||||
- type: git
|
||||
foreground: "#C678DD"
|
||||
properties:
|
||||
fetch_status: true
|
||||
style: plain
|
||||
# template:
|
||||
# "<#ffffff>on</> {{ .HEAD }}{{ if .Working.Changed }} {{ .Working.String }}{{ end }}{{ if and (.Working.Changed)
|
||||
# (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} {{ .Staging.String
|
||||
# }}{{ end }}"
|
||||
template: "<#ffffff>on</> {{ .HEAD }}{{ if or (.Working.Changed) (.Staging.Changed) }} {{end}} "
|
||||
|
||||
# current language info
|
||||
- type: node
|
||||
foreground: "#98C379"
|
||||
properties:
|
||||
fetch_version: true
|
||||
style: plain
|
||||
template: " {{ if .PackageManagerIcon }}{{ .PackageManagerIcon }} {{ end }} {{ .Full }} "
|
||||
|
||||
- alignment: left
|
||||
segments:
|
||||
- foreground: "#63F08C"
|
||||
style: plain
|
||||
template: "➜ "
|
||||
type: text
|
||||
type: prompt
|
||||
# bash won't play along :)
|
||||
# transient_prompt:
|
||||
# background: transparent
|
||||
# foreground_templates:
|
||||
# - "{{if gt .Code 0}}red{{end}}"
|
||||
# - "{{if eq .Code 0}}magenta{{end}}"
|
||||
# template: "❯ "
|
||||
|
@@ -1,32 +0,0 @@
|
||||
set preview_images true
|
||||
set confirm_on_delete true
|
||||
set column_ratios 1,3,4
|
||||
set viewmode miller
|
||||
set unicode_ellipsis true
|
||||
|
||||
set preview_files true
|
||||
set preview_directories true
|
||||
set collapse_preview true
|
||||
|
||||
# git stuff
|
||||
set vcs_aware false
|
||||
set vcs_backend_git enabled
|
||||
|
||||
# Which files should be hidden? (regular expression)
|
||||
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
|
||||
|
||||
# Show hidden files? You can toggle this by typing 'zh'
|
||||
set show_hidden false
|
||||
|
||||
# Draw borders around columns? (separators, outline, both, or none)
|
||||
# Separators are vertical lines between columns.
|
||||
# Outline draws a box around all the columns.
|
||||
# Both combines the two.
|
||||
set draw_borders both
|
||||
|
||||
# KEY config
|
||||
map <delete> delete
|
||||
map <esc> quit
|
||||
map <C-c> copy
|
||||
map <C-x> cut
|
||||
map <C-v> paste
|
@@ -1,84 +0,0 @@
|
||||
# vim: ft=cfg
|
||||
#
|
||||
# This is the configuration file of "rifle", ranger's file executor/opener.
|
||||
# Each line consists of conditions and a command. For each line the conditions
|
||||
# are checked and if they are met, the respective command is run.
|
||||
#
|
||||
# Syntax:
|
||||
# <condition1> , <condition2> , ... = command
|
||||
#
|
||||
# The command can contain these environment variables:
|
||||
# $1-$9 | The n-th selected file
|
||||
# $@ | All selected files
|
||||
#
|
||||
# If you use the special command "ask", rifle will ask you what program to run.
|
||||
#
|
||||
# Prefixing a condition with "!" will negate its result.
|
||||
# These conditions are currently supported:
|
||||
# match <regexp> | The regexp matches $1
|
||||
# ext <regexp> | The regexp matches the extension of $1
|
||||
# mime <regexp> | The regexp matches the mime type of $1
|
||||
# name <regexp> | The regexp matches the basename of $1
|
||||
# path <regexp> | The regexp matches the absolute path of $1
|
||||
# has <program> | The program is installed (i.e. located in $PATH)
|
||||
# env <variable> | The environment variable "variable" is non-empty
|
||||
# file | $1 is a file
|
||||
# directory | $1 is a directory
|
||||
# number <n> | change the number of this command to n
|
||||
# terminal | stdin, stderr and stdout are connected to a terminal
|
||||
# X | $DISPLAY is not empty (i.e. Xorg runs)
|
||||
#
|
||||
# There are also pseudo-conditions which have a "side effect":
|
||||
# flag <flags> | Change how the program is run. See below.
|
||||
# label <label> | Assign a label or name to the command so it can
|
||||
# | be started with :open_with <label> in ranger
|
||||
# | or `rifle -p <label>` in the standalone executable.
|
||||
# else | Always true.
|
||||
#
|
||||
# Flags are single characters which slightly transform the command:
|
||||
# f | Fork the program, make it run in the background.
|
||||
# | New command = setsid $command >& /dev/null &
|
||||
# r | Execute the command with root permissions
|
||||
# | New command = sudo $command
|
||||
# t | Run the program in a new terminal. If $TERMCMD is not defined,
|
||||
# | rifle will attempt to extract it from $TERM.
|
||||
# | New command = $TERMCMD -e $command
|
||||
# Note: The "New command" serves only as an illustration, the exact
|
||||
# implementation may differ.
|
||||
# Note: When using rifle in ranger, there is an additional flag "c" for
|
||||
# only running the current file even if you have marked multiple files.
|
||||
|
||||
#-------------------------------------------
|
||||
# Websites
|
||||
#-------------------------------------------
|
||||
ext x?html?, has chromium-browser, X, flag f = chromium-browser -- "$@"
|
||||
ext x?html?, has chromium, X, flag f = chromium -- "$@"
|
||||
|
||||
#--------------------------------------------
|
||||
# Video/Audio with a GUI
|
||||
#-------------------------------------------
|
||||
mime ^video, has mpv, X, flag f = mpv -- "$@"
|
||||
mime ^video|audio, has vlc, X, flag f = vlc -- "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Documents
|
||||
#-------------------------------------------
|
||||
ext pdf, has evince, X, flag f = evince -- "$@"
|
||||
ext pdf, has mupdf, X, flag f = mupdf "$@"
|
||||
|
||||
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Image Viewing:
|
||||
#-------------------------------------------
|
||||
mime ^image, has eog, X, flag f = eog -- "$@"
|
||||
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
|
||||
mime ^image, has gimp, X, flag f = gimp -- "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Text files
|
||||
#-------------------------------------------
|
||||
ext xml|json|csv|tex|py|pl|rb|js|sh|php|md|ovpn|txt|cfg|conf = nano -- "$@"
|
||||
|
||||
# The very last action, so that it's never triggered accidentally, is to execute a program:
|
||||
mime application/x-executable = "$1"
|
@@ -1,159 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -o noclobber -o noglob -o nounset -o pipefail
|
||||
IFS=$'\n'
|
||||
|
||||
## If the option `use_preview_script` is set to `true`,
|
||||
## then this script will be called and its output will be displayed in ranger.
|
||||
## Meanings of exit codes:
|
||||
## code | meaning | action of ranger
|
||||
## -----+------------+-------------------------------------------
|
||||
## 0 | success | Display stdout as preview
|
||||
## 1 | no preview | Display no preview at all
|
||||
## 2 | plain text | Display the plain content of the file
|
||||
## 3 | fix width | Don't reload when width changes
|
||||
## 4 | fix height | Don't reload when height changes
|
||||
## 5 | fix both | Don't ever reload
|
||||
## 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview
|
||||
## 7 | image | Display the file directly as an image
|
||||
|
||||
## Script arguments
|
||||
FILE_PATH="${1}" # Full path of the highlighted file
|
||||
PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters)
|
||||
PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters)
|
||||
IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview
|
||||
PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise.
|
||||
|
||||
FILE_EXTENSION="${FILE_PATH##*.}"
|
||||
FILE_EXTENSION_LOWER="$(printf "%s" "${FILE_EXTENSION}" | tr '[:upper:]' '[:lower:]')"
|
||||
|
||||
## Settings
|
||||
HIGHLIGHT_SIZE_MAX=262143 # 256KiB
|
||||
HIGHLIGHT_TABWIDTH=${HIGHLIGHT_TABWIDTH:-8}
|
||||
HIGHLIGHT_STYLE=${HIGHLIGHT_STYLE:-pablo}
|
||||
HIGHLIGHT_OPTIONS="--replace-tabs=${HIGHLIGHT_TABWIDTH} --style=${HIGHLIGHT_STYLE} ${HIGHLIGHT_OPTIONS:-}"
|
||||
PYGMENTIZE_STYLE=${PYGMENTIZE_STYLE:-autumn}
|
||||
|
||||
handle_extension() {
|
||||
case "${FILE_EXTENSION_LOWER}" in
|
||||
# ## Archive
|
||||
# a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\
|
||||
# rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)
|
||||
# atool --list -- "${FILE_PATH}" && exit 5
|
||||
# bsdtar --list --file "${FILE_PATH}" && exit 5
|
||||
# exit 1;;
|
||||
# rar)
|
||||
# ## Avoid password prompt by providing empty password
|
||||
# unrar lt -p- -- "${FILE_PATH}" && exit 5
|
||||
# exit 1;;
|
||||
# 7z)
|
||||
# ## Avoid password prompt by providing empty password
|
||||
# 7z l -p -- "${FILE_PATH}" && exit 5
|
||||
# exit 1;;
|
||||
|
||||
## PDF
|
||||
pdf)
|
||||
## Preview as text conversion
|
||||
pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | fmt -w "${PV_WIDTH}" && exit 5
|
||||
mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | fmt -w "${PV_WIDTH}" && exit 5
|
||||
exiftool "${FILE_PATH}" && exit 5
|
||||
exit 1;;
|
||||
|
||||
## OpenDocument
|
||||
odt|ods|odp|sxw)
|
||||
## Preview as text conversion
|
||||
odt2txt "${FILE_PATH}" && exit 5
|
||||
exit 1;;
|
||||
|
||||
## HTML
|
||||
htm|html|xhtml)
|
||||
## Preview as text conversion
|
||||
w3m -dump "${FILE_PATH}" && exit 5
|
||||
;; # Continue with next handler on failure
|
||||
## JSON
|
||||
json)
|
||||
jq --color-output . "${FILE_PATH}" && exit 5
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
handle_image() {
|
||||
## Size of the preview if there are multiple options or it has to be
|
||||
## rendered from vector graphics. If the conversion program allows
|
||||
## specifying only one dimension while keeping the aspect ratio, the width
|
||||
## will be used.
|
||||
local DEFAULT_SIZE="1920x1080"
|
||||
|
||||
local mimetype="${1}"
|
||||
case "${mimetype}" in
|
||||
## Image
|
||||
image/*)
|
||||
local orientation
|
||||
orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )"
|
||||
## If orientation data is present and the image actually
|
||||
## needs rotating ("1" means no rotation)...
|
||||
if [[ -n "$orientation" && "$orientation" != 1 ]]; then
|
||||
## ...auto-rotate the image according to the EXIF data.
|
||||
convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6
|
||||
fi
|
||||
|
||||
## `w3mimgdisplay` will be called for all images (unless overriden
|
||||
## as above), but might fail for unsupported types.
|
||||
exit 7;;
|
||||
|
||||
esac
|
||||
}
|
||||
|
||||
handle_mime() {
|
||||
local mimetype="${1}"
|
||||
case "${mimetype}" in
|
||||
## Text
|
||||
text/* | */xml)
|
||||
## Syntax highlight
|
||||
if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then
|
||||
exit 2
|
||||
fi
|
||||
if [[ "$( tput colors )" -ge 256 ]]; then
|
||||
local pygmentize_format='terminal256'
|
||||
local highlight_format='xterm256'
|
||||
else
|
||||
local pygmentize_format='terminal'
|
||||
local highlight_format='ansi'
|
||||
fi
|
||||
env HIGHLIGHT_OPTIONS="${HIGHLIGHT_OPTIONS}" highlight \
|
||||
--out-format="${highlight_format}" \
|
||||
--force -- "${FILE_PATH}" && exit 5
|
||||
pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}"\
|
||||
-- "${FILE_PATH}" && exit 5
|
||||
exit 2;;
|
||||
|
||||
## Image
|
||||
image/*)
|
||||
## Preview as text conversion
|
||||
# img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4
|
||||
exiftool "${FILE_PATH}" && exit 5
|
||||
exit 1;;
|
||||
|
||||
## Video and audio
|
||||
video/* | audio/*)
|
||||
mediainfo "${FILE_PATH}" && exit 5
|
||||
exiftool "${FILE_PATH}" && exit 5
|
||||
exit 1;;
|
||||
esac
|
||||
}
|
||||
|
||||
handle_fallback() {
|
||||
echo '----- File Type Classification -----' && file --dereference --brief -- "${FILE_PATH}" && exit 5
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )"
|
||||
if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then
|
||||
handle_image "${MIMETYPE}"
|
||||
fi
|
||||
handle_extension
|
||||
handle_mime "${MIMETYPE}"
|
||||
handle_fallback
|
||||
|
||||
exit 1
|
28
config/rofi/config.rasi
Normal file
@@ -0,0 +1,28 @@
|
||||
configuration {
|
||||
modi: "window,run,ssh,combi,emoji,calc,drun";
|
||||
font: "Ubuntu mono 16";
|
||||
terminal: "xfce4-terminal";
|
||||
ssh-client: "ssh";
|
||||
ssh-command: "{terminal} -e "{ssh-client} {host}"";
|
||||
|
||||
show-icons: true;
|
||||
display-drun: " ";
|
||||
display-run: " ";
|
||||
display-ssh: " ";
|
||||
display-clipboard: " ";
|
||||
display-emoji: " ";
|
||||
display-calc: " ";
|
||||
display-filebrowser: " ";
|
||||
display-window: " ";
|
||||
drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";
|
||||
window-format: "{w} · {c} · {t}";
|
||||
}
|
||||
|
||||
|
||||
/*---- import color theme here ----*/
|
||||
/*@import "~/.config/rofi/themes/dark.rasi"*/
|
||||
@import "~/.config/rofi/themes/dracula.rasi"
|
||||
|
||||
/*---- import theme here ----*/
|
||||
@import "~/.config/rofi/themes/base.rasi"
|
||||
|
@@ -1,162 +0,0 @@
|
||||
/*
|
||||
old color theme
|
||||
----------------
|
||||
State: 'bg', 'fg', 'bgalt', 'hlbg', 'hlfg'
|
||||
----------------------------------------------------------------
|
||||
color-normal: "#1e1e1e, #848484, #1e1e1e, #333333, #f6f6f7";
|
||||
color-urgent: "#333333, #ef5350, #0000ff, #333333, #f6f6f7";
|
||||
color-active: "#333333, #ef5350, #0000ff, #333333, #f6f6f7";
|
||||
color-window: "#1e1e1e, #333333, #333333";
|
||||
*/
|
||||
|
||||
* {
|
||||
/* my vars */
|
||||
background: #1e1e1e;
|
||||
background-color: @background;
|
||||
foreground: #848484;
|
||||
foreground-normal: @foreground;
|
||||
urgent: #333333;
|
||||
active-fg: #ef5350;
|
||||
|
||||
/* background */
|
||||
normal-background: @background;
|
||||
alternate-urgent-background: @background;
|
||||
lightbg: @background;
|
||||
alternate-active-background: @background;
|
||||
alternate-normal-background: @background;
|
||||
selected-normal-background: rgba ( 57, 66, 73, 100 % );
|
||||
|
||||
/* foreground */
|
||||
normal-foreground: @foreground-normal;
|
||||
alternate-normal-foreground: @foreground;
|
||||
selected-normal-foreground: rgba ( 255, 255, 255, 100 % );
|
||||
selected-urgent-foreground: @urgent;
|
||||
active-foreground: @active-fg;
|
||||
urgent-foreground: @red;
|
||||
alternate-urgent-foreground: @urgent-foreground;
|
||||
alternate-active-foreground: @active-foreground;
|
||||
|
||||
|
||||
/* borders */
|
||||
bordercolor: @background;
|
||||
border-color: @background;
|
||||
|
||||
selected-active-foreground: rgba ( 128, 203, 196, 100 % );
|
||||
|
||||
lightfg: rgba ( 88, 104, 117, 100 % );
|
||||
spacing: 2;
|
||||
separatorcolor: rgba ( 30, 37, 41, 100 % );
|
||||
urgent-background: rgba ( 39, 50, 56, 100 % );
|
||||
selected-urgent-background: rgba ( 57, 66, 73, 100 % );
|
||||
active-background: rgba ( 39, 50, 56, 100 % );
|
||||
selected-active-background: rgba ( 57, 66, 73, 100 % );
|
||||
}
|
||||
window {
|
||||
background-color: @background;
|
||||
border: 1;
|
||||
padding: 5;
|
||||
}
|
||||
mainbox {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
message {
|
||||
border: 1px dash 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
padding: 1px ;
|
||||
}
|
||||
textbox {
|
||||
text-color: @foreground;
|
||||
}
|
||||
listview {
|
||||
fixed-height: 0;
|
||||
border: 2px dash 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
spacing: 2px ;
|
||||
scrollbar: true;
|
||||
padding: 2px 0px 0px ;
|
||||
}
|
||||
element {
|
||||
border: 0;
|
||||
padding: 1px ;
|
||||
}
|
||||
element-text {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
element.normal.normal {
|
||||
background-color: @normal-background;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
element.normal.urgent {
|
||||
background-color: @urgent-background;
|
||||
text-color: @urgent-foreground;
|
||||
}
|
||||
element.normal.active {
|
||||
background-color: @active-background;
|
||||
text-color: @active-foreground;
|
||||
}
|
||||
element.selected.normal {
|
||||
background-color: @selected-normal-background;
|
||||
text-color: @selected-normal-foreground;
|
||||
}
|
||||
element.selected.urgent {
|
||||
background-color: @selected-urgent-background;
|
||||
text-color: @selected-urgent-foreground;
|
||||
}
|
||||
element.selected.active {
|
||||
background-color: @selected-active-background;
|
||||
text-color: @selected-active-foreground;
|
||||
}
|
||||
element.alternate.normal {
|
||||
background-color: @alternate-normal-background;
|
||||
text-color: @alternate-normal-foreground;
|
||||
}
|
||||
element.alternate.urgent {
|
||||
background-color: @alternate-urgent-background;
|
||||
text-color: @alternate-urgent-foreground;
|
||||
}
|
||||
element.alternate.active {
|
||||
background-color: @alternate-active-background;
|
||||
text-color: @alternate-active-foreground;
|
||||
}
|
||||
scrollbar {
|
||||
width: 4px ;
|
||||
border: 0;
|
||||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
mode-switcher {
|
||||
border: 2px dash 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
button.selected {
|
||||
background-color: @selected-normal-background;
|
||||
text-color: @selected-normal-foreground;
|
||||
}
|
||||
inputbar {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
padding: 1px ;
|
||||
}
|
||||
case-indicator {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
entry {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
prompt {
|
||||
spacing: 0;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
inputbar {
|
||||
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: ":";
|
||||
margin: 0px 0.3em 0em 0em ;
|
||||
text-color: @normal-foreground;
|
||||
}
|
@@ -1,14 +0,0 @@
|
||||
configuration {
|
||||
modi: "window,run,ssh,combi";
|
||||
font: "monospace 10";
|
||||
terminal: "xfce4-terminal";
|
||||
ssh-client: "ssh";
|
||||
ssh-command: "{terminal} -e "{ssh-client} {host}"";
|
||||
|
||||
/* ! State: 'bg', 'fg', 'bgalt', 'hlbg', 'hlfg'
|
||||
lines: 10;
|
||||
line-padding: 5;
|
||||
*/
|
||||
}
|
||||
|
||||
@theme "~/.config/rofi/mytheme.rasi"
|
216
config/rofi/themes/base.rasi
Normal file
@@ -0,0 +1,216 @@
|
||||
|
||||
/*----Main Window */
|
||||
window {
|
||||
/* properties for window widget */
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 800px;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
/* properties for all widgets */
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
cursor: "default";
|
||||
background-color: @background-colour;
|
||||
}
|
||||
/*----- Main Box -----*/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 30px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
children: [ "inputbar", "listview" ];
|
||||
}
|
||||
/*----- Inputbar -----*/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 0px 0px 10px 10px;
|
||||
border: 0px;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: @background-colour;
|
||||
text-color: @foreground-colour;
|
||||
children: [ "prompt", "entry" ];
|
||||
}
|
||||
prompt {
|
||||
enabled: true;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: "::";
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
entry {
|
||||
enabled: true;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
cursor: text;
|
||||
placeholder: "";
|
||||
placeholder-color: inherit;
|
||||
}
|
||||
/*----- Listview -----*/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 1;
|
||||
lines: 12;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
spacing: 0px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
text-color: @foreground-colour;
|
||||
cursor: "default";
|
||||
}
|
||||
scrollbar {
|
||||
handle-width: 5px ;
|
||||
handle-color: @handle-colour;
|
||||
border-radius: 0px;
|
||||
background-color: @alternate-background;
|
||||
}
|
||||
/*----- Elements -----*/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 5px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
text-color: @foreground-colour;
|
||||
cursor: pointer;
|
||||
}
|
||||
element normal.normal {
|
||||
background-color: var(normal-background);
|
||||
text-color: var(normal-foreground);
|
||||
}
|
||||
element normal.urgent {
|
||||
background-color: var(urgent-background);
|
||||
text-color: var(urgent-foreground);
|
||||
}
|
||||
element normal.active {
|
||||
background-color: var(active-background);
|
||||
text-color: var(active-foreground);
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: var(alternate-background);
|
||||
text-color: var(foreground-colour);
|
||||
}
|
||||
element selected.urgent {
|
||||
background-color: var(selected-urgent-background);
|
||||
text-color: var(selected-urgent-foreground);
|
||||
}
|
||||
element selected.active {
|
||||
background-color: var(selected-active-background);
|
||||
text-color: var(selected-active-foreground);
|
||||
}
|
||||
element alternate.normal {
|
||||
background-color: var(alternate-normal-background);
|
||||
text-color: var(alternate-normal-foreground);
|
||||
}
|
||||
element alternate.urgent {
|
||||
background-color: var(alternate-urgent-background);
|
||||
text-color: var(alternate-urgent-foreground);
|
||||
}
|
||||
element alternate.active {
|
||||
background-color: var(alternate-active-background);
|
||||
text-color: var(alternate-active-foreground);
|
||||
}
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
size: 3ch;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
/*----- Mode Switcher -----*/
|
||||
mode-switcher{
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
text-color: @foreground-colour;
|
||||
}
|
||||
button {
|
||||
padding: 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: @alternate-background;
|
||||
text-color: inherit;
|
||||
cursor: pointer;
|
||||
}
|
||||
button selected {
|
||||
background-color: var(selected-normal-background);
|
||||
text-color: var(selected-normal-foreground);
|
||||
}
|
||||
/*----- Message -----*/
|
||||
message {
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
text-color: @foreground-colour;
|
||||
}
|
||||
textbox {
|
||||
padding: 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: @alternate-background;
|
||||
text-color: @foreground-colour;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
highlight: none;
|
||||
placeholder-color: @foreground-colour;
|
||||
blink: true;
|
||||
markup: true;
|
||||
}
|
||||
error-message {
|
||||
padding: 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: @background-colour;
|
||||
text-color: @foreground-colour;
|
||||
}
|
||||
|
25
config/rofi/themes/dark.rasi
Normal file
@@ -0,0 +1,25 @@
|
||||
* {
|
||||
border-colour: #61AFEFFF;
|
||||
handle-colour: #61AFEFFF;
|
||||
background-colour: #1e1e1e;
|
||||
foreground-colour: #FFFFFFFF;
|
||||
alternate-background: #282B31FF;
|
||||
normal-background: #1e1e1e;
|
||||
normal-foreground: #FFFFFFFF;
|
||||
urgent-background: #E06C75FF;
|
||||
urgent-foreground: #1e1e1e;
|
||||
active-background: #98C379FF;
|
||||
active-foreground: #1e1e1e;
|
||||
selected-normal-background: #61AFEFFF;
|
||||
selected-normal-foreground: #1e1e1e;
|
||||
selected-urgent-background: #98C379FF;
|
||||
selected-urgent-foreground: #1e1e1e;
|
||||
selected-active-background: #E06C75FF;
|
||||
selected-active-foreground: #1e1e1e;
|
||||
alternate-normal-background: #1e1e1e;
|
||||
alternate-normal-foreground: #FFFFFFFF;
|
||||
alternate-urgent-background: #E06C75FF;
|
||||
alternate-urgent-foreground: #1e1e1e;
|
||||
alternate-active-background: #98C379FF;
|
||||
alternate-active-foreground: #1e1e1e;
|
||||
}
|
25
config/rofi/themes/dracula.rasi
Normal file
@@ -0,0 +1,25 @@
|
||||
* {
|
||||
border-colour: #bd93f9;
|
||||
handle-colour: #bd93f9;
|
||||
background-colour: #282a36;
|
||||
foreground-colour: #ffffffff;
|
||||
alternate-background: #6272a4;
|
||||
normal-background: #282a36;
|
||||
normal-foreground: #ffffffff;
|
||||
urgent-background: #ff5555;
|
||||
urgent-foreground: #282a36;
|
||||
active-background: #50FA7B;
|
||||
active-foreground: #282a36;
|
||||
selected-normal-background: #bd93f9;
|
||||
selected-normal-foreground: #282a36;
|
||||
selected-urgent-background: #98c379ff;
|
||||
selected-urgent-foreground: #282a36;
|
||||
selected-active-background: #ff5555;
|
||||
selected-active-foreground: #282a36;
|
||||
alternate-normal-background: #282a36;
|
||||
alternate-normal-foreground: #ffffffff;
|
||||
alternate-urgent-background: #ff5555;
|
||||
alternate-urgent-foreground: #282a36;
|
||||
alternate-active-background: #98c379ff;
|
||||
alternate-active-foreground: #282a36;
|
||||
}
|
128
config/sddm/default.conf
Normal file
@@ -0,0 +1,128 @@
|
||||
[Autologin]
|
||||
# Whether sddm should automatically log back into sessions when they exit
|
||||
Relogin=false
|
||||
|
||||
# Name of session file for autologin session (if empty try last logged in)
|
||||
#Session=
|
||||
|
||||
# Username for autologin session
|
||||
#User=mastermindzh
|
||||
|
||||
[General]
|
||||
# Halt command
|
||||
HaltCommand=/usr/bin/systemctl poweroff
|
||||
|
||||
# Input method module
|
||||
InputMethod=
|
||||
|
||||
# Comma-separated list of Linux namespaces for user session to enter
|
||||
Namespaces=
|
||||
|
||||
# Initial NumLock state. Can be on, off or none.
|
||||
# If property is set to none, numlock won't be changed
|
||||
# NOTE: Currently ignored if autologin is enabled.
|
||||
Numlock=none
|
||||
|
||||
# Reboot command
|
||||
RebootCommand=/usr/bin/systemctl reboot
|
||||
|
||||
[Theme]
|
||||
# Current theme name
|
||||
Current=chili
|
||||
|
||||
# Cursor theme used in the greeter
|
||||
CursorTheme=
|
||||
|
||||
# Number of users to use as threshold
|
||||
# above which avatars are disabled
|
||||
# unless explicitly enabled with EnableAvatars
|
||||
DisableAvatarsThreshold=7
|
||||
|
||||
# Enable display of custom user avatars
|
||||
EnableAvatars=true
|
||||
|
||||
# Global directory for user avatars
|
||||
# The files should be named <username>.face.icon
|
||||
FacesDir=/usr/share/sddm/faces
|
||||
|
||||
# Font used in the greeter
|
||||
Font=
|
||||
|
||||
# Theme directory path
|
||||
ThemeDir=/usr/share/sddm/themes
|
||||
|
||||
[Users]
|
||||
# Default $PATH for logged in users
|
||||
DefaultPath=/usr/local/sbin:/usr/local/bin:/usr/bin
|
||||
|
||||
# Comma-separated list of shells.
|
||||
# Users with these shells as their default won't be listed
|
||||
HideShells=
|
||||
|
||||
# Comma-separated list of users that should not be listed
|
||||
HideUsers=root
|
||||
|
||||
# Maximum user id for displayed users
|
||||
MaximumUid=60513
|
||||
|
||||
# Minimum user id for displayed users
|
||||
MinimumUid=1000
|
||||
|
||||
# Remember the session of the last successfully logged in user
|
||||
RememberLastSession=true
|
||||
|
||||
# Remember the last successfully logged in user
|
||||
RememberLastUser=true
|
||||
|
||||
# When logging in as the same user twice, restore the original session, rather than create a new one
|
||||
ReuseSession=true
|
||||
|
||||
[Wayland]
|
||||
# Enable Qt's automatic high-DPI scaling
|
||||
EnableHiDPI=false
|
||||
|
||||
# Path to a script to execute when starting the desktop session
|
||||
SessionCommand=/usr/share/sddm/scripts/wayland-session
|
||||
|
||||
# Directory containing available Wayland sessions
|
||||
SessionDir=/usr/share/wayland-sessions
|
||||
|
||||
# Path to the user session log file
|
||||
SessionLogFile=.local/share/sddm/wayland-session.log
|
||||
|
||||
[X11]
|
||||
# Path to a script to execute when starting the display server
|
||||
DisplayCommand=/usr/share/sddm/scripts/Xsetup
|
||||
|
||||
# Path to a script to execute when stopping the display server
|
||||
DisplayStopCommand=/usr/share/sddm/scripts/Xstop
|
||||
|
||||
# Enable Qt's automatic high-DPI scaling
|
||||
EnableHiDPI=false
|
||||
|
||||
# The lowest virtual terminal number that will be used.
|
||||
MinimumVT=1
|
||||
|
||||
# Arguments passed to the X server invocation
|
||||
ServerArguments=-nolisten tcp
|
||||
|
||||
# Path to X server binary
|
||||
ServerPath=/usr/bin/X
|
||||
|
||||
# Path to a script to execute when starting the desktop session
|
||||
SessionCommand=/usr/share/sddm/scripts/Xsession
|
||||
|
||||
# Directory containing available X sessions
|
||||
SessionDir=/usr/share/xsessions
|
||||
|
||||
# Path to the user session log file
|
||||
SessionLogFile=.local/share/sddm/xorg-session.log
|
||||
|
||||
# Path to the Xauthority file
|
||||
UserAuthFile=.Xauthority
|
||||
|
||||
# Path to xauth binary
|
||||
XauthPath=/usr/bin/xauth
|
||||
|
||||
# Path to Xephyr binary
|
||||
XephyrPath=/usr/bin/Xephyr
|
@@ -1,35 +0,0 @@
|
||||
[Configuration]
|
||||
BackgroundMode=TERMINAL_BACKGROUND_TRANSPARENT
|
||||
BackgroundDarkness=0.750000
|
||||
MiscAlwaysShowTabs=FALSE
|
||||
MiscBell=FALSE
|
||||
MiscBellUrgent=FALSE
|
||||
MiscBordersDefault=FALSE
|
||||
MiscCursorBlinks=FALSE
|
||||
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
|
||||
MiscDefaultGeometry=132x43
|
||||
MiscInheritGeometry=FALSE
|
||||
MiscMenubarDefault=FALSE
|
||||
MiscMouseAutohide=FALSE
|
||||
MiscMouseWheelZoom=TRUE
|
||||
MiscToolbarDefault=FALSE
|
||||
MiscConfirmClose=FALSE
|
||||
MiscCycleTabs=TRUE
|
||||
MiscTabCloseButtons=TRUE
|
||||
MiscTabCloseMiddleClick=TRUE
|
||||
MiscTabPosition=GTK_POS_TOP
|
||||
MiscHighlightUrls=TRUE
|
||||
MiscMiddleClickOpensUri=FALSE
|
||||
MiscCopyOnSelect=FALSE
|
||||
MiscDefaultWorkingDir=
|
||||
MiscRewrapOnResize=TRUE
|
||||
MiscUseShiftArrowsToScroll=FALSE
|
||||
MiscSlimTabs=TRUE
|
||||
MiscNewTabAdjacent=FALSE
|
||||
ScrollingUnlimited=TRUE
|
||||
ScrollingBar=TERMINAL_SCROLLBAR_NONE
|
||||
MiscShowRelaunchDialog=TRUE
|
||||
ColorCursor=#c5c5c8c8c6c6
|
||||
ColorForeground=#c5c5c8c8c6c6
|
||||
ColorPalette=#28282a2a2e2e;#a5a542424242;#8c8c94944040;#dede93935f5f;#5f5f81819d9d;#858567678f8f;#5e5e8d8d8787;#707078788080;#37373b3b4141;#cccc66666666;#b5b5bdbd6868;#f0f0c6c67474;#8181a2a2bebe;#b2b29494bbbb;#8a8abebeb7b7;#c5c5c8c8c6c6
|
||||
|
1
config/terminal/xfce4-term/terminalrc
Symbolic link
@@ -0,0 +1 @@
|
||||
/home/mastermindzh/dotfiles/config/terminalrc
|
37
config/terminalrc
Normal file
@@ -0,0 +1,37 @@
|
||||
[Configuration]
|
||||
MiscAlwaysShowTabs=FALSE
|
||||
MiscBell=FALSE
|
||||
MiscBellUrgent=FALSE
|
||||
MiscBordersDefault=FALSE
|
||||
MiscCursorBlinks=FALSE
|
||||
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
|
||||
MiscDefaultGeometry=80x24
|
||||
MiscInheritGeometry=FALSE
|
||||
MiscMenubarDefault=FALSE
|
||||
MiscMouseAutohide=FALSE
|
||||
MiscMouseWheelZoom=TRUE
|
||||
MiscToolbarDefault=FALSE
|
||||
MiscConfirmClose=FALSE
|
||||
MiscCycleTabs=TRUE
|
||||
MiscTabCloseButtons=TRUE
|
||||
MiscTabCloseMiddleClick=TRUE
|
||||
MiscTabPosition=GTK_POS_TOP
|
||||
MiscHighlightUrls=TRUE
|
||||
MiscMiddleClickOpensUri=FALSE
|
||||
MiscCopyOnSelect=FALSE
|
||||
MiscShowRelaunchDialog=FALSE
|
||||
MiscRewrapOnResize=TRUE
|
||||
MiscUseShiftArrowsToScroll=FALSE
|
||||
MiscSlimTabs=FALSE
|
||||
MiscNewTabAdjacent=FALSE
|
||||
MiscSearchDialogOpacity=100
|
||||
MiscShowUnsafePasteDialog=FALSE
|
||||
MiscRightClickAction=TERMINAL_RIGHT_CLICK_ACTION_CONTEXT_MENU
|
||||
OverlayScrolling=TRUE
|
||||
ScrollingUnlimited=TRUE
|
||||
BackgroundDarkness=0.750000
|
||||
ScrollingBar=TERMINAL_SCROLLBAR_NONE
|
||||
ColorBackground=#1e1e1e1e1e1e
|
||||
TitleInitial=
|
||||
FontName=Ubuntu Mono 13
|
||||
|
32
config/xfce4/thunar.xml
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="thunar" version="1.0">
|
||||
<property name="last-view" type="string" value="ThunarIconView"/>
|
||||
<property name="last-icon-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_100_PERCENT"/>
|
||||
<property name="last-window-width" type="int" value="1415"/>
|
||||
<property name="last-window-height" type="int" value="1846"/>
|
||||
<property name="last-window-maximized" type="bool" value="true"/>
|
||||
<property name="last-separator-position" type="int" value="439"/>
|
||||
<property name="misc-single-click" type="bool" value="false"/>
|
||||
<property name="misc-thumbnail-mode" type="string" value="THUNAR_THUMBNAIL_MODE_ALWAYS"/>
|
||||
<property name="misc-thumbnail-draw-frames" type="bool" value="false"/>
|
||||
<property name="misc-file-size-binary" type="bool" value="false"/>
|
||||
<property name="misc-text-beside-icons" type="bool" value="false"/>
|
||||
<property name="misc-change-window-icon" type="bool" value="true"/>
|
||||
<property name="shortcuts-icon-emblems" type="bool" value="true"/>
|
||||
<property name="tree-icon-emblems" type="bool" value="true"/>
|
||||
<property name="misc-show-delete-action" type="bool" value="true"/>
|
||||
<property name="last-show-hidden" type="bool" value="false"/>
|
||||
<property name="misc-parallel-copy-mode" type="string" value="THUNAR_PARALLEL_COPY_MODE_ALWAYS"/>
|
||||
<property name="last-splitview-separator-position" type="int" value="589"/>
|
||||
<property name="last-side-pane" type="string" value="THUNAR_SIDEPANE_TYPE_TREE"/>
|
||||
<property name="last-location-bar" type="string" value="ThunarLocationButtons"/>
|
||||
<property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_38_PERCENT"/>
|
||||
<property name="last-details-view-column-widths" type="string" value="50,50,177,50,50,50,50,50,634,50,50,104,50,173"/>
|
||||
<property name="last-sort-column" type="string" value="THUNAR_COLUMN_TYPE"/>
|
||||
<property name="last-sort-order" type="string" value="GTK_SORT_ASCENDING"/>
|
||||
<property name="misc-directory-specific-settings" type="bool" value="true"/>
|
||||
<property name="last-renamer-dialog-width" type="int" value="942"/>
|
||||
<property name="last-renamer-dialog-height" type="int" value="520"/>
|
||||
<property name="last-renamer-dialog-maximized" type="bool" value="false"/>
|
||||
</channel>
|
8
config/xfce4/xfce4-power-manager.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-power-manager" version="1.0">
|
||||
<property name="xfce4-power-manager" type="empty">
|
||||
<property name="brightness-switch" type="int" value="0"/>
|
||||
<property name="brightness-switch-restore-on-exit" type="int" value="-1"/>
|
||||
</property>
|
||||
</channel>
|
8
config/xfce4/xfce4-settings-manager.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-settings-manager" version="1.0">
|
||||
<property name="last" type="empty">
|
||||
<property name="window-width" type="int" value="640"/>
|
||||
<property name="window-height" type="int" value="500"/>
|
||||
</property>
|
||||
</channel>
|
54
config/xfce4/xfce4-terminal.xml
Normal file
@@ -0,0 +1,54 @@
|
||||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-terminal" version="1.0">
|
||||
<property name="background-darkness" type="double" value="0.90000000000000002"/>
|
||||
<property name="color-background" type="string" value="#ffffff"/>
|
||||
<property name="font-name" type="string" value="Ubuntu Mono 14"/>
|
||||
<property name="misc-always-show-tabs" type="bool" value="false"/>
|
||||
<property name="misc-bell" type="bool" value="false"/>
|
||||
<property name="misc-bell-urgent" type="bool" value="false"/>
|
||||
<property name="misc-borders-default" type="bool" value="false"/>
|
||||
<property name="misc-cursor-blinks" type="bool" value="false"/>
|
||||
<property name="misc-cursor-shape" type="string" value="TERMINAL_CURSOR_SHAPE_BLOCK"/>
|
||||
<property name="misc-default-geometry" type="string" value="80x24"/>
|
||||
<property name="misc-inherit-geometry" type="bool" value="false"/>
|
||||
<property name="misc-menubar-default" type="bool" value="false"/>
|
||||
<property name="misc-mouse-autohide" type="bool" value="false"/>
|
||||
<property name="misc-mouse-wheel-zoom" type="bool" value="true"/>
|
||||
<property name="misc-toolbar-default" type="bool" value="false"/>
|
||||
<property name="misc-confirm-close" type="bool" value="false"/>
|
||||
<property name="misc-cycle-tabs" type="bool" value="true"/>
|
||||
<property name="misc-tab-close-buttons" type="bool" value="true"/>
|
||||
<property name="misc-tab-close-middle-click" type="bool" value="true"/>
|
||||
<property name="misc-tab-position" type="string" value="GTK_POS_TOP"/>
|
||||
<property name="misc-highlight-urls" type="bool" value="true"/>
|
||||
<property name="misc-middle-click-opens-uri" type="bool" value="false"/>
|
||||
<property name="misc-copy-on-select" type="bool" value="false"/>
|
||||
<property name="misc-show-relaunch-dialog" type="bool" value="false"/>
|
||||
<property name="misc-rewrap-on-resize" type="bool" value="true"/>
|
||||
<property name="misc-slim-tabs" type="bool" value="false"/>
|
||||
<property name="misc-new-tab-adjacent" type="bool" value="false"/>
|
||||
<property name="misc-search-dialog-opacity" type="uint" value="100"/>
|
||||
<property name="misc-show-unsafe-paste-dialog" type="bool" value="false"/>
|
||||
<property name="misc-right-click-action" type="string" value="TERMINAL_RIGHT_CLICK_ACTION_CONTEXT_MENU"/>
|
||||
<property name="scrolling-bar" type="string" value="TERMINAL_SCROLLBAR_NONE"/>
|
||||
<property name="overlay-scrolling" type="bool" value="true"/>
|
||||
<property name="scrolling-unlimited" type="bool" value="true"/>
|
||||
<property name="title-initial" type="string" value=""/>
|
||||
<property name="background-mode" type="string" value="TERMINAL_BACKGROUND_TRANSPARENT"/>
|
||||
<property name="color-use-theme" type="bool" value="true"/>
|
||||
<property name="font-use-system" type="bool" value="false"/>
|
||||
<property name="color-background-vary" type="bool" value="false"/>
|
||||
<property name="color-foreground" type="string" value="#000000"/>
|
||||
<property name="color-cursor-foreground" type="string" value=""/>
|
||||
<property name="color-cursor" type="string" value=""/>
|
||||
<property name="color-cursor-use-default" type="bool" value="true"/>
|
||||
<property name="color-selection" type="string" value=""/>
|
||||
<property name="color-selection-background" type="string" value=""/>
|
||||
<property name="color-selection-use-default" type="bool" value="true"/>
|
||||
<property name="color-bold" type="string" value=""/>
|
||||
<property name="color-bold-use-default" type="bool" value="true"/>
|
||||
<property name="color-palette" type="string" value="#000000;#cd0000;#00cd00;#cdcd00;#0000cd;#cd00cd;#00cdcd;#e5e5e5;#7f7f7f;#ff0000;#00ff00;#ffff00;#5c5cff;#ff00ff;#00ffff;#ffffff"/>
|
||||
<property name="color-bold-is-bright" type="bool" value="true"/>
|
||||
<property name="tab-activity-color" type="string" value="#aa0000"/>
|
||||
</channel>
|
44
config/xfce4/xsettings.xml
Normal file
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xsettings" version="1.0">
|
||||
<property name="Net" type="empty">
|
||||
<property name="ThemeName" type="string" value="Adwaita-dark"/>
|
||||
<property name="IconThemeName" type="empty"/>
|
||||
<property name="DoubleClickTime" type="empty"/>
|
||||
<property name="DoubleClickDistance" type="empty"/>
|
||||
<property name="DndDragThreshold" type="empty"/>
|
||||
<property name="CursorBlink" type="empty"/>
|
||||
<property name="CursorBlinkTime" type="empty"/>
|
||||
<property name="SoundThemeName" type="empty"/>
|
||||
<property name="EnableEventSounds" type="empty"/>
|
||||
<property name="EnableInputFeedbackSounds" type="empty"/>
|
||||
</property>
|
||||
<property name="Xft" type="empty">
|
||||
<property name="DPI" type="empty"/>
|
||||
<property name="Antialias" type="empty"/>
|
||||
<property name="Hinting" type="empty"/>
|
||||
<property name="HintStyle" type="empty"/>
|
||||
<property name="RGBA" type="empty"/>
|
||||
</property>
|
||||
<property name="Gtk" type="empty">
|
||||
<property name="CanChangeAccels" type="empty"/>
|
||||
<property name="ColorPalette" type="empty"/>
|
||||
<property name="FontName" type="string" value="Ubuntu 10"/>
|
||||
<property name="MonospaceFontName" type="string" value="Ubuntu Mono 10"/>
|
||||
<property name="IconSizes" type="empty"/>
|
||||
<property name="KeyThemeName" type="empty"/>
|
||||
<property name="ToolbarStyle" type="empty"/>
|
||||
<property name="ToolbarIconSize" type="empty"/>
|
||||
<property name="MenuImages" type="empty"/>
|
||||
<property name="ButtonImages" type="empty"/>
|
||||
<property name="MenuBarAccel" type="empty"/>
|
||||
<property name="CursorThemeName" type="empty"/>
|
||||
<property name="CursorThemeSize" type="empty"/>
|
||||
<property name="DecorationLayout" type="empty"/>
|
||||
<property name="DialogsUseHeader" type="empty"/>
|
||||
<property name="TitlebarMiddleClick" type="empty"/>
|
||||
</property>
|
||||
<property name="Gdk" type="empty">
|
||||
<property name="WindowScalingFactor" type="empty"/>
|
||||
</property>
|
||||
</channel>
|
42
dependencies/aur.txt
vendored
@@ -1,19 +1,39 @@
|
||||
visual-studio-code-insiders
|
||||
visual-studio-code-bin
|
||||
i3blocks-contrib
|
||||
enpass-bin
|
||||
insync
|
||||
ttf-font-awesome-4
|
||||
awesome-terminal-fonts-git
|
||||
otf-droid-sans-mono-powerline-git
|
||||
|
||||
downgrade
|
||||
powerline-rs
|
||||
oh-my-posh
|
||||
dive
|
||||
xorg-xev
|
||||
gnome-text-editor
|
||||
chili-sddm-theme
|
||||
awf-gtk4
|
||||
seafile
|
||||
networkmanager-l2tp
|
||||
snapd
|
||||
azure-cli
|
||||
notify-osd-customizable
|
||||
notifyconf
|
||||
xorg-xev
|
||||
nvm
|
||||
hadolint-bin
|
||||
|
||||
dotnet-host-bin
|
||||
sysmontask
|
||||
keychain
|
||||
nomachine
|
||||
otf-droid-sans-mono-powerline-git
|
||||
sysmontask
|
||||
rofi-greenclip
|
||||
|
||||
# audio
|
||||
pipewire-pulse
|
||||
pipewire-alsa
|
||||
pipewire-jack
|
||||
tidal-hifi
|
||||
|
||||
# theme
|
||||
dracula-gtk-theme-full
|
||||
dracula-cursors-git
|
||||
dracula-icons-theme
|
||||
dracula-xresources-git
|
||||
|
||||
# slow stuff
|
||||
azure-cli
|
||||
seafile-client
|
||||
|
189
dependencies/pacman.txt
vendored
@@ -1,53 +1,65 @@
|
||||
#
|
||||
# Core system
|
||||
#
|
||||
base-devel
|
||||
git
|
||||
wget
|
||||
libconfig
|
||||
wmctrl
|
||||
acpi
|
||||
ntp
|
||||
openssh
|
||||
gvfs-smb
|
||||
sddm
|
||||
polkit-gnome
|
||||
gnome-keyring
|
||||
libgnome-keyring
|
||||
python-keyring
|
||||
libsecret
|
||||
seahorse
|
||||
reflector
|
||||
gtk-engines
|
||||
kubectl
|
||||
less
|
||||
smartmontools
|
||||
ethtool
|
||||
|
||||
#
|
||||
# i3wm
|
||||
#
|
||||
i3-gaps
|
||||
i3lock
|
||||
xorg-xrandr
|
||||
|
||||
#
|
||||
# Xorg stuff
|
||||
#
|
||||
xorg-server
|
||||
xorg-xinit
|
||||
mesa
|
||||
i3-gaps
|
||||
rsync
|
||||
i3lock
|
||||
feh
|
||||
scrot
|
||||
arandr
|
||||
xfce4-terminal
|
||||
ttf-font-awesome
|
||||
sushi
|
||||
libconfig
|
||||
compton
|
||||
lxappearance
|
||||
arc-gtk-theme
|
||||
rofi
|
||||
i3blocks
|
||||
wmctrl
|
||||
zenity
|
||||
xorg-xrandr
|
||||
networkmanager
|
||||
eog
|
||||
python
|
||||
python-pip
|
||||
gdm
|
||||
neofetch
|
||||
git
|
||||
scrot
|
||||
acpi
|
||||
imagemagick
|
||||
docker
|
||||
docker-compose
|
||||
htop
|
||||
powertop
|
||||
network-manager-applet
|
||||
pavucontrol
|
||||
alsa-utils
|
||||
ntp
|
||||
xclip
|
||||
openssh
|
||||
xsettingsd
|
||||
|
||||
#
|
||||
# Programming
|
||||
#
|
||||
nodejs
|
||||
npm
|
||||
python
|
||||
python-pip
|
||||
pyenv
|
||||
dotnet-host
|
||||
dotnet-runtime
|
||||
dotnet-sdk
|
||||
aspnet-runtime
|
||||
|
||||
#
|
||||
# Codecs
|
||||
#
|
||||
a52dec
|
||||
faac
|
||||
faad2
|
||||
flac
|
||||
jasper
|
||||
lame
|
||||
libdca
|
||||
libdv
|
||||
libmad
|
||||
@@ -56,27 +68,88 @@ libtheora
|
||||
libvorbis
|
||||
libxv
|
||||
wavpack
|
||||
jasper
|
||||
lame
|
||||
x264
|
||||
xvidcore
|
||||
gvfs-smb
|
||||
gnome-screenshot
|
||||
|
||||
#
|
||||
# Applications
|
||||
#
|
||||
alsa-utils
|
||||
arandr
|
||||
autorandr
|
||||
bash-completion
|
||||
flameshot
|
||||
otf-font-awesome
|
||||
openvpn
|
||||
networkmanager-openvpn
|
||||
ranger
|
||||
w3m
|
||||
system-config-printer
|
||||
nautilus
|
||||
nautilus-share
|
||||
wget
|
||||
pyenv
|
||||
jq
|
||||
firefox
|
||||
dotnet-host
|
||||
dotnet-runtime
|
||||
dotnet-sdk
|
||||
aspnet-runtime
|
||||
bat
|
||||
bitwarden
|
||||
bluez
|
||||
bluez-libs
|
||||
bluez-utils
|
||||
clamav
|
||||
clamtk
|
||||
ctop
|
||||
cups
|
||||
docker
|
||||
docker-compose
|
||||
duf
|
||||
engrampa
|
||||
loupe
|
||||
feh
|
||||
firefox
|
||||
flameshot
|
||||
gtk-engine-murrine
|
||||
gnome-themes-standard
|
||||
gnome-themes-extra
|
||||
htop
|
||||
i3blocks
|
||||
imagemagick
|
||||
jq
|
||||
keychain
|
||||
lxappearance
|
||||
mpv
|
||||
neofetch
|
||||
network-manager-applet
|
||||
networkmanager
|
||||
networkmanager-l2tp
|
||||
obsidian
|
||||
papirus-icon-theme
|
||||
pavucontrol
|
||||
peek
|
||||
picom
|
||||
polybar
|
||||
poppler
|
||||
powertop
|
||||
rofi
|
||||
rofi-emoji
|
||||
rofi-calc
|
||||
xdotool
|
||||
rsync
|
||||
scrot
|
||||
scrot
|
||||
strongswan
|
||||
system-config-printer
|
||||
system-config-printer
|
||||
thefuck
|
||||
thunar
|
||||
thunar-archive-plugin
|
||||
dunst
|
||||
yq
|
||||
ufw
|
||||
gufw
|
||||
w3m
|
||||
blueberry
|
||||
xclip
|
||||
xfce4-terminal
|
||||
xorg-xkill
|
||||
pass
|
||||
evince
|
||||
tlp
|
||||
libreoffice
|
||||
|
||||
# fonts
|
||||
fontconfig
|
||||
noto-fonts-emoji
|
||||
otf-font-awesome
|
||||
ttf-font-awesome
|
||||
ttf-ubuntu-font-family
|
||||
fzf
|
||||
|
5
dependencies/pip.txt
vendored
@@ -1,5 +0,0 @@
|
||||
msrestazure
|
||||
azure.common
|
||||
azure.mgmt
|
||||
azure.mgmt.containerservice
|
||||
azure.graphrbac
|
13
docs/afterinstall.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# after install
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
- [after install](#after-install)
|
||||
- [Set up vscode settings sync](#set-up-vscode-settings-sync)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
## Set up vscode settings sync
|
||||
|
||||
Simply install [zokugun's setting sync](https://github.com/zokugun/vscode-sync-settings).
|
||||
The config file [config/code/sync-settings.yml](./../config/code/sync-settings.yml) will already point to the correct repo
|
220
i3/config
@@ -13,30 +13,19 @@ floating_modifier $mod
|
||||
# Constants #
|
||||
############################################
|
||||
|
||||
set $urgentTextBackgroundColour #a6a6a6
|
||||
set $primaryBackgroundColour #1e1e1e
|
||||
set $secondaryBackgroundColour #252526
|
||||
set $tertiaryBackgroundColour #333333
|
||||
|
||||
set $textColour #848484
|
||||
set $focusedTextColour #f6f6f7
|
||||
|
||||
set $statusLineColour #d1d4e0
|
||||
set $urgentTextColour #ef5350
|
||||
set $indicatorColour #fcc09e
|
||||
|
||||
set $workspace1 "1: "
|
||||
set $workspace1 "1: "
|
||||
set $workspace2 "2: "
|
||||
set $workspace3 "3: "
|
||||
set $workspace4 "4: "
|
||||
set $workspace5 "5: "
|
||||
set $workspace6 "6: "
|
||||
set $workspace7 "7: "
|
||||
set $workspace4 "4: "
|
||||
set $workspace5 "5: "
|
||||
set $workspace6 "6: "
|
||||
set $workspace7 "7: "
|
||||
set $workspace8 "8: "
|
||||
set $workspace9 "9: "
|
||||
set $workspace10 "10: "
|
||||
set $workspace11 " VM/Remote"
|
||||
set $workspace12 " Enpass"
|
||||
set $workspace11 "11: "
|
||||
set $workspace12 "12: "
|
||||
set $workspace13 "13: "
|
||||
|
||||
# scripts
|
||||
set $tidal ~/.config/i3/scripts/tidal-cli.sh
|
||||
@@ -60,6 +49,10 @@ bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
|
||||
# move focused workspace
|
||||
bindsym $mod+Ctrl+Right move workspace to output right
|
||||
bindsym $mod+Ctrl+Left move workspace to output left
|
||||
|
||||
# split in horizontal orientation
|
||||
bindsym $mod+h split h
|
||||
|
||||
@@ -87,49 +80,69 @@ bindsym $mod+Shift+c reload
|
||||
bindsym $mod+Shift+r restart
|
||||
|
||||
# exit i3 (logs you out of your X session)
|
||||
bindsym $mod+Shift+Escape exec "i3-nagbar -t warning -m 'Do you really want to exit i3?' -b 'Yes, exit i3' 'i3-msg exit'"
|
||||
bindsym $mod+Shift+Delete exec "i3-nagbar -t alert -m 'Do you really want to shut down?' -b 'Yes, Shutdown' 'shutdown -h now'"
|
||||
bindsym $mod+Shift+BackSpace exec "i3-nagbar -t error -m 'Do you really want to reboot?' -b 'Yes, Reboot' 'reboot'"
|
||||
set $mode_power "Exit (L)ogout, (R)eboot, (S)hutdown"
|
||||
|
||||
# focus on the parent window
|
||||
bindsym $mod+shift+alt+p focus parent
|
||||
|
||||
# resize window (you can also use the mouse for that)
|
||||
mode "resize" {
|
||||
# These bindings trigger as soon as you enter the resize mode
|
||||
bindsym Left resize shrink width 10 px or 10 ppt
|
||||
bindsym Down resize grow height 10 px or 10 ppt
|
||||
bindsym Up resize shrink height 10 px or 10 ppt
|
||||
bindsym Right resize grow width 10 px or 10 ppt
|
||||
mode $mode_power {
|
||||
bindsym $mod+r exec systemctl reboot
|
||||
bindsym $mod+l exit
|
||||
bindsym $mod+s exec systemctl poweroff
|
||||
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+Shift+Delete mode $mode_power
|
||||
bindsym $mod+Shift+Escape mode $mode_power
|
||||
bindsym $mod+Shift+Backspace mode $mode_power
|
||||
|
||||
# focus on the parent window
|
||||
bindsym $mod+shift+alt+p focus parent
|
||||
|
||||
# resize window (you can also use the mouse for that)
|
||||
mode "resize" {
|
||||
# These bindings trigger as soon as you enter the resize mode
|
||||
bindsym Left resize shrink width 10 px or 10 ppt
|
||||
bindsym Down resize grow height 10 px or 10 ppt
|
||||
bindsym Up resize shrink height 10 px or 10 ppt
|
||||
bindsym Right resize grow width 10 px or 10 ppt
|
||||
|
||||
# back to normal: Enter or Escape
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# Lock the computer
|
||||
bindsym $mod+l exec /bin/bash ~/.config/i3/scripts/i3lock.sh
|
||||
bindsym $mod+l exec /bin/bash ~/.config/i3/scripts/lock.sh
|
||||
|
||||
# Suspend the computer
|
||||
bindsym $mod+shift+l exec /bin/bash ~/.config/i3/scripts/suspend.sh
|
||||
|
||||
# Workspace info popup
|
||||
bindsym $mod+shift+Tab exec /bin/bash ~/dotfiles/i3/scripts/visibleWorkspaces.sh
|
||||
|
||||
############################################
|
||||
# Application Keys #
|
||||
############################################
|
||||
bindsym $mod+Return exec xfce4-terminal # terminal
|
||||
bindsym $mod+e exec nautilus # File manager
|
||||
bindsym $mod+shift+Return exec xfce4-terminal --drop-down # terminal
|
||||
bindsym $mod+e exec thunar # File manager
|
||||
bindsym Print exec flameshot screen -d 0 -p ~/Pictures/Screenshots # Fullscreen screenshot
|
||||
bindsym $mod+Print exec flameshot gui # Show screenshot window
|
||||
bindsym $mod+shift+b exec /bin/bash ~/.config/i3/scripts/brightness.sh
|
||||
bindsym control+shift+Escape exec sysmontask
|
||||
bindsym $mod+Print exec --no-startup-id sh -c 'QT_QPA_PLATFORM=xcb QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_ENABLE_HIGHDPI_SCALING=0 QT_SCALE_FACTOR=1 flameshot gui' # Show screenshot window
|
||||
bindsym $mod+shift+Print exec flameshot launcher # Show settings window (delay) then show screenshot window
|
||||
bindsym $mod+shift+b exec /bin/bash ~/.config/i3/scripts/brightness.sh # set brightness
|
||||
bindsym control+shift+Escape exec sysmontask # system monitor
|
||||
bindsym $mod+BackSpace exec autorandr --change undocked # reset to laptop view
|
||||
|
||||
# Rofi
|
||||
bindsym $mod+d exec "rofi -show run"
|
||||
bindsym $mod+Tab exec "rofi -show"
|
||||
bindsym $mod+d exec "rofi -show drun"
|
||||
bindsym $mod+Tab exec "rofi -show window"
|
||||
bindsym $mod+s exec "rofi -show ssh"
|
||||
bindsym $mod+c exec "rofi -show calc"
|
||||
bindsym $mod+n exec $vpnmanager
|
||||
bindsym $mod+colon exec "rofi -show emoji"
|
||||
bindsym $mod+shift+v exec "rofi -modi 'clipboard:greenclip print' -show clipboard -run-command '{cmd}'"
|
||||
|
||||
############################################
|
||||
@@ -169,6 +182,7 @@ bindsym $mod+9 workspace $workspace9
|
||||
bindsym $mod+0 workspace $workspace10
|
||||
bindsym $mod+w workspace $workspace11
|
||||
bindsym $mod+p workspace $workspace12
|
||||
bindsym $mod+g workspace $workspace13
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace $workspace1
|
||||
@@ -183,41 +197,29 @@ bindsym $mod+Shift+9 move container to workspace $workspace9
|
||||
bindsym $mod+Shift+0 move container to workspace $workspace10
|
||||
bindsym $mod+Shift+w move container to workspace $workspace11
|
||||
bindsym $mod+Shift+p move container to workspace $workspace12
|
||||
|
||||
bindsym $mod+Shift+g move container to workspace $workspace13
|
||||
|
||||
############################################
|
||||
# Appearance settings #
|
||||
############################################
|
||||
# Set the default font
|
||||
font pango:Liberation sans 13
|
||||
|
||||
# Bar decoration
|
||||
bar {
|
||||
status_command i3blocks -c ~/.config/i3/i3blocks.conf
|
||||
position top
|
||||
strip_workspace_numbers no
|
||||
tray_output primary
|
||||
colors {
|
||||
separator $textColour
|
||||
background $primaryBackgroundColour
|
||||
statusline $statusLineColour
|
||||
# border background text
|
||||
focused_workspace $primaryBackgroundColour $primaryBackgroundColour $focusedTextColour
|
||||
active_workspace $primaryBackgroundColour $secondaryBackgroundColour $textColour
|
||||
inactive_workspace $primaryBackgroundColour $primaryBackgroundColour $textColour
|
||||
urgent_workspace $primaryBackgroundColour $primaryBackgroundColour $urgentTextColour
|
||||
}
|
||||
}
|
||||
|
||||
new_window 1pixel
|
||||
font pango:Ubuntu regular 12
|
||||
#new_window 1pixel
|
||||
hide_edge_borders both
|
||||
|
||||
# Window Colours
|
||||
# border background text indicator
|
||||
client.focused $primaryBackgroundColour $primaryBackgroundColour $focusedTextColour $indicatorColour
|
||||
client.focused_inactive $secondaryBackgroundColour $secondaryBackgroundColour $textColour $indicatorColour
|
||||
client.unfocused $secondaryBackgroundColour $secondaryBackgroundColour $textColour $indicatorColour
|
||||
client.urgent $secondaryBackgroundColour $urgentTextBackgroundColour $urgentTextColour $indicatorColour
|
||||
# class border bground text indicator child_border
|
||||
# dark
|
||||
# client.focused #1e1e1e #1e1e1e #f6f6f7 #fcc09e
|
||||
# client.focused_inactive #252526 #252526 #848484 #fcc09e
|
||||
# client.unfocused #252526 #252526 #848484 #fcc09e
|
||||
# client.urgent #252526 #a6a6a6 #ef5350 #fcc09e
|
||||
# dracula
|
||||
client.focused #BD93F9 #BD93F9 #F8F8F2 #BD93F9 #BD93F9
|
||||
client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A
|
||||
client.unfocused #282A36 #282A36 #BFBFBF #282A36 #282A36
|
||||
client.urgent #44475A #FF5555 #F8F8F2 #FF5555 #FF5555
|
||||
client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36
|
||||
|
||||
# Floating windows
|
||||
for_window [class="Pavucontrol"] floating enable
|
||||
@@ -227,26 +229,29 @@ for_window [class="Eog"] floating enable
|
||||
for_window [title="Tidal-hifi - settings"] floating enable
|
||||
for_window [class="Sysmontask"] floating enable
|
||||
for_window [class="Sysmontask"] resize set 930 665
|
||||
for_window [instance="Godot_Engine"] floating enable
|
||||
for_window [class="Alert"] floating enable
|
||||
for_window [class="org.gnome.FileRoller"] floating enable
|
||||
|
||||
############################################
|
||||
# Workspace specific tools #
|
||||
# Use xprop to determine class #
|
||||
############################################
|
||||
assign [class="Franz"] $workspace9
|
||||
assign [class="Enpass-Desktop"] $workspace12
|
||||
assign [class="Bitwarden"] $workspace12 # moves all windows... including the browser popup
|
||||
assign [class="VirtualBox Machine"] $workspace11
|
||||
|
||||
# database stuff
|
||||
assign [class="MongoDB Compass"] $workspace8
|
||||
assign [class="robo3t"] $workspace8
|
||||
assign [class="Brave-browser"] $workspace9
|
||||
assign [class="obsidian"] $workspace7
|
||||
assign [class="Mysql-workbench-bin"] $workspace8
|
||||
assign [class="sqlops"] $workspace8
|
||||
assign [class="azuredatastudio"] $workspace8
|
||||
assign [class="beekeeper"] $workspace8
|
||||
|
||||
############################################
|
||||
# i3-gaps #
|
||||
############################################
|
||||
# Disable window titlebars entirely
|
||||
for_window [class="^.*"] border pixel 2
|
||||
for_window [class="^.*"] border pixel 0
|
||||
|
||||
# Set inner/outer gaps
|
||||
gaps inner 10
|
||||
@@ -255,62 +260,69 @@ gaps inner 10
|
||||
bindsym $mod+Shift+plus gaps inner all plus 5
|
||||
bindsym $mod+Shift+minus gaps inner all minus 5
|
||||
bindsym $mod+Shift+Home gaps inner all set 10
|
||||
bindsym $mod+Shift+a border normal
|
||||
|
||||
# Smart borders (draw borders around container only if it is not the only container on this workspace)
|
||||
# Smart borders (draw borders around container only if it is not the only container on this workspace)
|
||||
smart_borders on
|
||||
|
||||
# Smart gaps (gaps used if only more than one container on the workspace)
|
||||
smart_gaps on
|
||||
|
||||
# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps.
|
||||
# Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace).
|
||||
# Press $mod+Shift+end to enter the gap mode. Choose o or i for modifying outer/inner gaps.
|
||||
# Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace).
|
||||
# If you also press Shift with these keys, the change will be global for all workspaces.
|
||||
set $mode_gaps Gaps: (o) outer, (i) inner
|
||||
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
|
||||
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
|
||||
bindsym $mod+Shift+g mode "$mode_gaps"
|
||||
bindsym $mod+Shift+End mode "$mode_gaps"
|
||||
|
||||
mode "$mode_gaps" {
|
||||
bindsym o mode "$mode_gaps_outer"
|
||||
bindsym i mode "$mode_gaps_inner"
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym o mode "$mode_gaps_outer"
|
||||
bindsym i mode "$mode_gaps_inner"
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
mode "$mode_gaps_inner" {
|
||||
bindsym plus gaps inner current plus 5
|
||||
bindsym minus gaps inner current minus 5
|
||||
bindsym 0 gaps inner current set 0
|
||||
|
||||
bindsym Shift+plus gaps inner all plus 5
|
||||
bindsym Shift+minus gaps inner all minus 5
|
||||
bindsym Shift+0 gaps inner all set 0
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym plus gaps inner current plus 5
|
||||
bindsym minus gaps inner current minus 5
|
||||
bindsym 0 gaps inner current set 0
|
||||
|
||||
bindsym Shift+plus gaps inner all plus 5
|
||||
bindsym Shift+minus gaps inner all minus 5
|
||||
bindsym Shift+0 gaps inner all set 0
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
mode "$mode_gaps_outer" {
|
||||
bindsym plus gaps outer current plus 5
|
||||
bindsym minus gaps outer current minus 5
|
||||
bindsym 0 gaps outer current set 0
|
||||
|
||||
bindsym Shift+plus gaps outer all plus 5
|
||||
bindsym Shift+minus gaps outer all minus 5
|
||||
bindsym Shift+0 gaps outer all set 0
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym plus gaps outer current plus 5
|
||||
bindsym minus gaps outer current minus 5
|
||||
bindsym 0 gaps outer current set 0
|
||||
|
||||
bindsym Shift+plus gaps outer all plus 5
|
||||
bindsym Shift+minus gaps outer all minus 5
|
||||
bindsym Shift+0 gaps outer all set 0
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
############################################
|
||||
# Autorun #
|
||||
############################################
|
||||
# exec_always --no-startup-id picom -b
|
||||
exec_always feh --bg-fill $(find ~/Pictures/wallpapers/ -type f -name "*" | shuf -n 1)
|
||||
exec_always --no-startup-id ~/.config/polybar/launch.sh
|
||||
exec --no-startup-id systemctl --user start xsettingsd
|
||||
exec --no-startup-id i3-msg 'workspace $workspace2; exec xfce4-terminal' && i3-msg 'workspace $workspace1'
|
||||
exec --no-startup-id i3-msg 'workspace $workspace12; exec enpass'
|
||||
exec --no-startup-id i3-msg 'workspace $workspace12; exec bitwarden-desktop'
|
||||
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
exec --no-startup-id nm-applet
|
||||
exec_always feh --bg-scale $(find ~/Pictures/wallpapers/ -type f -name "*" | shuf -n 1)
|
||||
exec --no-startup-id greenclip daemon
|
||||
exec --no-startup-id obsidian
|
||||
exec /usr/bin/compton
|
||||
exec /bin/bash ~/.config/i3/scripts/startup.sh
|
||||
exec --no-startup-id greenclip daemon
|
||||
|
||||
bindsym $mod+Shift+a border normal
|
||||
# don't blank the screen please :)
|
||||
exec --no-startup-id xset s off && xset -dpms && xset s noblank
|
||||
|
@@ -51,45 +51,15 @@ label=
|
||||
interval=1
|
||||
color=#999999
|
||||
|
||||
# CPU usage
|
||||
#
|
||||
# The script may be called with -w and -c switches to specify thresholds,
|
||||
# see the script for details.
|
||||
[cpu_usage]
|
||||
label=
|
||||
interval=1
|
||||
#min_width=CPU:100.00%
|
||||
separator=true
|
||||
|
||||
[load_average]
|
||||
label=
|
||||
interval=10
|
||||
separator=true
|
||||
color=#999999
|
||||
|
||||
# Memory usage
|
||||
#
|
||||
# The type defaults to "mem" if the instance is not specified.
|
||||
[memory]
|
||||
label=
|
||||
separator=true
|
||||
interval=30
|
||||
color=#999999
|
||||
|
||||
# Disk usage
|
||||
# The directory defaults to $HOME if the instance is not specified.
|
||||
# The script may be called with a optional argument to set the alert
|
||||
# (defaults to 10 for 10%).
|
||||
[disk]
|
||||
label=
|
||||
instance=/
|
||||
interval=5
|
||||
separator=true
|
||||
color=#999999
|
||||
|
||||
# Updates
|
||||
[updates]
|
||||
label=
|
||||
label=
|
||||
command=pacman -Qu | wc -l
|
||||
interval=60
|
||||
separator=true
|
||||
@@ -108,26 +78,12 @@ separator=true
|
||||
|
||||
# ping
|
||||
[ping]
|
||||
label=
|
||||
label=
|
||||
command=ping -c 2 8.8.8.8 | tail -1 | awk '{print $4}' | cut -d '/' -f 2 | cut -f1 -d"."
|
||||
interval=60
|
||||
separator=true
|
||||
color=#999999
|
||||
|
||||
# Volume indicator
|
||||
#
|
||||
# The first parameter sets the step (and units to display)
|
||||
# The second parameter overrides the mixer selection
|
||||
# See the script for details.
|
||||
[volume]
|
||||
label=
|
||||
instance=Master
|
||||
interval=1
|
||||
command=/usr/lib/i3blocks/volume/volume 5 pulse
|
||||
signal=10
|
||||
separator=true
|
||||
color=#999999
|
||||
|
||||
# Battery indicator
|
||||
# The battery instance defaults to 0.
|
||||
[battery2]
|
||||
|
@@ -1,20 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
intelTemp=$(sensors | # execute sensors
|
||||
grep -w "Core 0:" | # grep for the first core
|
||||
sed 's/([^)]*)//g' | # filter
|
||||
tr -s " " | # remove whitespace
|
||||
sed -e 's/Core 0\(.*\):/\1/' | # get value between Core 0 and :
|
||||
cut -c 3- | rev | cut -c 7- | rev #remove clutter
|
||||
intelTemp=$(
|
||||
sensors | # execute sensors
|
||||
grep -w "Core 0:" | # grep for the first core
|
||||
sed 's/([^)]*)//g' | # filter
|
||||
tr -s " " | # remove whitespace
|
||||
sed -e 's/Core 0\(.*\):/\1/' | # get value between Core 0 and :
|
||||
cut -c 3- | rev | cut -c 7- | rev #remove clutter
|
||||
)
|
||||
|
||||
amdTemp=$(sensors | grep -w "Tdie:" | sed 's/([^)]*)//g' | tr -s " " | cut -c 8- | rev | cut -c 6- | rev)
|
||||
amdTemp=$(sensors | grep -iw "tctl:" | sed 's/([^)]*)//g' | tr -s " " | cut -c 8- | rev | cut -c 2- | rev)
|
||||
|
||||
# echo out the result
|
||||
if [ -z "$intelTemp" ]
|
||||
then
|
||||
if [ -z "$intelTemp" ]; then
|
||||
echo $amdTemp
|
||||
else
|
||||
echo $intelTemp°C
|
||||
fi
|
||||
|
||||
|
@@ -1,18 +1,16 @@
|
||||
#! /bin/bash
|
||||
|
||||
displays=($(xrandr | awk '/ connected /{print $1}'))
|
||||
mapfile -t displays < <(xrandr | awk '/ connected /{print $1}')
|
||||
|
||||
if (( ${#displays[@]} > 1 ))
|
||||
then
|
||||
selected_display="$(zenity --list --title 'Select Display' --radiolist --column '' --column 'Display' $(xrandr | awk '/ connected /{print NR,$1}'))"
|
||||
if ((${#displays[@]} > 1)); then
|
||||
selected_display="$(zenity --list --title 'Select Display' --radiolist --column '' --column 'Display' $(xrandr | awk '/ connected /{print NR,$1}'))"
|
||||
else
|
||||
selected_display="${displays[0]}"
|
||||
selected_display="${displays[0]}"
|
||||
fi
|
||||
|
||||
current_brightness=($(xrandr --current --verbose | grep -m1 Brightness | awk '{print $2}' | sed 's/0.//' | sed 's/.0/00/' ))
|
||||
current_brightness=$(xbacklight -display "$selected_display" -get)
|
||||
|
||||
zenity --scale --title "Set brightness of $selected_display" --value=$current_brightness --print-partial |
|
||||
while read brightness
|
||||
do
|
||||
xrandr --output "$selected_display" --brightness $(awk '{print $1/100}' <<<"$brightness"})
|
||||
done
|
||||
while read brightness; do
|
||||
xbacklight -display "$selected_display" -set "$brightness"
|
||||
done
|
||||
|
@@ -4,7 +4,7 @@ icon="$HOME/.config/i3/icons/lock.png"
|
||||
tmpbg='/tmp/screen.png'
|
||||
|
||||
# detect whether tidal is running
|
||||
isPlaying=$(~/.config/i3/scripts/tidal-cli.sh status);
|
||||
isPlaying=$(~/.config/i3/scripts/tidal-cli.sh status)
|
||||
|
||||
scrot "$tmpbg"
|
||||
convert "$tmpbg" -scale 10% -scale 1000% "$tmpbg"
|
||||
@@ -15,15 +15,15 @@ convert "$tmpbg" "$icon" -gravity center -composite -matte "$tmpbg"
|
||||
|
||||
# check whether the lockscreen is being activated because of a suspend
|
||||
if [[ $* == *--suspend ]]; then
|
||||
# if it is, simply lock without no-fork
|
||||
i3lock -f -i "$tmpbg";
|
||||
# if it is, simply lock without no-fork
|
||||
i3lock -f -i "$tmpbg"
|
||||
else
|
||||
# if it isn't suspended, enable no-fork
|
||||
i3lock -n -f -i "$tmpbg";
|
||||
|
||||
# if tidal was playing before we locked, resume.
|
||||
if [ $isPlaying == "playing" ]; then
|
||||
~/.config/i3/scripts/tidal-cli.sh play
|
||||
fi;
|
||||
# if it isn't suspended, enable no-fork
|
||||
i3lock -n -f -i "$tmpbg"
|
||||
|
||||
# if tidal was playing before we locked, resume.
|
||||
if [ "$isPlaying" == "playing" ]; then
|
||||
~/.config/i3/scripts/tidal-cli.sh play
|
||||
fi
|
||||
rm -rf $tmpbg
|
||||
fi
|
@@ -1,15 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
# start Google Drive client
|
||||
insync start
|
||||
insync start
|
||||
|
||||
# Wait for the programs to start then remove attention (e.g red blinking)
|
||||
sleep 1
|
||||
wmctrl -r "Enpass" -b remove,demands_attention
|
||||
|
||||
# sleep 1
|
||||
# wmctrl -r "Enpass" -b remove,demands_attention
|
||||
|
||||
# Start gkraken if the command exists
|
||||
if command -v gkraken &> /dev/null
|
||||
then
|
||||
gkraken --hide-window &
|
||||
if command -v gkraken &>/dev/null; then
|
||||
gkraken --hide-window &
|
||||
fi
|
||||
|
@@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# check if locked
|
||||
if !(pgrep -x "i3lock" > /dev/null)
|
||||
then
|
||||
bash ~/.config/i3/scripts/i3lock.sh --suspend
|
||||
if ! pgrep -x "i3lock" >/dev/null; then
|
||||
echo "not locked, locking"
|
||||
bash ~/.config/i3/scripts/lock.sh --suspend
|
||||
fi
|
||||
|
||||
systemctl suspend
|
||||
systemctl suspend
|
||||
|
@@ -29,7 +29,7 @@ case $1 in
|
||||
"info")
|
||||
JSON=$(httpGet current)
|
||||
TITLE=$(echo "$JSON" | jq -r '.title')
|
||||
ARTISTS=$(echo "$JSON" | jq -r '.artist')
|
||||
ARTISTS=$(echo "$JSON" | jq -r '.artists')
|
||||
INFO=$(echo "$TITLE - $ARTISTS")
|
||||
if [ ${#INFO} -le 3 ]; then
|
||||
echo "No music info available"
|
||||
@@ -37,6 +37,12 @@ case $1 in
|
||||
echo "$INFO"
|
||||
fi
|
||||
;;
|
||||
|
||||
"getLink")
|
||||
JSON=$(httpGet current)
|
||||
URL=$(echo "$JSON" | jq -r '.url')
|
||||
echo "$URL"
|
||||
;;
|
||||
"status")
|
||||
if httpGet current | grep "paused" >/dev/null; then
|
||||
echo "paused"
|
||||
|
15
i3/scripts/visibleWorkspaces.sh
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Get workspace information from i3
|
||||
workspaces_json=$(i3-msg -t get_workspaces)
|
||||
|
||||
# Extract active workspaces for each output
|
||||
notification_text=$(echo "$workspaces_json" | jq -r '.[] | select(.focused == true or .visible == true) | "\(.name) on \(.output | gsub("DisplayPort"; "DP"))"' | sort)
|
||||
|
||||
# Show notification with better styling
|
||||
notify-send -u critical \
|
||||
-i workspace \
|
||||
-a "i3-workspace-info" \
|
||||
-t 10000 \
|
||||
-e \
|
||||
"Visible workspaces:" "$notification_text"
|
354
install.sh
@@ -1,57 +1,64 @@
|
||||
#!/bin/bash
|
||||
|
||||
# =======================================
|
||||
# Script setup
|
||||
# =======================================
|
||||
|
||||
set -e
|
||||
set -o pipefail
|
||||
|
||||
# =======================================
|
||||
# Helper functions
|
||||
# =======================================
|
||||
|
||||
# Ask a question and return true or false based on the users input
|
||||
ask() {
|
||||
# from https://djm.me/ask
|
||||
local prompt default reply
|
||||
# from https://djm.me/ask
|
||||
local prompt default reply
|
||||
|
||||
while true; do
|
||||
while true; do
|
||||
|
||||
if [ "${2:-}" = "Y" ]; then
|
||||
prompt="Y/n"
|
||||
default=Y
|
||||
elif [ "${2:-}" = "N" ]; then
|
||||
prompt="y/N"
|
||||
default=N
|
||||
else
|
||||
prompt="y/n"
|
||||
default=
|
||||
fi
|
||||
echo -n "$1 [$prompt] "
|
||||
read -r reply </dev/tty
|
||||
if [ "${2:-}" = "Y" ]; then
|
||||
prompt="Y/n"
|
||||
default=Y
|
||||
elif [ "${2:-}" = "N" ]; then
|
||||
prompt="y/N"
|
||||
default=N
|
||||
else
|
||||
prompt="y/n"
|
||||
default=
|
||||
fi
|
||||
echo -n "$1 [$prompt] "
|
||||
read -r reply </dev/tty
|
||||
|
||||
if [ -z "$reply" ]; then
|
||||
reply=$default
|
||||
fi
|
||||
if [ -z "$reply" ]; then
|
||||
reply=$default
|
||||
fi
|
||||
|
||||
case "$reply" in
|
||||
[Yy]*) return 0 ;;
|
||||
[Nn]*) return 1 ;;
|
||||
esac
|
||||
case "$reply" in
|
||||
[Yy]*) return 0 ;;
|
||||
[Nn]*) return 1 ;;
|
||||
esac
|
||||
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
# delete target, create dirs if they don't exist yet and finally symlink the dir
|
||||
function linkDir {
|
||||
rm -rf "$2";
|
||||
mkdir -p "${2%/*}"
|
||||
ln -sf "$1" "$2"
|
||||
rm -rf "$2"
|
||||
mkdir -p "${2%/*}"
|
||||
ln -sf "$1" "$2"
|
||||
}
|
||||
|
||||
# replace line endings with a space (for use in package managers)
|
||||
function fileToList {
|
||||
echo $(cat "$1" | sed ':a;N;$!ba;s/\n/ /g')
|
||||
echo $(cat "$1" | sed '/^\s*#\([^!]\|$\)/d' | tr +'\n' ' ' | tr -s ' ')
|
||||
}
|
||||
|
||||
# create and copy files to directory
|
||||
function copyToDir {
|
||||
echo "$2" | sed 's%/[^/]*$%/%' | xargs mkdir -p
|
||||
cp "$1" "$2"
|
||||
echo "$2" | sed 's%/[^/]*$%/%' | xargs mkdir -p
|
||||
cp "$1" "$2"
|
||||
}
|
||||
|
||||
# =======================================
|
||||
@@ -60,77 +67,144 @@ function copyToDir {
|
||||
|
||||
# moves all fonts into the fonts directories (overwriting existing files)
|
||||
function install_fonts {
|
||||
mkdir -p ~/.fonts
|
||||
mkdir -p ~/.local/share/fonts
|
||||
cp -rf ./fonts/* ~/.fonts
|
||||
cp -rf ./fonts/* ~/.local/share/fonts
|
||||
mkdir -p ~/.fonts
|
||||
mkdir -p ~/.local/share/fonts
|
||||
sudo mkdir -p /usr/local/share/fonts
|
||||
cp -rf ./fonts/* ~/.fonts
|
||||
cp -rf ./fonts/* ~/.local/share/fonts
|
||||
sudo cp -rf ./fonts/* /usr/local/share/fonts
|
||||
}
|
||||
|
||||
# install trizen, a aur helper
|
||||
# install trizen, an aur helper
|
||||
function install_trizen {
|
||||
git clone https://aur.archlinux.org/trizen.git
|
||||
pushd trizen || return
|
||||
makepkg -si
|
||||
popd || return
|
||||
sudo rm -dRf trizen/
|
||||
mkdir /tmp/trizen-install
|
||||
git clone https://aur.archlinux.org/trizen.git /tmp/trizen-install
|
||||
pushd /tmp/trizen-install || return
|
||||
makepkg -si
|
||||
popd || return
|
||||
sudo rm -dRf /tmp/trizen-install
|
||||
}
|
||||
# Sets up time and date related stuff
|
||||
function setDateTimeConfig {
|
||||
systemctl enable ntpd
|
||||
timedatectl set-ntp true
|
||||
sudo ln -sf "$PWD"/config/networkmanager/09-timezone /etc/NetworkManager/dispatcher.d/09-timezone
|
||||
}
|
||||
|
||||
function install_gtk {
|
||||
mkdir -p "$HOME/.config/gtk-3.0"
|
||||
mkdir -p "$HOME/.config/gtk-4.0"
|
||||
ln -sf "$PWD"/config/gtk/settings.ini ~/.gtkrc-2.0.mine
|
||||
ln -sf "$PWD"/config/gtk/settings.ini ~/.config/gtk-3.0/settings.ini
|
||||
ln -sf "$PWD"/config/gtk/settings.ini ~/.config/gtk-4.0/settings.ini
|
||||
|
||||
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
|
||||
gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita-dark'
|
||||
}
|
||||
|
||||
function install_docker {
|
||||
sudo systemctl enable docker
|
||||
sudo usermod -aG docker "$USER"
|
||||
|
||||
}
|
||||
|
||||
# install other configs
|
||||
function install_config {
|
||||
|
||||
# link directories
|
||||
linkDir "$PWD"/wallpapers/images ~/Pictures/wallpapers
|
||||
linkDir "$PWD"/i3 ~/.config/i3
|
||||
linkDir "$PWD"/config/notify-osd/notify-osd ~/.notify-osd
|
||||
linkDir "$PWD"/config/terminal/xfce4-term ~/.config/xfce4/terminal
|
||||
linkDir "$PWD"/config/gtk-3.0/settings.ini ~/.config/gtk-3.0/.config
|
||||
linkDir "$PWD"/config/ranger ~/.config/
|
||||
install_gtk
|
||||
|
||||
# link user files
|
||||
ln -sf "$PWD"/bash/.bashrc ~/.bashrc
|
||||
# link directories
|
||||
linkDir "$PWD"/wallpapers/images ~/Pictures/wallpapers
|
||||
linkDir "$PWD"/i3 ~/.config/i3
|
||||
linkDir "$PWD"/config/terminal/xfce4-term ~/.config/xfce4/terminal
|
||||
linkDir "$PWD"/config/polybar ~/.config/polybar
|
||||
linkDir "$PWD"/config/poshthemes ~/.config/poshthemes
|
||||
linkDir "$PWD"/config/xfce4 ~/.config/xfce4/xfconf/xfce-perchannel-xml
|
||||
linkDir "$PWD"/config/rofi ~/.config/rofi
|
||||
|
||||
# link user files
|
||||
ln -sf "$PWD"/bash/.aliases ~/
|
||||
ln -sf "$PWD"/bash/.bashrc ~/.bashrc
|
||||
ln -sf "$PWD"/bash/.dotnet-install.sh ~/.dotnet-install.sh
|
||||
ln -sf "$PWD"/bash/.alias.sh ~/.alias
|
||||
ln -sf "$PWD"/config/nano/.nanorc ~/.nanorc
|
||||
ln -sf "$PWD"/bash/.powerline-shell.json ~/.powerline-shell.json
|
||||
ln -sf "$PWD"/config/gtk-3.0/settings.ini ~/.gtkrc-2.0.mine
|
||||
ln -sf "$PWD"/config/mimeapps.list ~/.config/mimeapps.list
|
||||
|
||||
mkdir -p ~/.config/rofi
|
||||
ln -sf "$PWD"/config/rofi/rofi.rasi ~/.config/rofi/config.rasi
|
||||
ln -sf "$PWD"/config/rofi/mytheme.rasi ~/.config/rofi/mytheme.rasi
|
||||
ln -sf "$PWD"/bash/.alias.sh ~/.alias
|
||||
ln -sf "$PWD"/config/nano/.nanorc ~/.nanorc
|
||||
ln -sf "$PWD"/config/.Xresources ~/.Xresources
|
||||
ln -sf "$PWD"/bash/.powerline-shell.json ~/.powerline-shell.json
|
||||
mkdir -p ~/.config/dunst
|
||||
ln -sf "$PWD"/config/dunstrc ~/.config/dunst/dunstrc
|
||||
|
||||
ln -sf "$PWD"/config/.gitconfig ~/.gitconfig
|
||||
ln -sf "$PWD"/config/.npmrc ~/.npmrc
|
||||
ln -sf "$PWD"/config/user-dirs.dirs ~/.config/user-dirs.dirs
|
||||
mkdir -p ~/.pulse
|
||||
ln -sf "$PWD"/config/pulse/daemon.conf ~/.pulse/daemon.conf
|
||||
ln -sf "$PWD"/config/mimeapps.list ~/.config/mimeapps.list
|
||||
ln -sf "$PWD"/config/greenclip.toml ~/.config/greenclip.toml
|
||||
ln -sf "$PWD"/config/terminalrc ~/.config/xfce4/terminal/terminalrc
|
||||
|
||||
ln -sf "$PWD"/config/.gitconfig ~/.gitconfig
|
||||
ln -sf "$PWD"/config/.npmrc ~/.npmrc
|
||||
ln -sf "$PWD"/config/user-dirs.dirs ~/.config/user-dirs.dirs
|
||||
mkdir -p ~/.pulse
|
||||
ln -sf "$PWD"/config/pulse/daemon.conf ~/.pulse/daemon.conf
|
||||
ln -sf "$PWD"/config/picom.conf ~/.config/picom.conf
|
||||
|
||||
# link system files / directories
|
||||
sudo ln -sf "$PWD"/config/package-managers/pacman.conf /etc/pacman.conf
|
||||
sudo ln -sf "$PWD"/config/package-managers/makepkg.conf /etc/makepkg.conf
|
||||
sudo ln -sf "$PWD"/config/ntp.conf /etc/ntp.conf
|
||||
sudo ln -sf "$PWD"/bash/Completion /etc/bash_completion.d
|
||||
# link autorandr files
|
||||
mkdir -p "$HOME/.config/autorandr"
|
||||
ln -sf "$PWD"/config/autorandr/postswitch ~/.config/autorandr/postswitch
|
||||
|
||||
# create empty .custom alias file
|
||||
echo "" > ~/.custom
|
||||
echo "" > ~/.variables
|
||||
# link system files / directories
|
||||
sudo ln -sf "$PWD"/config/package-managers/pacman.conf /etc/pacman.conf
|
||||
sudo ln -sf "$PWD"/config/package-managers/makepkg.conf /etc/makepkg.conf
|
||||
sudo ln -sf "$PWD"/config/ntp.conf /etc/ntp.conf
|
||||
sudo ln -sf "$PWD"/bash/Completion/ /etc/bash_completion.d
|
||||
sudo ln -sf "$PWD"/config/environment /etc/environment
|
||||
sudo ln -sf "$PWD"/config/.bash_profile ~/.bash_profile
|
||||
|
||||
# system fixes
|
||||
echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system
|
||||
mkdir -p ~/Pictures/Screenshots
|
||||
# create empty .custom alias file
|
||||
echo "" >~/.custom
|
||||
echo "" >~/.variables
|
||||
|
||||
# files to be copied once
|
||||
mkdir -p "$HOME/.config/Code/User"
|
||||
cp "$PWD"/config/code/syncLocalSettings.json ~/.config/Code/User/
|
||||
|
||||
mkdir -p ~/.config/Code/User/globalStorage/zokugun.sync-settings
|
||||
ln -sf "$PWD"/config/code/sync-settings.yml ~/.config/Code/User/globalStorage/zokugun.sync-settings/settings.yml
|
||||
|
||||
# system fixes
|
||||
echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system
|
||||
mkdir -p ~/Pictures/Screenshots
|
||||
|
||||
setDateTimeConfig
|
||||
setup_groups mastermindzh
|
||||
}
|
||||
|
||||
# Installs the dependencies on Arch Linux
|
||||
function install_dependencies {
|
||||
fileToList dependencies/pacman.txt | xargs sudo pacman --noconfirm -S
|
||||
fileToList dependencies/pacman.txt | xargs sudo pacman --noconfirm -S
|
||||
|
||||
install_trizen
|
||||
fileToList dependencies/aur.txt | xargs trizen --force -S --noconfirm
|
||||
install_trizen
|
||||
set +e
|
||||
fileToList dependencies/aur.txt | xargs trizen -S --noconfirm
|
||||
set -e
|
||||
|
||||
fileToList dependencies/pip.txt | xargs sudo pip install
|
||||
fileToList dependencies/npm.txt | xargs sudo npm install -g
|
||||
|
||||
fileToList dependencies/npm.txt | xargs sudo npm install -g
|
||||
# enable services
|
||||
sudo systemctl enable tlp
|
||||
}
|
||||
|
||||
# set up a new ssh key
|
||||
function create_ssh_key {
|
||||
ssh-keygen -t ed25519 -C "info@rickvanlieshout.com"
|
||||
eval "$(ssh-agent -s)"
|
||||
}
|
||||
|
||||
# set up pass
|
||||
function setup_pass {
|
||||
pass init info@rickvanlieshout.com
|
||||
}
|
||||
|
||||
# set up groups for specific user
|
||||
function setup_groups {
|
||||
local user=${1:-mastermindzh}
|
||||
sudo usermod -a -G video "$user"
|
||||
}
|
||||
|
||||
|
||||
@@ -140,44 +214,43 @@ function install_dependencies {
|
||||
|
||||
# Run the intro bit
|
||||
function intro {
|
||||
echo "___ ___ _ _ _ _ _ "
|
||||
echo "| \/ | | | (_) | | | | ( )"
|
||||
echo "| . . | __ _ ___| |_ ___ _ __ _ __ ___ _ _ __ __| |___| |__ |/ "
|
||||
echo "| |\/| |/ _\` / __| __/ _ \ '__| '_ \` _ \| | '_ \ / _' |_ / '_ \ "
|
||||
echo "| | | | (_| \__ \ || __/ | | | | | | | | | | | (_| |/ /| | | | "
|
||||
echo "\_| |_/\__,_|___/\__\___|_| |_| |_| |_|_|_| |_|\__,_/___|_| |_| "
|
||||
echo " "
|
||||
echo " "
|
||||
echo " __ _ _ "
|
||||
echo " / _(_) ___ (_) "
|
||||
echo " ___ ___ _ __ | |_ _ __ _ ( _ ) _ __ _ ___ ___ "
|
||||
echo " / __/ _ \| '_ \| _| |/ _\` | / _ \/\ | '__| |/ __/ _ \ "
|
||||
echo "| (_| (_) | | | | | | | (_| | | (_> < | | | | (_| __/ "
|
||||
echo " \___\___/|_| |_|_| |_|\__, | \___/\/ |_| |_|\___\___| "
|
||||
echo " __/ | "
|
||||
echo " |___/ "
|
||||
echo ""
|
||||
echo "___ ___ _ _ _ _ _ "
|
||||
echo "| \/ | | | (_) | | | | ( )"
|
||||
echo "| . . | __ _ ___| |_ ___ _ __ _ __ ___ _ _ __ __| |___| |__ |/ "
|
||||
echo "| |\/| |/ _\` / __| __/ _ \ '__| '_ \` _ \| | '_ \ / _' |_ / '_ \ "
|
||||
echo "| | | | (_| \__ \ || __/ | | | | | | | | | | | (_| |/ /| | | | "
|
||||
echo "\_| |_/\__,_|___/\__\___|_| |_| |_| |_|_|_| |_|\__,_/___|_| |_| "
|
||||
echo " "
|
||||
echo " "
|
||||
echo " __ _ _ "
|
||||
echo " / _(_) ___ (_) "
|
||||
echo " ___ ___ _ __ | |_ _ __ _ ( _ ) _ __ _ ___ ___ "
|
||||
echo " / __/ _ \| '_ \| _| |/ _\` | / _ \/\ | '__| |/ __/ _ \ "
|
||||
echo "| (_| (_) | | | | | | | (_| | | (_> < | | | | (_| __/ "
|
||||
echo " \___\___/|_| |_|_| |_|\__, | \___/\/ |_| |_|\___\___| "
|
||||
echo " __/ | "
|
||||
echo " |___/ "
|
||||
echo ""
|
||||
}
|
||||
|
||||
function computer {
|
||||
echo " /\ "
|
||||
echo " / \ "
|
||||
echo " /_ %%==O=% _____________ "
|
||||
echo " % - -% | '\\\\\\\\\\"
|
||||
echo " _____c% > __ | ' ____|_ "
|
||||
echo " (_|. . % \` % .' | + '||:::::: "
|
||||
echo " ||. ___)%%%%_.' | '||_____| "
|
||||
echo " ||.( \ ~ / ,)' \'_______|_____| "
|
||||
echo " || /| \'/ |\ ___/____|___\___ "
|
||||
echo " _,,,;!___*_____\_| _ ' <<<:| "
|
||||
echo " / /| |_________'___o_o| "
|
||||
echo " /_____/ / "
|
||||
echo " |:____|/ \"Boy, I LOVE this stuff\". "
|
||||
echo ""
|
||||
echo ""
|
||||
echo " /\ "
|
||||
echo " / \ "
|
||||
echo " /_ %%==O=% _____________ "
|
||||
echo " % - -% | '\\\\\\\\\\"
|
||||
echo " _____c% > __ | ' ____|_ "
|
||||
echo " (_|. . % \` % .' | + '||:::::: "
|
||||
echo " ||. ___)%%%%_.' | '||_____| "
|
||||
echo " ||.( \ ~ / ,)' \'_______|_____| "
|
||||
echo " || /| \'/ |\ ___/____|___\___ "
|
||||
echo " _,,,;!___*_____\_| _ ' <<<:| "
|
||||
echo " / /| |_________'___o_o| "
|
||||
echo " /_____/ / "
|
||||
echo " |:____|/ \"Boy, I LOVE this stuff\". "
|
||||
echo ""
|
||||
echo ""
|
||||
}
|
||||
|
||||
|
||||
# =======================================
|
||||
# Main loop
|
||||
# =======================================
|
||||
@@ -188,24 +261,43 @@ intro
|
||||
|
||||
ask "Do you want to continue installing my config and rice?" Y &&
|
||||
|
||||
# Ask for dependency installation
|
||||
if ask "Do you want to install the applications listen in ./dependencies? (might prompt for password)" Y; then
|
||||
# Ask for dependency installation
|
||||
if ask "Do you want to install the applications listen in ./dependencies? (might prompt for password)" Y; then
|
||||
install_dependencies
|
||||
fi
|
||||
|
||||
# Ask for SSH generation
|
||||
if ask "Do you want to generate a new SSH key?" Y; then
|
||||
create_ssh_key
|
||||
fi
|
||||
|
||||
# Ask for config installation
|
||||
if ask "Do you want to install the config files?" Y; then
|
||||
install_config
|
||||
install_config
|
||||
fi
|
||||
|
||||
# Ask for font installation
|
||||
if ask "Do you want to install the fonts?" Y; then
|
||||
install_fonts
|
||||
install_fonts
|
||||
fi
|
||||
|
||||
# ask to enable gdm
|
||||
if ask "Do you want to enable GDM?" Y; then
|
||||
sudo systemctl enable gdm.service
|
||||
# Autostart docker and add user
|
||||
if ask "Do you want to set up docker for this user?" Y; then
|
||||
install_docker
|
||||
fi
|
||||
|
||||
# Autostart docker and add user
|
||||
if ask "Do you want to set up a password manager for your keychain?" Y; then
|
||||
setup_pass
|
||||
fi
|
||||
|
||||
# ask to enable the display manager
|
||||
if ask "Do you want to enable sddm?" Y; then
|
||||
sudo systemctl set-default graphical.target
|
||||
sudo systemctl enable sddm.service
|
||||
sudo mkdir -p "/etc/sddm.conf.d/"
|
||||
curl "http://gravatar.com/avatar/$(echo -n "info@rickvanlieshout.com" | md5sum - | cut -d' ' -f1)?s=1024" | sudo tee /usr/share/sddm/faces/mastermindzh.face.icon >/dev/null
|
||||
sudo ln -sf "$PWD"/config/sddm/default.conf /etc/sddm.conf.d/
|
||||
fi
|
||||
|
||||
clear
|
||||
@@ -214,17 +306,17 @@ computer
|
||||
prompt=$(echo $'\n> ' "Please select a specific computer to install or q to finish the install")
|
||||
|
||||
PS3="$prompt: "
|
||||
select opt in "$PWD/computers"/*; do
|
||||
if (( REPLY == "q" )) ; then
|
||||
break
|
||||
|
||||
elif (( REPLY > 0 )) ; then
|
||||
bash "$opt/install.sh"
|
||||
break
|
||||
else
|
||||
echo "Invalid option. Try another one."
|
||||
fi
|
||||
done
|
||||
clear
|
||||
select opt in "$PWD/computers"/*; do
|
||||
if ((REPLY == "q")); then
|
||||
break
|
||||
|
||||
echo "Enjoy using my rice! Do not forget to select i3 in GDM :)"
|
||||
elif ((REPLY > 0)); then
|
||||
bash "$opt/install.sh"
|
||||
break
|
||||
else
|
||||
echo "Invalid option. Try another one."
|
||||
fi
|
||||
done
|
||||
clear
|
||||
|
||||
echo "Enjoy using my rice! Do not forget to select i3 in sddm :)"
|
||||
|
BIN
media/2024-dracula-2.png
Normal file
After Width: | Height: | Size: 440 KiB |
BIN
media/2024-dracula.png
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
media/dotfiles-small-5.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
media/dotfiles5.png
Normal file
After Width: | Height: | Size: 156 KiB |
BIN
media/dotfiles6.png
Normal file
After Width: | Height: | Size: 2.5 MiB |
@@ -1,24 +0,0 @@
|
||||
[
|
||||
{
|
||||
"images": ["blue-butterflies.jpg"],
|
||||
"by": "https://pixabay.com/users/stergo-4163614/"
|
||||
},
|
||||
{
|
||||
"images": [
|
||||
"forest.jpg",
|
||||
"lake-thunder.jpg",
|
||||
"dark-hedges.jpg",
|
||||
"thunderstorm-sea.jpg",
|
||||
"sunset-dawn.jpg"
|
||||
],
|
||||
"by": "https://pixabay.com/users/jplenio-7645255/"
|
||||
},
|
||||
{
|
||||
"images": ["starman.jpg", "friends.jpg"],
|
||||
"by": "https://pixabay.com/users/free-photos-242387/"
|
||||
},
|
||||
{
|
||||
"images": ["ping-cherryblossom.jpg", "winter-tree.jpg"],
|
||||
"by": "https://pixabay.com/users/hans-2/"
|
||||
}
|
||||
]
|
BIN
wallpapers/images/anatomy.jpeg
Normal file
After Width: | Height: | Size: 1.6 MiB |
BIN
wallpapers/images/big-cat.jpeg
Normal file
After Width: | Height: | Size: 571 KiB |
BIN
wallpapers/images/breaking-orbit.jpeg
Normal file
After Width: | Height: | Size: 447 KiB |