Compare commits
34 Commits
removed-sp
...
654a6f70a8
Author | SHA1 | Date | |
---|---|---|---|
654a6f70a8 | |||
de1577d420 | |||
c574e4cba6 | |||
3768caaa76 | |||
ea861dbbfa | |||
13de19e0cc | |||
07e5a472f0 | |||
5f8fc8e53c | |||
70f9be3e43 | |||
c73d598f17 | |||
189cc57b20 | |||
493f0838fb | |||
a97f4e80ec | |||
e758346caf | |||
83b493fc00 | |||
bc4662d90f | |||
0a3cdb8003 | |||
d40acf6bbd | |||
9ec30728dd | |||
bfd51bf9a5 | |||
63763ca660 | |||
ee7649ce11 | |||
f5fe41f555 | |||
ae134cd087 | |||
d5601c1cef | |||
ab7623d1cc | |||
0936c92f4d | |||
7d81df3476 | |||
2c213f30e9 | |||
74dc68a687 | |||
215059cce6 | |||
a23ce5b858 | |||
9c629e44ff | |||
0b69bd77f6 |
@@ -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}]
|
||||
|
19
README.md
@@ -4,11 +4,13 @@ This repository holds my Linux config files.
|
||||
|
||||
## Mandatory unixporn screenshots
|
||||
|
||||
New version as of dec 2018:
|
||||
[](https://raw.githubusercontent.com/Mastermindzh/dotfiles/master/media/dotfiles3.png)
|
||||
New version as of dec 2021:
|
||||
|
||||
[](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)
|
||||
|
@@ -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
|
||||
|
37
bash/.bashrc
@@ -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
@@ -1,11 +1,3 @@
|
||||
{
|
||||
"segments": [
|
||||
"virtual_env",
|
||||
"ssh",
|
||||
"cwd",
|
||||
"git",
|
||||
"hg",
|
||||
"jobs",
|
||||
"root"
|
||||
]
|
||||
"segments": ["virtual_env", "ssh", "cwd", "git", "hg", "jobs", "root"]
|
||||
}
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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'
|
||||
|
@@ -12,3 +12,7 @@
|
||||
[core]
|
||||
autocrlf = input
|
||||
editor = nano
|
||||
[pull]
|
||||
rebase = false
|
||||
[init]
|
||||
defaultBranch = master
|
||||
|
@@ -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
@@ -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
|
||||
#--------------
|
||||
|
@@ -33,7 +33,7 @@ Architecture = auto
|
||||
#UseSyslog
|
||||
Color
|
||||
ILoveCandy
|
||||
TotalDownload
|
||||
#TotalDownload
|
||||
CheckSpace
|
||||
VerbosePkgLists
|
||||
|
||||
|
@@ -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
@@ -0,0 +1,6 @@
|
||||
#################################
|
||||
# Transparency / Opacity #
|
||||
#################################
|
||||
|
||||
# Opacity of inactive windows. (0.1 - 1.0)
|
||||
inactive-opacity = 1.0;
|
@@ -1,32 +0,0 @@
|
||||
set preview_images true
|
||||
set confirm_on_delete true
|
||||
set column_ratios 1,3,4
|
||||
set viewmode miller
|
||||
set unicode_ellipsis true
|
||||
|
||||
set preview_files true
|
||||
set preview_directories true
|
||||
set collapse_preview true
|
||||
|
||||
# git stuff
|
||||
set vcs_aware false
|
||||
set vcs_backend_git enabled
|
||||
|
||||
# Which files should be hidden? (regular expression)
|
||||
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
|
||||
|
||||
# Show hidden files? You can toggle this by typing 'zh'
|
||||
set show_hidden false
|
||||
|
||||
# Draw borders around columns? (separators, outline, both, or none)
|
||||
# Separators are vertical lines between columns.
|
||||
# Outline draws a box around all the columns.
|
||||
# Both combines the two.
|
||||
set draw_borders both
|
||||
|
||||
# KEY config
|
||||
map <delete> delete
|
||||
map <esc> quit
|
||||
map <C-c> copy
|
||||
map <C-x> cut
|
||||
map <C-v> paste
|
@@ -1,84 +0,0 @@
|
||||
# vim: ft=cfg
|
||||
#
|
||||
# This is the configuration file of "rifle", ranger's file executor/opener.
|
||||
# Each line consists of conditions and a command. For each line the conditions
|
||||
# are checked and if they are met, the respective command is run.
|
||||
#
|
||||
# Syntax:
|
||||
# <condition1> , <condition2> , ... = command
|
||||
#
|
||||
# The command can contain these environment variables:
|
||||
# $1-$9 | The n-th selected file
|
||||
# $@ | All selected files
|
||||
#
|
||||
# If you use the special command "ask", rifle will ask you what program to run.
|
||||
#
|
||||
# Prefixing a condition with "!" will negate its result.
|
||||
# These conditions are currently supported:
|
||||
# match <regexp> | The regexp matches $1
|
||||
# ext <regexp> | The regexp matches the extension of $1
|
||||
# mime <regexp> | The regexp matches the mime type of $1
|
||||
# name <regexp> | The regexp matches the basename of $1
|
||||
# path <regexp> | The regexp matches the absolute path of $1
|
||||
# has <program> | The program is installed (i.e. located in $PATH)
|
||||
# env <variable> | The environment variable "variable" is non-empty
|
||||
# file | $1 is a file
|
||||
# directory | $1 is a directory
|
||||
# number <n> | change the number of this command to n
|
||||
# terminal | stdin, stderr and stdout are connected to a terminal
|
||||
# X | $DISPLAY is not empty (i.e. Xorg runs)
|
||||
#
|
||||
# There are also pseudo-conditions which have a "side effect":
|
||||
# flag <flags> | Change how the program is run. See below.
|
||||
# label <label> | Assign a label or name to the command so it can
|
||||
# | be started with :open_with <label> in ranger
|
||||
# | or `rifle -p <label>` in the standalone executable.
|
||||
# else | Always true.
|
||||
#
|
||||
# Flags are single characters which slightly transform the command:
|
||||
# f | Fork the program, make it run in the background.
|
||||
# | New command = setsid $command >& /dev/null &
|
||||
# r | Execute the command with root permissions
|
||||
# | New command = sudo $command
|
||||
# t | Run the program in a new terminal. If $TERMCMD is not defined,
|
||||
# | rifle will attempt to extract it from $TERM.
|
||||
# | New command = $TERMCMD -e $command
|
||||
# Note: The "New command" serves only as an illustration, the exact
|
||||
# implementation may differ.
|
||||
# Note: When using rifle in ranger, there is an additional flag "c" for
|
||||
# only running the current file even if you have marked multiple files.
|
||||
|
||||
#-------------------------------------------
|
||||
# Websites
|
||||
#-------------------------------------------
|
||||
ext x?html?, has chromium-browser, X, flag f = chromium-browser -- "$@"
|
||||
ext x?html?, has chromium, X, flag f = chromium -- "$@"
|
||||
|
||||
#--------------------------------------------
|
||||
# Video/Audio with a GUI
|
||||
#-------------------------------------------
|
||||
mime ^video, has mpv, X, flag f = mpv -- "$@"
|
||||
mime ^video|audio, has vlc, X, flag f = vlc -- "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Documents
|
||||
#-------------------------------------------
|
||||
ext pdf, has evince, X, flag f = evince -- "$@"
|
||||
ext pdf, has mupdf, X, flag f = mupdf "$@"
|
||||
|
||||
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Image Viewing:
|
||||
#-------------------------------------------
|
||||
mime ^image, has eog, X, flag f = eog -- "$@"
|
||||
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
|
||||
mime ^image, has gimp, X, flag f = gimp -- "$@"
|
||||
|
||||
#-------------------------------------------
|
||||
# Text files
|
||||
#-------------------------------------------
|
||||
ext xml|json|csv|tex|py|pl|rb|js|sh|php|md|ovpn|txt|cfg|conf = nano -- "$@"
|
||||
|
||||
# The very last action, so that it's never triggered accidentally, is to execute a program:
|
||||
mime application/x-executable = "$1"
|
@@ -1,159 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -o noclobber -o noglob -o nounset -o pipefail
|
||||
IFS=$'\n'
|
||||
|
||||
## If the option `use_preview_script` is set to `true`,
|
||||
## then this script will be called and its output will be displayed in ranger.
|
||||
## Meanings of exit codes:
|
||||
## code | meaning | action of ranger
|
||||
## -----+------------+-------------------------------------------
|
||||
## 0 | success | Display stdout as preview
|
||||
## 1 | no preview | Display no preview at all
|
||||
## 2 | plain text | Display the plain content of the file
|
||||
## 3 | fix width | Don't reload when width changes
|
||||
## 4 | fix height | Don't reload when height changes
|
||||
## 5 | fix both | Don't ever reload
|
||||
## 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview
|
||||
## 7 | image | Display the file directly as an image
|
||||
|
||||
## Script arguments
|
||||
FILE_PATH="${1}" # Full path of the highlighted file
|
||||
PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters)
|
||||
PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters)
|
||||
IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview
|
||||
PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise.
|
||||
|
||||
FILE_EXTENSION="${FILE_PATH##*.}"
|
||||
FILE_EXTENSION_LOWER="$(printf "%s" "${FILE_EXTENSION}" | tr '[:upper:]' '[:lower:]')"
|
||||
|
||||
## Settings
|
||||
HIGHLIGHT_SIZE_MAX=262143 # 256KiB
|
||||
HIGHLIGHT_TABWIDTH=${HIGHLIGHT_TABWIDTH:-8}
|
||||
HIGHLIGHT_STYLE=${HIGHLIGHT_STYLE:-pablo}
|
||||
HIGHLIGHT_OPTIONS="--replace-tabs=${HIGHLIGHT_TABWIDTH} --style=${HIGHLIGHT_STYLE} ${HIGHLIGHT_OPTIONS:-}"
|
||||
PYGMENTIZE_STYLE=${PYGMENTIZE_STYLE:-autumn}
|
||||
|
||||
handle_extension() {
|
||||
case "${FILE_EXTENSION_LOWER}" in
|
||||
# ## Archive
|
||||
# a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\
|
||||
# rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)
|
||||
# atool --list -- "${FILE_PATH}" && exit 5
|
||||
# bsdtar --list --file "${FILE_PATH}" && exit 5
|
||||
# exit 1;;
|
||||
# rar)
|
||||
# ## Avoid password prompt by providing empty password
|
||||
# unrar lt -p- -- "${FILE_PATH}" && exit 5
|
||||
# exit 1;;
|
||||
# 7z)
|
||||
# ## Avoid password prompt by providing empty password
|
||||
# 7z l -p -- "${FILE_PATH}" && exit 5
|
||||
# exit 1;;
|
||||
|
||||
## PDF
|
||||
pdf)
|
||||
## Preview as text conversion
|
||||
pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | fmt -w "${PV_WIDTH}" && exit 5
|
||||
mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | fmt -w "${PV_WIDTH}" && exit 5
|
||||
exiftool "${FILE_PATH}" && exit 5
|
||||
exit 1;;
|
||||
|
||||
## OpenDocument
|
||||
odt|ods|odp|sxw)
|
||||
## Preview as text conversion
|
||||
odt2txt "${FILE_PATH}" && exit 5
|
||||
exit 1;;
|
||||
|
||||
## HTML
|
||||
htm|html|xhtml)
|
||||
## Preview as text conversion
|
||||
w3m -dump "${FILE_PATH}" && exit 5
|
||||
;; # Continue with next handler on failure
|
||||
## JSON
|
||||
json)
|
||||
jq --color-output . "${FILE_PATH}" && exit 5
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
handle_image() {
|
||||
## Size of the preview if there are multiple options or it has to be
|
||||
## rendered from vector graphics. If the conversion program allows
|
||||
## specifying only one dimension while keeping the aspect ratio, the width
|
||||
## will be used.
|
||||
local DEFAULT_SIZE="1920x1080"
|
||||
|
||||
local mimetype="${1}"
|
||||
case "${mimetype}" in
|
||||
## Image
|
||||
image/*)
|
||||
local orientation
|
||||
orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )"
|
||||
## If orientation data is present and the image actually
|
||||
## needs rotating ("1" means no rotation)...
|
||||
if [[ -n "$orientation" && "$orientation" != 1 ]]; then
|
||||
## ...auto-rotate the image according to the EXIF data.
|
||||
convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6
|
||||
fi
|
||||
|
||||
## `w3mimgdisplay` will be called for all images (unless overriden
|
||||
## as above), but might fail for unsupported types.
|
||||
exit 7;;
|
||||
|
||||
esac
|
||||
}
|
||||
|
||||
handle_mime() {
|
||||
local mimetype="${1}"
|
||||
case "${mimetype}" in
|
||||
## Text
|
||||
text/* | */xml)
|
||||
## Syntax highlight
|
||||
if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then
|
||||
exit 2
|
||||
fi
|
||||
if [[ "$( tput colors )" -ge 256 ]]; then
|
||||
local pygmentize_format='terminal256'
|
||||
local highlight_format='xterm256'
|
||||
else
|
||||
local pygmentize_format='terminal'
|
||||
local highlight_format='ansi'
|
||||
fi
|
||||
env HIGHLIGHT_OPTIONS="${HIGHLIGHT_OPTIONS}" highlight \
|
||||
--out-format="${highlight_format}" \
|
||||
--force -- "${FILE_PATH}" && exit 5
|
||||
pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}"\
|
||||
-- "${FILE_PATH}" && exit 5
|
||||
exit 2;;
|
||||
|
||||
## Image
|
||||
image/*)
|
||||
## Preview as text conversion
|
||||
# img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4
|
||||
exiftool "${FILE_PATH}" && exit 5
|
||||
exit 1;;
|
||||
|
||||
## Video and audio
|
||||
video/* | audio/*)
|
||||
mediainfo "${FILE_PATH}" && exit 5
|
||||
exiftool "${FILE_PATH}" && exit 5
|
||||
exit 1;;
|
||||
esac
|
||||
}
|
||||
|
||||
handle_fallback() {
|
||||
echo '----- File Type Classification -----' && file --dereference --brief -- "${FILE_PATH}" && exit 5
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )"
|
||||
if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then
|
||||
handle_image "${MIMETYPE}"
|
||||
fi
|
||||
handle_extension
|
||||
handle_mime "${MIMETYPE}"
|
||||
handle_fallback
|
||||
|
||||
exit 1
|
12
config/rofi
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
|
||||
|
32
dependencies/pacman.txt
vendored
@@ -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
|
||||
|
6
dependencies/pip.txt
vendored
@@ -1 +1,5 @@
|
||||
powerline-shell
|
||||
msrestazure
|
||||
azure.common
|
||||
azure.mgmt
|
||||
azure.mgmt.containerservice
|
||||
azure.graphrbac
|
||||
|
118
i3/config
@@ -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
|
||||
# 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"
|
||||
# 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,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
|
||||
@@ -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 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 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 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 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 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 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
|
||||
|
@@ -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]
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
274
install.sh
@@ -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
|
||||
if ((REPLY == "q")); then
|
||||
break
|
||||
|
||||
elif (( REPLY > 0 )) ; then
|
||||
bash "$opt/install.sh"
|
||||
break
|
||||
else
|
||||
echo "Invalid option. Try another one."
|
||||
fi
|
||||
elif ((REPLY > 0)); then
|
||||
bash "$opt/install.sh"
|
||||
break
|
||||
else
|
||||
echo "Invalid option. Try another one."
|
||||
fi
|
||||
done
|
||||
clear
|
||||
|
||||
echo "Enjoy using my rice! Do not forget to select i3 in GDM :)"
|
||||
echo "Enjoy using my rice! Do not forget to select i3 in sddm :)"
|
||||
|
BIN
media/dotfiles4.jpg
Normal file
After Width: | Height: | Size: 191 KiB |
4
wallpapers/README.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# wallpaper display
|
||||
|
||||
![]()
|
||||
by
|
24
wallpapers/data.json
Normal 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/"
|
||||
}
|
||||
]
|
BIN
wallpapers/images/blue-butterflies.jpg
Normal file
After Width: | Height: | Size: 251 KiB |
Before Width: | Height: | Size: 678 KiB After Width: | Height: | Size: 678 KiB |
Before Width: | Height: | Size: 2.0 MiB After Width: | Height: | Size: 2.0 MiB |
Before Width: | Height: | Size: 252 KiB After Width: | Height: | Size: 252 KiB |
BIN
wallpapers/images/dark-hedges.jpg
Normal file
After Width: | Height: | Size: 686 KiB |
BIN
wallpapers/images/forest.jpg
Normal file
After Width: | Height: | Size: 536 KiB |
BIN
wallpapers/images/friends.jpg
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
wallpapers/images/lake-thunder.jpg
Normal file
After Width: | Height: | Size: 432 KiB |
BIN
wallpapers/images/pink-cherryblossom.jpg
Normal file
After Width: | Height: | Size: 187 KiB |
BIN
wallpapers/images/pug-in-blanket.jpg
Normal file
After Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 278 KiB After Width: | Height: | Size: 278 KiB |
BIN
wallpapers/images/starman.jpg
Normal file
After Width: | Height: | Size: 483 KiB |
BIN
wallpapers/images/sunset-dawn.jpg
Normal file
After Width: | Height: | Size: 263 KiB |
BIN
wallpapers/images/thunderstorm-sea.jpg
Normal file
After Width: | Height: | Size: 245 KiB |
BIN
wallpapers/images/winter-tree.jpg
Normal file
After Width: | Height: | Size: 575 KiB |
BIN
wallpapers/license/blue-butterflies.jpg
Normal file
After Width: | Height: | Size: 708 KiB |
BIN
wallpapers/license/dark-hedges.jpg
Normal file
After Width: | Height: | Size: 154 KiB |
BIN
wallpapers/license/forest.jpg
Normal file
After Width: | Height: | Size: 132 KiB |
BIN
wallpapers/license/friends.jpg
Normal file
After Width: | Height: | Size: 140 KiB |
BIN
wallpapers/license/lake-thunder.jpg
Normal file
After Width: | Height: | Size: 904 KiB |
BIN
wallpapers/license/pink-cherryblossom.jpg
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
wallpapers/license/pug-in-blanket.jpg
Normal file
After Width: | Height: | Size: 144 KiB |
BIN
wallpapers/license/starman.jpg
Normal file
After Width: | Height: | Size: 942 KiB |
BIN
wallpapers/license/sunset-dawn.jpg
Normal file
After Width: | Height: | Size: 89 KiB |
BIN
wallpapers/license/thunderstorm-sea.jpg
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
wallpapers/license/winter-tree.jpg
Normal file
After Width: | Height: | Size: 159 KiB |
@@ -1 +0,0 @@
|
||||
/home/mastermindzh/dotfiles/wallpapers/butterflies-in-space.jpg
|