forked from ahurac/dotfiles
Compare commits
137 commits
Author | SHA1 | Date | |
---|---|---|---|
1c315a827c | |||
8816586c80 | |||
c305ed2759 | |||
d92eedf258 | |||
1b779205fe | |||
7e850437e2 | |||
5cbbcda515 | |||
e7fb72af67 | |||
baf758cf52 | |||
3c191ef7a6 | |||
8a49491cff | |||
6badb08726 | |||
36992cf6aa | |||
2fa6fbea62 | |||
64f42ea981 | |||
edf168c7dc | |||
5156fa5201 | |||
cdd98dff61 | |||
1152a409a0 | |||
cb7ffe1088 | |||
edcebfb4a4 | |||
935f074bbe | |||
180ff5abac | |||
a59b589dca | |||
1873b1baf9 | |||
9ea3826c2c | |||
52edd90c6a | |||
7fb809f425 | |||
2253608753 | |||
bc82ad6ece | |||
c17b852b39 | |||
9eb26b34d2 | |||
52fec5e9ee | |||
d9c824ddff | |||
2cfd4c662e | |||
bdbf866d0d | |||
7f30e16270 | |||
a871399b64 | |||
b0b9ca114f | |||
3e3e5d62ad | |||
299a6aca16 | |||
46e94502dc | |||
16998000e1 | |||
fdaa62625c | |||
2d4b869628 | |||
b0dc1aa5c2 | |||
1e803c7db1 | |||
543d625984 | |||
e109b58d68 | |||
0b06da983d | |||
b30de47c0d | |||
8db9d845a6 | |||
a3e5e41a5c | |||
41bbe54ece | |||
994c0254c0 | |||
08116aec0c | |||
17ddadab1b | |||
7536613376 | |||
895726a7d6 | |||
152ed9dd0e | |||
b81e766459 | |||
7cb3363539 | |||
5ff22f5b6a | |||
ae5103f1ce | |||
bf0a0ea914 | |||
7c0ebf50b5 | |||
71cf6b99a3 | |||
8c82f35f31 | |||
219e75adea | |||
d1ed4ae184 | |||
2d2f273111 | |||
58ee6d737a | |||
cb3fc72d2b | |||
03e49268f1 | |||
92def7b86b | |||
6ba2d79ecf | |||
13eb0576b7 | |||
0b142f65e4 | |||
6f29dc251a | |||
d3852f41da | |||
a736a5c28c | |||
1a10442a51 | |||
b796ed03bf | |||
83fa5eab5e | |||
be7e6657d1 | |||
9eb255f504 | |||
b5f9685f81 | |||
b1f504b198 | |||
ea9579075c | |||
d74aad1ec1 | |||
4e4ec0c147 | |||
2c3a7ea576 | |||
5e8969eae7 | |||
8dc8f04fbf | |||
9fe6317aea | |||
fb3180098f | |||
198c816880 | |||
630d89b965 | |||
c16a198acf | |||
6cc148eb1b | |||
94f97e32a3 | |||
468b0a5575 | |||
baa2410819 | |||
fd0ab1a30d | |||
1ccd4132f4 | |||
cad9fea16b | |||
2141158ea8 | |||
3bff5f8668 | |||
a9e40761f5 | |||
5e358fea0c | |||
c33c733984 | |||
2068f240ac | |||
71fe71fd2b | |||
d695b12360 | |||
d22f9deb76 | |||
07ac41c20d | |||
b8d021c6f3 | |||
38c970b31f | |||
1e878febf7 | |||
abf53929c0 | |||
63c255c213 | |||
a215c76cf5 | |||
2ed42e72ac | |||
2d56eab290 | |||
97f398c1a6 | |||
6f38492e98 | |||
092da390b7 | |||
8651f910b2 | |||
07777aca3b | |||
199e521e44 | |||
5924ff9320 | |||
5f111f23b2 | |||
81d44dc756 | |||
601a64c4a2 | |||
f04bb3e74d | |||
aa54e27a28 | |||
acc2c99066 |
94 changed files with 1078 additions and 834 deletions
|
@ -1,3 +1,5 @@
|
||||||
# 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,5 +11,7 @@ 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 "$@"
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
export \
|
|
||||||
LESSOPEN='| /usr/bin/src-hilite-lesspipe.sh %s' \
|
|
||||||
LESS="${LESS} -R"
|
|
||||||
exec less "$@"
|
|
||||||
|
|
|
@ -1,50 +0,0 @@
|
||||||
#!/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
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
mount_point="/mnt/${1}"
|
|
||||||
docker run --rm -it -v "${1}:${mount_point}" -w "$mount_point" busybox sh
|
|
||||||
|
|
16
bin/fakepkg
Executable file
16
bin/fakepkg
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/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
Executable file
37
bin/getpkg
Executable file
|
@ -0,0 +1,37 @@
|
||||||
|
#!/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}\""
|
114
bin/glurp
114
bin/glurp
|
@ -1,83 +1,81 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env sh
|
||||||
|
# Function to print an error in stderr
|
||||||
declare -A temp_files
|
perror() {
|
||||||
temp_files[command_to_source]=$(mktemp)
|
>&2 printf '\033[1;31mERROR:\033[0m \033[1m%s\033[0m\n' "$*"
|
||||||
|
|
||||||
clean() {
|
|
||||||
rm -- "${temp_files[@]}"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
cat << EOF
|
name=$(basename "$0")
|
||||||
Usage:
|
|
||||||
glurp full|area clip|file
|
printf %s "${name}: usage
|
||||||
EOF
|
${name} f[ull]|a[rea] c[lip]|f[ile]
|
||||||
}
|
${name} -h
|
||||||
|
"
|
||||||
error() {
|
|
||||||
>&2 printf '\033[0m\033[1;31mERROR:\033[0m \033[1m%s\033[0m\n' "$*"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Function to throw an error usage
|
||||||
error_usage() {
|
error_usage() {
|
||||||
error "Invalid usage"
|
perror "invalid usage"
|
||||||
>&2 usage
|
>&2 usage
|
||||||
}
|
|
||||||
|
|
||||||
error_usage_clean() {
|
exit 1
|
||||||
error_usage
|
|
||||||
clean
|
|
||||||
}
|
}
|
||||||
|
|
||||||
screenshot_path() {
|
screenshot_path() {
|
||||||
local path
|
if [ -d "$XDG_RUNTIME_DIR" ]; then
|
||||||
if [ -n "$1" ]; then
|
base=${XDG_RUNTIME_DIR}/screenshots
|
||||||
path="$1"
|
|
||||||
else
|
else
|
||||||
path=.
|
base=/tmp/${USER}-screenshots
|
||||||
fi
|
fi
|
||||||
mkdir -p "$path"
|
|
||||||
printf '%sscreenshot-%s.png' "${path}/" "$(date +%Y_%m_%d_%H_%M_%S_%N)"
|
# I literally know, shellcheck
|
||||||
|
# shellcheck disable=2174
|
||||||
|
mkdir -p -m 700 -- "$base"
|
||||||
|
|
||||||
|
printf %s "${base}/screenshot-$(date +%Y%m%d_%H%M%S%N).png"
|
||||||
}
|
}
|
||||||
|
|
||||||
trap error_usage_clean EXIT
|
while getopts :h opt; do
|
||||||
set -e
|
case "$opt" in
|
||||||
|
h)
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
?)
|
||||||
|
error_usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
slurp=()
|
# Initial variables
|
||||||
grim_args=()
|
slurp=
|
||||||
wl_copy=()
|
grim="grim -t png"
|
||||||
|
clipboard=
|
||||||
|
|
||||||
|
# f* = full, a* = area
|
||||||
case "$1" in
|
case "$1" in
|
||||||
full)
|
f*) : ;;
|
||||||
:
|
a*)
|
||||||
;;
|
slurp="slurp |"
|
||||||
area)
|
grim="${grim} -g -"
|
||||||
slurp+=(slurp \|)
|
|
||||||
grim_args+=(-g -)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
false
|
|
||||||
;;
|
;;
|
||||||
|
*) error_usage ;;
|
||||||
esac
|
esac
|
||||||
shift
|
|
||||||
|
|
||||||
case "$1" in
|
# c* = clip, f* = file
|
||||||
clip)
|
case "$2" in
|
||||||
wl_copy+=(\| wl-copy -t image/png)
|
c*)
|
||||||
grim_args+=(-)
|
grim="${grim} -"
|
||||||
|
clipboard="| wl-copy -t image/png"
|
||||||
;;
|
;;
|
||||||
file)
|
f*)
|
||||||
grim_args+=("$(screenshot_path "${XDG_RUNTIME_DIR:-/tmp/$(whoami)}/screenshots")")
|
grim="${grim} '$(screenshot_path)'"
|
||||||
;;
|
|
||||||
*)
|
|
||||||
false
|
|
||||||
;;
|
;;
|
||||||
|
*) error_usage ;;
|
||||||
esac
|
esac
|
||||||
shift
|
|
||||||
|
|
||||||
cat > "${temp_files[command_to_source]}" << EOF
|
set -- sh -c "${slurp} ${grim} ${clipboard}"
|
||||||
${slurp[@]} grim ${grim_args[@]} ${@} ${wl_copy[@]}
|
set -x
|
||||||
EOF
|
#: "$@"
|
||||||
|
#exit
|
||||||
trap clean EXIT
|
exec "$@"
|
||||||
|
|
||||||
sh -s < "${temp_files[command_to_source]}"
|
|
||||||
|
|
132
bin/headlessvnc
132
bin/headlessvnc
|
@ -1,107 +1,71 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env sh
|
||||||
|
perror() {
|
||||||
# cd to the local VNC directory, exit if it fails
|
>&2 printf '\033[1;31mERROR:\033[0m \033[1m%s\033[0m\n' "$*"
|
||||||
cd "${HOME}/.vnc" || exit 5
|
|
||||||
|
|
||||||
# Variable
|
|
||||||
verbs="start status stop restart help"
|
|
||||||
|
|
||||||
# echo bold text
|
|
||||||
echobf() {
|
|
||||||
printf '\033[1m%s\033[0m\n' "$*"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Print an error message
|
usage() {
|
||||||
print_error() {
|
name=$(basename "$0")
|
||||||
(
|
|
||||||
printf '\033[1;31m%s\033[0m ' "ERROR:"
|
cat << EOF
|
||||||
echobf "$*"
|
${name}: usage
|
||||||
) > /dev/stderr
|
${name} [status] - show if the server is running
|
||||||
|
${name} start|stop|restart - control the server
|
||||||
|
${name} help|usage - show help
|
||||||
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
# Print an error and exit
|
error_usage() {
|
||||||
error() {
|
perror "invalid usage"
|
||||||
print_error "$1"
|
>&2 usage
|
||||||
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'
|
||||||
}
|
}
|
||||||
|
|
||||||
# Show a help message
|
start() {
|
||||||
public_help() {
|
|
||||||
local name
|
|
||||||
name="$(basename "$0")"
|
|
||||||
cat << EOF
|
|
||||||
${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
|
if ! is_running; then
|
||||||
set -e
|
set -- vncserver \
|
||||||
vncserver \
|
-localhost -alwaysshared \
|
||||||
-xstartup ./xstartup \
|
-securitytypes none
|
||||||
-localhost \
|
[ -x ~/.vnc/xstartup ] && set -- "$@" -xstartup ~/.vnc/xstartup
|
||||||
-alwaysshared \
|
|
||||||
-securitytypes none \
|
"$@"
|
||||||
-nocursor \
|
|
||||||
-geometry 1600x900
|
|
||||||
else
|
else
|
||||||
error "The VNC server is already running!" 4
|
perror "server already started"
|
||||||
|
return 2
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check if the server is running
|
stop() {
|
||||||
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
|
||||||
error "The VNC server is not running!" 3
|
perror "server is not running"
|
||||||
|
return 2
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Restart the VNC server
|
status() {
|
||||||
public_restart() {
|
if is_running; then
|
||||||
public_stop
|
printf '\033[1;32m*\033[0m \033[1m%s\n' "the server is running"
|
||||||
public_start
|
else
|
||||||
|
printf '\033[1;31m*\033[0m \033[1m%s\n' "the server is not running"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Parse argument
|
case "$1" in
|
||||||
if [ -n "$1" ]; then
|
""|stat*) status ;;
|
||||||
arg="$1"
|
star*) start ;;
|
||||||
else
|
sto*) stop ;;
|
||||||
arg=status
|
r*)
|
||||||
fi
|
stop
|
||||||
|
start
|
||||||
# Main switch
|
;;
|
||||||
if echo "$verbs" | tr ' ' '\n' | grep -q "$arg"; then
|
h*|u*) usage ;;
|
||||||
"public_${arg}"
|
*)
|
||||||
else
|
error_usage
|
||||||
error_help
|
;;
|
||||||
fi
|
esac
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@ create() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! vnc_running; then
|
if ! vnc_running; then
|
||||||
screen -S "Second screen (${vscreen_name})" -d -m \
|
tmux new -s "Second screen (${vscreen_name})" -d \
|
||||||
wayvnc \
|
wayvnc \
|
||||||
-v \
|
-v \
|
||||||
-o "$vscreen_name" \
|
-o "$vscreen_name" \
|
||||||
|
|
19
bin/hyprxdg
19
bin/hyprxdg
|
@ -1,16 +1,17 @@
|
||||||
#!/bin/sh -x
|
#!/usr/bin/env sh
|
||||||
|
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 @@
|
||||||
#!/bin/sh
|
#!/usr/bin/env sh
|
||||||
dig +short @resolver1.opendns.com myip.opendns.com
|
exec drill @resolver1.opendns.com myip.opendns.com
|
||||||
|
|
107
bin/mcserv
107
bin/mcserv
|
@ -1,107 +0,0 @@
|
||||||
#!/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
|
|
6
bin/svadd
Executable file
6
bin/svadd
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
cd /run/runit/service || exit
|
||||||
|
|
||||||
|
for service in "$@"; do
|
||||||
|
ln -s /etc/runit/sv/"$service" .
|
||||||
|
done
|
6
bin/svdel
Executable file
6
bin/svdel
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
cd /run/runit/service || exit
|
||||||
|
|
||||||
|
for service in "$@"; do
|
||||||
|
unlink -- "$service"
|
||||||
|
done
|
5
bin/svls
Executable file
5
bin/svls
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
cd /run/runit/service || exit
|
||||||
|
for service in *; do
|
||||||
|
sv status "$service"
|
||||||
|
done
|
29
bin/sway
29
bin/sway
|
@ -1,29 +0,0 @@
|
||||||
#!/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 "$@"
|
|
|
@ -1,30 +0,0 @@
|
||||||
#!/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'
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
#!/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,7 +1,8 @@
|
||||||
#!/bin/sh -e
|
#!/usr/bin/env sh
|
||||||
|
set -e
|
||||||
|
|
||||||
screen_is_on() {
|
screen_is_on() {
|
||||||
[ "$(brightnessctl g)" -ne 0 ]
|
[ "$(brightnessctl get)" -ne 0 ]
|
||||||
}
|
}
|
||||||
|
|
||||||
turn_on_screen() {
|
turn_on_screen() {
|
||||||
|
@ -10,7 +11,7 @@ turn_on_screen() {
|
||||||
|
|
||||||
turn_off_screen() {
|
turn_off_screen() {
|
||||||
brightnessctl -s
|
brightnessctl -s
|
||||||
brightnessctl s 0
|
brightnessctl set 0
|
||||||
}
|
}
|
||||||
|
|
||||||
if screen_is_on; then
|
if screen_is_on; then
|
||||||
|
@ -18,4 +19,3 @@ if screen_is_on; then
|
||||||
else
|
else
|
||||||
turn_on_screen
|
turn_on_screen
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
5
bin/tuigreet
Executable file
5
bin/tuigreet
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
exec /usr/bin/tuigreet \
|
||||||
|
-t --time-format '%Y-%m-%d | %H:%M:%S' \
|
||||||
|
-c Hyprland \
|
||||||
|
"$@"
|
|
@ -1,40 +1,14 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env sh
|
||||||
|
if [ -z "$1" ]; then
|
||||||
vnc_host="$1"
|
>&2 echo "provide ssh host name"
|
||||||
if [ -n "$2" ]
|
exit 1
|
||||||
then local_port="$2"
|
|
||||||
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
|
else
|
||||||
vncviewer=vncviewer
|
ssh_host=$1
|
||||||
separator=:
|
|
||||||
fi
|
fi
|
||||||
|
remote_port=${2:-5900}
|
||||||
|
local_port=$((remote_port + 4000))
|
||||||
|
|
||||||
# Initialiser les arguments du viewer
|
ssh -O check -- "$ssh_host"
|
||||||
args=(localhost "$local_port")
|
ssh -f -N -L "${local_port}:localhost:${remote_port}" -- "$ssh_host" || exit
|
||||||
if [ -n "$separator" ]; then
|
wlvncc -- localhost "$local_port"
|
||||||
args=("${args[*]// /${separator}/}")
|
ssh -O cancel -L "${local_port}:localhost:${remote_port}" -- "$ssh_host"
|
||||||
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[@]}"
|
|
||||||
|
|
7
bin/watchbatch
Executable file
7
bin/watchbatch
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/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
19
bin/waybar
|
@ -1,19 +0,0 @@
|
||||||
#!/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
|
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
#!/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
53
bin/wolf
|
@ -1,53 +0,0 @@
|
||||||
#!/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.5
|
opacity = 0.8
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
--ozone-platform-hint=auto
|
--ozone-platform-hint=auto
|
||||||
|
--enable-features=WebRTCPipeWireCapturer
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
electron-flags.conf
|
|
11
config/eww-ahrc--laptop/action/hyprland/nearby-workspace
Executable file
11
config/eww-ahrc--laptop/action/hyprland/nearby-workspace
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
case "$1" in
|
||||||
|
up)
|
||||||
|
hyprctl dispatch workspace +1
|
||||||
|
;;
|
||||||
|
down)
|
||||||
|
hyprctl dispatch workspace -1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
15
config/eww-ahrc--laptop/action/volume
Executable file
15
config/eww-ahrc--laptop/action/volume
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
case "$1" in
|
||||||
|
up)
|
||||||
|
set -- -i
|
||||||
|
;;
|
||||||
|
down)
|
||||||
|
set -- -d
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
set -- pamixer "$@" 5
|
||||||
|
|
||||||
|
exec "$@"
|
30
config/eww-ahrc--laptop/eww.scss
Normal file
30
config/eww-ahrc--laptop/eww.scss
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
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;
|
||||||
|
}
|
205
config/eww-ahrc--laptop/eww.yuck
Normal file
205
config/eww-ahrc--laptop/eww.yuck
Normal file
|
@ -0,0 +1,205 @@
|
||||||
|
(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)
|
||||||
|
)
|
19
config/eww-ahrc--laptop/listen/battery
Executable file
19
config/eww-ahrc--laptop/listen/battery
Executable file
|
@ -0,0 +1,19 @@
|
||||||
|
#!/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
|
21
config/eww-ahrc--laptop/listen/hypr
Executable file
21
config/eww-ahrc--laptop/listen/hypr
Executable file
|
@ -0,0 +1,21 @@
|
||||||
|
#!/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
|
57
config/eww-ahrc--laptop/listen/network
Executable file
57
config/eww-ahrc--laptop/listen/network
Executable file
|
@ -0,0 +1,57 @@
|
||||||
|
#!/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
|
13
config/eww-ahrc--laptop/listen/sound
Executable file
13
config/eww-ahrc--laptop/listen/sound
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/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,10 +1,11 @@
|
||||||
# Defaults
|
# Defaults
|
||||||
$terminal = alacritty
|
$terminal = alacritty
|
||||||
$browser = librewolf
|
$browser = librewolf
|
||||||
$locker = swaylock
|
$locker = hyprlock
|
||||||
|
$launcher = anyrun
|
||||||
|
|
||||||
# Applications
|
# Applications
|
||||||
$joplin = joplin-desktop
|
$joplin = joplin-desktop --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer
|
||||||
$bitwarden = bitwarden-desktop
|
$bitwarden = bitwarden-desktop
|
||||||
$element = element-desktop
|
$element = element-desktop
|
||||||
$discord = webcord
|
$discord = webcord
|
||||||
|
@ -18,14 +19,13 @@ $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/*.conf
|
source = hyprland.d/agnostic.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
|
||||||
|
|
15
config/hypr-ahrc--laptop/hyprland.d/ahrc-laptop.conf
Normal file
15
config/hypr-ahrc--laptop/hyprland.d/ahrc-laptop.conf
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# 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
|
|
@ -1,5 +0,0 @@
|
||||||
# Animations
|
|
||||||
animations {
|
|
||||||
# Save battery
|
|
||||||
enabled = false
|
|
||||||
}
|
|
|
@ -1,5 +1,6 @@
|
||||||
# Open terminal
|
# Open terminal
|
||||||
bind = SUPER, Return, exec, $terminal
|
bind = SUPER, Space, exec, $terminal
|
||||||
|
bind = SUPER SHIFT, Space, exec, $terminal -e sudo -i
|
||||||
|
|
||||||
# Workspaces
|
# Workspaces
|
||||||
#bind = SUPER, equal, movetoworkspace, special
|
#bind = SUPER, equal, movetoworkspace, special
|
||||||
|
@ -20,7 +21,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, killactive
|
bind = SUPER SHIFT, Q, hy3: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
|
||||||
|
@ -31,12 +32,13 @@ 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 Alt_L, space, togglefloating
|
bind = SUPER, Return, cyclenext, floating
|
||||||
|
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
|
||||||
|
|
||||||
|
@ -58,12 +60,13 @@ bind = SUPER, B, hy3:changegroup, toggletab
|
||||||
bind = SUPER SHIFT, BackSpace, exit
|
bind = SUPER SHIFT, BackSpace, exit
|
||||||
|
|
||||||
# Launchers
|
# Launchers
|
||||||
bind = SUPER, F1, exec, $browser
|
bind = SUPER, F1, exec, $launcher
|
||||||
bind = SUPER, F2, exec, $joplin
|
bind = SUPER, F2, exec, $joplin
|
||||||
bind = SUPER, F3, exec, $bitwarden
|
# bind = SUPER, F3, exec, $bitwarden
|
||||||
bind = SUPER, F4, exec, $element
|
bind = SUPER, F3, exec, $element
|
||||||
bind = SUPER, F5, exec, $discord
|
bind = SUPER, F4, exec, $discord
|
||||||
bind = SUPER, F6, exec, $deezer
|
bind = SUPER, F5, exec, $deezer
|
||||||
|
bind = SUPER, G, exec, $browser
|
||||||
|
|
||||||
# Screenshots
|
# Screenshots
|
||||||
bind = , Print, exec, glurp full clip
|
bind = , Print, exec, glurp full clip
|
||||||
|
@ -82,13 +85,14 @@ 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
|
||||||
binde = , XF86MonBrightnessDown, exec, swayosd-client --brightness=lower
|
bindel = , XF86MonBrightnessDown, exec, swayosd-client --brightness=lower
|
||||||
binde = , XF86MonBrightnessUp, exec, swayosd-client --brightness=raise
|
bindel = , XF86MonBrightnessUp, exec, swayosd-client --brightness=raise
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
# 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
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
# 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,3 +18,10 @@ 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
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
# 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
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
# Gestures
|
|
||||||
gestures {
|
|
||||||
workspace_swipe = true
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
# 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
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
# 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
|
|
||||||
}
|
|
|
@ -1,2 +0,0 @@
|
||||||
# Main monitor
|
|
||||||
monitor = , highrr, 1920x0, 1
|
|
|
@ -1,34 +0,0 @@
|
||||||
# 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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
145
config/hypr-ahrc--laptop/hyprland.d/sections.conf
Normal file
145
config/hypr-ahrc--laptop/hyprland.d/sections.conf
Normal file
|
@ -0,0 +1,145 @@
|
||||||
|
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,8 +1,17 @@
|
||||||
# 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,3 +4,6 @@ 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,4 +0,0 @@
|
||||||
# Xwayland
|
|
||||||
xwayland {
|
|
||||||
force_zero_scaling = true
|
|
||||||
}
|
|
60
config/hypr-ahrc--laptop/hyprlock.conf
Normal file
60
config/hypr-ahrc--laptop/hyprlock.conf
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
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,6 +1,9 @@
|
||||||
# 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 = swaylock
|
$locker = hyprlock
|
||||||
|
|
||||||
# Applications
|
# Applications
|
||||||
$joplin = joplin-desktop
|
$joplin = joplin-desktop --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer
|
||||||
$bitwarden = bitwarden-desktop
|
$bitwarden = bitwarden-desktop
|
||||||
$element = element-desktop
|
$element = element-desktop
|
||||||
$discord = webcord
|
$discord = webcord
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# Open terminal
|
# Open terminal
|
||||||
bind = SUPER, Return, exec, $terminal
|
bind = SUPER, Space, exec, $terminal
|
||||||
|
bind = SUPER SHIFT, Space, exec, $terminal -e sudo -i
|
||||||
|
|
||||||
# Workspaces
|
# Workspaces
|
||||||
#bind = SUPER, equal, movetoworkspace, special
|
#bind = SUPER, equal, movetoworkspace, special
|
||||||
|
@ -20,7 +21,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, killactive
|
bind = SUPER SHIFT, Q, hy3: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
|
||||||
|
@ -31,14 +32,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 Alt_L, space, togglefloating
|
bind = SUPER, Return, cyclenext, floating
|
||||||
|
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
|
||||||
|
@ -58,12 +59,13 @@ bind = SUPER, B, hy3:changegroup, toggletab
|
||||||
bind = SUPER SHIFT, BackSpace, exit
|
bind = SUPER SHIFT, BackSpace, exit
|
||||||
|
|
||||||
# Launchers
|
# Launchers
|
||||||
bind = SUPER, F1, exec, $browser
|
bind = SUPER, F1, exec, anyrun
|
||||||
bind = SUPER, F2, exec, $joplin
|
bind = SUPER, F2, exec, $joplin
|
||||||
bind = SUPER, F3, exec, $bitwarden
|
# bind = SUPER, F3, exec, $bitwarden
|
||||||
bind = SUPER, F4, exec, $element
|
bind = SUPER, F3, exec, $element
|
||||||
bind = SUPER, F5, exec, $discord
|
bind = SUPER, F4, exec, $discord
|
||||||
bind = SUPER, F6, exec, $deezer
|
bind = SUPER, F5, exec, $deezer
|
||||||
|
bind = SUPER, G, exec, $browser
|
||||||
|
|
||||||
# Screenshots
|
# Screenshots
|
||||||
bind = , Print, exec, glurp full clip
|
bind = , Print, exec, glurp full clip
|
||||||
|
@ -81,9 +83,10 @@ 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,7 +9,11 @@ decoration {
|
||||||
fullscreen_opacity = 1.0
|
fullscreen_opacity = 1.0
|
||||||
|
|
||||||
# Shadows
|
# Shadows
|
||||||
drop_shadow = false
|
drop_shadow = true
|
||||||
|
shadow_range = 50
|
||||||
|
shadow_ignore_window = true
|
||||||
|
col.shadow = rgba(9933ff80)
|
||||||
|
col.shadow_inactive = rgba(00000000)
|
||||||
|
|
||||||
# Dimming
|
# Dimming
|
||||||
dim_inactive = false
|
dim_inactive = false
|
||||||
|
@ -18,6 +22,6 @@ decoration {
|
||||||
blur {
|
blur {
|
||||||
enabled = true
|
enabled = true
|
||||||
ignore_opacity = false
|
ignore_opacity = false
|
||||||
xray = true
|
xray = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,3 +18,10 @@ 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,14 +5,9 @@ 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,7 +3,6 @@ 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,2 +1,3 @@
|
||||||
# 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 = 15
|
height = 10
|
||||||
padding = 5
|
padding = 5
|
||||||
from_top = true
|
from_top = true
|
||||||
rounding = 8
|
rounding = 8
|
||||||
render_text = true
|
render_text = false
|
||||||
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 = $col_inactive
|
col.inactive = rgba(00000080)
|
||||||
col.text.active = $col_textlight
|
col.text.active = $col_textlight
|
||||||
col.text.urgent = rgba(000000e8)
|
col.text.urgent = rgba(000000e8)
|
||||||
col.text.inactive = $col_textlight
|
col.text.inactive = rgba(ffffffb0)
|
||||||
}
|
}
|
||||||
|
|
||||||
# Autotile
|
# Autotile
|
||||||
|
|
|
@ -4,5 +4,14 @@ 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,3 +4,6 @@ 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)
|
||||||
|
|
60
config/hypr-ahrc--pc/hyprlock.conf
Normal file
60
config/hypr-ahrc--pc/hyprlock.conf
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
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,6 +1,9 @@
|
||||||
# Wallpaper
|
# Wallpaper
|
||||||
preload = ~/.local/share/backgrounds/virtual_riot_save_yourself_2-1920x1080.jpg
|
# preload = ~/.local/share/backgrounds/chime_interdimensional.jpg
|
||||||
wallpaper = , ~/.local/share/backgrounds/virtual_riot_save_yourself_2-1920x1080.jpg
|
# wallpaper = , ~/.local/share/backgrounds/chime_interdimensional.jpg
|
||||||
|
|
||||||
# Save battery
|
# Save battery
|
||||||
#ipc = off
|
#ipc = off
|
||||||
|
|
||||||
|
# Disable splashe texts
|
||||||
|
splash = false
|
||||||
|
|
3
config/updateall/scripts/05-rustup
Executable file
3
config/updateall/scripts/05-rustup
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
set -x
|
||||||
|
exec rustup update
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/sh -ex
|
#!/usr/bin/env sh
|
||||||
[ "$(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
|
||||||
|
|
7
config/updateall/scripts/10-arch
Executable file
7
config/updateall/scripts/10-arch
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
set -e -x
|
||||||
|
aura -Cc 1
|
||||||
|
aura -Syu
|
||||||
|
aura -Fy
|
||||||
|
aura -Au --devel
|
||||||
|
aura -Qdtq | aura -Rns -
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/sh -ex
|
|
||||||
paru -Scc
|
|
||||||
paru -Fy
|
|
||||||
paru
|
|
||||||
paru -Qdtq | paru -Rns -
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/sh -ex
|
|
||||||
apt clean
|
|
||||||
pkg update
|
|
||||||
pkg upgrade
|
|
||||||
apt autopurge -y
|
|
|
@ -1,13 +1,11 @@
|
||||||
#!/bin/sh
|
#!/usr/bin/env 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
|
wait
|
||||||
|
|
||||||
|
docker image prune -f
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
#!/bin/sh -ex
|
#!/usr/bin/env sh
|
||||||
sudo waydroid upgrade
|
set -x
|
||||||
|
exec sudo waydroid upgrade
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
#!/bin/sh -ex
|
#!/usr/bin/env sh
|
||||||
yabridgectl sync
|
set -x
|
||||||
|
exec yabridgectl sync
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
#!/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,2 +1,3 @@
|
||||||
#!/bin/sh -x
|
#!/usr/bin/env sh
|
||||||
nvim +PaqSync
|
set -x
|
||||||
|
exec nvim +PaqSync
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
[core]
|
||||||
|
xwayland=true
|
||||||
|
|
||||||
[shell]
|
[shell]
|
||||||
close-animation=none
|
close-animation=none
|
||||||
startup-animation=none
|
startup-animation=none
|
||||||
|
@ -6,4 +9,3 @@ allow-zap=true
|
||||||
[keyboard]
|
[keyboard]
|
||||||
keymap_layout=fr
|
keymap_layout=fr
|
||||||
numlock-on=true
|
numlock-on=true
|
||||||
|
|
||||||
|
|
16
etc/greetd/config.toml
Normal file
16
etc/greetd/config.toml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
[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,4 +1,6 @@
|
||||||
#!/hint/bash
|
#!/hint/bash
|
||||||
|
# shellcheck disable=2034
|
||||||
|
|
||||||
#
|
#
|
||||||
# /etc/makepkg.conf
|
# /etc/makepkg.conf
|
||||||
#
|
#
|
||||||
|
@ -38,19 +40,21 @@ CHOST="x86_64-pc-linux-gnu"
|
||||||
|
|
||||||
#-- Compiler and Linker Flags
|
#-- Compiler and Linker Flags
|
||||||
#CPPFLAGS=""
|
#CPPFLAGS=""
|
||||||
CFLAGS="-march=native -O2 -pipe -fno-plt -fexceptions \
|
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
|
||||||
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
|
-Wp,-D_FORTIFY_SOURCE=3 -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,--sort-common,--as-needed,-z,relro,-z,now"
|
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \
|
||||||
|
-Wl,-z,pack-relative-relocs"
|
||||||
LTOFLAGS="-flto=auto"
|
LTOFLAGS="-flto=auto"
|
||||||
RUSTFLAGS="-C opt-level=2 -C target-cpu=native"
|
RUSTFLAGS="-C opt-level=2 -Cforce-frame-pointers=yes"
|
||||||
#-- 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
|
||||||
|
@ -79,7 +83,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)
|
# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto !autodeps)
|
||||||
# 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
|
||||||
|
@ -91,8 +95,9 @@ 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)
|
||||||
|
@ -110,6 +115,8 @@ 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
|
||||||
|
@ -127,6 +134,7 @@ DBGSRCDIR="/usr/src/debug"
|
||||||
#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=""
|
||||||
|
|
||||||
|
@ -136,8 +144,8 @@ DBGSRCDIR="/usr/src/debug"
|
||||||
#
|
#
|
||||||
COMPRESSGZ=(gzip -c -f -n)
|
COMPRESSGZ=(gzip -c -f -n)
|
||||||
COMPRESSBZ2=(bzip2 -c -f)
|
COMPRESSBZ2=(bzip2 -c -f)
|
||||||
COMPRESSXZ=(xz -c -z --threads=0 -)
|
COMPRESSXZ=(xz -c -z -)
|
||||||
COMPRESSZST=(zstd -c -z -q --threads=0 -)
|
COMPRESSZST=(zstd -c -T0 --fast=4 -)
|
||||||
COMPRESSLRZ=(lrzip -q)
|
COMPRESSLRZ=(lrzip -q)
|
||||||
COMPRESSLZO=(lzop -q)
|
COMPRESSLZO=(lzop -q)
|
||||||
COMPRESSZ=(compress -c -f)
|
COMPRESSZ=(compress -c -f)
|
||||||
|
@ -157,3 +165,4 @@ 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:
|
||||||
|
|
0
etc/runit/sv/joycond/down
Normal file
0
etc/runit/sv/joycond/down
Normal file
2
etc/runit/sv/joycond/run
Executable file
2
etc/runit/sv/joycond/run
Executable file
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
exec /usr/bin/joycond
|
0
etc/runit/sv/waydroid/down
Normal file
0
etc/runit/sv/waydroid/down
Normal file
3
etc/runit/sv/waydroid/finish
Executable file
3
etc/runit/sv/waydroid/finish
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
waydroid container stop
|
||||||
|
waydroid session stop
|
2
etc/runit/sv/waydroid/run
Executable file
2
etc/runit/sv/waydroid/run
Executable file
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
exec waydroid -w container start
|
|
@ -22,12 +22,11 @@ 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 = nvim
|
editor = helix
|
||||||
[init]
|
[init]
|
||||||
defaultbranch = main
|
defaultbranch = main
|
||||||
[pull]
|
[pull]
|
||||||
|
@ -19,5 +19,6 @@
|
||||||
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,13 +1,8 @@
|
||||||
# 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 +0,0 @@
|
||||||
alias pm=paru
|
|
|
@ -11,7 +11,6 @@ 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,2 +1 @@
|
||||||
export EDITOR=nvim
|
export EDITOR=helix
|
||||||
|
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 119 KiB |
16
vnc/xstartup
16
vnc/xstartup
|
@ -1,15 +1,11 @@
|
||||||
#!/bin/sh -xe
|
#!/usr/bin/env sh
|
||||||
|
cd || exit
|
||||||
|
|
||||||
self="$(readlink -f "$0")"
|
[ -z "$DBUS_SESSION_BUS_ADDRESS" ] && \
|
||||||
cd
|
exec dbus-launch --exit-with-session -- "$0" "$@"
|
||||||
|
|
||||||
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
|
[ -z "$SSH_AGENT_PID" ] && \
|
||||||
exec dbus-launch --exit-with-session "$self" "$@"
|
exec ssh-agent -- "$0" "$@"
|
||||||
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