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
|
||||
|
||||
[![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" "$@"
|
||||
fi
|
||||
|
||||
export XDG_CONFIG_HOME="${HOME}/.config"
|
||||
|
||||
# Execution
|
||||
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}\""
|
116
bin/glurp
116
bin/glurp
|
@ -1,83 +1,81 @@
|
|||
#!/bin/bash
|
||||
|
||||
declare -A temp_files
|
||||
temp_files[command_to_source]=$(mktemp)
|
||||
|
||||
clean() {
|
||||
rm -- "${temp_files[@]}"
|
||||
#!/usr/bin/env sh
|
||||
# Function to print an error in stderr
|
||||
perror() {
|
||||
>&2 printf '\033[1;31mERROR:\033[0m \033[1m%s\033[0m\n' "$*"
|
||||
}
|
||||
|
||||
usage() {
|
||||
cat << EOF
|
||||
Usage:
|
||||
glurp full|area clip|file
|
||||
EOF
|
||||
}
|
||||
|
||||
error() {
|
||||
>&2 printf '\033[0m\033[1;31mERROR:\033[0m \033[1m%s\033[0m\n' "$*"
|
||||
name=$(basename "$0")
|
||||
|
||||
printf %s "${name}: usage
|
||||
${name} f[ull]|a[rea] c[lip]|f[ile]
|
||||
${name} -h
|
||||
"
|
||||
}
|
||||
|
||||
# Function to throw an error usage
|
||||
error_usage() {
|
||||
error "Invalid usage"
|
||||
perror "invalid usage"
|
||||
>&2 usage
|
||||
}
|
||||
|
||||
error_usage_clean() {
|
||||
error_usage
|
||||
clean
|
||||
exit 1
|
||||
}
|
||||
|
||||
screenshot_path() {
|
||||
local path
|
||||
if [ -n "$1" ]; then
|
||||
path="$1"
|
||||
if [ -d "$XDG_RUNTIME_DIR" ]; then
|
||||
base=${XDG_RUNTIME_DIR}/screenshots
|
||||
else
|
||||
path=.
|
||||
base=/tmp/${USER}-screenshots
|
||||
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
|
||||
set -e
|
||||
|
||||
slurp=()
|
||||
grim_args=()
|
||||
wl_copy=()
|
||||
|
||||
case "$1" in
|
||||
full)
|
||||
:
|
||||
while getopts :h opt; do
|
||||
case "$opt" in
|
||||
h)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
area)
|
||||
slurp+=(slurp \|)
|
||||
grim_args+=(-g -)
|
||||
;;
|
||||
*)
|
||||
false
|
||||
?)
|
||||
error_usage
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Initial variables
|
||||
slurp=
|
||||
grim="grim -t png"
|
||||
clipboard=
|
||||
|
||||
# f* = full, a* = area
|
||||
case "$1" in
|
||||
clip)
|
||||
wl_copy+=(\| wl-copy -t image/png)
|
||||
grim_args+=(-)
|
||||
;;
|
||||
file)
|
||||
grim_args+=("$(screenshot_path "${XDG_RUNTIME_DIR:-/tmp/$(whoami)}/screenshots")")
|
||||
;;
|
||||
*)
|
||||
false
|
||||
f*) : ;;
|
||||
a*)
|
||||
slurp="slurp |"
|
||||
grim="${grim} -g -"
|
||||
;;
|
||||
*) error_usage ;;
|
||||
esac
|
||||
shift
|
||||
|
||||
cat > "${temp_files[command_to_source]}" << EOF
|
||||
${slurp[@]} grim ${grim_args[@]} ${@} ${wl_copy[@]}
|
||||
EOF
|
||||
# c* = clip, f* = file
|
||||
case "$2" in
|
||||
c*)
|
||||
grim="${grim} -"
|
||||
clipboard="| wl-copy -t image/png"
|
||||
;;
|
||||
f*)
|
||||
grim="${grim} '$(screenshot_path)'"
|
||||
;;
|
||||
*) error_usage ;;
|
||||
esac
|
||||
|
||||
trap clean EXIT
|
||||
|
||||
sh -s < "${temp_files[command_to_source]}"
|
||||
set -- sh -c "${slurp} ${grim} ${clipboard}"
|
||||
set -x
|
||||
#: "$@"
|
||||
#exit
|
||||
exec "$@"
|
||||
|
|
132
bin/headlessvnc
132
bin/headlessvnc
|
@ -1,107 +1,71 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 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' "$*"
|
||||
#!/usr/bin/env sh
|
||||
perror() {
|
||||
>&2 printf '\033[1;31mERROR:\033[0m \033[1m%s\033[0m\n' "$*"
|
||||
}
|
||||
|
||||
# Print an error message
|
||||
print_error() {
|
||||
(
|
||||
printf '\033[1;31m%s\033[0m ' "ERROR:"
|
||||
echobf "$*"
|
||||
) > /dev/stderr
|
||||
usage() {
|
||||
name=$(basename "$0")
|
||||
|
||||
cat << EOF
|
||||
${name}: usage
|
||||
${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() {
|
||||
print_error "$1"
|
||||
shift
|
||||
exit "$1"
|
||||
error_usage() {
|
||||
perror "invalid usage"
|
||||
>&2 usage
|
||||
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Check if the VNC server is running
|
||||
is_running() {
|
||||
vncserver -list | grep -q '^:1'
|
||||
}
|
||||
|
||||
# Show a help message
|
||||
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() {
|
||||
start() {
|
||||
if ! is_running; then
|
||||
set -e
|
||||
vncserver \
|
||||
-xstartup ./xstartup \
|
||||
-localhost \
|
||||
-alwaysshared \
|
||||
-securitytypes none \
|
||||
-nocursor \
|
||||
-geometry 1600x900
|
||||
set -- vncserver \
|
||||
-localhost -alwaysshared \
|
||||
-securitytypes none
|
||||
[ -x ~/.vnc/xstartup ] && set -- "$@" -xstartup ~/.vnc/xstartup
|
||||
|
||||
"$@"
|
||||
else
|
||||
error "The VNC server is already running!" 4
|
||||
perror "server already started"
|
||||
return 2
|
||||
fi
|
||||
}
|
||||
|
||||
# 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() {
|
||||
stop() {
|
||||
if is_running; then
|
||||
vncserver -kill :1
|
||||
else
|
||||
error "The VNC server is not running!" 3
|
||||
perror "server is not running"
|
||||
return 2
|
||||
fi
|
||||
}
|
||||
|
||||
# Restart the VNC server
|
||||
public_restart() {
|
||||
public_stop
|
||||
public_start
|
||||
status() {
|
||||
if is_running; then
|
||||
printf '\033[1;32m*\033[0m \033[1m%s\n' "the server is running"
|
||||
else
|
||||
printf '\033[1;31m*\033[0m \033[1m%s\n' "the server is not running"
|
||||
fi
|
||||
}
|
||||
|
||||
# Parse argument
|
||||
if [ -n "$1" ]; then
|
||||
arg="$1"
|
||||
else
|
||||
arg=status
|
||||
fi
|
||||
|
||||
# Main switch
|
||||
if echo "$verbs" | tr ' ' '\n' | grep -q "$arg"; then
|
||||
"public_${arg}"
|
||||
else
|
||||
error_help
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
""|stat*) status ;;
|
||||
star*) start ;;
|
||||
sto*) stop ;;
|
||||
r*)
|
||||
stop
|
||||
start
|
||||
;;
|
||||
h*|u*) usage ;;
|
||||
*)
|
||||
error_usage
|
||||
;;
|
||||
esac
|
||||
|
|
|
@ -60,7 +60,7 @@ create() {
|
|||
fi
|
||||
|
||||
if ! vnc_running; then
|
||||
screen -S "Second screen (${vscreen_name})" -d -m \
|
||||
tmux new -s "Second screen (${vscreen_name})" -d \
|
||||
wayvnc \
|
||||
-v \
|
||||
-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
|
||||
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
|
||||
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
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#!/bin/sh
|
||||
dig +short @resolver1.opendns.com myip.opendns.com
|
||||
#!/usr/bin/env sh
|
||||
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() {
|
||||
[ "$(brightnessctl g)" -ne 0 ]
|
||||
[ "$(brightnessctl get)" -ne 0 ]
|
||||
}
|
||||
|
||||
turn_on_screen() {
|
||||
|
@ -10,7 +11,7 @@ turn_on_screen() {
|
|||
|
||||
turn_off_screen() {
|
||||
brightnessctl -s
|
||||
brightnessctl s 0
|
||||
brightnessctl set 0
|
||||
}
|
||||
|
||||
if screen_is_on; then
|
||||
|
@ -18,4 +19,3 @@ if screen_is_on; then
|
|||
else
|
||||
turn_on_screen
|
||||
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
|
||||
|
||||
vnc_host="$1"
|
||||
if [ -n "$2" ]
|
||||
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
|
||||
#!/usr/bin/env sh
|
||||
if [ -z "$1" ]; then
|
||||
>&2 echo "provide ssh host name"
|
||||
exit 1
|
||||
else
|
||||
vncviewer=vncviewer
|
||||
separator=:
|
||||
ssh_host=$1
|
||||
fi
|
||||
remote_port=${2:-5900}
|
||||
local_port=$((remote_port + 4000))
|
||||
|
||||
# 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[@]}"
|
||||
ssh -O check -- "$ssh_host"
|
||||
ssh -f -N -L "${local_port}:localhost:${remote_port}" -- "$ssh_host" || exit
|
||||
wlvncc -- localhost "$local_port"
|
||||
ssh -O cancel -L "${local_port}:localhost:${remote_port}" -- "$ssh_host"
|
||||
|
|
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
|
||||
|
||||
[window]
|
||||
opacity = 0.5
|
||||
opacity = 0.8
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
--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
|
||||
$terminal = alacritty
|
||||
$browser = librewolf
|
||||
$locker = swaylock
|
||||
$locker = hyprlock
|
||||
$launcher = anyrun
|
||||
|
||||
# Applications
|
||||
$joplin = joplin-desktop
|
||||
$joplin = joplin-desktop --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer
|
||||
$bitwarden = bitwarden-desktop
|
||||
$element = element-desktop
|
||||
$discord = webcord
|
||||
|
@ -18,14 +19,13 @@ $element_class = Element
|
|||
$discord_class = WebCord
|
||||
$deezer_class = Deezer
|
||||
|
||||
# Colors
|
||||
$col_accentdark = rgb(00ff00)
|
||||
$col_accentlight = rgb(80ff80)
|
||||
$col_inactive = rgba(80808080)
|
||||
$col_textlight = rgba(ffffffe8)
|
||||
|
||||
# Plugins
|
||||
plugin = /usr/lib/libhy3.so
|
||||
|
||||
# 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
|
||||
bind = SUPER, Return, exec, $terminal
|
||||
bind = SUPER, Space, exec, $terminal
|
||||
bind = SUPER SHIFT, Space, exec, $terminal -e sudo -i
|
||||
|
||||
# Workspaces
|
||||
#bind = SUPER, equal, movetoworkspace, special
|
||||
|
@ -20,7 +21,7 @@ bind = SUPER Alt_L, Return, exec, hyprswapworkspaces
|
|||
# Windows
|
||||
bindm = SUPER, mouse:272, movewindow
|
||||
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, 11, movetoworkspacesilent, 2
|
||||
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, X, movetoworkspacesilent, 9
|
||||
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, Z, hy3:movewindow, u
|
||||
bind = SUPER SHIFT, S, hy3:movewindow, d
|
||||
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 SHIFT Alt_L, F, fakefullscreen
|
||||
|
||||
|
@ -58,12 +60,13 @@ bind = SUPER, B, hy3:changegroup, toggletab
|
|||
bind = SUPER SHIFT, BackSpace, exit
|
||||
|
||||
# Launchers
|
||||
bind = SUPER, F1, exec, $browser
|
||||
bind = SUPER, F1, exec, $launcher
|
||||
bind = SUPER, F2, exec, $joplin
|
||||
bind = SUPER, F3, exec, $bitwarden
|
||||
bind = SUPER, F4, exec, $element
|
||||
bind = SUPER, F5, exec, $discord
|
||||
bind = SUPER, F6, exec, $deezer
|
||||
# bind = SUPER, F3, exec, $bitwarden
|
||||
bind = SUPER, F3, exec, $element
|
||||
bind = SUPER, F4, exec, $discord
|
||||
bind = SUPER, F5, exec, $deezer
|
||||
bind = SUPER, G, exec, $browser
|
||||
|
||||
# Screenshots
|
||||
bind = , Print, exec, glurp full clip
|
||||
|
@ -82,13 +85,14 @@ binde = , XF86AudioMute, exec, swayosd-client --output-volume=mute-toggle
|
|||
# Resize
|
||||
bind = SUPER Alt_L, R, submap, resize
|
||||
submap = resize
|
||||
bind = , escape, submap, reset
|
||||
bind = SUPER Alt_L, R, submap, reset
|
||||
binde = , A, resizeactive, -25 0
|
||||
binde = , Z, resizeactive, 0 -25
|
||||
binde = , S, resizeactive, 0 25
|
||||
binde = , D, resizeactive, 25 0
|
||||
bind = , escape, submap, reset
|
||||
submap = reset
|
||||
|
||||
# Brightness
|
||||
binde = , XF86MonBrightnessDown, exec, swayosd-client --brightness=lower
|
||||
binde = , XF86MonBrightnessUp, exec, swayosd-client --brightness=raise
|
||||
bindel = , XF86MonBrightnessDown, exec, swayosd-client --brightness=lower
|
||||
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
|
||||
|
||||
# Clutter
|
||||
env = CLUTTER_BACKEND = wayland
|
||||
env = CLUTTER_BACKEND, wayland
|
||||
|
||||
# SDL
|
||||
env = SDL_VIDEODRIVER, wayland
|
||||
|
@ -18,3 +18,10 @@ env = _JAVA_AWT_WM_NONREPARENTING, 1
|
|||
|
||||
# XDG
|
||||
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
|
||||
exec-once = hyprpaper
|
||||
# exec-once = hyprpaper
|
||||
|
||||
# XDG compliance
|
||||
exec-once = hyprxdg
|
||||
|
||||
# SwayOSD
|
||||
# swayosd
|
||||
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:($discord_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
|
||||
preload = ~/.local/share/backgrounds/chime_interdimensional.jpg
|
||||
wallpaper = , ~/.local/share/backgrounds/chime_interdimensional.jpg
|
||||
# preload = ~/.local/share/backgrounds/chime_interdimensional.jpg
|
||||
# wallpaper = , ~/.local/share/backgrounds/chime_interdimensional.jpg
|
||||
|
||||
# Save battery
|
||||
ipc = off
|
||||
|
||||
# Disable splashe texts
|
||||
splash = false
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
# Defaults
|
||||
$terminal = alacritty
|
||||
$browser = librewolf
|
||||
$locker = swaylock
|
||||
$locker = hyprlock
|
||||
|
||||
# Applications
|
||||
$joplin = joplin-desktop
|
||||
$joplin = joplin-desktop --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer
|
||||
$bitwarden = bitwarden-desktop
|
||||
$element = element-desktop
|
||||
$discord = webcord
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# Open terminal
|
||||
bind = SUPER, Return, exec, $terminal
|
||||
bind = SUPER, Space, exec, $terminal
|
||||
bind = SUPER SHIFT, Space, exec, $terminal -e sudo -i
|
||||
|
||||
# Workspaces
|
||||
#bind = SUPER, equal, movetoworkspace, special
|
||||
|
@ -20,7 +21,7 @@ bind = SUPER Alt_L, Return, exec, hyprswapworkspaces
|
|||
# Windows
|
||||
bindm = SUPER, mouse:272, movewindow
|
||||
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, 11, movetoworkspacesilent, 2
|
||||
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, X, movetoworkspacesilent, 9
|
||||
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, Z, hy3:movewindow, u
|
||||
bind = SUPER SHIFT, S, hy3:movewindow, d
|
||||
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 SHIFT Alt_L, F, fakefullscreen
|
||||
|
||||
# Focus
|
||||
bind = SUPER, A, hy3:movefocus, l
|
||||
|
@ -58,12 +59,13 @@ bind = SUPER, B, hy3:changegroup, toggletab
|
|||
bind = SUPER SHIFT, BackSpace, exit
|
||||
|
||||
# Launchers
|
||||
bind = SUPER, F1, exec, $browser
|
||||
bind = SUPER, F1, exec, anyrun
|
||||
bind = SUPER, F2, exec, $joplin
|
||||
bind = SUPER, F3, exec, $bitwarden
|
||||
bind = SUPER, F4, exec, $element
|
||||
bind = SUPER, F5, exec, $discord
|
||||
bind = SUPER, F6, exec, $deezer
|
||||
# bind = SUPER, F3, exec, $bitwarden
|
||||
bind = SUPER, F3, exec, $element
|
||||
bind = SUPER, F4, exec, $discord
|
||||
bind = SUPER, F5, exec, $deezer
|
||||
bind = SUPER, G, exec, $browser
|
||||
|
||||
# Screenshots
|
||||
bind = , Print, exec, glurp full clip
|
||||
|
@ -81,9 +83,10 @@ binde = SUPER, Next, exec, swayosd-client --output-volume=lower
|
|||
# Resize
|
||||
bind = SUPER Alt_L, R, submap, resize
|
||||
submap = resize
|
||||
bind = , escape, submap, reset
|
||||
bind = SUPER Alt_L, R, submap, reset
|
||||
binde = , A, resizeactive, -25 0
|
||||
binde = , Z, resizeactive, 0 -25
|
||||
binde = , S, resizeactive, 0 25
|
||||
binde = , D, resizeactive, 25 0
|
||||
bind = , escape, submap, reset
|
||||
submap = reset
|
||||
|
|
|
@ -9,7 +9,11 @@ decoration {
|
|||
fullscreen_opacity = 1.0
|
||||
|
||||
# Shadows
|
||||
drop_shadow = false
|
||||
drop_shadow = true
|
||||
shadow_range = 50
|
||||
shadow_ignore_window = true
|
||||
col.shadow = rgba(9933ff80)
|
||||
col.shadow_inactive = rgba(00000000)
|
||||
|
||||
# Dimming
|
||||
dim_inactive = false
|
||||
|
@ -18,6 +22,6 @@ decoration {
|
|||
blur {
|
||||
enabled = true
|
||||
ignore_opacity = false
|
||||
xray = true
|
||||
xray = false
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,3 +18,10 @@ env = _JAVA_AWT_WM_NONREPARENTING, 1
|
|||
|
||||
# XDG
|
||||
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
|
||||
repeat_rate = 75
|
||||
repeat_delay = 300
|
||||
kb_options = compose:rwin
|
||||
|
||||
# Mouse
|
||||
sensitivity = 0.0
|
||||
accel_profile = flat
|
||||
|
||||
# Touchpad
|
||||
touchpad {
|
||||
disable_while_typing = false
|
||||
natural_scroll = true
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,6 @@ misc {
|
|||
# Logos and mascotts
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = true
|
||||
force_hypr_chan = false
|
||||
|
||||
# Focus
|
||||
layers_hog_keyboard_focus = true
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
# Main monitor
|
||||
monitor = , highrr, 1920x0, 1
|
||||
monitor = HEADLESS-3, 1920x1080@74.97300, 0x0, 1
|
||||
|
|
|
@ -9,21 +9,21 @@ plugin {
|
|||
|
||||
# Tabs
|
||||
tabs {
|
||||
height = 15
|
||||
height = 10
|
||||
padding = 5
|
||||
from_top = true
|
||||
rounding = 8
|
||||
render_text = true
|
||||
render_text = false
|
||||
text_center = false
|
||||
text_font = Hack Nerd Font
|
||||
text_height = 8
|
||||
text_padding = 10
|
||||
col.active = $col_accentdark
|
||||
col.urgent = rgb(ffd966)
|
||||
col.inactive = $col_inactive
|
||||
col.inactive = rgba(00000080)
|
||||
col.text.active = $col_textlight
|
||||
col.text.urgent = rgba(000000e8)
|
||||
col.text.inactive = $col_textlight
|
||||
col.text.inactive = rgba(ffffffb0)
|
||||
}
|
||||
|
||||
# Autotile
|
||||
|
|
|
@ -4,5 +4,14 @@ exec-once = hyprpaper
|
|||
# XDG compliance
|
||||
exec-once = hyprxdg
|
||||
|
||||
# SwayOSD
|
||||
# swayosd
|
||||
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:($discord_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
|
||||
preload = ~/.local/share/backgrounds/virtual_riot_save_yourself_2-1920x1080.jpg
|
||||
wallpaper = , ~/.local/share/backgrounds/virtual_riot_save_yourself_2-1920x1080.jpg
|
||||
# preload = ~/.local/share/backgrounds/chime_interdimensional.jpg
|
||||
# wallpaper = , ~/.local/share/backgrounds/chime_interdimensional.jpg
|
||||
|
||||
# Save battery
|
||||
#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
|
||||
[ "$(whoami)" != root ] && exec sudo "$0" "$@"
|
||||
#!/usr/bin/env sh
|
||||
[ "$(whoami)" != root ] && exec sudo -- "$0" "$@"
|
||||
|
||||
set -x -e
|
||||
apt-get clean
|
||||
apt-get 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
|
||||
|
||||
[ "$(whoami)" != root ] && exec sudo "$0" "$@"
|
||||
|
||||
cd /opt/docker || exit
|
||||
#!/usr/bin/env sh
|
||||
cd ~/docker || exit
|
||||
|
||||
for i in *; do (set -e
|
||||
cd "$i"
|
||||
docker-compose pull
|
||||
docker-compose up -d
|
||||
) & done
|
||||
|
||||
wait
|
||||
|
||||
docker image prune -f
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
#!/bin/sh -ex
|
||||
sudo waydroid upgrade
|
||||
#!/usr/bin/env sh
|
||||
set -x
|
||||
exec sudo waydroid upgrade
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
#!/bin/sh -ex
|
||||
yabridgectl sync
|
||||
#!/usr/bin/env sh
|
||||
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
|
||||
nvim +PaqSync
|
||||
#!/usr/bin/env sh
|
||||
set -x
|
||||
exec nvim +PaqSync
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
[core]
|
||||
xwayland=true
|
||||
|
||||
[shell]
|
||||
close-animation=none
|
||||
startup-animation=none
|
||||
|
@ -6,4 +9,3 @@ allow-zap=true
|
|||
[keyboard]
|
||||
keymap_layout=fr
|
||||
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
|
||||
# shellcheck disable=2034
|
||||
|
||||
#
|
||||
# /etc/makepkg.conf
|
||||
#
|
||||
|
@ -38,19 +40,21 @@ CHOST="x86_64-pc-linux-gnu"
|
|||
|
||||
#-- Compiler and Linker Flags
|
||||
#CPPFLAGS=""
|
||||
CFLAGS="-march=native -O2 -pipe -fno-plt -fexceptions \
|
||||
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
|
||||
-fstack-clash-protection -fcf-protection"
|
||||
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
|
||||
-Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \
|
||||
-fstack-clash-protection -fcf-protection \
|
||||
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"
|
||||
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"
|
||||
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
|
||||
MAKEFLAGS="-j$(nproc)"
|
||||
#-- Debugging flags
|
||||
DEBUG_CFLAGS="-g"
|
||||
DEBUG_CXXFLAGS="$DEBUG_CFLAGS"
|
||||
#DEBUG_RUSTFLAGS="-C debuginfo=2"
|
||||
DEBUG_RUSTFLAGS="-C debuginfo=2"
|
||||
|
||||
#########################################################################
|
||||
# BUILD ENVIRONMENT
|
||||
|
@ -79,7 +83,7 @@ BUILDENV=(!distcc color !ccache check !sign)
|
|||
# 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.
|
||||
#
|
||||
#-- strip: Strip symbols from binaries/libraries
|
||||
|
@ -91,8 +95,9 @@ BUILDENV=(!distcc color !ccache check !sign)
|
|||
#-- purge: Remove files specified by PURGE_TARGETS
|
||||
#-- debug: Add debugging flags as specified in DEBUG_* variables
|
||||
#-- 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
|
||||
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)
|
||||
#-- Directory to store source code in for debug packages
|
||||
DBGSRCDIR="/usr/src/debug"
|
||||
#-- Prefix and directories for library autodeps
|
||||
LIB_DIRS=('lib:usr/lib' 'lib32:usr/lib32')
|
||||
|
||||
#########################################################################
|
||||
# PACKAGE OUTPUT
|
||||
|
@ -127,6 +134,7 @@ DBGSRCDIR="/usr/src/debug"
|
|||
#LOGDEST=/home/makepkglogs
|
||||
#-- Packager: name/email of the person or organization building packages
|
||||
#PACKAGER="John Doe <john@doe.com>"
|
||||
PACKAGER="Ahurac <ahurac@mailbox.org>"
|
||||
#-- Specify a key to use for package signing
|
||||
#GPGKEY=""
|
||||
|
||||
|
@ -136,8 +144,8 @@ DBGSRCDIR="/usr/src/debug"
|
|||
#
|
||||
COMPRESSGZ=(gzip -c -f -n)
|
||||
COMPRESSBZ2=(bzip2 -c -f)
|
||||
COMPRESSXZ=(xz -c -z --threads=0 -)
|
||||
COMPRESSZST=(zstd -c -z -q --threads=0 -)
|
||||
COMPRESSXZ=(xz -c -z -)
|
||||
COMPRESSZST=(zstd -c -T0 --fast=4 -)
|
||||
COMPRESSLRZ=(lrzip -q)
|
||||
COMPRESSLZO=(lzop -q)
|
||||
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
|
||||
#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
|
||||
alias cal="cal -m"
|
||||
|
||||
# screen
|
||||
alias screen=screen\
|
||||
alias s=screen
|
||||
|
||||
# sudo
|
||||
alias sudo=sudo\
|
||||
|
||||
# man-db
|
||||
alias man=man\
|
||||
|
||||
# helix
|
||||
alias hx=helix
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
name = Ahurac
|
||||
email = ahurac@mailbox.org
|
||||
[core]
|
||||
editor = nvim
|
||||
editor = helix
|
||||
[init]
|
||||
defaultbranch = main
|
||||
[pull]
|
||||
|
@ -19,5 +19,6 @@
|
|||
m = merge
|
||||
r = rebase
|
||||
graph = log --graph --oneline
|
||||
ds = diff --staged
|
||||
[push]
|
||||
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
|
||||
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/share/qemu/bin
|
||||
|
||||
# Start Hyprland if the tty is 1
|
||||
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")"
|
||||
cd
|
||||
[ -z "$DBUS_SESSION_BUS_ADDRESS" ] && \
|
||||
exec dbus-launch --exit-with-session -- "$0" "$@"
|
||||
|
||||
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
|
||||
exec dbus-launch --exit-with-session "$self" "$@"
|
||||
fi
|
||||
|
||||
if [ -z "$SSH_AGENT_PID" ]; then
|
||||
exec ssh-agent "$self" "$@"
|
||||
fi
|
||||
[ -z "$SSH_AGENT_PID" ] && \
|
||||
exec ssh-agent -- "$0" "$@"
|
||||
|
||||
xfwm4 &
|
||||
artix-pipewire-launcher restart &
|
||||
|
|
Loading…
Reference in a new issue