Compare commits
No commits in common. "main" and "master" have entirely different histories.
94 changed files with 837 additions and 1081 deletions
|
@ -1,5 +1,3 @@
|
||||||
# Ahurac dotfiles
|
# Ahurac dotfiles
|
||||||
|
|
||||||
[![Please don't upload to GitHub](https://nogithub.codeberg.page/badge.svg)](https://nogithub.codeberg.page)
|
[![Please don't upload to GitHub](https://nogithub.codeberg.page/badge.svg)](https://nogithub.codeberg.page)
|
||||||
|
|
||||||
Configuration stuff I want to have on any machine I log in.
|
|
||||||
|
|
|
@ -11,7 +11,5 @@ if [ -z "$SSH_AGENT_PID" ]; then
|
||||||
exec ssh-agent "$0" "$@"
|
exec ssh-agent "$0" "$@"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export XDG_CONFIG_HOME="${HOME}/.config"
|
|
||||||
|
|
||||||
# Execution
|
# Execution
|
||||||
exec /usr/bin/Hyprland "$@"
|
exec /usr/bin/Hyprland "$@"
|
||||||
|
|
6
bin/coless
Executable file
6
bin/coless
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
export \
|
||||||
|
LESSOPEN='| /usr/bin/src-hilite-lesspipe.sh %s' \
|
||||||
|
LESS="${LESS} -R"
|
||||||
|
exec less "$@"
|
||||||
|
|
50
bin/convertofut
Executable file
50
bin/convertofut
Executable file
|
@ -0,0 +1,50 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
error() {
|
||||||
|
printf '\033[1;31m%s\033[0m %s\n' "ERROR:" "$1"
|
||||||
|
shift
|
||||||
|
exit "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
trap 'error "$error" "$?"' EXIT; set -e
|
||||||
|
|
||||||
|
error="Le premier argument doit être l'extension des fichiers à convertir."
|
||||||
|
[ -n "$1" ]; format_in="$1" ; shift
|
||||||
|
error="Le second argument doit être l'extension des fichiers convertis."
|
||||||
|
[ -n "$1" ]; format_out="$1"; shift
|
||||||
|
|
||||||
|
set +e; trap - EXIT
|
||||||
|
|
||||||
|
while [ -z "$input" ] ; do
|
||||||
|
printf '%s' "Dossier à convertir : "
|
||||||
|
read -r input
|
||||||
|
done
|
||||||
|
|
||||||
|
output=../output
|
||||||
|
|
||||||
|
set -e
|
||||||
|
cd "$input"
|
||||||
|
mkdir -p "$output"
|
||||||
|
set +e
|
||||||
|
|
||||||
|
case "$format_out" in
|
||||||
|
mp3)
|
||||||
|
options="-ab 320k"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
for file in **/*".${format_in}"; do
|
||||||
|
while [ "$(jobs -p | wc -l)" -ge 10 ]; do
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
basename "$file"
|
||||||
|
output_file="${output}/$(dirname "$file")/$(basename "${file}" ".${format_in}").${format_out}"
|
||||||
|
mkdir -p "$(dirname "${output_file}")"
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
ffmpeg -loglevel quiet -i "$file" $options "$output_file" &
|
||||||
|
done
|
||||||
|
|
||||||
|
wait
|
||||||
|
|
4
bin/docker-browse_volume
Executable file
4
bin/docker-browse_volume
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/sh
|
||||||
|
mount_point="/mnt/${1}"
|
||||||
|
docker run --rm -it -v "${1}:${mount_point}" -w "$mount_point" busybox sh
|
||||||
|
|
16
bin/fakepkg
16
bin/fakepkg
|
@ -1,16 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
cd -- "$(mktemp -d)" || exit
|
|
||||||
temp_dir=$(pwd)
|
|
||||||
|
|
||||||
cat > PKGBUILD << EOF
|
|
||||||
pkgname='$1'
|
|
||||||
pkgver=0.0.0
|
|
||||||
pkgrel=1
|
|
||||||
pkgdesc='Dummy package'
|
|
||||||
arch=('any')
|
|
||||||
EOF
|
|
||||||
|
|
||||||
makepkg -i
|
|
||||||
|
|
||||||
cd .. || exit
|
|
||||||
rm -r -f -- "$temp_dir"
|
|
37
bin/getpkg
37
bin/getpkg
|
@ -1,37 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
get_field() {
|
|
||||||
echo "$2" | cut -d / -f "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
error() {
|
|
||||||
exit_code="$1"
|
|
||||||
shift
|
|
||||||
>&2 printf '\033[1;31m==> ERROR:\033[0m \033[1m%s\033[0m\n' "$*"
|
|
||||||
exit "$exit_code"
|
|
||||||
}
|
|
||||||
|
|
||||||
repo=$(get_field 1 "$1")
|
|
||||||
package=$(get_field 2 "$1")
|
|
||||||
|
|
||||||
case "$repo" in
|
|
||||||
system|world|galaxy|lib32)
|
|
||||||
url=gitea.artixlinux.org/packages/%s/raw/branch/master/PKGBUILD
|
|
||||||
;;
|
|
||||||
core|extra|multilib)
|
|
||||||
#url=gitlab.archlinux.org/archlinux/packaging/packages
|
|
||||||
url=gitlab.archlinux.org/archlinux/packaging/packages/%s/-/raw/main/PKGBUILD
|
|
||||||
;;
|
|
||||||
aur)
|
|
||||||
url='aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=%s'
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
error 1 "Invalid repository name \"${repo}\""
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Format is in my variable
|
|
||||||
# shellcheck disable=2059
|
|
||||||
url=$(printf "https://${url}" "$package")
|
|
||||||
|
|
||||||
curl -f -L -- "$url" || error 2 "Failed to retrieve PKGBUILD from \"${url}\""
|
|
118
bin/glurp
118
bin/glurp
|
@ -1,81 +1,83 @@
|
||||||
#!/usr/bin/env sh
|
#!/bin/bash
|
||||||
# Function to print an error in stderr
|
|
||||||
perror() {
|
declare -A temp_files
|
||||||
>&2 printf '\033[1;31mERROR:\033[0m \033[1m%s\033[0m\n' "$*"
|
temp_files[command_to_source]=$(mktemp)
|
||||||
|
|
||||||
|
clean() {
|
||||||
|
rm -- "${temp_files[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
name=$(basename "$0")
|
cat << EOF
|
||||||
|
Usage:
|
||||||
printf %s "${name}: usage
|
glurp full|area clip|file
|
||||||
${name} f[ull]|a[rea] c[lip]|f[ile]
|
EOF
|
||||||
${name} -h
|
|
||||||
"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Function to throw an error usage
|
error() {
|
||||||
error_usage() {
|
>&2 printf '\033[0m\033[1;31mERROR:\033[0m \033[1m%s\033[0m\n' "$*"
|
||||||
perror "invalid usage"
|
}
|
||||||
>&2 usage
|
|
||||||
|
|
||||||
exit 1
|
error_usage() {
|
||||||
|
error "Invalid usage"
|
||||||
|
>&2 usage
|
||||||
|
}
|
||||||
|
|
||||||
|
error_usage_clean() {
|
||||||
|
error_usage
|
||||||
|
clean
|
||||||
}
|
}
|
||||||
|
|
||||||
screenshot_path() {
|
screenshot_path() {
|
||||||
if [ -d "$XDG_RUNTIME_DIR" ]; then
|
local path
|
||||||
base=${XDG_RUNTIME_DIR}/screenshots
|
if [ -n "$1" ]; then
|
||||||
|
path="$1"
|
||||||
else
|
else
|
||||||
base=/tmp/${USER}-screenshots
|
path=.
|
||||||
fi
|
fi
|
||||||
|
mkdir -p "$path"
|
||||||
# I literally know, shellcheck
|
printf '%sscreenshot-%s.png' "${path}/" "$(date +%Y_%m_%d_%H_%M_%S_%N)"
|
||||||
# shellcheck disable=2174
|
|
||||||
mkdir -p -m 700 -- "$base"
|
|
||||||
|
|
||||||
printf %s "${base}/screenshot-$(date +%Y%m%d_%H%M%S%N).png"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
while getopts :h opt; do
|
trap error_usage_clean EXIT
|
||||||
case "$opt" in
|
set -e
|
||||||
h)
|
|
||||||
usage
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
?)
|
|
||||||
error_usage
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
# Initial variables
|
slurp=()
|
||||||
slurp=
|
grim_args=()
|
||||||
grim="grim -t png"
|
wl_copy=()
|
||||||
clipboard=
|
|
||||||
|
|
||||||
# f* = full, a* = area
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
f*) : ;;
|
full)
|
||||||
a*)
|
:
|
||||||
slurp="slurp |"
|
;;
|
||||||
grim="${grim} -g -"
|
area)
|
||||||
|
slurp+=(slurp \|)
|
||||||
|
grim_args+=(-g -)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
false
|
||||||
;;
|
;;
|
||||||
*) error_usage ;;
|
|
||||||
esac
|
esac
|
||||||
|
shift
|
||||||
|
|
||||||
# c* = clip, f* = file
|
case "$1" in
|
||||||
case "$2" in
|
clip)
|
||||||
c*)
|
wl_copy+=(\| wl-copy -t image/png)
|
||||||
grim="${grim} -"
|
grim_args+=(-)
|
||||||
clipboard="| wl-copy -t image/png"
|
|
||||||
;;
|
;;
|
||||||
f*)
|
file)
|
||||||
grim="${grim} '$(screenshot_path)'"
|
grim_args+=("$(screenshot_path "${XDG_RUNTIME_DIR:-/tmp/$(whoami)}/screenshots")")
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
false
|
||||||
;;
|
;;
|
||||||
*) error_usage ;;
|
|
||||||
esac
|
esac
|
||||||
|
shift
|
||||||
|
|
||||||
set -- sh -c "${slurp} ${grim} ${clipboard}"
|
cat > "${temp_files[command_to_source]}" << EOF
|
||||||
set -x
|
${slurp[@]} grim ${grim_args[@]} ${@} ${wl_copy[@]}
|
||||||
#: "$@"
|
EOF
|
||||||
#exit
|
|
||||||
exec "$@"
|
trap clean EXIT
|
||||||
|
|
||||||
|
sh -s < "${temp_files[command_to_source]}"
|
||||||
|
|
132
bin/headlessvnc
132
bin/headlessvnc
|
@ -1,71 +1,107 @@
|
||||||
#!/usr/bin/env sh
|
#!/bin/bash
|
||||||
perror() {
|
|
||||||
>&2 printf '\033[1;31mERROR:\033[0m \033[1m%s\033[0m\n' "$*"
|
# cd to the local VNC directory, exit if it fails
|
||||||
|
cd "${HOME}/.vnc" || exit 5
|
||||||
|
|
||||||
|
# Variable
|
||||||
|
verbs="start status stop restart help"
|
||||||
|
|
||||||
|
# echo bold text
|
||||||
|
echobf() {
|
||||||
|
printf '\033[1m%s\033[0m\n' "$*"
|
||||||
}
|
}
|
||||||
|
|
||||||
usage() {
|
# Print an error message
|
||||||
name=$(basename "$0")
|
print_error() {
|
||||||
|
(
|
||||||
cat << EOF
|
printf '\033[1;31m%s\033[0m ' "ERROR:"
|
||||||
${name}: usage
|
echobf "$*"
|
||||||
${name} [status] - show if the server is running
|
) > /dev/stderr
|
||||||
${name} start|stop|restart - control the server
|
|
||||||
${name} help|usage - show help
|
|
||||||
EOF
|
|
||||||
}
|
}
|
||||||
|
|
||||||
error_usage() {
|
# Print an error and exit
|
||||||
perror "invalid usage"
|
error() {
|
||||||
>&2 usage
|
print_error "$1"
|
||||||
|
shift
|
||||||
exit 1
|
exit "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Check if the VNC server is running
|
||||||
is_running() {
|
is_running() {
|
||||||
vncserver -list | grep -q '^:1'
|
vncserver -list | grep -q '^:1'
|
||||||
}
|
}
|
||||||
|
|
||||||
start() {
|
# Show a help message
|
||||||
if ! is_running; then
|
public_help() {
|
||||||
set -- vncserver \
|
local name
|
||||||
-localhost -alwaysshared \
|
name="$(basename "$0")"
|
||||||
-securitytypes none
|
cat << EOF
|
||||||
[ -x ~/.vnc/xstartup ] && set -- "$@" -xstartup ~/.vnc/xstartup
|
${name} - Start a VNC server
|
||||||
|
|
||||||
"$@"
|
Usage:
|
||||||
|
${name} ${verbs// /|}
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
# Show the same help with an error
|
||||||
|
error_help() {
|
||||||
|
print_error "Invalid usage"
|
||||||
|
>&2 public_help
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Start the VNC server
|
||||||
|
public_start() {
|
||||||
|
if ! is_running; then
|
||||||
|
set -e
|
||||||
|
vncserver \
|
||||||
|
-xstartup ./xstartup \
|
||||||
|
-localhost \
|
||||||
|
-alwaysshared \
|
||||||
|
-securitytypes none \
|
||||||
|
-nocursor \
|
||||||
|
-geometry 1600x900
|
||||||
else
|
else
|
||||||
perror "server already started"
|
error "The VNC server is already running!" 4
|
||||||
return 2
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
stop() {
|
# Check if the server is running
|
||||||
|
public_status() {
|
||||||
|
if is_running; then
|
||||||
|
echobf "The VNC server is running."
|
||||||
|
tail "./$(cat /proc/sys/kernel/hostname):1.log" | sed 's/^/\t/g'
|
||||||
|
else
|
||||||
|
echobf "The VNC server is not running."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Stop the VNC server
|
||||||
|
public_stop() {
|
||||||
if is_running; then
|
if is_running; then
|
||||||
vncserver -kill :1
|
vncserver -kill :1
|
||||||
else
|
else
|
||||||
perror "server is not running"
|
error "The VNC server is not running!" 3
|
||||||
return 2
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
status() {
|
# Restart the VNC server
|
||||||
if is_running; then
|
public_restart() {
|
||||||
printf '\033[1;32m*\033[0m \033[1m%s\n' "the server is running"
|
public_stop
|
||||||
else
|
public_start
|
||||||
printf '\033[1;31m*\033[0m \033[1m%s\n' "the server is not running"
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
case "$1" in
|
# Parse argument
|
||||||
""|stat*) status ;;
|
if [ -n "$1" ]; then
|
||||||
star*) start ;;
|
arg="$1"
|
||||||
sto*) stop ;;
|
else
|
||||||
r*)
|
arg=status
|
||||||
stop
|
fi
|
||||||
start
|
|
||||||
;;
|
# Main switch
|
||||||
h*|u*) usage ;;
|
if echo "$verbs" | tr ' ' '\n' | grep -q "$arg"; then
|
||||||
*)
|
"public_${arg}"
|
||||||
error_usage
|
else
|
||||||
;;
|
error_help
|
||||||
esac
|
fi
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@ create() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! vnc_running; then
|
if ! vnc_running; then
|
||||||
tmux new -s "Second screen (${vscreen_name})" -d \
|
screen -S "Second screen (${vscreen_name})" -d -m \
|
||||||
wayvnc \
|
wayvnc \
|
||||||
-v \
|
-v \
|
||||||
-o "$vscreen_name" \
|
-o "$vscreen_name" \
|
||||||
|
|
19
bin/hyprxdg
19
bin/hyprxdg
|
@ -1,17 +1,16 @@
|
||||||
#!/usr/bin/env sh
|
#!/bin/sh -x
|
||||||
set -x
|
|
||||||
|
|
||||||
# Directory for SSH control sockets
|
# Directory for SSH control sockets
|
||||||
mkdir -p -- "${XDG_RUNTIME_DIR}/ssh" &
|
mkdir -p "${XDG_RUNTIME_DIR}/ssh" &
|
||||||
|
|
||||||
# Start PipeWire
|
|
||||||
killall pipewire wireplumber
|
|
||||||
pipewire &
|
|
||||||
pipewire -c pipewire-pulse.conf &
|
|
||||||
sleep 1
|
|
||||||
wireplumber &
|
|
||||||
|
|
||||||
# Update DBus environment variables
|
# Update DBus environment variables
|
||||||
dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
|
|
||||||
|
# Start the XDG desktop portal
|
||||||
|
/usr/lib/xdg-desktop-portal-hyprland &
|
||||||
|
|
||||||
|
# Start PipeWire
|
||||||
|
sleep 1
|
||||||
|
artix-pipewire-launcher restart &
|
||||||
|
|
||||||
wait
|
wait
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
#!/usr/bin/env sh
|
#!/bin/sh
|
||||||
exec drill @resolver1.opendns.com myip.opendns.com
|
dig +short @resolver1.opendns.com myip.opendns.com
|
||||||
|
|
107
bin/mcserv
Executable file
107
bin/mcserv
Executable file
|
@ -0,0 +1,107 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
exec_as() {
|
||||||
|
local user="$1"
|
||||||
|
shift
|
||||||
|
if [ "$(whoami)" != "$user" ]; then
|
||||||
|
exec sudo -u "$user" "$0" "$@"
|
||||||
|
else
|
||||||
|
cd
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
exec_as minecraft "$@" || exit
|
||||||
|
bin=bin
|
||||||
|
PATH="${bin}:${PATH}"
|
||||||
|
EDITOR="${EDITOR:-nvim}"
|
||||||
|
alias ls='ls --color=auto'
|
||||||
|
shopt -s expand_aliases
|
||||||
|
|
||||||
|
print_error() {
|
||||||
|
>&2 printf '\033[31;1mERROR:\033[0m \033[1m%s\033[0m\n' "$*"
|
||||||
|
}
|
||||||
|
|
||||||
|
public_usage() {
|
||||||
|
local name
|
||||||
|
name="$(basename "$0")"
|
||||||
|
cat << EOF
|
||||||
|
${name}: utilisation
|
||||||
|
${name} start|status|stop|watch|restart|edit <nom serveur>
|
||||||
|
${name} list|active|usage|shell
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
error_usage() {
|
||||||
|
print_error "Utilisation invalide."
|
||||||
|
>&2 public_usage
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
public_start() {
|
||||||
|
if [ -n "$1" ]; then
|
||||||
|
exec screen -S "$1" \
|
||||||
|
"$1"
|
||||||
|
else
|
||||||
|
error_usage
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
public_status() {
|
||||||
|
if [ -n "$1" ]; then
|
||||||
|
printf '\033[1m%s\033[0m : ' "$1"
|
||||||
|
if screen -ls "$1" > /dev/null 2>&1; then
|
||||||
|
echo "en cours d'exécution"
|
||||||
|
else
|
||||||
|
echo "non en cours d'exécution"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
error_usage
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
public_stop() {
|
||||||
|
if [ -n "$1" ]; then
|
||||||
|
exec screen -S "$1" -X stuff '^E^Ustop^M'
|
||||||
|
else
|
||||||
|
error_usage
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
public_watch() {
|
||||||
|
exec screen -dr "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
public_active() {
|
||||||
|
exec screen -ls
|
||||||
|
}
|
||||||
|
|
||||||
|
public_list() {
|
||||||
|
echo "Serveurs disponibles :"
|
||||||
|
exec ls "$bin"
|
||||||
|
}
|
||||||
|
|
||||||
|
public_restart() {
|
||||||
|
set -e
|
||||||
|
stop "$@"
|
||||||
|
start "$@"
|
||||||
|
set +e
|
||||||
|
}
|
||||||
|
|
||||||
|
public_edit() {
|
||||||
|
exec "$EDITOR" "${bin}/${1}"
|
||||||
|
}
|
||||||
|
|
||||||
|
public_shell() {
|
||||||
|
exec bash -i
|
||||||
|
}
|
||||||
|
|
||||||
|
verb="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
if [ -z "$verb" ]; then
|
||||||
|
public_active
|
||||||
|
elif declare -F | cut -d \ -f 3 | grep '^public_' | sed 's/^public_//' | grep -q "^${verb}$"; then
|
||||||
|
"public_${verb}" "$@"
|
||||||
|
else
|
||||||
|
error_usage
|
||||||
|
fi
|
|
@ -1,6 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
cd /run/runit/service || exit
|
|
||||||
|
|
||||||
for service in "$@"; do
|
|
||||||
ln -s /etc/runit/sv/"$service" .
|
|
||||||
done
|
|
|
@ -1,6 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
cd /run/runit/service || exit
|
|
||||||
|
|
||||||
for service in "$@"; do
|
|
||||||
unlink -- "$service"
|
|
||||||
done
|
|
5
bin/svls
5
bin/svls
|
@ -1,5 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
cd /run/runit/service || exit
|
|
||||||
for service in *; do
|
|
||||||
sv status "$service"
|
|
||||||
done
|
|
29
bin/sway
Executable file
29
bin/sway
Executable file
|
@ -0,0 +1,29 @@
|
||||||
|
#!/bin/sh -xe
|
||||||
|
|
||||||
|
cd
|
||||||
|
|
||||||
|
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
|
||||||
|
exec dbus-launch --exit-with-session "$0" "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SSH_AGENT_PID" ]; then
|
||||||
|
exec ssh-agent "$0" "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Environment
|
||||||
|
# XDG
|
||||||
|
export \
|
||||||
|
XDG_CURRENT_DESKTOP=sway \
|
||||||
|
XDG_SESSION_DESKTOP=sway
|
||||||
|
|
||||||
|
# Backends
|
||||||
|
export \
|
||||||
|
QT_QPA_PLATFORM='wayland;xcb' \
|
||||||
|
QT_QPA_PLATFORMTHEME=qt6ct \
|
||||||
|
CLUTTER_BACKEND=wayland \
|
||||||
|
SDL_VIDEODRIVER=wayland \
|
||||||
|
_JAVA_AWT_WM_NONREPARENTING=1 \
|
||||||
|
MOZ_ENABLE_WAYLAND=1
|
||||||
|
|
||||||
|
# Execution
|
||||||
|
exec /usr/bin/sway "$@"
|
30
bin/swaylock-hyprland
Executable file
30
bin/swaylock-hyprland
Executable file
|
@ -0,0 +1,30 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Run swaylock
|
||||||
|
exec /usr/bin/swaylock \
|
||||||
|
"$@" \
|
||||||
|
--daemonize \
|
||||||
|
--indicator \
|
||||||
|
--clock \
|
||||||
|
--screenshots \
|
||||||
|
--effect-blur 20x10 \
|
||||||
|
--indicator-radius 100 \
|
||||||
|
--font 'Hack Nerd Font' \
|
||||||
|
--bs-hl-color '#FF3366' \
|
||||||
|
--inside-color '#CC99FF22' \
|
||||||
|
--inside-clear-color '#F3E6FFDD' \
|
||||||
|
--inside-ver-color '#9933FF22' \
|
||||||
|
--inside-wrong-color '#FF336622' \
|
||||||
|
--key-hl-color '#9933FF' \
|
||||||
|
--text-color '#F3E6FF' \
|
||||||
|
--text-caps-lock-color '#FFB3C6' \
|
||||||
|
--line-uses-ring \
|
||||||
|
--ring-color '#1A0033' \
|
||||||
|
--ring-clear-color '#9933FF' \
|
||||||
|
--ring-ver-color '#4F0099' \
|
||||||
|
--ring-wrong-color '#800020' \
|
||||||
|
--text-clear-color '#4F0099' \
|
||||||
|
--text-ver-color '#F3E6FF' \
|
||||||
|
--text-wrong-color '#FFB3C6' \
|
||||||
|
--separator-color '#00000000'
|
||||||
|
|
15
bin/swaylock-sway
Executable file
15
bin/swaylock-sway
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Run swaylock
|
||||||
|
exec /usr/bin/swaylock \
|
||||||
|
--daemonize \
|
||||||
|
--indicator \
|
||||||
|
--clock \
|
||||||
|
--screenshots \
|
||||||
|
--effect-blur 20x10 \
|
||||||
|
--indicator-radius 100 \
|
||||||
|
--font 'Hack Nerd Font' \
|
||||||
|
--text-color '#FFFFFF' \
|
||||||
|
--line-uses-ring \
|
||||||
|
--separator-color '#00000000'
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
#!/usr/bin/env sh
|
#!/bin/sh -e
|
||||||
set -e
|
|
||||||
|
|
||||||
screen_is_on() {
|
screen_is_on() {
|
||||||
[ "$(brightnessctl get)" -ne 0 ]
|
[ "$(brightnessctl g)" -ne 0 ]
|
||||||
}
|
}
|
||||||
|
|
||||||
turn_on_screen() {
|
turn_on_screen() {
|
||||||
|
@ -11,7 +10,7 @@ turn_on_screen() {
|
||||||
|
|
||||||
turn_off_screen() {
|
turn_off_screen() {
|
||||||
brightnessctl -s
|
brightnessctl -s
|
||||||
brightnessctl set 0
|
brightnessctl s 0
|
||||||
}
|
}
|
||||||
|
|
||||||
if screen_is_on; then
|
if screen_is_on; then
|
||||||
|
@ -19,3 +18,4 @@ if screen_is_on; then
|
||||||
else
|
else
|
||||||
turn_on_screen
|
turn_on_screen
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
exec /usr/bin/tuigreet \
|
|
||||||
-t --time-format '%Y-%m-%d | %H:%M:%S' \
|
|
||||||
-c Hyprland \
|
|
||||||
"$@"
|
|
|
@ -1,14 +1,40 @@
|
||||||
#!/usr/bin/env sh
|
#!/bin/bash
|
||||||
if [ -z "$1" ]; then
|
|
||||||
>&2 echo "provide ssh host name"
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
ssh_host=$1
|
|
||||||
fi
|
|
||||||
remote_port=${2:-5900}
|
|
||||||
local_port=$((remote_port + 4000))
|
|
||||||
|
|
||||||
ssh -O check -- "$ssh_host"
|
vnc_host="$1"
|
||||||
ssh -f -N -L "${local_port}:localhost:${remote_port}" -- "$ssh_host" || exit
|
if [ -n "$2" ]
|
||||||
wlvncc -- localhost "$local_port"
|
then local_port="$2"
|
||||||
ssh -O cancel -L "${local_port}:localhost:${remote_port}" -- "$ssh_host"
|
else local_port=9900
|
||||||
|
fi
|
||||||
|
if [ -n "$3" ]
|
||||||
|
then distant_port="$3"
|
||||||
|
else distant_port=5900
|
||||||
|
fi
|
||||||
|
[ -n "$4" ] && ssh_target="$4"
|
||||||
|
|
||||||
|
# Fonction
|
||||||
|
ssh_bridge_already_exists() {
|
||||||
|
[ -n "$(lsof -nP -i TCP -s TCP:LISTEN | awk '($1 == "ssh" && $9 ~ /.*:'"${local_port}"'/) { print }')" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
# Sélectionner le viewer adapté à la session
|
||||||
|
if [ -n "$WAYLAND_DISPLAY" ]; then
|
||||||
|
vncviewer=wlvncc
|
||||||
|
else
|
||||||
|
vncviewer=vncviewer
|
||||||
|
separator=:
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Initialiser les arguments du viewer
|
||||||
|
args=(localhost "$local_port")
|
||||||
|
if [ -n "$separator" ]; then
|
||||||
|
args=("${args[*]// /${separator}/}")
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Exécution
|
||||||
|
if ! ssh_bridge_already_exists; then
|
||||||
|
ssh-fwd "$vnc_host" "$local_port" "$distant_port" "$ssh_target" || exit
|
||||||
|
else
|
||||||
|
echo "Le pont SSH existe déjà !"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "$vncviewer" "${args[@]}"
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
todo=$(cat)
|
|
||||||
|
|
||||||
inotifywait --recursive --monitor -e create -e attrib -e modify -e move -e delete -- "$@" | \
|
|
||||||
while read -r _unused; do
|
|
||||||
eval "$todo"
|
|
||||||
done
|
|
19
bin/waybar
Executable file
19
bin/waybar
Executable file
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/bash -x
|
||||||
|
# Waybar wrapper to reload it anytime the
|
||||||
|
# configuration is edited
|
||||||
|
|
||||||
|
# Variable
|
||||||
|
waybar_config_d="${HOME}/.config/waybar"
|
||||||
|
monitored_events=(
|
||||||
|
modify
|
||||||
|
create
|
||||||
|
delete
|
||||||
|
)
|
||||||
|
|
||||||
|
# Execution
|
||||||
|
while :; do
|
||||||
|
/usr/bin/waybar "$@" &
|
||||||
|
inotifywait "${monitored_events[@]/#/-e}" "${waybar_config_d}"
|
||||||
|
jobs -p | xargs kill
|
||||||
|
done
|
||||||
|
|
8
bin/waylectron
Executable file
8
bin/waylectron
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
name=$(basename "$0")
|
||||||
|
path=$(dirname "$0")
|
||||||
|
mapfile wayland_args < ~/.config/electron-flags.conf
|
||||||
|
|
||||||
|
PATH=$(echo "$PATH" | sed "s|$path||g" | sed 's/^://' | sed 's/::/:/g' | sed 's/:$//')
|
||||||
|
|
||||||
|
exec "$name" "${wayland_args[@]}"
|
53
bin/wolf
Executable file
53
bin/wolf
Executable file
|
@ -0,0 +1,53 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Arguments
|
||||||
|
hostname="$1"; shift
|
||||||
|
|
||||||
|
# Variables
|
||||||
|
declare mac
|
||||||
|
declare -a wol_com options
|
||||||
|
name="$(basename "$0")"
|
||||||
|
wolf_d="${HOME}/.wolf"
|
||||||
|
wolf_host="${wolf_d}/${hostname}"
|
||||||
|
|
||||||
|
# Functions
|
||||||
|
# Throw an error
|
||||||
|
function error {
|
||||||
|
>&2 echo -e "${name}: \033[1;31mERROR:\033[0m ${1:-No further details}"; shift
|
||||||
|
exit "${1:-1}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Parse variable in options file
|
||||||
|
function getvar {
|
||||||
|
grep '^'"$1"' ' "$wolf_host" | cut -d ' ' -f 2
|
||||||
|
}
|
||||||
|
|
||||||
|
# Parsing
|
||||||
|
[[ -f $wolf_host ]] || error "\"${hostname}\": No such host"
|
||||||
|
|
||||||
|
# Assign the options
|
||||||
|
mac="$(getvar Mac)"
|
||||||
|
ip="$(getvar IP)"
|
||||||
|
port="$(getvar Port)"
|
||||||
|
|
||||||
|
# Add options if necessary
|
||||||
|
[[ -n $ip ]] && options+=(-i "$ip" )
|
||||||
|
[[ -n $port ]] && options+=(-p "$port")
|
||||||
|
|
||||||
|
# Commands building
|
||||||
|
# wol
|
||||||
|
wol_com=(
|
||||||
|
wol
|
||||||
|
"$@"
|
||||||
|
"${options[@]}"
|
||||||
|
"$mac"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Debug
|
||||||
|
#echo "${wol_com[@]}"
|
||||||
|
#exit 0
|
||||||
|
|
||||||
|
# Execution
|
||||||
|
set -xe
|
||||||
|
"${wol_com[@]}"
|
||||||
|
|
|
@ -4,4 +4,4 @@ import = ["/home/ahurac/.config/alacritty/theme.toml"]
|
||||||
size = 11.5
|
size = 11.5
|
||||||
|
|
||||||
[window]
|
[window]
|
||||||
opacity = 0.8
|
opacity = 0.5
|
||||||
|
|
|
@ -1,2 +1 @@
|
||||||
--ozone-platform-hint=auto
|
--ozone-platform-hint=auto
|
||||||
--enable-features=WebRTCPipeWireCapturer
|
|
||||||
|
|
1
config/electron28-flags.conf
Symbolic link
1
config/electron28-flags.conf
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
electron-flags.conf
|
|
@ -1,11 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
case "$1" in
|
|
||||||
up)
|
|
||||||
hyprctl dispatch workspace +1
|
|
||||||
;;
|
|
||||||
down)
|
|
||||||
hyprctl dispatch workspace -1
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
|
@ -1,15 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
case "$1" in
|
|
||||||
up)
|
|
||||||
set -- -i
|
|
||||||
;;
|
|
||||||
down)
|
|
||||||
set -- -d
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
set -- pamixer "$@" 5
|
|
||||||
|
|
||||||
exec "$@"
|
|
|
@ -1,30 +0,0 @@
|
||||||
window, menubar {
|
|
||||||
background-color: rgba(0, 0, 0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
window {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
window > box > box > * {
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.workspace-button, .submap {
|
|
||||||
border-top: 2px solid white;
|
|
||||||
}
|
|
||||||
|
|
||||||
:hover {
|
|
||||||
border-color: #b0ffb0;
|
|
||||||
color: #b0ffb0;
|
|
||||||
border-top-width: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.workspace-button > box {
|
|
||||||
padding-top: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.workspace-current {
|
|
||||||
border-color: #00ff00;
|
|
||||||
color: #00f000;
|
|
||||||
}
|
|
|
@ -1,205 +0,0 @@
|
||||||
(deflisten batterystatus
|
|
||||||
:initial "unknown"
|
|
||||||
"listen/battery BAT0"
|
|
||||||
)
|
|
||||||
|
|
||||||
(deflisten workspaces
|
|
||||||
:initial '{"current":1,"used":[1]}'
|
|
||||||
"listen/hypr workspace"
|
|
||||||
)
|
|
||||||
|
|
||||||
(deflisten windowtitle
|
|
||||||
:initial ''
|
|
||||||
"listen/hypr activewindow"
|
|
||||||
)
|
|
||||||
|
|
||||||
(deflisten submap
|
|
||||||
:initial ''
|
|
||||||
"listen/hypr submap"
|
|
||||||
)
|
|
||||||
|
|
||||||
(deflisten network
|
|
||||||
:initial '{"state":"disconnect"}'
|
|
||||||
"listen/network"
|
|
||||||
)
|
|
||||||
|
|
||||||
(deflisten notifications
|
|
||||||
:initial '{"count":0}'
|
|
||||||
"swaync-client --subscribe"
|
|
||||||
)
|
|
||||||
|
|
||||||
(deflisten sound
|
|
||||||
:initial '{"output-volume":0,"input-volume":0,"output-muted":false}'
|
|
||||||
"listen/sound"
|
|
||||||
)
|
|
||||||
|
|
||||||
(defvar battery-icon '{
|
|
||||||
"unknown": "",
|
|
||||||
"critical": "",
|
|
||||||
"low": "",
|
|
||||||
"medium": "",
|
|
||||||
"high": "",
|
|
||||||
"full": ""
|
|
||||||
}')
|
|
||||||
|
|
||||||
(defvar network-icon '{
|
|
||||||
"disconnected": "",
|
|
||||||
"ethernet": "",
|
|
||||||
"wifi-terrible": "",
|
|
||||||
"wifi-bad": "",
|
|
||||||
"wifi-mediocre": "",
|
|
||||||
"wifi-good": "",
|
|
||||||
"wifi-excellent": "",
|
|
||||||
"tethering": ""
|
|
||||||
}')
|
|
||||||
|
|
||||||
(defvar notifications-icon '{
|
|
||||||
"nothing": "",
|
|
||||||
"new": "",
|
|
||||||
"dnd": ""
|
|
||||||
}')
|
|
||||||
|
|
||||||
(defvar sound-icon '{
|
|
||||||
"absent": "",
|
|
||||||
"moderate": "",
|
|
||||||
"loud": "",
|
|
||||||
"muted": ""
|
|
||||||
}')
|
|
||||||
|
|
||||||
(defwidget workspaces []
|
|
||||||
(eventbox :onscroll 'action/hyprland/nearby-workspace "{}"'
|
|
||||||
(box :class "workspaces"
|
|
||||||
(for workspace in {workspaces.used}
|
|
||||||
(eventbox
|
|
||||||
:class "workspace-button ${workspace == workspaces.current ? "workspace-current" : ""}"
|
|
||||||
:onclick 'hyprctl dispatch workspace "${workspace}"'
|
|
||||||
(box :width 25 "${workspace}")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget submap []
|
|
||||||
(eventbox :onclick "hyprctl dispatch submap reset"
|
|
||||||
(box :class "submap" "${submap}")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget window-title []
|
|
||||||
(box "${windowtitle ?: ''}")
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget tray [] (box (systray
|
|
||||||
:icon-size 15
|
|
||||||
:spacing 10
|
|
||||||
)))
|
|
||||||
|
|
||||||
(defwidget time []
|
|
||||||
(box (eventbox
|
|
||||||
:onclick 'eww open --toggle calendar'
|
|
||||||
|
|
||||||
"${formattime(EWW_TIME, "%Y-%m-%d")} ${formattime(EWW_TIME, "%H:%M:%S")}"
|
|
||||||
))
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget notifications []
|
|
||||||
(box (eventbox
|
|
||||||
:class "module"
|
|
||||||
:onclick 'swaync-client --toggle-panel'
|
|
||||||
:onrightclick 'swaync-client --toggle-dnd'
|
|
||||||
:onmiddleclick 'swaync-client --close-all'
|
|
||||||
|
|
||||||
"${
|
|
||||||
notifications.dnd == true
|
|
||||||
? notifications-icon["dnd"]
|
|
||||||
: notifications.count > 0
|
|
||||||
? notifications-icon["new"]
|
|
||||||
: notifications-icon["nothing"]
|
|
||||||
} ${notifications.count}"
|
|
||||||
))
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget sound []
|
|
||||||
(box (eventbox
|
|
||||||
:onscroll 'action/volume "{}"'
|
|
||||||
:onclick 'hyprctl dispatch exec pavucontrol'
|
|
||||||
:onrightclick 'pamixer --toggle-mute'
|
|
||||||
|
|
||||||
"${
|
|
||||||
sound.output-muted == true ? sound-icon["muted"] :
|
|
||||||
sound.output-volume < 33 ? sound-icon["absent"] :
|
|
||||||
sound.output-volume < 67 ? sound-icon["moderate"] :
|
|
||||||
sound-icon["loud"]
|
|
||||||
} ${sound.output-volume} % ${sound.sink-name}"
|
|
||||||
))
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget network []
|
|
||||||
"${
|
|
||||||
network.state == "wireless"
|
|
||||||
? network-icon["wifi-${network.wifi.signal}"]
|
|
||||||
: network-icon[network.state]
|
|
||||||
} ${
|
|
||||||
network.state == "disconnected" ? "No network" :
|
|
||||||
network.state == "ethernet" ? "Ethernet" :
|
|
||||||
network.state == "wireless" ? network.wifi.ssid :
|
|
||||||
network.state == "tethering" ? "USB tethering" : ''
|
|
||||||
}"
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwidget battery []
|
|
||||||
"${battery-icon[batterystatus]}${EWW_BATTERY.BAT0.status == "Charging" ? " " : ""} ${EWW_BATTERY.BAT0.capacity} %"
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwindow bar
|
|
||||||
:monitor 0
|
|
||||||
:geometry (geometry
|
|
||||||
:anchor "bottom center"
|
|
||||||
:width "100%"
|
|
||||||
:height 25
|
|
||||||
)
|
|
||||||
:exclusive true
|
|
||||||
|
|
||||||
(centerbox
|
|
||||||
(box
|
|
||||||
:halign "start"
|
|
||||||
:space-evenly false
|
|
||||||
:class "left"
|
|
||||||
|
|
||||||
(workspaces)
|
|
||||||
(submap)
|
|
||||||
(window-title)
|
|
||||||
)
|
|
||||||
(box
|
|
||||||
:space-evenly false
|
|
||||||
:class "middle"
|
|
||||||
|
|
||||||
(tray)
|
|
||||||
(time)
|
|
||||||
(notifications)
|
|
||||||
)
|
|
||||||
(box
|
|
||||||
:halign "end"
|
|
||||||
:space-evenly false
|
|
||||||
:class "right"
|
|
||||||
|
|
||||||
(sound)
|
|
||||||
(network)
|
|
||||||
(battery)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
(defwindow calendar
|
|
||||||
:monitor 0
|
|
||||||
:geometry (geometry
|
|
||||||
:anchor "bottom center"
|
|
||||||
:width "350px"
|
|
||||||
:height "200px"
|
|
||||||
)
|
|
||||||
:exclusive false
|
|
||||||
; :stacking "fg"
|
|
||||||
|
|
||||||
(calendar)
|
|
||||||
)
|
|
|
@ -1,19 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
battery=$1
|
|
||||||
|
|
||||||
print_battery_status() {
|
|
||||||
battery_capacity=$(cat "/sys/class/power_supply/${battery}/capacity") \
|
|
||||||
|| exit
|
|
||||||
|
|
||||||
if [ "$battery_capacity" -lt 25 ]; then echo critical
|
|
||||||
elif [ "$battery_capacity" -lt 50 ]; then echo low
|
|
||||||
elif [ "$battery_capacity" -lt 75 ]; then echo medium
|
|
||||||
elif [ "$battery_capacity" -lt 100 ]; then echo high
|
|
||||||
else echo full
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
while :; do
|
|
||||||
print_battery_status
|
|
||||||
sleep 20
|
|
||||||
done
|
|
|
@ -1,21 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
workspace() {
|
|
||||||
printf '{"current":%s,"used":%s}\n' \
|
|
||||||
"$(hyprctl -j activeworkspace | jq -c '.id')" \
|
|
||||||
"$(hyprctl -j workspaces | jq -c '.[].id' | sort -n | jq -sc)"
|
|
||||||
}
|
|
||||||
|
|
||||||
activewindow() {
|
|
||||||
hyprctl -j activewindow | jq -c -r .title
|
|
||||||
}
|
|
||||||
|
|
||||||
submap() {
|
|
||||||
echo "$event" | sed 's/^submap>>//'
|
|
||||||
}
|
|
||||||
|
|
||||||
command -v "$1" > /dev/null || exit
|
|
||||||
|
|
||||||
"$1"
|
|
||||||
socat -U STDOUT UNIX-CONNECT:"${XDG_RUNTIME_DIR}/hypr/${HYPRLAND_INSTANCE_SIGNATURE}/.socket2.sock" | stdbuf -o L grep -e "^${1}>>" | while read -r event; do
|
|
||||||
"$1"
|
|
||||||
done
|
|
|
@ -1,57 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
print_state() {
|
|
||||||
case "$1" in
|
|
||||||
eth*)
|
|
||||||
echo ethernet
|
|
||||||
;;
|
|
||||||
wlan*)
|
|
||||||
echo wireless
|
|
||||||
;;
|
|
||||||
usb*)
|
|
||||||
echo tethering
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo disconnected
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
wifi_strength() {
|
|
||||||
if [ "$1" -le -80 ]; then echo terrible
|
|
||||||
elif [ "$1" -le -70 ]; then echo bad
|
|
||||||
elif [ "$1" -le -60 ]; then echo mediocre
|
|
||||||
elif [ "$1" -le -40 ]; then echo good
|
|
||||||
else echo excellent
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
print_infos() {
|
|
||||||
if [ -n "$1" ]; then
|
|
||||||
route_line=$(ip route show dev "$1" | awk '($1 == "default") { print }')
|
|
||||||
|
|
||||||
printf ',"ip":{"local":"%s","gateway":"%s"}' \
|
|
||||||
"$(echo "$route_line" | awk '{ print $7 }')" \
|
|
||||||
"$(echo "$route_line" | awk '{ print $3 }')"
|
|
||||||
|
|
||||||
if [ "$state" = wireless ]; then
|
|
||||||
signal=$(iw dev "$1" link | awk '($1 == "signal:") { print $2}')
|
|
||||||
printf ',"wifi":{"signal":"%s","ssid":"%s"}' \
|
|
||||||
"$(wifi_strength "$signal")" \
|
|
||||||
"$(iw dev wlan0 info | grep '^\s*ssid ' | xargs | cut -d \ -f 2-)"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
print_network_status() {
|
|
||||||
device=$(ip route | awk '($1 == "default") { print $5 }')
|
|
||||||
state=$(print_state "$device")
|
|
||||||
|
|
||||||
printf '{"state":"%s"%s}\n' \
|
|
||||||
"$state" \
|
|
||||||
"$(print_infos "$device")"
|
|
||||||
}
|
|
||||||
|
|
||||||
while :; do
|
|
||||||
print_network_status
|
|
||||||
sleep 5
|
|
||||||
done
|
|
|
@ -1,13 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
print_sound_status() {
|
|
||||||
printf '{"output-volume":%s,"input-volume":%s,"output-muted":%s,"sink-name":%s}\n' \
|
|
||||||
"$(pamixer --get-volume)" \
|
|
||||||
"$(pamixer --get-volume --default-source)" \
|
|
||||||
"$(pamixer --get-mute)" \
|
|
||||||
"$(pactl --format json list sinks | jq '.[] | select(.name == "'"$(pactl get-default-sink)"'") | .description')"
|
|
||||||
}
|
|
||||||
|
|
||||||
print_sound_status
|
|
||||||
pactl subscribe | grep --line-buffered "'change'" | while read -r _unused; do
|
|
||||||
print_sound_status
|
|
||||||
done
|
|
|
@ -1,11 +1,10 @@
|
||||||
# Defaults
|
# Defaults
|
||||||
$terminal = alacritty
|
$terminal = alacritty
|
||||||
$browser = librewolf
|
$browser = librewolf
|
||||||
$locker = hyprlock
|
$locker = swaylock
|
||||||
$launcher = anyrun
|
|
||||||
|
|
||||||
# Applications
|
# Applications
|
||||||
$joplin = joplin-desktop --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer
|
$joplin = joplin-desktop
|
||||||
$bitwarden = bitwarden-desktop
|
$bitwarden = bitwarden-desktop
|
||||||
$element = element-desktop
|
$element = element-desktop
|
||||||
$discord = webcord
|
$discord = webcord
|
||||||
|
@ -19,13 +18,14 @@ $element_class = Element
|
||||||
$discord_class = WebCord
|
$discord_class = WebCord
|
||||||
$deezer_class = Deezer
|
$deezer_class = Deezer
|
||||||
|
|
||||||
|
# Colors
|
||||||
|
$col_accentdark = rgb(00ff00)
|
||||||
|
$col_accentlight = rgb(80ff80)
|
||||||
|
$col_inactive = rgba(80808080)
|
||||||
|
$col_textlight = rgba(ffffffe8)
|
||||||
|
|
||||||
# Plugins
|
# Plugins
|
||||||
plugin = /usr/lib/libhy3.so
|
plugin = /usr/lib/libhy3.so
|
||||||
|
|
||||||
# Configuration modules
|
# Configuration modules
|
||||||
source = hyprland.d/agnostic.conf
|
source = hyprland.d/*.conf
|
||||||
source = hyprland.d/sections.conf
|
|
||||||
source = hyprland.d/environment.conf
|
|
||||||
source = hyprland.d/startup.conf
|
|
||||||
source = hyprland.d/bindings.conf
|
|
||||||
source = hyprland.d/windowrules.conf
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
# Main monitor
|
|
||||||
monitor = , highrr, 0x0, 1
|
|
||||||
|
|
||||||
# Colors
|
|
||||||
$col_accentdark = rgb(00ff00)
|
|
||||||
$col_accentlight = rgb(80ff80)
|
|
||||||
$col_inactive = rgba(80808040)
|
|
||||||
$col_textlight = rgba(ffffffe8)
|
|
||||||
$col_urgent = rgb(ffd966)
|
|
||||||
|
|
||||||
# Decoration
|
|
||||||
$transparency_amount = 1.0
|
|
||||||
$shadow_enabled = false
|
|
||||||
$blur_enabled = false
|
|
||||||
$animations_enabled = false
|
|
5
config/hypr-ahrc--laptop/hyprland.d/animations.conf
Normal file
5
config/hypr-ahrc--laptop/hyprland.d/animations.conf
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# Animations
|
||||||
|
animations {
|
||||||
|
# Save battery
|
||||||
|
enabled = false
|
||||||
|
}
|
|
@ -1,6 +1,5 @@
|
||||||
# Open terminal
|
# Open terminal
|
||||||
bind = SUPER, Space, exec, $terminal
|
bind = SUPER, Return, exec, $terminal
|
||||||
bind = SUPER SHIFT, Space, exec, $terminal -e sudo -i
|
|
||||||
|
|
||||||
# Workspaces
|
# Workspaces
|
||||||
#bind = SUPER, equal, movetoworkspace, special
|
#bind = SUPER, equal, movetoworkspace, special
|
||||||
|
@ -21,7 +20,7 @@ bind = SUPER Alt_L, Return, exec, hyprswapworkspaces
|
||||||
# Windows
|
# Windows
|
||||||
bindm = SUPER, mouse:272, movewindow
|
bindm = SUPER, mouse:272, movewindow
|
||||||
bindm = SUPER, mouse:273, resizewindow
|
bindm = SUPER, mouse:273, resizewindow
|
||||||
bind = SUPER SHIFT, Q, hy3:killactive
|
bind = SUPER SHIFT, Q, killactive
|
||||||
bind = SUPER SHIFT, 10, movetoworkspacesilent, 1
|
bind = SUPER SHIFT, 10, movetoworkspacesilent, 1
|
||||||
bind = SUPER SHIFT, 11, movetoworkspacesilent, 2
|
bind = SUPER SHIFT, 11, movetoworkspacesilent, 2
|
||||||
bind = SUPER SHIFT, 12, movetoworkspacesilent, 3
|
bind = SUPER SHIFT, 12, movetoworkspacesilent, 3
|
||||||
|
@ -32,13 +31,12 @@ bind = SUPER SHIFT, V, movetoworkspacesilent, 7
|
||||||
bind = SUPER SHIFT, C, movetoworkspacesilent, 8
|
bind = SUPER SHIFT, C, movetoworkspacesilent, 8
|
||||||
bind = SUPER SHIFT, X, movetoworkspacesilent, 9
|
bind = SUPER SHIFT, X, movetoworkspacesilent, 9
|
||||||
bind = SUPER SHIFT, W, movetoworkspacesilent, 10
|
bind = SUPER SHIFT, W, movetoworkspacesilent, 10
|
||||||
# bind = SUPER SHIFT, space, pin, active
|
bind = SUPER SHIFT, space, pin, active
|
||||||
bind = SUPER SHIFT, A, hy3:movewindow, l
|
bind = SUPER SHIFT, A, hy3:movewindow, l
|
||||||
bind = SUPER SHIFT, Z, hy3:movewindow, u
|
bind = SUPER SHIFT, Z, hy3:movewindow, u
|
||||||
bind = SUPER SHIFT, S, hy3:movewindow, d
|
bind = SUPER SHIFT, S, hy3:movewindow, d
|
||||||
bind = SUPER SHIFT, D, hy3:movewindow, r
|
bind = SUPER SHIFT, D, hy3:movewindow, r
|
||||||
bind = SUPER, Return, cyclenext, floating
|
bind = SUPER Alt_L, space, togglefloating
|
||||||
bind = SUPER SHIFT, Return, togglefloating
|
|
||||||
bind = SUPER Alt_L, F, fullscreen
|
bind = SUPER Alt_L, F, fullscreen
|
||||||
bind = SUPER SHIFT Alt_L, F, fakefullscreen
|
bind = SUPER SHIFT Alt_L, F, fakefullscreen
|
||||||
|
|
||||||
|
@ -60,13 +58,12 @@ bind = SUPER, B, hy3:changegroup, toggletab
|
||||||
bind = SUPER SHIFT, BackSpace, exit
|
bind = SUPER SHIFT, BackSpace, exit
|
||||||
|
|
||||||
# Launchers
|
# Launchers
|
||||||
bind = SUPER, F1, exec, $launcher
|
bind = SUPER, F1, exec, $browser
|
||||||
bind = SUPER, F2, exec, $joplin
|
bind = SUPER, F2, exec, $joplin
|
||||||
# bind = SUPER, F3, exec, $bitwarden
|
bind = SUPER, F3, exec, $bitwarden
|
||||||
bind = SUPER, F3, exec, $element
|
bind = SUPER, F4, exec, $element
|
||||||
bind = SUPER, F4, exec, $discord
|
bind = SUPER, F5, exec, $discord
|
||||||
bind = SUPER, F5, exec, $deezer
|
bind = SUPER, F6, exec, $deezer
|
||||||
bind = SUPER, G, exec, $browser
|
|
||||||
|
|
||||||
# Screenshots
|
# Screenshots
|
||||||
bind = , Print, exec, glurp full clip
|
bind = , Print, exec, glurp full clip
|
||||||
|
@ -85,14 +82,13 @@ binde = , XF86AudioMute, exec, swayosd-client --output-volume=mute-toggle
|
||||||
# Resize
|
# Resize
|
||||||
bind = SUPER Alt_L, R, submap, resize
|
bind = SUPER Alt_L, R, submap, resize
|
||||||
submap = resize
|
submap = resize
|
||||||
bind = , escape, submap, reset
|
|
||||||
bind = SUPER Alt_L, R, submap, reset
|
|
||||||
binde = , A, resizeactive, -25 0
|
binde = , A, resizeactive, -25 0
|
||||||
binde = , Z, resizeactive, 0 -25
|
binde = , Z, resizeactive, 0 -25
|
||||||
binde = , S, resizeactive, 0 25
|
binde = , S, resizeactive, 0 25
|
||||||
binde = , D, resizeactive, 25 0
|
binde = , D, resizeactive, 25 0
|
||||||
|
bind = , escape, submap, reset
|
||||||
submap = reset
|
submap = reset
|
||||||
|
|
||||||
# Brightness
|
# Brightness
|
||||||
bindel = , XF86MonBrightnessDown, exec, swayosd-client --brightness=lower
|
binde = , XF86MonBrightnessDown, exec, swayosd-client --brightness=lower
|
||||||
bindel = , XF86MonBrightnessUp, exec, swayosd-client --brightness=raise
|
binde = , XF86MonBrightnessUp, exec, swayosd-client --brightness=raise
|
||||||
|
|
14
config/hypr-ahrc--laptop/hyprland.d/binds.conf
Normal file
14
config/hypr-ahrc--laptop/hyprland.d/binds.conf
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# Binds
|
||||||
|
binds {
|
||||||
|
# Scrolling
|
||||||
|
scroll_event_delay = 0
|
||||||
|
|
||||||
|
# Workspaces
|
||||||
|
workspace_back_and_forth = false
|
||||||
|
allow_workspace_cycles = false
|
||||||
|
workspace_center_on = 1
|
||||||
|
|
||||||
|
# Focus
|
||||||
|
focus_preferred_method = 1
|
||||||
|
movefocus_cycles_fullscreen = false
|
||||||
|
}
|
23
config/hypr-ahrc--laptop/hyprland.d/decoration.conf
Normal file
23
config/hypr-ahrc--laptop/hyprland.d/decoration.conf
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
# Decoration
|
||||||
|
decoration {
|
||||||
|
# Corners
|
||||||
|
rounding = 10
|
||||||
|
|
||||||
|
# Opacity
|
||||||
|
active_opacity = 1.0
|
||||||
|
inactive_opacity = 1.0
|
||||||
|
fullscreen_opacity = 1.0
|
||||||
|
|
||||||
|
# Shadows
|
||||||
|
drop_shadow = false
|
||||||
|
|
||||||
|
# Dimming
|
||||||
|
dim_inactive = false
|
||||||
|
|
||||||
|
# Blur
|
||||||
|
blur {
|
||||||
|
enabled = false
|
||||||
|
ignore_opacity = true
|
||||||
|
xray = true
|
||||||
|
}
|
||||||
|
}
|
|
@ -5,7 +5,7 @@ env = QT_AUTO_SCREEN_SCALE_FACTOR, 1
|
||||||
env = QT_WAYLAND_DISABLE_WINDOWDECORATION, 1
|
env = QT_WAYLAND_DISABLE_WINDOWDECORATION, 1
|
||||||
|
|
||||||
# Clutter
|
# Clutter
|
||||||
env = CLUTTER_BACKEND, wayland
|
env = CLUTTER_BACKEND = wayland
|
||||||
|
|
||||||
# SDL
|
# SDL
|
||||||
env = SDL_VIDEODRIVER, wayland
|
env = SDL_VIDEODRIVER, wayland
|
||||||
|
@ -18,10 +18,3 @@ env = _JAVA_AWT_WM_NONREPARENTING, 1
|
||||||
|
|
||||||
# XDG
|
# XDG
|
||||||
env = XDG_SESSION_DESKTOP, Hyprland
|
env = XDG_SESSION_DESKTOP, Hyprland
|
||||||
|
|
||||||
# Electron
|
|
||||||
env = ELECTRON_OZONE_PLATFORM_HINT, auto
|
|
||||||
|
|
||||||
# hyprcursor
|
|
||||||
env = HYPRCURSOR_THEME, Afterglow
|
|
||||||
env = HYPRCURSOR_SIZE, 24
|
|
||||||
|
|
25
config/hypr-ahrc--laptop/hyprland.d/general.conf
Normal file
25
config/hypr-ahrc--laptop/hyprland.d/general.conf
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# General
|
||||||
|
general {
|
||||||
|
# Borders
|
||||||
|
border_size = 2
|
||||||
|
col.inactive_border = $col_inactive
|
||||||
|
col.nogroup_border = $col_inactive
|
||||||
|
col.active_border = $col_accentdark $col_accentlight 90deg
|
||||||
|
col.nogroup_border_active = rgb(00cc66) rgb(33ff99) 270deg
|
||||||
|
resize_on_border = false
|
||||||
|
|
||||||
|
# Gaps
|
||||||
|
gaps_in = 5
|
||||||
|
gaps_out = 10
|
||||||
|
gaps_workspaces = 0
|
||||||
|
|
||||||
|
# Cursor
|
||||||
|
cursor_inactive_timeout = 0
|
||||||
|
no_cursor_warps = false
|
||||||
|
|
||||||
|
# Layout
|
||||||
|
layout = hy3
|
||||||
|
|
||||||
|
# Focus
|
||||||
|
no_focus_fallback = true
|
||||||
|
}
|
4
config/hypr-ahrc--laptop/hyprland.d/gestures.conf
Normal file
4
config/hypr-ahrc--laptop/hyprland.d/gestures.conf
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# Gestures
|
||||||
|
gestures {
|
||||||
|
workspace_swipe = true
|
||||||
|
}
|
18
config/hypr-ahrc--laptop/hyprland.d/input.conf
Normal file
18
config/hypr-ahrc--laptop/hyprland.d/input.conf
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# Input
|
||||||
|
input {
|
||||||
|
# Keyboard
|
||||||
|
kb_layout = fr
|
||||||
|
numlock_by_default = true
|
||||||
|
repeat_rate = 75
|
||||||
|
repeat_delay = 300
|
||||||
|
|
||||||
|
# Mouse
|
||||||
|
sensitivity = 0.0
|
||||||
|
accel_profile = flat
|
||||||
|
|
||||||
|
# Touchpad
|
||||||
|
touchpad {
|
||||||
|
disable_while_typing = false
|
||||||
|
natural_scroll = true
|
||||||
|
}
|
||||||
|
}
|
30
config/hypr-ahrc--laptop/hyprland.d/misc.conf
Normal file
30
config/hypr-ahrc--laptop/hyprland.d/misc.conf
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# Misc
|
||||||
|
misc {
|
||||||
|
# Logos and mascotts
|
||||||
|
disable_hyprland_logo = true
|
||||||
|
disable_splash_rendering = true
|
||||||
|
force_hypr_chan = false
|
||||||
|
|
||||||
|
# Focus
|
||||||
|
layers_hog_keyboard_focus = true
|
||||||
|
mouse_move_focuses_monitor = true
|
||||||
|
|
||||||
|
# Animations
|
||||||
|
animate_manual_resizes = true
|
||||||
|
|
||||||
|
# Swallowing
|
||||||
|
enable_swallow = true
|
||||||
|
swallow_regex = $terminal_class
|
||||||
|
|
||||||
|
# Cursor
|
||||||
|
hide_cursor_on_touch = false
|
||||||
|
|
||||||
|
# Screen locking
|
||||||
|
#allow_session_lock_restore = true
|
||||||
|
|
||||||
|
# Workspaces
|
||||||
|
close_special_on_empty = true
|
||||||
|
|
||||||
|
# Windows
|
||||||
|
new_window_takes_over_fullscreen = 2
|
||||||
|
}
|
2
config/hypr-ahrc--laptop/hyprland.d/monitors.conf
Normal file
2
config/hypr-ahrc--laptop/hyprland.d/monitors.conf
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
# Main monitor
|
||||||
|
monitor = , highrr, 1920x0, 1
|
34
config/hypr-ahrc--laptop/hyprland.d/plugin.conf
Normal file
34
config/hypr-ahrc--laptop/hyprland.d/plugin.conf
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
# Plugin configuration
|
||||||
|
plugin {
|
||||||
|
hy3 {
|
||||||
|
# Windows
|
||||||
|
no_gaps_when_only = false
|
||||||
|
|
||||||
|
# Groups
|
||||||
|
node_collapse_policy = 0
|
||||||
|
|
||||||
|
# Tabs
|
||||||
|
tabs {
|
||||||
|
height = 15
|
||||||
|
padding = 5
|
||||||
|
from_top = true
|
||||||
|
rounding = 8
|
||||||
|
render_text = true
|
||||||
|
text_center = false
|
||||||
|
text_font = Hack Nerd Font
|
||||||
|
text_height = 8
|
||||||
|
text_padding = 10
|
||||||
|
col.active = rgba(000000e0)
|
||||||
|
col.urgent = rgb(ffd966)
|
||||||
|
col.inactive = rgba(00000080)
|
||||||
|
col.text.active = $col_accentdark
|
||||||
|
col.text.urgent = rgba(000000e8)
|
||||||
|
col.text.inactive = rgb(808080)
|
||||||
|
}
|
||||||
|
|
||||||
|
# Autotile
|
||||||
|
autotile {
|
||||||
|
enable = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,145 +0,0 @@
|
||||||
animations {
|
|
||||||
# Save battery
|
|
||||||
enabled = $animations_enabled
|
|
||||||
}
|
|
||||||
|
|
||||||
binds {
|
|
||||||
# Scrolling
|
|
||||||
scroll_event_delay = 0
|
|
||||||
|
|
||||||
# Workspaces
|
|
||||||
workspace_back_and_forth = false
|
|
||||||
allow_workspace_cycles = false
|
|
||||||
workspace_center_on = 1
|
|
||||||
|
|
||||||
# Focus
|
|
||||||
focus_preferred_method = 1
|
|
||||||
movefocus_cycles_fullscreen = false
|
|
||||||
}
|
|
||||||
|
|
||||||
decoration {
|
|
||||||
# Corners
|
|
||||||
rounding = 10
|
|
||||||
|
|
||||||
# Opacity
|
|
||||||
active_opacity = 1.0
|
|
||||||
inactive_opacity = $transparency_amount
|
|
||||||
fullscreen_opacity = 1.0
|
|
||||||
|
|
||||||
# Shadows
|
|
||||||
drop_shadow = $shadow_enabled
|
|
||||||
|
|
||||||
# Dimming
|
|
||||||
dim_inactive = false
|
|
||||||
|
|
||||||
# Blur
|
|
||||||
blur {
|
|
||||||
enabled = $blur_enabled
|
|
||||||
ignore_opacity = true
|
|
||||||
xray = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
general {
|
|
||||||
# Borders
|
|
||||||
border_size = 2
|
|
||||||
col.inactive_border = $col_inactive
|
|
||||||
col.nogroup_border = $col_inactive
|
|
||||||
col.active_border = $col_accentdark $col_accentlight 90deg
|
|
||||||
resize_on_border = false
|
|
||||||
|
|
||||||
# Gaps
|
|
||||||
gaps_in = 5
|
|
||||||
gaps_out = 10
|
|
||||||
gaps_workspaces = 0
|
|
||||||
|
|
||||||
# Cursor
|
|
||||||
cursor_inactive_timeout = 0
|
|
||||||
no_cursor_warps = false
|
|
||||||
|
|
||||||
# Layout
|
|
||||||
layout = hy3
|
|
||||||
|
|
||||||
# Focus
|
|
||||||
no_focus_fallback = true
|
|
||||||
}
|
|
||||||
|
|
||||||
gestures {
|
|
||||||
workspace_swipe = true
|
|
||||||
}
|
|
||||||
|
|
||||||
input {
|
|
||||||
# Keyboard
|
|
||||||
kb_layout = fr
|
|
||||||
numlock_by_default = true
|
|
||||||
repeat_rate = 75
|
|
||||||
repeat_delay = 300
|
|
||||||
kb_options = compose:rctrl
|
|
||||||
|
|
||||||
# Mouse
|
|
||||||
sensitivity = 0.0
|
|
||||||
accel_profile = flat
|
|
||||||
|
|
||||||
# Touchpad
|
|
||||||
touchpad {
|
|
||||||
disable_while_typing = false
|
|
||||||
natural_scroll = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
misc {
|
|
||||||
# Logos and mascotts
|
|
||||||
disable_hyprland_logo = true
|
|
||||||
disable_splash_rendering = true
|
|
||||||
|
|
||||||
# Focus
|
|
||||||
layers_hog_keyboard_focus = true
|
|
||||||
mouse_move_focuses_monitor = true
|
|
||||||
|
|
||||||
# Swallowing
|
|
||||||
enable_swallow = true
|
|
||||||
swallow_regex = $terminal_class
|
|
||||||
|
|
||||||
# Cursor
|
|
||||||
hide_cursor_on_touch = false
|
|
||||||
|
|
||||||
# Workspaces
|
|
||||||
close_special_on_empty = true
|
|
||||||
|
|
||||||
# Windows
|
|
||||||
new_window_takes_over_fullscreen = 2
|
|
||||||
|
|
||||||
# Animations
|
|
||||||
animate_manual_resizes = $animations_enabled
|
|
||||||
}
|
|
||||||
|
|
||||||
plugin {
|
|
||||||
hy3 {
|
|
||||||
# Windows
|
|
||||||
no_gaps_when_only = false
|
|
||||||
|
|
||||||
# Groups
|
|
||||||
node_collapse_policy = 0
|
|
||||||
|
|
||||||
# Tabs
|
|
||||||
tabs {
|
|
||||||
height = 5
|
|
||||||
padding = 5
|
|
||||||
from_top = true
|
|
||||||
rounding = 4
|
|
||||||
render_text = false
|
|
||||||
col.active = $col_accentdark
|
|
||||||
col.urgent = $col_urgent
|
|
||||||
col.inactive = $col_inactive
|
|
||||||
}
|
|
||||||
|
|
||||||
# Autotile
|
|
||||||
autotile {
|
|
||||||
enable = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
xwayland {
|
|
||||||
force_zero_scaling = true
|
|
||||||
}
|
|
|
@ -1,17 +1,8 @@
|
||||||
# Wallpaper
|
# Wallpaper
|
||||||
# exec-once = hyprpaper
|
exec-once = hyprpaper
|
||||||
|
|
||||||
# XDG compliance
|
# XDG compliance
|
||||||
exec-once = hyprxdg
|
exec-once = hyprxdg
|
||||||
|
|
||||||
# swayosd
|
# SwayOSD
|
||||||
exec-once = swayosd-server
|
exec-once = swayosd-server
|
||||||
|
|
||||||
# Polkit agent
|
|
||||||
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
|
||||||
|
|
||||||
# eww
|
|
||||||
exec-once = eww daemon && eww open bar
|
|
||||||
|
|
||||||
# swaync
|
|
||||||
exec-once = swaync
|
|
||||||
|
|
|
@ -4,6 +4,3 @@ windowrulev2 = workspace 4 silent, class:($bitwarden_class)
|
||||||
windowrulev2 = workspace 4 silent, class:($element_class)
|
windowrulev2 = workspace 4 silent, class:($element_class)
|
||||||
windowrulev2 = workspace 4 silent, class:($discord_class)
|
windowrulev2 = workspace 4 silent, class:($discord_class)
|
||||||
windowrulev2 = workspace 4 silent, class:($deezer_class)
|
windowrulev2 = workspace 4 silent, class:($deezer_class)
|
||||||
|
|
||||||
# Thunderbird password
|
|
||||||
windowrulev2 = float, class:(thunderbird), title:(Password Required - Mozilla Thunderbird)
|
|
||||||
|
|
4
config/hypr-ahrc--laptop/hyprland.d/xwayland.conf
Normal file
4
config/hypr-ahrc--laptop/hyprland.d/xwayland.conf
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# Xwayland
|
||||||
|
xwayland {
|
||||||
|
force_zero_scaling = true
|
||||||
|
}
|
|
@ -1,60 +0,0 @@
|
||||||
general {
|
|
||||||
disable_loading_bar = true
|
|
||||||
hide_cursor = true
|
|
||||||
grace = 0
|
|
||||||
no_fade_in = true
|
|
||||||
no_fade_out = true
|
|
||||||
ignore_empty_input = true
|
|
||||||
text_trim = true
|
|
||||||
}
|
|
||||||
|
|
||||||
background {
|
|
||||||
monitor =
|
|
||||||
path = screenshot
|
|
||||||
blur_passes = 5
|
|
||||||
blur_size = 2
|
|
||||||
brightness = 0.5
|
|
||||||
}
|
|
||||||
|
|
||||||
input-field {
|
|
||||||
monitor =
|
|
||||||
size = 500, 50
|
|
||||||
outline_thickness = 2
|
|
||||||
dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
|
|
||||||
dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
|
|
||||||
dots_center = false
|
|
||||||
dots_rounding = -1 # -1 default circle, -2 follow input-field rounding
|
|
||||||
outer_color = rgb(151515)
|
|
||||||
inner_color = rgb(200, 200, 200)
|
|
||||||
font_color = rgb(10, 10, 10)
|
|
||||||
fade_on_empty = true
|
|
||||||
fade_timeout = 0 # Milliseconds before fade_on_empty is triggered.
|
|
||||||
placeholder_text = # Text rendered in the input box when it's empty.
|
|
||||||
hide_input = false
|
|
||||||
rounding = -1 # -1 means complete rounding (circle/oval)
|
|
||||||
check_color = rgb(204, 136, 34)
|
|
||||||
fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color
|
|
||||||
fail_text = $FAIL <b>($ATTEMPTS)</b> # can be set to empty
|
|
||||||
fail_transition = 300 # transition time in ms between normal outer_color and fail_color
|
|
||||||
capslock_color = -1
|
|
||||||
numlock_color = -1
|
|
||||||
bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
|
|
||||||
invert_numlock = false # change color if numlock is off
|
|
||||||
swap_font_color = false # see below
|
|
||||||
|
|
||||||
position = 0, -20
|
|
||||||
halign = center
|
|
||||||
valign = center
|
|
||||||
}
|
|
||||||
|
|
||||||
label {
|
|
||||||
monitor =
|
|
||||||
text = cmd[update:500] date '+%Y-%m-%d%n%H:%M:%S'
|
|
||||||
color = rgb(ffffff)
|
|
||||||
font_size = 50
|
|
||||||
font_family = Noto Sans Bold
|
|
||||||
|
|
||||||
position = 40, 0
|
|
||||||
halign = left
|
|
||||||
valign = bottom
|
|
||||||
}
|
|
|
@ -1,9 +1,6 @@
|
||||||
# Wallpaper
|
# Wallpaper
|
||||||
# preload = ~/.local/share/backgrounds/chime_interdimensional.jpg
|
preload = ~/.local/share/backgrounds/chime_interdimensional.jpg
|
||||||
# wallpaper = , ~/.local/share/backgrounds/chime_interdimensional.jpg
|
wallpaper = , ~/.local/share/backgrounds/chime_interdimensional.jpg
|
||||||
|
|
||||||
# Save battery
|
# Save battery
|
||||||
ipc = off
|
ipc = off
|
||||||
|
|
||||||
# Disable splashe texts
|
|
||||||
splash = false
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
# Defaults
|
# Defaults
|
||||||
$terminal = alacritty
|
$terminal = alacritty
|
||||||
$browser = librewolf
|
$browser = librewolf
|
||||||
$locker = hyprlock
|
$locker = swaylock
|
||||||
|
|
||||||
# Applications
|
# Applications
|
||||||
$joplin = joplin-desktop --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer
|
$joplin = joplin-desktop
|
||||||
$bitwarden = bitwarden-desktop
|
$bitwarden = bitwarden-desktop
|
||||||
$element = element-desktop
|
$element = element-desktop
|
||||||
$discord = webcord
|
$discord = webcord
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
# Open terminal
|
# Open terminal
|
||||||
bind = SUPER, Space, exec, $terminal
|
bind = SUPER, Return, exec, $terminal
|
||||||
bind = SUPER SHIFT, Space, exec, $terminal -e sudo -i
|
|
||||||
|
|
||||||
# Workspaces
|
# Workspaces
|
||||||
#bind = SUPER, equal, movetoworkspace, special
|
#bind = SUPER, equal, movetoworkspace, special
|
||||||
|
@ -21,7 +20,7 @@ bind = SUPER Alt_L, Return, exec, hyprswapworkspaces
|
||||||
# Windows
|
# Windows
|
||||||
bindm = SUPER, mouse:272, movewindow
|
bindm = SUPER, mouse:272, movewindow
|
||||||
bindm = SUPER, mouse:273, resizewindow
|
bindm = SUPER, mouse:273, resizewindow
|
||||||
bind = SUPER SHIFT, Q, hy3:killactive
|
bind = SUPER SHIFT, Q, killactive
|
||||||
bind = SUPER SHIFT, 10, movetoworkspacesilent, 1
|
bind = SUPER SHIFT, 10, movetoworkspacesilent, 1
|
||||||
bind = SUPER SHIFT, 11, movetoworkspacesilent, 2
|
bind = SUPER SHIFT, 11, movetoworkspacesilent, 2
|
||||||
bind = SUPER SHIFT, 12, movetoworkspacesilent, 3
|
bind = SUPER SHIFT, 12, movetoworkspacesilent, 3
|
||||||
|
@ -32,14 +31,14 @@ bind = SUPER SHIFT, V, movetoworkspacesilent, 7
|
||||||
bind = SUPER SHIFT, C, movetoworkspacesilent, 8
|
bind = SUPER SHIFT, C, movetoworkspacesilent, 8
|
||||||
bind = SUPER SHIFT, X, movetoworkspacesilent, 9
|
bind = SUPER SHIFT, X, movetoworkspacesilent, 9
|
||||||
bind = SUPER SHIFT, W, movetoworkspacesilent, 10
|
bind = SUPER SHIFT, W, movetoworkspacesilent, 10
|
||||||
# bind = SUPER SHIFT, space, pin, active
|
bind = SUPER SHIFT, space, pin, active
|
||||||
bind = SUPER SHIFT, A, hy3:movewindow, l
|
bind = SUPER SHIFT, A, hy3:movewindow, l
|
||||||
bind = SUPER SHIFT, Z, hy3:movewindow, u
|
bind = SUPER SHIFT, Z, hy3:movewindow, u
|
||||||
bind = SUPER SHIFT, S, hy3:movewindow, d
|
bind = SUPER SHIFT, S, hy3:movewindow, d
|
||||||
bind = SUPER SHIFT, D, hy3:movewindow, r
|
bind = SUPER SHIFT, D, hy3:movewindow, r
|
||||||
bind = SUPER, Return, cyclenext, floating
|
bind = SUPER Alt_L, space, togglefloating
|
||||||
bind = SUPER SHIFT, Return, togglefloating
|
|
||||||
bind = SUPER Alt_L, F, fullscreen
|
bind = SUPER Alt_L, F, fullscreen
|
||||||
|
bind = SUPER SHIFT Alt_L, F, fakefullscreen
|
||||||
|
|
||||||
# Focus
|
# Focus
|
||||||
bind = SUPER, A, hy3:movefocus, l
|
bind = SUPER, A, hy3:movefocus, l
|
||||||
|
@ -59,13 +58,12 @@ bind = SUPER, B, hy3:changegroup, toggletab
|
||||||
bind = SUPER SHIFT, BackSpace, exit
|
bind = SUPER SHIFT, BackSpace, exit
|
||||||
|
|
||||||
# Launchers
|
# Launchers
|
||||||
bind = SUPER, F1, exec, anyrun
|
bind = SUPER, F1, exec, $browser
|
||||||
bind = SUPER, F2, exec, $joplin
|
bind = SUPER, F2, exec, $joplin
|
||||||
# bind = SUPER, F3, exec, $bitwarden
|
bind = SUPER, F3, exec, $bitwarden
|
||||||
bind = SUPER, F3, exec, $element
|
bind = SUPER, F4, exec, $element
|
||||||
bind = SUPER, F4, exec, $discord
|
bind = SUPER, F5, exec, $discord
|
||||||
bind = SUPER, F5, exec, $deezer
|
bind = SUPER, F6, exec, $deezer
|
||||||
bind = SUPER, G, exec, $browser
|
|
||||||
|
|
||||||
# Screenshots
|
# Screenshots
|
||||||
bind = , Print, exec, glurp full clip
|
bind = , Print, exec, glurp full clip
|
||||||
|
@ -83,10 +81,9 @@ binde = SUPER, Next, exec, swayosd-client --output-volume=lower
|
||||||
# Resize
|
# Resize
|
||||||
bind = SUPER Alt_L, R, submap, resize
|
bind = SUPER Alt_L, R, submap, resize
|
||||||
submap = resize
|
submap = resize
|
||||||
bind = , escape, submap, reset
|
|
||||||
bind = SUPER Alt_L, R, submap, reset
|
|
||||||
binde = , A, resizeactive, -25 0
|
binde = , A, resizeactive, -25 0
|
||||||
binde = , Z, resizeactive, 0 -25
|
binde = , Z, resizeactive, 0 -25
|
||||||
binde = , S, resizeactive, 0 25
|
binde = , S, resizeactive, 0 25
|
||||||
binde = , D, resizeactive, 25 0
|
binde = , D, resizeactive, 25 0
|
||||||
|
bind = , escape, submap, reset
|
||||||
submap = reset
|
submap = reset
|
||||||
|
|
|
@ -9,11 +9,7 @@ decoration {
|
||||||
fullscreen_opacity = 1.0
|
fullscreen_opacity = 1.0
|
||||||
|
|
||||||
# Shadows
|
# Shadows
|
||||||
drop_shadow = true
|
drop_shadow = false
|
||||||
shadow_range = 50
|
|
||||||
shadow_ignore_window = true
|
|
||||||
col.shadow = rgba(9933ff80)
|
|
||||||
col.shadow_inactive = rgba(00000000)
|
|
||||||
|
|
||||||
# Dimming
|
# Dimming
|
||||||
dim_inactive = false
|
dim_inactive = false
|
||||||
|
@ -22,6 +18,6 @@ decoration {
|
||||||
blur {
|
blur {
|
||||||
enabled = true
|
enabled = true
|
||||||
ignore_opacity = false
|
ignore_opacity = false
|
||||||
xray = false
|
xray = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,10 +18,3 @@ env = _JAVA_AWT_WM_NONREPARENTING, 1
|
||||||
|
|
||||||
# XDG
|
# XDG
|
||||||
env = XDG_SESSION_DESKTOP, Hyprland
|
env = XDG_SESSION_DESKTOP, Hyprland
|
||||||
|
|
||||||
# Electron
|
|
||||||
env = ELECTRON_OZONE_PLATFORM_HINT, auto
|
|
||||||
|
|
||||||
# hyprcursor
|
|
||||||
env = HYPRCURSOR_THEME, Afterglow
|
|
||||||
env = HYPRCURSOR_SIZE, 24
|
|
||||||
|
|
|
@ -5,9 +5,14 @@ input {
|
||||||
numlock_by_default = true
|
numlock_by_default = true
|
||||||
repeat_rate = 75
|
repeat_rate = 75
|
||||||
repeat_delay = 300
|
repeat_delay = 300
|
||||||
kb_options = compose:rwin
|
|
||||||
|
|
||||||
# Mouse
|
# Mouse
|
||||||
sensitivity = 0.0
|
sensitivity = 0.0
|
||||||
accel_profile = flat
|
accel_profile = flat
|
||||||
|
|
||||||
|
# Touchpad
|
||||||
|
touchpad {
|
||||||
|
disable_while_typing = false
|
||||||
|
natural_scroll = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ misc {
|
||||||
# Logos and mascotts
|
# Logos and mascotts
|
||||||
disable_hyprland_logo = true
|
disable_hyprland_logo = true
|
||||||
disable_splash_rendering = true
|
disable_splash_rendering = true
|
||||||
|
force_hypr_chan = false
|
||||||
|
|
||||||
# Focus
|
# Focus
|
||||||
layers_hog_keyboard_focus = true
|
layers_hog_keyboard_focus = true
|
||||||
|
|
|
@ -1,3 +1,2 @@
|
||||||
# Main monitor
|
# Main monitor
|
||||||
monitor = , highrr, 1920x0, 1
|
monitor = , highrr, 1920x0, 1
|
||||||
monitor = HEADLESS-3, 1920x1080@74.97300, 0x0, 1
|
|
||||||
|
|
|
@ -9,21 +9,21 @@ plugin {
|
||||||
|
|
||||||
# Tabs
|
# Tabs
|
||||||
tabs {
|
tabs {
|
||||||
height = 10
|
height = 15
|
||||||
padding = 5
|
padding = 5
|
||||||
from_top = true
|
from_top = true
|
||||||
rounding = 8
|
rounding = 8
|
||||||
render_text = false
|
render_text = true
|
||||||
text_center = false
|
text_center = false
|
||||||
text_font = Hack Nerd Font
|
text_font = Hack Nerd Font
|
||||||
text_height = 8
|
text_height = 8
|
||||||
text_padding = 10
|
text_padding = 10
|
||||||
col.active = $col_accentdark
|
col.active = $col_accentdark
|
||||||
col.urgent = rgb(ffd966)
|
col.urgent = rgb(ffd966)
|
||||||
col.inactive = rgba(00000080)
|
col.inactive = $col_inactive
|
||||||
col.text.active = $col_textlight
|
col.text.active = $col_textlight
|
||||||
col.text.urgent = rgba(000000e8)
|
col.text.urgent = rgba(000000e8)
|
||||||
col.text.inactive = rgba(ffffffb0)
|
col.text.inactive = $col_textlight
|
||||||
}
|
}
|
||||||
|
|
||||||
# Autotile
|
# Autotile
|
||||||
|
|
|
@ -4,14 +4,5 @@ exec-once = hyprpaper
|
||||||
# XDG compliance
|
# XDG compliance
|
||||||
exec-once = hyprxdg
|
exec-once = hyprxdg
|
||||||
|
|
||||||
# swayosd
|
# SwayOSD
|
||||||
exec-once = swayosd-server
|
exec-once = swayosd-server
|
||||||
|
|
||||||
# Polkit agent
|
|
||||||
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
|
||||||
|
|
||||||
# eww
|
|
||||||
exec-once = eww daemon && eww open bar
|
|
||||||
|
|
||||||
# swaync
|
|
||||||
exec-once = swaync
|
|
||||||
|
|
|
@ -4,6 +4,3 @@ windowrulev2 = workspace 4 silent, class:($bitwarden_class)
|
||||||
windowrulev2 = workspace 4 silent, class:($element_class)
|
windowrulev2 = workspace 4 silent, class:($element_class)
|
||||||
windowrulev2 = workspace 4 silent, class:($discord_class)
|
windowrulev2 = workspace 4 silent, class:($discord_class)
|
||||||
windowrulev2 = workspace 4 silent, class:($deezer_class)
|
windowrulev2 = workspace 4 silent, class:($deezer_class)
|
||||||
|
|
||||||
# Thunderbird password
|
|
||||||
windowrulev2 = float, class:(thunderbird), title:(Password Required - Mozilla Thunderbird)
|
|
||||||
|
|
|
@ -1,60 +0,0 @@
|
||||||
general {
|
|
||||||
disable_loading_bar = true
|
|
||||||
hide_cursor = true
|
|
||||||
grace = 0
|
|
||||||
no_fade_in = true
|
|
||||||
no_fade_out = true
|
|
||||||
ignore_empty_input = true
|
|
||||||
text_trim = true
|
|
||||||
}
|
|
||||||
|
|
||||||
background {
|
|
||||||
monitor =
|
|
||||||
path = screenshot
|
|
||||||
blur_passes = 5
|
|
||||||
blur_size = 2
|
|
||||||
brightness = 0.5
|
|
||||||
}
|
|
||||||
|
|
||||||
input-field {
|
|
||||||
monitor =
|
|
||||||
size = 500, 50
|
|
||||||
outline_thickness = 2
|
|
||||||
dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
|
|
||||||
dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
|
|
||||||
dots_center = false
|
|
||||||
dots_rounding = -1 # -1 default circle, -2 follow input-field rounding
|
|
||||||
outer_color = rgb(151515)
|
|
||||||
inner_color = rgb(200, 200, 200)
|
|
||||||
font_color = rgb(10, 10, 10)
|
|
||||||
fade_on_empty = true
|
|
||||||
fade_timeout = 0 # Milliseconds before fade_on_empty is triggered.
|
|
||||||
placeholder_text = # Text rendered in the input box when it's empty.
|
|
||||||
hide_input = false
|
|
||||||
rounding = -1 # -1 means complete rounding (circle/oval)
|
|
||||||
check_color = rgb(204, 136, 34)
|
|
||||||
fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color
|
|
||||||
fail_text = $FAIL <b>($ATTEMPTS)</b> # can be set to empty
|
|
||||||
fail_transition = 300 # transition time in ms between normal outer_color and fail_color
|
|
||||||
capslock_color = -1
|
|
||||||
numlock_color = -1
|
|
||||||
bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
|
|
||||||
invert_numlock = false # change color if numlock is off
|
|
||||||
swap_font_color = false # see below
|
|
||||||
|
|
||||||
position = 0, -20
|
|
||||||
halign = center
|
|
||||||
valign = center
|
|
||||||
}
|
|
||||||
|
|
||||||
label {
|
|
||||||
monitor =
|
|
||||||
text = cmd[update:500] date '+%Y-%m-%d%n%H:%M:%S'
|
|
||||||
color = rgb(ffffff)
|
|
||||||
font_size = 50
|
|
||||||
font_family = Noto Sans Bold
|
|
||||||
|
|
||||||
position = 40, 0
|
|
||||||
halign = left
|
|
||||||
valign = bottom
|
|
||||||
}
|
|
|
@ -1,9 +1,6 @@
|
||||||
# Wallpaper
|
# Wallpaper
|
||||||
# preload = ~/.local/share/backgrounds/chime_interdimensional.jpg
|
preload = ~/.local/share/backgrounds/virtual_riot_save_yourself_2-1920x1080.jpg
|
||||||
# wallpaper = , ~/.local/share/backgrounds/chime_interdimensional.jpg
|
wallpaper = , ~/.local/share/backgrounds/virtual_riot_save_yourself_2-1920x1080.jpg
|
||||||
|
|
||||||
# Save battery
|
# Save battery
|
||||||
#ipc = off
|
#ipc = off
|
||||||
|
|
||||||
# Disable splashe texts
|
|
||||||
splash = false
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
set -x
|
|
||||||
exec rustup update
|
|
|
@ -1,7 +1,5 @@
|
||||||
#!/usr/bin/env sh
|
#!/bin/sh -ex
|
||||||
[ "$(whoami)" != root ] && exec sudo -- "$0" "$@"
|
[ "$(whoami)" != root ] && exec sudo "$0" "$@"
|
||||||
|
|
||||||
set -x -e
|
|
||||||
apt-get clean
|
apt-get clean
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-file update
|
apt-file update
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
#!/usr/bin/env sh
|
|
||||||
set -e -x
|
|
||||||
aura -Cc 1
|
|
||||||
aura -Syu
|
|
||||||
aura -Fy
|
|
||||||
aura -Au --devel
|
|
||||||
aura -Qdtq | aura -Rns -
|
|
5
config/updateall/scripts/10-paru
Executable file
5
config/updateall/scripts/10-paru
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh -ex
|
||||||
|
paru -Scc
|
||||||
|
paru -Fy
|
||||||
|
paru
|
||||||
|
paru -Qdtq | paru -Rns -
|
5
config/updateall/scripts/10-pkg
Executable file
5
config/updateall/scripts/10-pkg
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh -ex
|
||||||
|
apt clean
|
||||||
|
pkg update
|
||||||
|
pkg upgrade
|
||||||
|
apt autopurge -y
|
|
@ -1,11 +1,13 @@
|
||||||
#!/usr/bin/env sh
|
#!/bin/sh
|
||||||
cd ~/docker || exit
|
|
||||||
|
[ "$(whoami)" != root ] && exec sudo "$0" "$@"
|
||||||
|
|
||||||
|
cd /opt/docker || exit
|
||||||
|
|
||||||
for i in *; do (set -e
|
for i in *; do (set -e
|
||||||
cd "$i"
|
cd "$i"
|
||||||
docker-compose pull
|
docker-compose pull
|
||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
) & done
|
) & done
|
||||||
wait
|
|
||||||
|
|
||||||
docker image prune -f
|
wait
|
||||||
|
|
|
@ -1,3 +1,2 @@
|
||||||
#!/usr/bin/env sh
|
#!/bin/sh -ex
|
||||||
set -x
|
sudo waydroid upgrade
|
||||||
exec sudo waydroid upgrade
|
|
||||||
|
|
|
@ -1,3 +1,2 @@
|
||||||
#!/usr/bin/env sh
|
#!/bin/sh -ex
|
||||||
set -x
|
yabridgectl sync
|
||||||
exec yabridgectl sync
|
|
||||||
|
|
25
config/updateall/scripts/70-git
Executable file
25
config/updateall/scripts/70-git
Executable file
|
@ -0,0 +1,25 @@
|
||||||
|
#!/bin/sh -x
|
||||||
|
|
||||||
|
if [ -z "$SSH_AGENT_PID" ]; then
|
||||||
|
exec ssh-agent "$0" "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
ssh-add
|
||||||
|
|
||||||
|
update_repo() {
|
||||||
|
cd "$1" || return
|
||||||
|
printf 'Updating repository \033[1m%s\033[0m...\n' "$1"
|
||||||
|
git pull
|
||||||
|
}
|
||||||
|
|
||||||
|
cd ~/git || exit
|
||||||
|
|
||||||
|
set +x
|
||||||
|
for i in *; do
|
||||||
|
while [ "$(jobs -p | wc -l)" -ge 4 ]; do
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
update_repo "$i" &
|
||||||
|
done
|
||||||
|
|
||||||
|
wait
|
|
@ -1,3 +1,2 @@
|
||||||
#!/usr/bin/env sh
|
#!/bin/sh -x
|
||||||
set -x
|
nvim +PaqSync
|
||||||
exec nvim +PaqSync
|
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
[core]
|
|
||||||
xwayland=true
|
|
||||||
|
|
||||||
[shell]
|
[shell]
|
||||||
close-animation=none
|
close-animation=none
|
||||||
startup-animation=none
|
startup-animation=none
|
||||||
|
@ -9,3 +6,4 @@ allow-zap=true
|
||||||
[keyboard]
|
[keyboard]
|
||||||
keymap_layout=fr
|
keymap_layout=fr
|
||||||
numlock-on=true
|
numlock-on=true
|
||||||
|
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
[terminal]
|
|
||||||
# The VT to run the greeter on. Can be "next", "current" or a number
|
|
||||||
# designating the VT.
|
|
||||||
vt = 2
|
|
||||||
|
|
||||||
# The default session, also known as the greeter.
|
|
||||||
[default_session]
|
|
||||||
|
|
||||||
# `agreety` is the bundled agetty/login-lookalike. You can replace `/bin/sh`
|
|
||||||
# with whatever you want started, such as `sway`.
|
|
||||||
command = "tuigreet"
|
|
||||||
|
|
||||||
# The user to run the command as. The privileges this user must have depends
|
|
||||||
# on the greeter. A graphical greeter may for example require the user to be
|
|
||||||
# in the `video` group.
|
|
||||||
user = "greeter"
|
|
|
@ -1,6 +1,4 @@
|
||||||
#!/hint/bash
|
#!/hint/bash
|
||||||
# shellcheck disable=2034
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# /etc/makepkg.conf
|
# /etc/makepkg.conf
|
||||||
#
|
#
|
||||||
|
@ -40,21 +38,19 @@ CHOST="x86_64-pc-linux-gnu"
|
||||||
|
|
||||||
#-- Compiler and Linker Flags
|
#-- Compiler and Linker Flags
|
||||||
#CPPFLAGS=""
|
#CPPFLAGS=""
|
||||||
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
|
CFLAGS="-march=native -O2 -pipe -fno-plt -fexceptions \
|
||||||
-Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \
|
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
|
||||||
-fstack-clash-protection -fcf-protection \
|
-fstack-clash-protection -fcf-protection"
|
||||||
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"
|
|
||||||
CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
|
CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
|
||||||
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \
|
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
|
||||||
-Wl,-z,pack-relative-relocs"
|
|
||||||
LTOFLAGS="-flto=auto"
|
LTOFLAGS="-flto=auto"
|
||||||
RUSTFLAGS="-C opt-level=2 -Cforce-frame-pointers=yes"
|
RUSTFLAGS="-C opt-level=2 -C target-cpu=native"
|
||||||
#-- Make Flags: change this for DistCC/SMP systems
|
#-- Make Flags: change this for DistCC/SMP systems
|
||||||
MAKEFLAGS="-j$(nproc)"
|
MAKEFLAGS="-j$(nproc)"
|
||||||
#-- Debugging flags
|
#-- Debugging flags
|
||||||
DEBUG_CFLAGS="-g"
|
DEBUG_CFLAGS="-g"
|
||||||
DEBUG_CXXFLAGS="$DEBUG_CFLAGS"
|
DEBUG_CXXFLAGS="$DEBUG_CFLAGS"
|
||||||
DEBUG_RUSTFLAGS="-C debuginfo=2"
|
#DEBUG_RUSTFLAGS="-C debuginfo=2"
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
# BUILD ENVIRONMENT
|
# BUILD ENVIRONMENT
|
||||||
|
@ -83,7 +79,7 @@ BUILDENV=(!distcc color !ccache check !sign)
|
||||||
# These are default values for the options=() settings
|
# These are default values for the options=() settings
|
||||||
#########################################################################
|
#########################################################################
|
||||||
#
|
#
|
||||||
# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto !autodeps)
|
# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto)
|
||||||
# A negated option will do the opposite of the comments below.
|
# A negated option will do the opposite of the comments below.
|
||||||
#
|
#
|
||||||
#-- strip: Strip symbols from binaries/libraries
|
#-- strip: Strip symbols from binaries/libraries
|
||||||
|
@ -95,9 +91,8 @@ BUILDENV=(!distcc color !ccache check !sign)
|
||||||
#-- purge: Remove files specified by PURGE_TARGETS
|
#-- purge: Remove files specified by PURGE_TARGETS
|
||||||
#-- debug: Add debugging flags as specified in DEBUG_* variables
|
#-- debug: Add debugging flags as specified in DEBUG_* variables
|
||||||
#-- lto: Add compile flags for building with link time optimization
|
#-- lto: Add compile flags for building with link time optimization
|
||||||
#-- autodeps: Automatically add depends/provides
|
|
||||||
#
|
#
|
||||||
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto)
|
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug !lto)
|
||||||
|
|
||||||
#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2
|
#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2
|
||||||
INTEGRITY_CHECK=(sha256)
|
INTEGRITY_CHECK=(sha256)
|
||||||
|
@ -115,8 +110,6 @@ DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
|
||||||
PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
|
PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
|
||||||
#-- Directory to store source code in for debug packages
|
#-- Directory to store source code in for debug packages
|
||||||
DBGSRCDIR="/usr/src/debug"
|
DBGSRCDIR="/usr/src/debug"
|
||||||
#-- Prefix and directories for library autodeps
|
|
||||||
LIB_DIRS=('lib:usr/lib' 'lib32:usr/lib32')
|
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
# PACKAGE OUTPUT
|
# PACKAGE OUTPUT
|
||||||
|
@ -134,7 +127,6 @@ LIB_DIRS=('lib:usr/lib' 'lib32:usr/lib32')
|
||||||
#LOGDEST=/home/makepkglogs
|
#LOGDEST=/home/makepkglogs
|
||||||
#-- Packager: name/email of the person or organization building packages
|
#-- Packager: name/email of the person or organization building packages
|
||||||
#PACKAGER="John Doe <john@doe.com>"
|
#PACKAGER="John Doe <john@doe.com>"
|
||||||
PACKAGER="Ahurac <ahurac@mailbox.org>"
|
|
||||||
#-- Specify a key to use for package signing
|
#-- Specify a key to use for package signing
|
||||||
#GPGKEY=""
|
#GPGKEY=""
|
||||||
|
|
||||||
|
@ -144,8 +136,8 @@ PACKAGER="Ahurac <ahurac@mailbox.org>"
|
||||||
#
|
#
|
||||||
COMPRESSGZ=(gzip -c -f -n)
|
COMPRESSGZ=(gzip -c -f -n)
|
||||||
COMPRESSBZ2=(bzip2 -c -f)
|
COMPRESSBZ2=(bzip2 -c -f)
|
||||||
COMPRESSXZ=(xz -c -z -)
|
COMPRESSXZ=(xz -c -z --threads=0 -)
|
||||||
COMPRESSZST=(zstd -c -T0 --fast=4 -)
|
COMPRESSZST=(zstd -c -z -q --threads=0 -)
|
||||||
COMPRESSLRZ=(lrzip -q)
|
COMPRESSLRZ=(lrzip -q)
|
||||||
COMPRESSLZO=(lzop -q)
|
COMPRESSLZO=(lzop -q)
|
||||||
COMPRESSZ=(compress -c -f)
|
COMPRESSZ=(compress -c -f)
|
||||||
|
@ -165,4 +157,3 @@ SRCEXT='.src.tar.gz'
|
||||||
#
|
#
|
||||||
#-- Command used to run pacman as root, instead of trying sudo and su
|
#-- Command used to run pacman as root, instead of trying sudo and su
|
||||||
#PACMAN_AUTH=()
|
#PACMAN_AUTH=()
|
||||||
# vim: set ft=sh ts=2 sw=2 et:
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
#!/bin/sh -e
|
|
||||||
exec /usr/bin/joycond
|
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
waydroid container stop
|
|
||||||
waydroid session stop
|
|
|
@ -1,2 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
exec waydroid -w container start
|
|
|
@ -22,11 +22,12 @@ alias ip="ip --color=auto"
|
||||||
# util-linux
|
# util-linux
|
||||||
alias cal="cal -m"
|
alias cal="cal -m"
|
||||||
|
|
||||||
|
# screen
|
||||||
|
alias screen=screen\
|
||||||
|
alias s=screen
|
||||||
|
|
||||||
# sudo
|
# sudo
|
||||||
alias sudo=sudo\
|
alias sudo=sudo\
|
||||||
|
|
||||||
# man-db
|
# man-db
|
||||||
alias man=man\
|
alias man=man\
|
||||||
|
|
||||||
# helix
|
|
||||||
alias hx=helix
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
name = Ahurac
|
name = Ahurac
|
||||||
email = ahurac@mailbox.org
|
email = ahurac@mailbox.org
|
||||||
[core]
|
[core]
|
||||||
editor = helix
|
editor = nvim
|
||||||
[init]
|
[init]
|
||||||
defaultbranch = main
|
defaultbranch = main
|
||||||
[pull]
|
[pull]
|
||||||
|
@ -19,6 +19,5 @@
|
||||||
m = merge
|
m = merge
|
||||||
r = rebase
|
r = rebase
|
||||||
graph = log --graph --oneline
|
graph = log --graph --oneline
|
||||||
ds = diff --staged
|
|
||||||
[push]
|
[push]
|
||||||
autoSetupRemote = true
|
autoSetupRemote = true
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
|
# wine
|
||||||
|
alias wine32="WINEPREFIX=~/.wine32 wine"
|
||||||
|
|
||||||
|
# kitty
|
||||||
|
if [ "$TERM" = xterm-kitty ]; then
|
||||||
|
alias ssh="kitty +kitten ssh"
|
||||||
|
else
|
||||||
|
alias sshm="ssh -M"
|
||||||
|
fi
|
||||||
|
|
||||||
# git
|
# git
|
||||||
alias g=git
|
alias g=git
|
||||||
|
|
||||||
# tmux, sudo
|
|
||||||
alias tsudo='tmux new sudo -i'
|
|
||||||
|
|
||||||
# ssh
|
|
||||||
alias sshm='ssh -M'
|
|
||||||
|
|
1
home/shrc.d/arch_aliases
Normal file
1
home/shrc.d/arch_aliases
Normal file
|
@ -0,0 +1 @@
|
||||||
|
alias pm=paru
|
|
@ -11,6 +11,7 @@ addpath() {
|
||||||
}
|
}
|
||||||
|
|
||||||
addpath ~/.local/bin
|
addpath ~/.local/bin
|
||||||
|
addpath ~/.local/share/qemu/bin
|
||||||
|
|
||||||
# Start Hyprland if the tty is 1
|
# Start Hyprland if the tty is 1
|
||||||
if [ "$(tty)" = /dev/tty1 ]; then
|
if [ "$(tty)" = /dev/tty1 ]; then
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
export EDITOR=helix
|
export EDITOR=nvim
|
||||||
|
|
||||||
|
|
BIN
share/backgrounds/artix-tube-text-green.jpg
Normal file
BIN
share/backgrounds/artix-tube-text-green.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 119 KiB |
16
vnc/xstartup
16
vnc/xstartup
|
@ -1,11 +1,15 @@
|
||||||
#!/usr/bin/env sh
|
#!/bin/sh -xe
|
||||||
cd || exit
|
|
||||||
|
|
||||||
[ -z "$DBUS_SESSION_BUS_ADDRESS" ] && \
|
self="$(readlink -f "$0")"
|
||||||
exec dbus-launch --exit-with-session -- "$0" "$@"
|
cd
|
||||||
|
|
||||||
[ -z "$SSH_AGENT_PID" ] && \
|
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
|
||||||
exec ssh-agent -- "$0" "$@"
|
exec dbus-launch --exit-with-session "$self" "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SSH_AGENT_PID" ]; then
|
||||||
|
exec ssh-agent "$self" "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
xfwm4 &
|
xfwm4 &
|
||||||
artix-pipewire-launcher restart &
|
artix-pipewire-launcher restart &
|
||||||
|
|
Loading…
Reference in a new issue