Compare commits

...

34 Commits

Author SHA1 Message Date
654a6f70a8 add keyring, seahorse and libsecret 2022-05-03 18:13:50 +02:00
de1577d420 add sddm, remove greenclip, add polkit 2022-05-03 18:11:25 +02:00
c574e4cba6 remove ranger 2022-05-03 14:43:02 +02:00
3768caaa76 switch to sddm 2022-05-03 14:41:51 +02:00
ea861dbbfa Merge branch 'master' of https://github.com/mastermindzh/dotfiles 2022-05-02 22:23:54 +02:00
13de19e0cc new dependencies (new laptop) and some aliases 2022-05-02 22:23:41 +02:00
07e5a472f0 added id_ed25519 keys 2022-05-02 22:07:09 +02:00
5f8fc8e53c node-cleaner + clamav install 2022-04-07 09:39:00 +02:00
70f9be3e43 new rofi config + switch back to firefox 2022-04-03 11:35:48 +02:00
c73d598f17 added some new commands, added mimeapps.list 2022-03-07 14:00:00 +01:00
189cc57b20 added an alias and a mount for nvme 2021-10-19 11:05:34 +02:00
493f0838fb new wallpapers, new aliases for kubernetes 2021-08-18 12:13:47 +02:00
a97f4e80ec :) 2021-07-29 15:31:21 +02:00
e758346caf added random wallpapers. I think they look amazing! 2021-07-29 15:30:08 +02:00
83b493fc00 writing workspace, update command fix, and (lx)appearance settings sync. 2021-07-20 10:13:37 +02:00
bc4662d90f switch file manager to nautilus 2021-06-17 22:38:07 +02:00
0a3cdb8003 added chrome as default and added sysmontask 2021-06-08 12:21:24 +02:00
d40acf6bbd Merge branch 'master' of https://github.com/mastermindzh/dotfiles 2021-02-03 17:09:43 +01:00
9ec30728dd added back dotnet stuff 2021-02-03 17:09:38 +01:00
bfd51bf9a5 Merge branch 'master' of https://github.com/mastermindzh/dotfiles 2021-01-29 14:07:30 +01:00
63763ca660 trizen conf 2021-01-29 14:07:27 +01:00
ee7649ce11 removed play music and changed tidal colour to match tidals colour. 2021-01-21 09:10:08 +01:00
f5fe41f555 moved away from system san fransisco, moved back to 1 display on the desktop and some generic fixes. 2021-01-21 09:03:11 +01:00
ae134cd087 added picom config and some extra mounts 2020-09-28 13:04:26 +02:00
d5601c1cef finally added shares command + minor config tweaks (e.g enpass on main display instead of #12) 2020-08-21 09:31:49 +02:00
ab7623d1cc some dotnet specific set-up 2020-03-13 09:11:46 +01:00
0936c92f4d updated install script, new monitor config and added amd (ryzen) support to temp.sh 2020-02-15 12:50:20 +01:00
7d81df3476 removed 1 from /dev/null1 and removed neofetch 2019-12-16 11:36:13 +01:00
2c213f30e9 updated kubectl autocompletion, changed urgentText and urgentBackground colours. 2019-12-16 11:04:08 +01:00
74dc68a687 Merge branch 'master' of https://github.com/mastermindzh/dotfiles 2019-12-03 08:54:02 +01:00
215059cce6 added nvm + azure completion 2019-12-03 08:53:23 +01:00
a23ce5b858 added back in the dotnet path fixes 2019-12-01 16:54:29 +01:00
9c629e44ff Merge branch 'master' of https://github.com/mastermindzh/dotfiles 2019-12-01 16:51:55 +01:00
0b69bd77f6 The Tidal-hifi Settings window now floats.
Added the isos mountpoint to the mounts script
Switched to powerline-rs
2019-12-01 16:51:23 +01:00
66 changed files with 7153 additions and 743 deletions

View File

@@ -7,8 +7,9 @@ root = true
[*] [*]
end_of_line = lf end_of_line = lf
insert_final_newline = true insert_final_newline = true
indent_size = 2
# Matches multiple files with brace expansion notation # Matches multiple files with brace expansion notation
[*.{sh,py,yml}] [*.{sh,py,yml}]
indent_style = space indent_style = space
indent_size = 2 indent_size = 2

View File

@@ -4,11 +4,13 @@ This repository holds my Linux config files.
## Mandatory unixporn screenshots ## Mandatory unixporn screenshots
New version as of dec 2018: New version as of dec 2021:
[![dotfiles](media/dotfiles3.png)](https://raw.githubusercontent.com/Mastermindzh/dotfiles/master/media/dotfiles3.png)
[![dotfiles](media/dotfiles4.jpg)](https://raw.githubusercontent.com/Mastermindzh/dotfiles/master/media/dotfiles4.jpg)
Older versions: Older versions:
- [dotfiles](media/dotfiles3.png)
- [dotfiles](media/dotfiles.png) - [dotfiles](media/dotfiles.png)
- [dotfiles2](media/dotfiles2.png) - [dotfiles2](media/dotfiles2.png)
@@ -24,7 +26,7 @@ Older versions:
| Terminal | xfce4-terminal | | Terminal | xfce4-terminal |
| Editor | nano | | Editor | nano |
| Code editor | vscode / jetbrains stuff | | Code editor | vscode / jetbrains stuff |
| Browser | Chromium | | Browser | Firefox |
| File manager | If I have to use one ... Nautilus | | File manager | If I have to use one ... Nautilus |
| Music | Tidal through [Tidal-hifi](https://github.com/Mastermindzh/tidal-hifi) | | Music | Tidal through [Tidal-hifi](https://github.com/Mastermindzh/tidal-hifi) |
| | | | | |
@@ -36,3 +38,14 @@ I've grown tired of this approach however so I added a "pc specific" setup in th
The pc specific setup bit will read the folder names in computers, offer you a choice, and execute the install.sh inside that folder. The pc specific setup bit will read the folder names in computers, offer you a choice, and execute the install.sh inside that folder.
This allows me to get pc specific settings synced with git and applied easily. 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:
- 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)

View File

@@ -17,20 +17,23 @@ alias docker-clean-all='stop-dockers && docker-clean-containers && docker-clean-
alias mkubectl='microk8s.kubectl' alias mkubectl='microk8s.kubectl'
alias kubestart='microk8s.start' alias kubestart='microk8s.start'
alias kubestop='microk8s.stop' alias kubestop='microk8s.stop'
alias kubecontexts='kubectl config get-contexts'
#dotnet core #dotnet core
alias efupdate="dotnet ef database update" alias efupdate="dotnet ef database update"
alias efmigrate="dotnet ef migrations add" alias efmigrate="dotnet ef migrations add"
alias efremove="dotnet ef migrations remove" alias efremove="dotnet ef migrations remove"
alias dotnetnew="dotnet new webapi -o " alias dotnetnew="dotnet new webapi -o "
alias nuget-force-clear-cache="nuget locals all -clear && nuget locals all -list | awk '{split($0,a,\": \"); print a[2];}' | xargs rm -rf"
# git # git
alias gitremovelocalbranches='git branch --merged | egrep -v "(^\*|master|dev)" | xargs git branch -d' alias gitremovelocalbranches='git branch --merged | egrep -v "(^\*|master|dev)" | xargs git branch -d'
alias untangle-line-endings='find ./ -type f -exec dos2unix {} \;' alias untangle-line-endings='find ./ -type f -exec dos2unix {} \;'
alias undo-commit='git reset --soft HEAD^'
## pacman and trizen ## pacman and trizen
alias aur='trizen --noconfirm' alias aur='trizen --noconfirm'
alias update='trizen -Syyu --noconfirm' alias update='trizen -Syu --noconfirm'
alias remove-orphans='sudo pacman -Rns $(pacman -Qtdq)' alias remove-orphans='sudo pacman -Rns $(pacman -Qtdq)'
alias updatekeys='sudo pacman-key --refresh-key' alias updatekeys='sudo pacman-key --refresh-key'
alias clean-pacmancache='sudo paccache -rk 1 && sudo paccache -ruk0' alias clean-pacmancache='sudo paccache -rk 1 && sudo paccache -ruk0'
@@ -58,7 +61,19 @@ alias pretty-json='python -m json.tool'
alias addpgpkey='gpg --recv-keys' alias addpgpkey='gpg --recv-keys'
alias clean-trash='sudo rm -rf ~/.local/share/Trash/*' alias clean-trash='sudo rm -rf ~/.local/share/Trash/*'
alias clean-journal='sudo journalctl --vacuum-time=2d' alias clean-journal='sudo journalctl --vacuum-time=2d'
alias clean-all='clean-trash && clean-journal && clean-pacmancache && docker-clean-all' 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 nomachine='/usr/NX/bin/nxplayer'
alias unlockuser='faillock --reset --user'
alias npm-list-links='npm ls -g --depth=0 --link=true'
# might be useful in demos...
alias oopsie='fuck'
# cli tools # cli tools
alias crypto='curl -s rate.sx?qF | head -n -2 | tail -n +10' alias crypto='curl -s rate.sx?qF | head -n -2 | tail -n +10'
@@ -84,13 +99,16 @@ alias cmyip='curl -s http://ipecho.net/plain; echo'
## default command fixes :P ## default command fixes :P
alias mkdir='mkdir -p' alias mkdir='mkdir -p'
alias wget='wget -c' alias wget='wget -c'
alias ls='ls -l --color=auto' alias ls='ls -lh --color=auto'
alias installed='sudo pacman -Qetq' alias installed='sudo pacman -Qetq'
alias aurinstalled='sudo pacman -Qmq' alias aurinstalled='sudo pacman -Qmq'
alias sudo='sudo ' alias sudo='sudo '
alias markdown-toc='markdown-toc --bullets="-" -i' alias markdown-toc='markdown-toc --bullets="-" -i'
alias tree='tree --dirsfirst' alias tree='tree --dirsfirst'
alias handbrake='ghb' alias handbrake='ghb'
alias cal='cal -mw --color'
alias chrome='google-chrome-stable'
alias teams='teams-insiders --disable-seccomp-filter-sandbox'
# grub # grub
alias update-grub='grub-mkconfig -o /boot/grub/grub.cfg' alias update-grub='grub-mkconfig -o /boot/grub/grub.cfg'
@@ -161,7 +179,7 @@ killport () {
} }
# function to switch kubernetes namespace # function to switch kubernetes namespace
kubeswitch () { kubenamespaceswitch () {
if [ -z "$1" ] ; then if [ -z "$1" ] ; then
echo "please specify a namespace to switch to" echo "please specify a namespace to switch to"
else else
@@ -169,6 +187,16 @@ kubeswitch () {
fi 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 # function to switch to a different azure kubernetes cluster
azkubeswitch () { azkubeswitch () {
if [ -z "$2" ] ; then if [ -z "$2" ] ; then

View File

@@ -1,22 +1,49 @@
#!/bin/bash
# if powerline-shell is available use it. # if powerline-shell is available use it.
function _update_ps1() { function _update_ps1() {
if hash powerline-shell 2>/dev/null; then if hash powerline-rs 2>/dev/null; then
PS1=$(powerline-shell $?) PS1="$(powerline-rs --shell bash $?)"
fi fi
} }
# sourceIfExists
function sourceIfExists () {
[[ -f "$1" ]] && source "$1"
}
# If not running interactively, don't do anything # If not running interactively, don't do anything
[[ $- != *i* ]] && return [[ $- != *i* ]] && return
source ~/.alias source ~/.alias
source ~/.custom source ~/.custom
source ~/.variables source ~/.variables
sourceIfExists ~/lib/azure-cli/az.completion
eval "$(thefuck --alias)"
# 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
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"
fi
#... :P fancy stuffs
#screenfetch -t -A "UBUNTU"
neofetch
PS1='[\u@\h \W]\$ ' PS1='[\u@\h \W]\$ '
if [[ $TERM != linux && ! $PROMPT_COMMAND =~ _update_ps1 ]]; then if [[ $TERM != linux && ! $PROMPT_COMMAND =~ _update_ps1 ]]; then
PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND" PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi fi
export PATH=$PATH:/home/mastermindzh/bin

1568
bash/.dotnet-install.sh Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,3 @@
{ {
"segments": [ "segments": ["virtual_env", "ssh", "cwd", "git", "hg", "jobs", "root"]
"virtual_env",
"ssh",
"cwd",
"git",
"hg",
"jobs",
"root"
]
} }

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ if [ "$EUID" -ne 0 ]; then
fi fi
# declare variables # declare variables
MY_SERVER_LOCATION="//192.168.1.3" MY_SERVER_LOCATION="//10.10.1.11"
MOUNT_PREFIX="/mnt" MOUNT_PREFIX="/mnt"
USERNAME="mastermindzh" USERNAME="mastermindzh"
@@ -41,7 +41,36 @@ declare -A MOUNTS3=(
[share]='appdata' [share]='appdata'
[mount]='appdata' [mount]='appdata'
) )
declare -A MOUNTS4=(
[server]="$MY_SERVER_LOCATION"
[share]='isos'
[mount]='isos'
)
declare -A MOUNTS5=(
[server]="$MY_SERVER_LOCATION"
[share]='books'
[mount]='books'
)
declare -A MOUNTS6=(
[server]="$MY_SERVER_LOCATION"
[share]='pictures'
[mount]='pictures'
)
declare -A MOUNTS7=(
[server]="$MY_SERVER_LOCATION"
[share]='nvme1'
[mount]='nvme1'
)
declare -A MOUNTS8=(
[server]="$MY_SERVER_LOCATION"
[share]="downloads"
[mount]="downloads"
)
declare -A MOUNTS9=(
[server]="$MY_SERVER_LOCATION"
[share]="emulation"
[mount]="emulation"
)
# declare array with "objects" # declare array with "objects"
declare -n MOUNTS declare -n MOUNTS

View File

@@ -2,4 +2,4 @@
MYPATH="$PWD/computers/dev-pc" MYPATH="$PWD/computers/dev-pc"
ln -sf "$MYPATH/xprofile.sh" ~/.xprofile ln -sf "$MYPATH/xprofile.sh" ~/.xprofile

View File

@@ -1,2 +1,2 @@
#!/bin/bash #!/bin/sh
xrandr --output DVI-I-0 --off --output DVI-I-1 --off --output HDMI-0 --mode 1920x1080 --pos 1920x0 --rotate normal --output DP-0 --mode 1920x1080 --pos 0x0 --rotate normal --output DP-1 --off --output DVI-D-0 --primary --mode 1920x1080 --pos 1920x0 --rotate normal 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

View File

@@ -7,3 +7,4 @@ alias unmountdata='sudo umount /home/mastermindzh/data && sudo cryptsetup close
# useful kubernetes (AZURE) commands # useful kubernetes (AZURE) commands
alias kubernetes-qa='azkubeswitch Inforit.Cloud InforitCluster' alias kubernetes-qa='azkubeswitch Inforit.Cloud InforitCluster'
alias kubernetes-prod='azkubeswitch Inforit.Cloud Production' alias kubernetes-prod='azkubeswitch Inforit.Cloud Production'
alias kubernetes-dev='azkubeswitch Inforit.Cloud Development'

View File

@@ -12,3 +12,7 @@
[core] [core]
autocrlf = input autocrlf = input
editor = nano editor = nano
[pull]
rebase = false
[init]
defaultBranch = master

View File

@@ -1,8 +1,8 @@
gtk-application-prefer-dark-theme=0 gtk-application-prefer-dark-theme=0
gtk-theme-name=Arc gtk-theme-name="Adwaita-dark"
gtk-icon-theme-name=Numix gtk-icon-theme-name="Numix"
gtk-font-name=System San Francisco Display 12 gtk-font-name="Cantarell 11"
gtk-cursor-theme-name=Breeze gtk-cursor-theme-name="elementary"
gtk-cursor-theme-size=0 gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
@@ -12,5 +12,5 @@ gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1 gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1 gtk-xft-antialias=1
gtk-xft-hinting=1 gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull gtk-xft-hintstyle="hintmedium"
gtk-xft-rgba=rgb gtk-xft-rgba="none"

76
config/mimeapps.list Normal file
View File

@@ -0,0 +1,76 @@
[Default Applications]
# browser
#--------------
text/html=firefox.desktop
x-scheme-handler/http=firefox.desktop
x-scheme-handler/https=firefox.desktop
x-scheme-handler/about=firefox.desktop
x-scheme-handler/unknown=firefox.desktop
x-scheme-handler/webcal=firefox.desktop
x-scheme-handler/chrome=firefox.desktop
application/x-extension-htm=firefox.desktop
application/x-extension-html=firefox.desktop
application/x-extension-shtml=firefox.desktop
application/xhtml+xml=firefox.desktop
application/x-extension-xhtml=firefox.desktop
application/x-extension-xht=firefox.desktop
# apps
#--------------
x-scheme-handler/postman=Postman.desktop
x-scheme-handler/ssh=ktelnetservice5.desktop
x-scheme-handler/msteams=teams-insiders.desktop
x-scheme-handler/discord-478576776990425110=discord-478576776990425110.desktop
x-scheme-handler/mailspring=Mailspring.desktop
x-scheme-handler/etcher=balena-etcher-electron.desktop
# files
#--------------
inode/director=Nautilus.desktop
[Added Associations]
# browser-stuff
#--------------
x-scheme-handler/http=firefox.desktop;
x-scheme-handler/https=firefox.desktop;
text/html=firefox.desktop;
# text
#--------------
text/plain=gnome.gedit.desktop;
application/pdf=mupdf.desktop;firefox.desktop;
text/vnd.qt.linguist=org.gnome.gedit.desktop;
text/x-nfo=gnome.gedit.desktop;
text/x-log=code-insiders.desktop;
# images
#--------------
image/jpeg=org.gnome.eog.desktop;feh.desktop;
image/png=org.gnome.eog.desktop;feh.desktop;
image/svg+xml=org.gnome.eog.desktop;feh.desktop;
image/gif=org.gnome.eog.desktop;feh.desktop;
# video
#--------------
video/mp4=mpv.desktop;
video/x-matroska=mpv.desktop;
video/x-msvideo=vlc.desktop;
# code-related
#--------------
application/json=code-insiders.desktop;visual-studio-code-insiders.desktop;
application/x-shellscript=visual-studio-code.desktop;
application/sql=visual-studio-code.desktop;
application/xml=visual-studio-code.desktop;
application/javascript=visual-studio-code-insiders.desktop;
# other
#--------------
application/zip=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
#--------------

View File

@@ -33,7 +33,7 @@ Architecture = auto
#UseSyslog #UseSyslog
Color Color
ILoveCandy ILoveCandy
TotalDownload #TotalDownload
CheckSpace CheckSpace
VerbosePkgLists VerbosePkgLists

View File

@@ -17,7 +17,7 @@ our $CONFIG = {
flip_results => 0, # bool -- Show the search results in reverse order. flip_results => 0, # bool -- Show the search results in reverse order.
force => 0, # bool -- Pass the `--force` flag to `pacman`. force => 0, # bool -- Pass the `--force` flag to `pacman`.
git_clone_depth => 0, # int -- Pass the `--depth int` flag to `git clone`. (0 means no limit) git_clone_depth => 0, # int -- Pass the `--depth int` flag to `git clone`. (0 means no limit)
install_built_with_noconfirm => 0, # bool -- Install built packages with `--noconfirm`. install_built_with_noconfirm => 1, # bool -- Install built packages with `--noconfirm`.
lwp_env_proxy => 1, # bool -- Use proxy settings defined in `env` (if any). lwp_env_proxy => 1, # bool -- Use proxy settings defined in `env` (if any).
lwp_show_progress => 0, # bool -- Show the HTTPS requests made by LWP::UserAgent to the AUR servers. lwp_show_progress => 0, # bool -- Show the HTTPS requests made by LWP::UserAgent to the AUR servers.
lwp_timeout => 60, # int -- Seconds after which an HTTPS connection is aborted. lwp_timeout => 60, # int -- Seconds after which an HTTPS connection is aborted.
@@ -45,8 +45,8 @@ our $CONFIG = {
split_packages => 1, # bool -- Ask about installing the other parts of a split package. split_packages => 1, # bool -- Ask about installing the other parts of a split package.
ssl_verify_hostname => 1, # bool -- Ensure LWP::UserAgent connects to servers that have a valid certificate. ssl_verify_hostname => 1, # bool -- Ensure LWP::UserAgent connects to servers that have a valid certificate.
su_command => "/usr/bin/su -c", # str -- Command used when special permissions are required and `use_sudo` is set to 0. su_command => "/usr/bin/su -c", # str -- Command used when special permissions are required and `use_sudo` is set to 0.
sudo_autorepeat => 0, # bool -- Automatically repeat `sudo -v` in the background after a `sudo` command was first executed. sudo_autorepeat => 1 # bool -- Automatically repeat `sudo -v` in the background after a `sudo` command was first executed.
sudo_autorepeat_at_runtime => 0, # bool -- Execute `sudo -v` when `trizen` is first executed and apply the behavior of `sudo_autorepeat`. sudo_autorepeat_at_runtime => 1, # bool -- Execute `sudo -v` when `trizen` is first executed and apply the behavior of `sudo_autorepeat`.
sudo_autorepeat_interval => 180, # int -- Interval, in seconds, after which `sudo -v` is executed in background (with `sudo_autorepeat`). sudo_autorepeat_interval => 180, # int -- Interval, in seconds, after which `sudo -v` is executed in background (with `sudo_autorepeat`).
sudo_command => "/usr/bin/sudo", # str -- Command used when special permissions are required and `use_sudo` is set to 1. sudo_command => "/usr/bin/sudo", # str -- Command used when special permissions are required and `use_sudo` is set to 1.
use_sudo => 1, # bool -- Use the `sudo` command when special permissions are required. use_sudo => 1, # bool -- Use the `sudo` command when special permissions are required.

6
config/picom.conf Normal file
View File

@@ -0,0 +1,6 @@
#################################
# Transparency / Opacity #
#################################
# Opacity of inactive windows. (0.1 - 1.0)
inactive-opacity = 1.0;

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -1,12 +0,0 @@
rofi.color-window: #1e1e1e, #333333, #333333
rofi.color-normal: #1e1e1e, #848484, #1e1e1e, #333333, #f6f6f7
rofi.color-active: #333333, #ef5350, #0000ff, #333333, #f6f6f7
rofi.color-urgent: #333333, #ef5350, #0000ff, #333333, #f6f6f7
rofi.lines: 10
rofi.line-padding: 5
rofi.font: monospace 10
rofi.terminal: xfce4-terminal
rofi.ssh-client: ssh
rofi.ssh-command: {terminal} -e "{ssh-client} {host}"

162
config/rofi/mytheme.rasi Normal file
View File

@@ -0,0 +1,162 @@
/*
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;
}

14
config/rofi/rofi.rasi Normal file
View File

@@ -0,0 +1,14 @@
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"

128
config/sddm/default.conf Normal file
View 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

15
dependencies/aur.txt vendored
View File

@@ -1,14 +1,21 @@
notify-osd-customizable visual-studio-code-bin
notifyconf i3blocks-contrib
enpass-bin enpass-bin
insync insync
visual-studio-code-insiders
ttf-font-awesome-4 ttf-font-awesome-4
awesome-terminal-fonts-git awesome-terminal-fonts-git
otf-droid-sans-mono-powerline-git otf-droid-sans-mono-powerline-git
downgrade downgrade
powerline-rs
dive dive
xorg-xev xorg-xev
networkmanager-l2tp networkmanager-l2tp
snapd snapd
i3blocks-contrib azure-cli
notify-osd-customizable
notifyconf
dotnet-host-bin
sysmontask
keychain
nomachine
chili-sddm-theme

View File

@@ -1,3 +1,4 @@
base-devel
xorg-server xorg-server
xorg-xinit xorg-xinit
mesa mesa
@@ -7,8 +8,8 @@ i3lock
feh feh
scrot scrot
arandr arandr
chromium
xfce4-terminal xfce4-terminal
ttf-font-awesome
sushi sushi
libconfig libconfig
compton compton
@@ -23,10 +24,8 @@ networkmanager
eog eog
python python
python-pip python-pip
gdm
neofetch neofetch
git git
networkmanager
scrot scrot
acpi acpi
imagemagick imagemagick
@@ -65,8 +64,29 @@ flameshot
otf-font-awesome otf-font-awesome
openvpn openvpn
networkmanager-openvpn networkmanager-openvpn
ranger
w3m w3m
system-config-printer system-config-printer
thunar nautilus
thunar-archive-plugin nautilus-share
wget
pyenv
jq
firefox
dotnet-host
dotnet-runtime
dotnet-sdk
aspnet-runtime
clamav
clamtk
keychain
thefuck
peek
blueman
pulseaudio-bluetooth
bluez
bluez-libs
sddm
polkit-gnome
gnome-keyring
libsecret
seahorse

View File

@@ -1 +1,5 @@
powerline-shell msrestazure
azure.common
azure.mgmt
azure.mgmt.containerservice
azure.graphrbac

134
i3/config
View File

@@ -13,7 +13,7 @@ floating_modifier $mod
# Constants # # Constants #
############################################ ############################################
set $urgentTextColour #101218 set $urgentTextBackgroundColour #a6a6a6
set $primaryBackgroundColour #1e1e1e set $primaryBackgroundColour #1e1e1e
set $secondaryBackgroundColour #252526 set $secondaryBackgroundColour #252526
set $tertiaryBackgroundColour #333333 set $tertiaryBackgroundColour #333333
@@ -22,7 +22,7 @@ set $textColour #848484
set $focusedTextColour #f6f6f7 set $focusedTextColour #f6f6f7
set $statusLineColour #d1d4e0 set $statusLineColour #d1d4e0
set $urgentBackground #ef5350 set $urgentTextColour #ef5350
set $indicatorColour #fcc09e set $indicatorColour #fcc09e
set $workspace1 "1: " set $workspace1 "1: "
@@ -31,11 +31,11 @@ set $workspace3 "3: "
set $workspace4 "4: " set $workspace4 "4: "
set $workspace5 "5: " set $workspace5 "5: "
set $workspace6 "6: " set $workspace6 "6: "
set $workspace7 "7: " set $workspace7 "7: "
set $workspace8 "8: " set $workspace8 "8: "
set $workspace9 "9: " set $workspace9 "9: "
set $workspace10 "10:  " set $workspace10 "10: "
set $workspace11 " Virtualbox" set $workspace11 " VM/Remote"
set $workspace12 " Enpass" set $workspace12 " Enpass"
# scripts # scripts
@@ -96,15 +96,15 @@ bindsym $mod+shift+alt+p focus parent
# resize window (you can also use the mouse for that) # resize window (you can also use the mouse for that)
mode "resize" { mode "resize" {
# These bindings trigger as soon as you enter the resize mode # These bindings trigger as soon as you enter the resize mode
bindsym Left resize shrink width 10 px or 10 ppt bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 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 Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape # back to normal: Enter or Escape
bindsym Return mode "default" bindsym Return mode "default"
bindsym Escape mode "default" bindsym Escape mode "default"
} }
bindsym $mod+r mode "resize" bindsym $mod+r mode "resize"
@@ -112,17 +112,18 @@ bindsym $mod+r mode "resize"
# Lock the computer # Lock the computer
bindsym $mod+l exec /bin/bash ~/.config/i3/scripts/i3lock.sh bindsym $mod+l exec /bin/bash ~/.config/i3/scripts/i3lock.sh
# Lock the computer # Suspend the computer
bindsym $mod+shift+l exec /bin/bash ~/.config/i3/scripts/suspend.sh bindsym $mod+shift+l exec /bin/bash ~/.config/i3/scripts/suspend.sh
############################################ ############################################
# Application Keys # # Application Keys #
############################################ ############################################
bindsym $mod+Return exec xfce4-terminal # terminal bindsym $mod+Return exec xfce4-terminal # terminal
bindsym $mod+e exec xfce4-terminal -e ranger # File manager bindsym $mod+e exec nautilus # File manager
bindsym Print exec flameshot screen -d 0 -p ~/Pictures/Screenshots # Fullscreen screenshot bindsym Print exec flameshot screen -d 0 -p ~/Pictures/Screenshots # Fullscreen screenshot
bindsym $mod+Print exec flameshot gui # Show screenshot window bindsym $mod+Print exec flameshot gui # Show screenshot window
bindsym $mod+shift+b exec /bin/bash ~/.config/i3/scripts/brightness.sh bindsym $mod+shift+b exec /bin/bash ~/.config/i3/scripts/brightness.sh
bindsym control+shift+Escape exec sysmontask
# Rofi # Rofi
bindsym $mod+d exec "rofi -show run" bindsym $mod+d exec "rofi -show run"
@@ -187,24 +188,23 @@ bindsym $mod+Shift+p move container to workspace $workspace12
# Appearance settings # # Appearance settings #
############################################ ############################################
# Set the default font # Set the default font
#font pango:DejaVu Sans Mono 8 font pango:Liberation sans 13
font pango:System San Francisco Display 10
# Bar decoration # Bar decoration
bar { bar {
status_command i3blocks -c ~/.config/i3/i3blocks.conf status_command i3blocks -c ~/.config/i3/i3blocks.conf
position top position top
strip_workspace_numbers no strip_workspace_numbers no
tray_output primary tray_output primary
colors { colors {
separator $textColour separator $textColour
background $primaryBackgroundColour background $primaryBackgroundColour
statusline $statusLineColour statusline $statusLineColour
# border background text # border background text
focused_workspace $primaryBackgroundColour $primaryBackgroundColour $focusedTextColour focused_workspace $primaryBackgroundColour $primaryBackgroundColour $focusedTextColour
active_workspace $primaryBackgroundColour $secondaryBackgroundColour $textColour active_workspace $primaryBackgroundColour $secondaryBackgroundColour $textColour
inactive_workspace $primaryBackgroundColour $primaryBackgroundColour $textColour inactive_workspace $primaryBackgroundColour $primaryBackgroundColour $textColour
urgent_workspace $primaryBackgroundColour $primaryBackgroundColour $urgentBackground urgent_workspace $primaryBackgroundColour $primaryBackgroundColour $urgentTextColour
} }
} }
@@ -216,28 +216,30 @@ hide_edge_borders both
client.focused $primaryBackgroundColour $primaryBackgroundColour $focusedTextColour $indicatorColour client.focused $primaryBackgroundColour $primaryBackgroundColour $focusedTextColour $indicatorColour
client.focused_inactive $secondaryBackgroundColour $secondaryBackgroundColour $textColour $indicatorColour client.focused_inactive $secondaryBackgroundColour $secondaryBackgroundColour $textColour $indicatorColour
client.unfocused $secondaryBackgroundColour $secondaryBackgroundColour $textColour $indicatorColour client.unfocused $secondaryBackgroundColour $secondaryBackgroundColour $textColour $indicatorColour
client.urgent $secondaryBackgroundColour $urgentBackground $urgentTextColour $indicatorColour client.urgent $secondaryBackgroundColour $urgentTextBackgroundColour $urgentTextColour $indicatorColour
# Floating windows # Floating windows
for_window [class="Pavucontrol"] floating enable for_window [class="Pavucontrol"] floating enable
for_window [class="Lxappearance"] floating enable for_window [class="Lxappearance"] floating enable
for_window [class="Arandr"] floating enable for_window [class="Arandr"] floating enable
for_window [class="Eog"] floating enable 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
############################################ ############################################
# Workspace specific tools # # Workspace specific tools #
# Use xprop to determine class # # Use xprop to determine class #
############################################ ############################################
assign [class="Franz"] $workspace9
assign [class="Enpass-Desktop"] $workspace12 assign [class="Enpass-Desktop"] $workspace12
assign [class="Enpass"] $workspace12
assign [class="VirtualBox Machine"] $workspace11 assign [class="VirtualBox Machine"] $workspace11
# database stuff # database stuff
assign [class="MongoDB Compass"] $workspace8 assign [class="MongoDB Compass"] $workspace8
assign [class="robo3t"] $workspace8 assign [class="robo3t"] $workspace8
assign [class="Mysql-workbench-bin"] $workspace8 assign [class="Mysql-workbench-bin"] $workspace8
assign [class="sqlops"] $workspace8 assign [class="azuredatastudio"] $workspace8
assign [class="beekeeper"] $workspace8
############################################ ############################################
# i3-gaps # # i3-gaps #
@@ -252,15 +254,16 @@ gaps inner 10
bindsym $mod+Shift+plus gaps inner all plus 5 bindsym $mod+Shift+plus gaps inner all plus 5
bindsym $mod+Shift+minus gaps inner all minus 5 bindsym $mod+Shift+minus gaps inner all minus 5
bindsym $mod+Shift+Home gaps inner all set 10 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_borders on
# Smart gaps (gaps used if only more than one container on the workspace) # Smart gaps (gaps used if only more than one container on the workspace)
smart_gaps on smart_gaps on
# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. # 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 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. # 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 Gaps: (o) outer, (i) inner
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global) set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
@@ -268,45 +271,44 @@ set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
bindsym $mod+Shift+g mode "$mode_gaps" bindsym $mod+Shift+g mode "$mode_gaps"
mode "$mode_gaps" { mode "$mode_gaps" {
bindsym o mode "$mode_gaps_outer" bindsym o mode "$mode_gaps_outer"
bindsym i mode "$mode_gaps_inner" bindsym i mode "$mode_gaps_inner"
bindsym Return mode "default" bindsym Return mode "default"
bindsym Escape mode "default" bindsym Escape mode "default"
} }
mode "$mode_gaps_inner" { mode "$mode_gaps_inner" {
bindsym plus gaps inner current plus 5 bindsym plus gaps inner current plus 5
bindsym minus gaps inner current minus 5 bindsym minus gaps inner current minus 5
bindsym 0 gaps inner current set 0 bindsym 0 gaps inner current set 0
bindsym Shift+plus gaps inner all plus 5 bindsym Shift+plus gaps inner all plus 5
bindsym Shift+minus gaps inner all minus 5 bindsym Shift+minus gaps inner all minus 5
bindsym Shift+0 gaps inner all set 0 bindsym Shift+0 gaps inner all set 0
bindsym Return mode "default" bindsym Return mode "default"
bindsym Escape mode "default" bindsym Escape mode "default"
} }
mode "$mode_gaps_outer" { mode "$mode_gaps_outer" {
bindsym plus gaps outer current plus 5 bindsym plus gaps outer current plus 5
bindsym minus gaps outer current minus 5 bindsym minus gaps outer current minus 5
bindsym 0 gaps outer current set 0 bindsym 0 gaps outer current set 0
bindsym Shift+plus gaps outer all plus 5 bindsym Shift+plus gaps outer all plus 5
bindsym Shift+minus gaps outer all minus 5 bindsym Shift+minus gaps outer all minus 5
bindsym Shift+0 gaps outer all set 0 bindsym Shift+0 gaps outer all set 0
bindsym Return mode "default" bindsym Return mode "default"
bindsym Escape mode "default" bindsym Escape mode "default"
} }
############################################ ############################################
# Autorun # # Autorun #
############################################ ############################################
exec --no-startup-id i3-msg 'workspace $workspace2; exec xfce4-terminal' && i3-msg 'workspace $workspace1' exec --no-startup-id i3-msg 'workspace $workspace2; exec xfce4-terminal' && i3-msg 'workspace $workspace1'
exec 'enpass' exec --no-startup-id i3-msg 'workspace $workspace12; exec enpass'
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec --no-startup-id nm-applet exec --no-startup-id nm-applet
exec_always feh --bg-scale ~/Pictures/Wallpapers/wallpaper.jpg exec_always feh --bg-scale $(find ~/Pictures/wallpapers/ -type f -name "*" | shuf -n 1)
exec /usr/bin/compton exec /usr/bin/compton
exec /bin/bash ~/.config/i3/scripts/startup.sh exec /bin/bash ~/.config/i3/scripts/startup.sh
bindsym $mod+Shift+a border normal

View File

@@ -28,18 +28,11 @@ command=/usr/lib/i3blocks/$BLOCK_NAME/$BLOCK_NAME
separator_block_width=15 separator_block_width=15
markup=none markup=none
# Currently playing song
[play_music]
command=python ~/.config/i3/scripts/blocks/currentSong.py --layout t-A
separator_block_width=13
interval=1
color=#e29e0b
[tidal] [tidal]
command=bash ~/.config/i3/scripts/blocks/tidal.sh command=bash ~/.config/i3/scripts/blocks/tidal.sh
separator_block_width=13 separator_block_width=13
interval=1 interval=1
color=#4293f5 color=#00ffff
[weather] [weather]
command=curl wttr.in?format=1 command=curl wttr.in?format=1
@@ -58,6 +51,16 @@ label=
interval=1 interval=1
color=#999999 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] [load_average]
label= label=
interval=10 interval=10
@@ -125,15 +128,6 @@ signal=10
separator=true separator=true
color=#999999 color=#999999
# Battery indicator
# The battery instance defaults to 0.
# [battery]
# label=
# #instance=1
# interval=30
# separator=true
# color=#999999
# Battery indicator # Battery indicator
# The battery instance defaults to 0. # The battery instance defaults to 0.
[battery2] [battery2]

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
temp=$(sensors | # execute sensors intelTemp=$(sensors | # execute sensors
grep -w "Core 0:" | # grep for the first core grep -w "Core 0:" | # grep for the first core
sed 's/([^)]*)//g' | # filter sed 's/([^)]*)//g' | # filter
tr -s " " | # remove whitespace tr -s " " | # remove whitespace
@@ -8,5 +8,13 @@ sed -e 's/Core 0\(.*\):/\1/' | # get value between Core 0 and :
cut -c 3- | rev | cut -c 7- | rev #remove clutter 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)
# echo out the result # echo out the result
echo $temp°C if [ -z "$intelTemp" ]
then
echo $amdTemp
else
echo $intelTemp°C
fi

View File

@@ -6,3 +6,10 @@ insync start
# Wait for the programs to start then remove attention (e.g red blinking) # Wait for the programs to start then remove attention (e.g red blinking)
sleep 1 sleep 1
wmctrl -r "Enpass" -b remove,demands_attention wmctrl -r "Enpass" -b remove,demands_attention
# Start gkraken if the command exists
if command -v gkraken &> /dev/null
then
gkraken --hide-window &
fi

View File

@@ -6,52 +6,52 @@
# Ask a question and return true or false based on the users input # Ask a question and return true or false based on the users input
ask() { ask() {
# from https://djm.me/ask # from https://djm.me/ask
local prompt default reply local prompt default reply
while true; do while true; do
if [ "${2:-}" = "Y" ]; then if [ "${2:-}" = "Y" ]; then
prompt="Y/n" prompt="Y/n"
default=Y default=Y
elif [ "${2:-}" = "N" ]; then elif [ "${2:-}" = "N" ]; then
prompt="y/N" prompt="y/N"
default=N default=N
else else
prompt="y/n" prompt="y/n"
default= default=
fi fi
echo -n "$1 [$prompt] " echo -n "$1 [$prompt] "
read reply </dev/tty read -r reply </dev/tty
if [ -z "$reply" ]; then if [ -z "$reply" ]; then
reply=$default reply=$default
fi fi
case "$reply" in case "$reply" in
[Yy]*) return 0 ;; [Yy]*) return 0 ;;
[Nn]*) return 1 ;; [Nn]*) return 1 ;;
esac esac
done done
} }
# delete target, create dirs if they don't exist yet and finally symlink the dir # delete target, create dirs if they don't exist yet and finally symlink the dir
function linkDir { function linkDir {
rm -rf $2; rm -rf "$2"
mkdir -p "${2%/*}" mkdir -p "${2%/*}"
ln -sf $1 $2 ln -sf "$1" "$2"
} }
# replace line endings with a space (for use in package managers) # replace line endings with a space (for use in package managers)
function fileToList { function fileToList {
echo $(cat $1 | sed ':a;N;$!ba;s/\n/ /g') echo $(cat "$1" | sed ':a;N;$!ba;s/\n/ /g')
} }
# create and copy files to directory # create and copy files to directory
function copyToDir { function copyToDir {
echo $2 | sed 's%/[^/]*$%/%' | xargs mkdir -p echo "$2" | sed 's%/[^/]*$%/%' | xargs mkdir -p
cp $1 $2 cp "$1" "$2"
} }
# ======================================= # =======================================
@@ -60,132 +60,121 @@ function copyToDir {
# moves all fonts into the fonts directories (overwriting existing files) # moves all fonts into the fonts directories (overwriting existing files)
function install_fonts { function install_fonts {
mkdir -p ~/.fonts mkdir -p ~/.fonts
mkdir -p ~/.local/share/fonts mkdir -p ~/.local/share/fonts
yes | cp -rf ./fonts/* ~/.fonts cp -rf ./fonts/* ~/.fonts
yes | cp -rf ./fonts/* ~/.local/share/fonts cp -rf ./fonts/* ~/.local/share/fonts
} }
# install trizen, a aur helper # install trizen, a aur helper
function install_trizen { function install_trizen {
git clone https://aur.archlinux.org/trizen.git git clone https://aur.archlinux.org/trizen.git
pushd trizen pushd trizen || return
makepkg -si makepkg -si
popd popd || return
sudo rm -dRf trizen/ sudo rm -dRf trizen/
} }
# install other configs # install other configs
function install_config { function install_config {
# link directories # link directories
linkDir "$PWD"/wallpapers ~/Pictures/Wallpapers linkDir "$PWD"/wallpapers/images ~/Pictures/wallpapers
linkDir "$PWD"/i3/ ~/.config/i3 linkDir "$PWD"/i3 ~/.config/i3
linkDir "$PWD"/config/notify-osd/notify-osd ~/.notify-osd linkDir "$PWD"/config/notify-osd/notify-osd ~/.notify-osd
linkDir "$PWD"/config/terminal/xfce4-term ~/.config/xfce4/terminal 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/gtk-3.0/settings.ini ~/.config/gtk-3.0/.config
linkDir "$PWD"/config/ranger ~/.config/
# link user files # link user files
ln -sf "$PWD"/bash/.bashrc ~/.bashrc ln -sf "$PWD"/bash/.bashrc ~/.bashrc
ln -sf "$PWD"/bash/.alias.sh ~/.alias ln -sf "$PWD"/bash/.dotnet-install.sh ~/.dotnet-install.sh
ln -sf "$PWD"/config/nano/.nanorc ~/.nanorc ln -sf "$PWD"/bash/.alias.sh ~/.alias
ln -sf "$PWD"/bash/.powerline-shell.json ~/.powerline-shell.json ln -sf "$PWD"/config/nano/.nanorc ~/.nanorc
ln -sf "$PWD"/wallpapers/butterflies-in-space.jpg ~/Pictures/Wallpapers/wallpaper.jpg ln -sf "$PWD"/bash/.powerline-shell.json ~/.powerline-shell.json
mkdir -p ~/.config/rofi ln -sf "$PWD"/config/gtk-3.0/settings.ini ~/.gtkrc-2.0.mine
ln -sf "$PWD"/config/rofi ~/.config/rofi/config ln -sf "$PWD"/config/mimeapps.list ~/.config/mimeapps.list
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
# link system files / directories mkdir -p ~/.config/rofi
sudo ln -sf "$PWD"/config/package-managers/pacman.conf /etc/pacman.conf ln -sf "$PWD"/config/rofi/rofi.rasi ~/.config/rofi/config.rasi
sudo ln -sf "$PWD"/config/package-managers/makepkg.conf /etc/makepkg.conf ln -sf "$PWD"/config/rofi/mytheme.rasi ~/.config/rofi/mytheme.rasi
sudo ln -sf "$PWD"/config/ntp.conf /etc/ntp.conf
sudo ln -sf "$PWD"/bash/Completion /etc/bash_completion.d
# create empty .custom alias file ln -sf "$PWD"/config/.gitconfig ~/.gitconfig
echo "" > ~/.custom ln -sf "$PWD"/config/.npmrc ~/.npmrc
echo "" > ~/.variables 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
# system fixes # link system files / directories
echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system sudo ln -sf "$PWD"/config/package-managers/pacman.conf /etc/pacman.conf
mkdir -p ~/Pictures/Screenshots 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
# create empty .custom alias file
echo "" >~/.custom
echo "" >~/.variables
# 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
} }
# Installs the dependencies on Arch Linux # Installs the dependencies on Arch Linux
function install_dependencies { function install_dependencies {
fileToList dependencies/pacman.txt | xargs sudo pacman --noconfirm --force -S fileToList dependencies/pacman.txt | xargs sudo pacman --noconfirm -S
install_trizen install_trizen
fileToList dependencies/aur.txt | xargs trizen --force -S --noconfirm fileToList dependencies/aur.txt | xargs trizen --force -S --noconfirm
fileToList dependencies/pip.txt | xargs sudo pip install 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
} }
# ======================================= # =======================================
# User output functions # User output functions
# ======================================= # =======================================
# list the dependencies file
function list_dependencies {
echo ""
echo "=========================="
echo ""
cat dependencies/pacman.txt
cat dependencies/aur.txt
cat dependencies/pip.txt
cat dependencies/npm.txt
echo ""
echo "=========================="
echo ""
}
# Run the intro bit # Run the intro bit
function intro { 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 { function computer {
echo " /\ " echo " /\ "
echo " / \ " echo " / \ "
echo " /_ %%==O=% _____________ " echo " /_ %%==O=% _____________ "
echo " % - -% | '\\\\\\\\\\" echo " % - -% | '\\\\\\\\\\"
echo " _____c% > __ | ' ____|_ " echo " _____c% > __ | ' ____|_ "
echo " (_|. . % \` % .' | + '||:::::: " echo " (_|. . % \` % .' | + '||:::::: "
echo " ||. ___)%%%%_.' | '||_____| " echo " ||. ___)%%%%_.' | '||_____| "
echo " ||.( \ ~ / ,)' \'_______|_____| " echo " ||.( \ ~ / ,)' \'_______|_____| "
echo " || /| \'/ |\ ___/____|___\___ " echo " || /| \'/ |\ ___/____|___\___ "
echo " _,,,;!___*_____\_| _ ' <<<:| " echo " _,,,;!___*_____\_| _ ' <<<:| "
echo " / /| |_________'___o_o| " echo " / /| |_________'___o_o| "
echo " /_____/ / " echo " /_____/ / "
echo " |:____|/ \"Boy, I LOVE this stuff\". " echo " |:____|/ \"Boy, I LOVE this stuff\". "
echo "" echo ""
echo "" echo ""
} }
# ======================================= # =======================================
# Main loop # Main loop
# ======================================= # =======================================
@@ -196,44 +185,47 @@ intro
ask "Do you want to continue installing my config and rice?" Y && ask "Do you want to continue installing my config and rice?" Y &&
# Ask for dependency installation # Ask for dependency installation
list_dependencies if ask "Do you want to install the applications listen in ./dependencies? (might prompt for password)" Y; then
if ask "Do you want to install the list of applications above? (might prompt for password)" Y; then
install_dependencies install_dependencies
fi fi
# Ask for config installation # Ask for config installation
if ask "Do you want to install the config files?" Y; then if ask "Do you want to install the config files?" Y; then
install_config install_config
fi fi
# Ask for font installation # Ask for font installation
if ask "Do you want to install the fonts?" Y; then if ask "Do you want to install the fonts?" Y; then
install_fonts install_fonts
fi fi
# ask to enable gdm # ask to enable the display manager
if ask "Do you want to enable GDM?" Y; then if ask "Do you want to enable sddm?" Y; then
sudo systemctl enable gdm.service 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 fi
clear clear
computer computer
# ask for pc specific install # ask for pc specific install
prompt=`echo $'\n> ' Please select a specific computer to install or q to finish the install` prompt=$(echo $'\n> ' "Please select a specific computer to install or q to finish the install")
PS3="$prompt: " PS3="$prompt: "
select opt in "$PWD/computers"/*; do select opt in "$PWD/computers"/*; do
if (( REPLY == "q" )) ; then if ((REPLY == "q")); then
break break
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 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/dotfiles4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

4
wallpapers/README.md Normal file
View File

@@ -0,0 +1,4 @@
# wallpaper display
![]()
by

24
wallpapers/data.json Normal file
View File

@@ -0,0 +1,24 @@
[
{
"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/"
}
]

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

View File

Before

Width:  |  Height:  |  Size: 678 KiB

After

Width:  |  Height:  |  Size: 678 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 2.0 MiB

View File

Before

Width:  |  Height:  |  Size: 252 KiB

After

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 686 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 536 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

View File

Before

Width:  |  Height:  |  Size: 278 KiB

After

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 575 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 708 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 904 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 942 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

View File

@@ -1 +0,0 @@
/home/mastermindzh/dotfiles/wallpapers/butterflies-in-space.jpg