Skip to content

Commit 1449697

Browse files
committed
Added:
- .bashrc config analog to fish config - dolphin config for settings - bat config - btop config - fastfetch config - fish config features: More aliases. Function to use vim in sudoedit. Specific Paths for easier script execution. Nvim as standard terminal editor. Go path. OBS Screenrecording support. zoxide use for better "cd" commands. - fzf use in fish for file management - Startup check for all exec-once processes - hyprsunset - Better toggle for floating windows - Neovim and kickstarter config - Khal: Terminal calendar - Waybar: update counter and notification counter - dolphin settings - Calculator - Simple Note taking script with Neovim - Waypaper to change wallpapers - Pyprland for Terminal Scrachpad - Neovim with Kickstarter config - vivaldi ffmpg for better video utilisation - hyprcurser for custom cursor - zoxide for simpler "cd" command interactions - lshw for system informations - ntfs-3g for windows filesystem format support - firewalld for additional security - konsole for dolphin terminal integration - fastfetch because cool - tldr for simpler manual pages - lsplug for readable usb lists - pyprland for Terminal Scratchpad access
1 parent 4350d7f commit 1449697

39 files changed

+2434
-98
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ This script automatically updates Pacman, installs the necessary packages, and c
144144
- lsd (ls replacement - used as alias in fish config)
145145
- btop (System Monitor - used as alias in fish config)
146146

147-
`sudo pacman -S hyprland dolphin kitty vivaldi waybar hyprpaper hyprcursor wofi hyprlock hypridle hyprpolkitagent xdg-desktop-portal-hyprland xdg-desktop-portal-gtk dunst gnome-keyring ttf-jetbrains-mono-nerd cava polkit-kde-agent fish stow bat lsd btop`
147+
`sudo pacman -S hyprland dolphin kitty vivaldi waybar hyprpaper hyprcursor wofi hyprlock hypridle hyprpolkitagent xdg-desktop-portal-hyprland xdg-desktop-portal-gtk dunst gnome-keyring ttf-jetbrains-mono-nerd cava fish stow bat lsd btop`
148148

149149
### AUR Extras
150150
- xwaylandvideobridge-git (XWayland Video Bridge)

Setup/Start_hyprland_setup.sh

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,14 @@ create_backup() {
8585
check_user_input() {
8686
# Check if WALLPAPER_DIR is set, prompt if not
8787
if [ -z "$WALLPAPER_DIR" ]; then
88-
echo "WARNING: WALLPAPER_DIR is not set."
88+
echo "WALLPAPER_DIR is not set."
8989
read -rp "Please enter the path to your wallpaper directory: " input_wallpaper_dir
9090
export WALLPAPER_DIR="$input_wallpaper_dir"
9191
fi
9292

9393
# Check if MONITORS variable is set, prompt if not
9494
if [ -z "$MONITORS" ]; then
95-
echo "WARNING: MONITORS variable is not set."
95+
echo "MONITORS variable is not set."
9696
echo "Please enter your monitor names separated by spaces, check with 'hyprctl monitors' (eg: \"DP-1 HDMI-A-1\"): "
9797
read -r input_monitors
9898
# Convert input into an array properly using read -a
@@ -106,8 +106,10 @@ update_configs() {
106106
# Copy sources_example to sources directory
107107
local hypr_config_dir="$HOME/dotfiles/.config/hypr"
108108
if [ -d "$hypr_config_dir/sources_example" ]; then
109-
print_message "Copying sources_example to sources..."
110-
cp -r "$hypr_config_dir/sources_example" "$hypr_config_dir/sources"
109+
print_message "Copying sources_example to sources if not existent..."
110+
if [ ! -d "$hypr_config_dir/sources" ]; then
111+
cp -r "$hypr_config_dir/sources_example" "$hypr_config_dir/sources"
112+
fi
111113
else
112114
print_error "sources_example directory not found in $hypr_config_dir"
113115
mkdir -p "$hypr_config_dir/sources"
@@ -206,20 +208,29 @@ hyprland_packages=(
206208
"hyprlock"
207209
"hypridle"
208210
"hyprpolkitagent"
211+
"hyprpicker"
212+
"wl-clipboard"
213+
"wl-clip-persist"
214+
"hyprgraphics"
215+
"hyprland-qtutils"
216+
"hyprland-qt-support"
217+
"hyprwayland-scanner"
209218

210219
# File Management
211220
"dolphin"
212221
"git"
213222
"fd"
214223
"fzf"
215224
"stow"
225+
"nvim"
216226

217227
# Terminal and Shell
218228
"kitty"
219229
"fish"
220230

221231
# Browser
222232
"vivaldi"
233+
"vivaldi-ffmpeg-codecs"
223234

224235
# System Integration
225236
"xdg-desktop-portal-hyprland"
@@ -234,13 +245,26 @@ hyprland_packages=(
234245

235246
# Theming and Appearance
236247
"ttf-jetbrains-mono-nerd"
248+
"ttf-nerd-fonts-symbols"
249+
"ttf-nerd-fonts-symbols-common"
237250
"rose-pine-hyprcursor"
238251
"cava"
239252

240253
# CLI Tools
241254
"bat"
242255
"lsd"
243256
"btop"
257+
"khal"
258+
"zoxide"
259+
"lshw"
260+
"ntfs-3g"
261+
"firewalld"
262+
"konsole"
263+
"fastfetch"
264+
"tldr"
265+
266+
# Calculator
267+
"qalculate-gtk"
244268
)
245269

246270
install_pacman_packages() {
@@ -264,6 +288,14 @@ aur_extras=(
264288
"xwaylandvideobridge-git"
265289
"hyprshot"
266290
"visual-studio-code-bin"
291+
"lsplug"
292+
"waypaper-git"
293+
294+
# Additional AUR packages
295+
"pyprland"
296+
"wl-clipboard-history-git"
297+
"hyprsunset"
298+
"github-desktop-bin"
267299
)
268300

269301
install_aur_extras() {

dotfiles/.bashrc

Lines changed: 218 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,218 @@
1+
# .bashrc for Arch Linux
2+
3+
# shellcheck disable=SC1090
4+
5+
# If not running interactively, don't do anything
6+
[[ $- != *i* ]] && return
7+
8+
set -o vi
9+
10+
eval "$(zoxide init bash)"
11+
12+
# Git prompt setup - Arch-specific path
13+
if [ -f /usr/share/git/completion/git-prompt.sh ]; then
14+
source /usr/share/git/completion/git-prompt.sh
15+
fi
16+
17+
get_os() {
18+
os_info=$(cat /etc/os-release)
19+
os_name=$(echo "$os_info" | grep -oP '^NAME="?(.+)"?$' | sed 's/^NAME=//;s/"//g')
20+
echo "$os_name"
21+
}
22+
23+
function bash_prompt {
24+
# Set color to green
25+
PS1="\[\e[32m\]"
26+
27+
# Add OS name
28+
PS1+=$(get_os)" "
29+
30+
# Reset color
31+
PS1+="\[\e[0m\]"
32+
33+
# Add current working directory
34+
PS1+="\w"
35+
36+
# Set color to yellow for git prompt
37+
PS1+="\[\e[33m\]"
38+
39+
# Add git prompt (assuming you have a function or command for this)
40+
PS1+="$(git_prompt)"
41+
42+
# Reset color
43+
PS1+="\[\e[0m\]"
44+
45+
# Add prompt symbol
46+
PS1+=" > "
47+
}
48+
49+
# Example git prompt function (you can customize this)
50+
git_prompt() {
51+
git branch 2>/dev/null | grep '^\*' | sed 's/^\* / (/;s/$/)/'
52+
}
53+
54+
vim() {
55+
if [ -w "$1" ] || [ ! -e "$1" ]; then
56+
nvim "$@"
57+
else
58+
sudoedit "$@"
59+
fi
60+
}
61+
62+
# Set the prompt
63+
PROMPT_COMMAND=bash_prompt
64+
65+
# Prompt configuration with git integration
66+
# PS1='\[\033[32m\]EOS \[\033[0m\]\w\[\033[33m\]$(__git_ps1 " %s")\[\033[0m\] > '
67+
68+
# General alias
69+
alias cls='clear'
70+
bind 'Control-l: clear-screen'
71+
alias ..='cd ..'
72+
# alias rm='rm -i'
73+
# alias mv='mv -i'
74+
# alias cp='cp -i'
75+
alias cd='z'
76+
alias ls='lsd -lah --group-directories-first --color=auto'
77+
alias top='btop'
78+
alias cat='bat'
79+
alias vi="nvim"
80+
alias vim='nvim'
81+
alias fzf='fzf --bind "enter:execute(nvim {})" -m --preview="bat --color=always --style=numbers --line-range=:500 {}"'
82+
alias fd='fd -H --max-depth 4'
83+
alias zj='zellij'
84+
85+
# Pacman/yay/apt alias
86+
alias pcn='sudo pacman'
87+
alias pacman='sudo pacman'
88+
alias pacsy='sudo reflector --verbose --country DE,CH,AT --protocol https --sort rate --latest 20 --download-timeout 6 --save /etc/pacman.d/mirrorlist'
89+
alias pacup='sudo pacman -Syu'
90+
alias pacin='sudo pacman -S'
91+
alias pacrm='sudo pacman -Rns'
92+
alias search='yay -Ss'
93+
alias apt-search='apt search'
94+
95+
# Git alias
96+
alias git-rm-cache='git rm -rf --cached .'
97+
alias gc='git commit -m'
98+
alias ga='git add .'
99+
alias gs='git status'
100+
alias g='git'
101+
alias gp='git push'
102+
alias gl='git pull'
103+
alias git-rm='git restore --staged'
104+
105+
# Grep alias
106+
alias grep='grep --color=auto'
107+
alias egrep='egrep --color=auto'
108+
alias fgrep='fgrep --color=auto'
109+
110+
# Bootloader alias
111+
alias grub-update='sudo grub-mkconfig -o /boot/grub/grub.cfg'
112+
alias update-grub='sudo grub-mkconfig -o /boot/grub/grub.cfg'
113+
alias uuid='ls -l /dev/disk/by-uuid'
114+
alias mount-check='sudo findmnt --verify --verbose'
115+
116+
# Systemctl alias
117+
alias sysstat='systemctl status'
118+
alias sysen='systemctl enable'
119+
alias sysdis='systemctl disable'
120+
121+
# Custom Scripts
122+
alias server='Start_ssh_server.sh'
123+
alias update='Start_System_setup.sh --function update_arch'
124+
alias update-o='Start_System_setup.sh --function update_specific_package'
125+
alias backup='Start_System_setup.sh --function system_backup'
126+
alias setup='Start_System_setup.sh'
127+
alias stows='Start_stow_solve.sh'
128+
alias note='Start_notes.sh'
129+
alias notes='Start_notes.sh'
130+
131+
bind '"\e[A": history-search-backward'
132+
bind '"\e[B": history-search-forward'
133+
bind 'TAB:menu-complete'
134+
135+
set completion-ignore-case on
136+
set show-all-if-ambiguous on
137+
set completion-map-case on
138+
139+
export SCRIPTS_DIR="$HOME/Dokumente/GitHub/Linux-Setup/Scripts"
140+
export PATH="$PATH:$SCRIPTS_DIR:$HOME/go/bin"
141+
142+
if [ -d "$SCRIPTS_DIR" ]; then
143+
find "$SCRIPTS_DIR" -type f -name "*.sh" -exec chmod +x {} \;
144+
fi
145+
146+
# Language settings
147+
export LC_ALL="de_CH.UTF-8"
148+
export LANG="de_CH.UTF-8"
149+
export LANGUAGE=de_CH:en_US
150+
151+
export HISTCONTROL=ignoreboth
152+
153+
# Git prompt settings
154+
export GIT_PS1_SHOWDIRTYSTATE=1
155+
export GIT_PS1_SHOWUNTRACKEDFILES=1
156+
export GIT_PS1_SHOWUPSTREAM="auto"
157+
export GIT_PS1_SHOWCOLORHINTS=1
158+
159+
# Editor settings
160+
unset EDITOR
161+
export EDITOR=nvim
162+
export VISUAL=nvim
163+
164+
# Path and environment variables for Ollama
165+
# export PATH=$PATH:/opt/rocm/bin:/opt/rocm/opencl/bin
166+
export OLLAMA_USE_GPU=1
167+
export OLLAMA_MAX_LOADED_MODELS=2
168+
export OLLAMA_NUM_PARALLEL=4
169+
export OLLAMA_MAX_QUEUE=512
170+
export OLLAMA_MODELS=/mnt/SSD_NVME_4TB/Ollama/
171+
export HSA_OVERRIDE_GFX_VERSION=11.0.1
172+
export ROCR_VISIBLE_DEVICES=0
173+
174+
# export OLLAMA_HOST=0.0.0.0
175+
# chmod -R 775 $OLLAMA_MODELS
176+
177+
#Java settings
178+
# export INSTALL4J_JAVA_HOME=/usr/lib/jvm/java-17-openjdk
179+
180+
# Better history handling
181+
export HISTTIMEFORMAT="%F %T "
182+
export HISTSIZE=10000
183+
export HISTFILESIZE=10000
184+
export HISTCONTROL=ignoreboth:erasedups
185+
shopt -s histappend
186+
187+
# Better directory navigation
188+
shopt -s autocd
189+
shopt -s cdspell
190+
shopt -s dirspell
191+
shopt -s globstar
192+
193+
# Disable Ctrl+S freezing the terminal
194+
stty -ixon
195+
196+
# Load bash completion if available
197+
[[ -r /usr/share/bash-completion/bash_completion ]] && . /usr/share/bash-completion/bash_completion
198+
199+
# fzf Config Exports
200+
export FZF_DEFAULT_OPTS="--bind 'delete:execute(mkdir -p ~/.trash && mv {} ~/.trash/)+reload(find .)'"
201+
202+
# Terminal settings
203+
export TERMINAL=kitty
204+
export TERM=kitty
205+
206+
# Less pager settings
207+
export LESS='-R --quit-if-one-screen --ignore-case --LONG-PROMPT --RAW-CONTROL-CHARS --HILITE-UNREAD --tabs=4 --no-init --window=-4'
208+
209+
# Wayland and Hyprland settings
210+
export QT_QPA_PLATFORMTHEME=qt5ct
211+
export QT_QPA_PLATFORM=wayland
212+
export DBUS_SESSION_BUS_ADDRESS="unix:path=$XDG_RUNTIME_DIR/bus"
213+
export XDG_CURRENT_DESKTOP=Hyprland
214+
215+
export ONEDRIVE_HTTP_PROTOCOL=HTTP/1.1
216+
export ONEDRIVE_IP_VERSION=4
217+
218+
[ -f ~/.fzf.bash ] && source ~/.fzf.bash

dotfiles/.config/bat/config

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# This is `bat`s configuration file. Each line either contains a comment or
2+
# a command-line option that you want to pass to `bat` by default. You can
3+
# run `bat --help` to get a list of all possible configuration options.
4+
5+
# Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes`
6+
# for a list of all available themes
7+
--theme="Nord"
8+
9+
# Enable this to use italic text on the terminal. This is not supported on all
10+
# terminal emulators (like tmux, by default):
11+
#--italic-text=always
12+
13+
# Uncomment the following line to disable automatic paging:
14+
#--paging=never
15+
16+
# Uncomment the following line if you are using less version >= 551 and want to
17+
# enable mouse scrolling support in `bat` when running inside tmux. This might
18+
# disable text selection, unless you press shift.
19+
#--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse"
20+
21+
# Syntax mappings: map a certain filename pattern to a language.
22+
# Example 1: use the C++ syntax for Arduino .ino files
23+
# Example 2: Use ".gitignore"-style highlighting for ".ignore" files
24+
#--map-syntax "*.ino:C++"
25+
#--map-syntax ".ignore:Git Ignore"

0 commit comments

Comments
 (0)