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,6 +7,7 @@ root = true
[*]
end_of_line = lf
insert_final_newline = true
indent_size = 2
# Matches multiple files with brace expansion notation
[*.{sh,py,yml}]

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

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

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 $workspace11 " VM/Remote"
set $workspace12 " Enpass"
# scripts
@@ -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,8 +188,7 @@ 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 {
@@ -204,7 +204,7 @@ bar {
focused_workspace $primaryBackgroundColour $primaryBackgroundColour $focusedTextColour
active_workspace $primaryBackgroundColour $secondaryBackgroundColour $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_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,6 +254,7 @@ 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 on
@@ -303,10 +306,9 @@ mode "$mode_gaps_outer" {
# 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

@@ -22,7 +22,7 @@ ask() {
default=
fi
echo -n "$1 [$prompt] "
read reply </dev/tty
read -r reply </dev/tty
if [ -z "$reply" ]; then
reply=$default
@@ -38,20 +38,20 @@ ask() {
# delete target, create dirs if they don't exist yet and finally symlink the dir
function linkDir {
rm -rf $2;
rm -rf "$2"
mkdir -p "${2%/*}"
ln -sf $1 $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"
}
# =======================================
@@ -62,16 +62,16 @@ function copyToDir {
function install_fonts {
mkdir -p ~/.fonts
mkdir -p ~/.local/share/fonts
yes | cp -rf ./fonts/* ~/.fonts
yes | cp -rf ./fonts/* ~/.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
pushd trizen || return
makepkg -si
popd
popd || return
sudo rm -dRf trizen/
}
@@ -79,32 +79,37 @@ function install_trizen {
function install_config {
# link directories
linkDir "$PWD"/wallpapers ~/Pictures/Wallpapers
linkDir "$PWD"/i3/ ~/.config/i3
linkDir "$PWD"/wallpapers/images ~/Pictures/wallpapers
linkDir "$PWD"/i3 ~/.config/i3
linkDir "$PWD"/config/notify-osd/notify-osd ~/.notify-osd
linkDir "$PWD"/config/terminal/xfce4-term ~/.config/xfce4/terminal
linkDir "$PWD"/config/gtk-3.0/settings.ini ~/.config/gtk-3.0/.config
linkDir "$PWD"/config/ranger ~/.config/
# 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"/wallpapers/butterflies-in-space.jpg ~/Pictures/Wallpapers/wallpaper.jpg
ln -sf "$PWD"/config/gtk-3.0/settings.ini ~/.gtkrc-2.0.mine
ln -sf "$PWD"/config/mimeapps.list ~/.config/mimeapps.list
mkdir -p ~/.config/rofi
ln -sf "$PWD"/config/rofi ~/.config/rofi/config
ln -sf "$PWD"/config/rofi/rofi.rasi ~/.config/rofi/config.rasi
ln -sf "$PWD"/config/rofi/mytheme.rasi ~/.config/rofi/mytheme.rasi
ln -sf "$PWD"/config/.gitconfig ~/.gitconfig
ln -sf "$PWD"/config/.npmrc ~/.npmrc
ln -sf "$PWD"/config/user-dirs.dirs ~/.config/user-dirs.dirs
mkdir -p ~/.pulse
ln -sf "$PWD"/config/pulse/daemon.conf ~/.pulse/daemon.conf
ln -sf "$PWD"/config/picom.conf ~/.config/picom.conf
# link system files / directories
sudo ln -sf "$PWD"/config/package-managers/pacman.conf /etc/pacman.conf
sudo ln -sf "$PWD"/config/package-managers/makepkg.conf /etc/makepkg.conf
sudo ln -sf "$PWD"/config/ntp.conf /etc/ntp.conf
sudo ln -sf "$PWD"/bash/Completion /etc/bash_completion.d
sudo ln -sf "$PWD"/bash/Completion/ /etc/bash_completion.d
# create empty .custom alias file
echo "" >~/.custom
@@ -117,7 +122,7 @@ function install_config {
# 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
@@ -127,25 +132,10 @@ function install_dependencies {
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 "___ ___ _ _ _ _ _ "
@@ -185,7 +175,6 @@ function computer {
echo ""
}
# =======================================
# Main loop
# =======================================
@@ -197,8 +186,7 @@ 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
if ask "Do you want to install the applications listen in ./dependencies? (might prompt for password)" Y; then
install_dependencies
fi
@@ -212,15 +200,19 @@ if ask "Do you want to install the fonts?" Y; then
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
@@ -236,4 +228,4 @@ select opt in "$PWD/computers"/*; do
done
clear
echo "Enjoy using my rice! Do not forget to select i3 in GDM :)"
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