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

View File

@@ -4,11 +4,13 @@ This repository holds my Linux config files.
## Mandatory unixporn screenshots
New version as of dec 2018:
[![dotfiles](media/dotfiles3.png)](https://raw.githubusercontent.com/Mastermindzh/dotfiles/master/media/dotfiles3.png)
New version as of dec 2021:
[![dotfiles](media/dotfiles4.jpg)](https://raw.githubusercontent.com/Mastermindzh/dotfiles/master/media/dotfiles4.jpg)
Older versions:
- [dotfiles](media/dotfiles3.png)
- [dotfiles](media/dotfiles.png)
- [dotfiles2](media/dotfiles2.png)
@@ -24,7 +26,7 @@ Older versions:
| Terminal | xfce4-terminal |
| Editor | nano |
| Code editor | vscode / jetbrains stuff |
| Browser | Chromium |
| Browser | Firefox |
| File manager | If I have to use one ... Nautilus |
| 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.
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 kubestart='microk8s.start'
alias kubestop='microk8s.stop'
alias kubecontexts='kubectl config get-contexts'
#dotnet core
alias efupdate="dotnet ef database update"
alias efmigrate="dotnet ef migrations add"
alias efremove="dotnet ef migrations remove"
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
alias gitremovelocalbranches='git branch --merged | egrep -v "(^\*|master|dev)" | xargs git branch -d'
alias untangle-line-endings='find ./ -type f -exec dos2unix {} \;'
alias undo-commit='git reset --soft HEAD^'
## pacman and trizen
alias aur='trizen --noconfirm'
alias update='trizen -Syyu --noconfirm'
alias update='trizen -Syu --noconfirm'
alias remove-orphans='sudo pacman -Rns $(pacman -Qtdq)'
alias updatekeys='sudo pacman-key --refresh-key'
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 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'
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
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
alias mkdir='mkdir -p'
alias wget='wget -c'
alias ls='ls -l --color=auto'
alias ls='ls -lh --color=auto'
alias installed='sudo pacman -Qetq'
alias aurinstalled='sudo pacman -Qmq'
alias sudo='sudo '
alias markdown-toc='markdown-toc --bullets="-" -i'
alias tree='tree --dirsfirst'
alias handbrake='ghb'
alias cal='cal -mw --color'
alias chrome='google-chrome-stable'
alias teams='teams-insiders --disable-seccomp-filter-sandbox'
# grub
alias update-grub='grub-mkconfig -o /boot/grub/grub.cfg'
@@ -161,7 +179,7 @@ killport () {
}
# function to switch kubernetes namespace
kubeswitch () {
kubenamespaceswitch () {
if [ -z "$1" ] ; then
echo "please specify a namespace to switch to"
else
@@ -169,6 +187,16 @@ kubeswitch () {
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

View File

@@ -1,22 +1,49 @@
#!/bin/bash
# if powerline-shell is available use it.
function _update_ps1() {
if hash powerline-shell 2>/dev/null; then
PS1=$(powerline-shell $?)
if hash powerline-rs 2>/dev/null; then
PS1="$(powerline-rs --shell bash $?)"
fi
}
# sourceIfExists
function sourceIfExists () {
[[ -f "$1" ]] && source "$1"
}
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
source ~/.alias
source ~/.custom
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]\$ '
if [[ $TERM != linux && ! $PROMPT_COMMAND =~ _update_ps1 ]]; then
PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
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": [
"virtual_env",
"ssh",
"cwd",
"git",
"hg",
"jobs",
"root"
]
"segments": ["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
# declare variables
MY_SERVER_LOCATION="//192.168.1.3"
MY_SERVER_LOCATION="//10.10.1.11"
MOUNT_PREFIX="/mnt"
USERNAME="mastermindzh"
@@ -41,7 +41,36 @@ declare -A MOUNTS3=(
[share]='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 -n MOUNTS

View File

@@ -2,4 +2,4 @@
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
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
#!/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

View File

@@ -7,3 +7,4 @@ alias unmountdata='sudo umount /home/mastermindzh/data && sudo cryptsetup close
# 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'

View File

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

View File

@@ -1,8 +1,8 @@
gtk-application-prefer-dark-theme=0
gtk-theme-name=Arc
gtk-icon-theme-name=Numix
gtk-font-name=System San Francisco Display 12
gtk-cursor-theme-name=Breeze
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
@@ -12,5 +12,5 @@ gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=rgb
gtk-xft-hintstyle="hintmedium"
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
Color
ILoveCandy
TotalDownload
#TotalDownload
CheckSpace
VerbosePkgLists

View File

@@ -17,7 +17,7 @@ our $CONFIG = {
flip_results => 0, # bool -- Show the search results in reverse order.
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)
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_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.
@@ -45,8 +45,8 @@ our $CONFIG = {
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.
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_at_runtime => 0, # bool -- Execute `sudo -v` when `trizen` is first executed and apply the behavior of `sudo_autorepeat`.
sudo_autorepeat => 1 # bool -- Automatically repeat `sudo -v` in the background after a `sudo` command was first executed.
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_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.

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
notifyconf
visual-studio-code-bin
i3blocks-contrib
enpass-bin
insync
visual-studio-code-insiders
ttf-font-awesome-4
awesome-terminal-fonts-git
otf-droid-sans-mono-powerline-git
downgrade
powerline-rs
dive
xorg-xev
networkmanager-l2tp
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-xinit
mesa
@@ -7,8 +8,8 @@ i3lock
feh
scrot
arandr
chromium
xfce4-terminal
ttf-font-awesome
sushi
libconfig
compton
@@ -23,10 +24,8 @@ networkmanager
eog
python
python-pip
gdm
neofetch
git
networkmanager
scrot
acpi
imagemagick
@@ -65,8 +64,29 @@ flameshot
otf-font-awesome
openvpn
networkmanager-openvpn
ranger
w3m
system-config-printer
thunar
thunar-archive-plugin
nautilus
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 #
############################################
set $urgentTextColour #101218
set $urgentTextBackgroundColour #a6a6a6
set $primaryBackgroundColour #1e1e1e
set $secondaryBackgroundColour #252526
set $tertiaryBackgroundColour #333333
@@ -22,7 +22,7 @@ set $textColour #848484
set $focusedTextColour #f6f6f7
set $statusLineColour #d1d4e0
set $urgentBackground #ef5350
set $urgentTextColour #ef5350
set $indicatorColour #fcc09e
set $workspace1 "1: "
@@ -31,11 +31,11 @@ set $workspace3 "3: "
set $workspace4 "4: "
set $workspace5 "5: "
set $workspace6 "6: "
set $workspace7 "7: "
set $workspace7 "7: "
set $workspace8 "8: "
set $workspace9 "9: "
set $workspace10 "10:  "
set $workspace11 " Virtualbox"
set $workspace10 "10: "
set $workspace11 " VM/Remote"
set $workspace12 " Enpass"
# scripts
@@ -96,15 +96,15 @@ 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"
# 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"
@@ -112,17 +112,18 @@ bindsym $mod+r mode "resize"
# Lock the computer
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
############################################
# Application Keys #
############################################
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 $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
# Rofi
bindsym $mod+d exec "rofi -show run"
@@ -187,24 +188,23 @@ bindsym $mod+Shift+p move container to workspace $workspace12
# Appearance settings #
############################################
# Set the default font
#font pango:DejaVu Sans Mono 8
font pango:System San Francisco Display 10
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 $urgentBackground
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
}
}
@@ -216,28 +216,30 @@ hide_edge_borders both
client.focused $primaryBackgroundColour $primaryBackgroundColour $focusedTextColour $indicatorColour
client.focused_inactive $secondaryBackgroundColour $secondaryBackgroundColour $textColour $indicatorColour
client.unfocused $secondaryBackgroundColour $secondaryBackgroundColour $textColour $indicatorColour
client.urgent $secondaryBackgroundColour $urgentBackground $urgentTextColour $indicatorColour
client.urgent $secondaryBackgroundColour $urgentTextBackgroundColour $urgentTextColour $indicatorColour
# Floating windows
for_window [class="Pavucontrol"] floating enable
for_window [class="Lxappearance"] floating enable
for_window [class="Arandr"] 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 #
# Use xprop to determine class #
############################################
assign [class="Franz"] $workspace9
assign [class="Enpass-Desktop"] $workspace12
assign [class="Enpass"] $workspace12
assign [class="VirtualBox Machine"] $workspace11
# database stuff
assign [class="MongoDB Compass"] $workspace8
assign [class="robo3t"] $workspace8
assign [class="Mysql-workbench-bin"] $workspace8
assign [class="sqlops"] $workspace8
assign [class="azuredatastudio"] $workspace8
assign [class="beekeeper"] $workspace8
############################################
# i3-gaps #
@@ -252,15 +254,16 @@ 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+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).
# 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)
@@ -268,45 +271,44 @@ set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
bindsym $mod+Shift+g 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 --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_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 /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
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]
command=bash ~/.config/i3/scripts/blocks/tidal.sh
separator_block_width=13
interval=1
color=#4293f5
color=#00ffff
[weather]
command=curl wttr.in?format=1
@@ -58,6 +51,16 @@ 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
@@ -125,15 +128,6 @@ signal=10
separator=true
color=#999999
# Battery indicator
# The battery instance defaults to 0.
# [battery]
# label=
# #instance=1
# interval=30
# separator=true
# color=#999999
# Battery indicator
# The battery instance defaults to 0.
[battery2]

View File

@@ -1,6 +1,6 @@
#!/bin/bash
temp=$(sensors | # execute sensors
intelTemp=$(sensors | # execute sensors
grep -w "Core 0:" | # grep for the first core
sed 's/([^)]*)//g' | # filter
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
)
amdTemp=$(sensors | grep -w "Tdie:" | sed 's/([^)]*)//g' | tr -s " " | cut -c 8- | rev | cut -c 6- | rev)
# 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)
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 &
fi

View File

@@ -6,52 +6,52 @@
# 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 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 ':a;N;$!ba;s/\n/ /g')
}
# 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,132 +60,121 @@ function copyToDir {
# moves all fonts into the fonts directories (overwriting existing files)
function install_fonts {
mkdir -p ~/.fonts
mkdir -p ~/.local/share/fonts
yes | cp -rf ./fonts/* ~/.fonts
yes | cp -rf ./fonts/* ~/.local/share/fonts
mkdir -p ~/.fonts
mkdir -p ~/.local/share/fonts
cp -rf ./fonts/* ~/.fonts
cp -rf ./fonts/* ~/.local/share/fonts
}
# install trizen, a aur helper
function install_trizen {
git clone https://aur.archlinux.org/trizen.git
pushd trizen
makepkg -si
popd
sudo rm -dRf trizen/
git clone https://aur.archlinux.org/trizen.git
pushd trizen || return
makepkg -si
popd || return
sudo rm -dRf trizen/
}
# install other configs
function install_config {
# link directories
linkDir "$PWD"/wallpapers ~/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/
# 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
# link user files
ln -sf "$PWD"/bash/.bashrc ~/.bashrc
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"/wallpapers/butterflies-in-space.jpg ~/Pictures/Wallpapers/wallpaper.jpg
mkdir -p ~/.config/rofi
ln -sf "$PWD"/config/rofi ~/.config/rofi/config
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 user files
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
# 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
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
# create empty .custom alias file
echo "" > ~/.custom
echo "" > ~/.variables
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
# 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
# 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
# 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
function install_dependencies {
fileToList dependencies/pacman.txt | xargs sudo pacman --noconfirm --force -S
fileToList dependencies/pacman.txt | xargs sudo pacman --noconfirm -S
install_trizen
fileToList dependencies/aur.txt | xargs trizen --force -S --noconfirm
install_trizen
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
# =======================================
# 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
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
# =======================================
@@ -196,44 +185,47 @@ intro
ask "Do you want to continue installing my config and rice?" Y &&
# Ask for dependency installation
list_dependencies
if ask "Do you want to install the list of applications above? (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
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
# 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
computer
# 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: "
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/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