mirror of
https://github.com/ItsDrike/dotfiles.git
synced 2025-06-29 04:00:42 +00:00
Major rewrite: switching back to Arch from NixOS
This commit is contained in:
parent
df585b737b
commit
254181c0fc
121 changed files with 5433 additions and 2371 deletions
|
@ -18,6 +18,6 @@ START_HOURS_RANGE=3-22
|
|||
@daily 15 pacman_file_db /usr/bin/pacman -Fy
|
||||
|
||||
|
||||
@daily 10 snapshot.daily /usr/local/bin/btrfs-backup -l daily -k 8 -- /.btrfs/@ /.btrfs/@home /.btrfs/@data /.btrfs/@log
|
||||
@weekly 20 snapshot.weekly /usr/local/bin/btrfs-backup -l weekly -k 5 -- /.btrfs/@ /.btrfs/@home /.btrfs/@data /.btrfs/@log
|
||||
@monthly 30 snapshot.monthly /usr/local/bin/btrfs-backup -l monthly -k 3 -- /.btrfs/@ /.btrfs/@home /.btrfs/@data /.btrfs/@log
|
||||
@daily 10 snapshot.daily /usr/local/bin/btrfs-backup -l daily -k 8 -d /.btrfs/snapshots -- /.btrfs/root /.btrfs/data
|
||||
@weekly 20 snapshot.weekly /usr/local/bin/btrfs-backup -l weekly -k 5 -d /.btrfs/snapshots -- /.btrfs/root /.btrfs/data
|
||||
@monthly 30 snapshot.monthly /usr/local/bin/btrfs-backup -l monthly -k 3 -d /.btrfs/snapshots -- /.btrfs/root /.btrfs/data
|
||||
|
|
|
@ -5,5 +5,5 @@
|
|||
# m h dom mon dow user command
|
||||
*/30 * * * * root /usr/bin/updatedb
|
||||
|
||||
15,30,45 * * * * root /usr/local/bin/btrfs-backup -l quaterly -k 4 -- /.btrfs/@ /.btrfs/@home /.btrfs/@data /.btrfs/@log
|
||||
0 * * * * root /usr/local/bin/btrfs-backup -l hourly -k 8 -- /.btrfs/@ /.btrfs/@home /.btrfs/@data /.btrfs/@log
|
||||
15,30,45 * * * * root /usr/local/bin/btrfs-backup -l quaterly -k 4 -d /.btrfs/snapshots -- /.btrfs/root /.btrfs/data
|
||||
0 * * * * root /usr/local/bin/btrfs-backup -l hourly -k 8 -d /.btrfs/snapshots -- /.btrfs/root /.btrfs/data
|
||||
|
|
53
root/etc/fonts/local.conf
Normal file
53
root/etc/fonts/local.conf
Normal file
|
@ -0,0 +1,53 @@
|
|||
<?xml version='1.0'?>
|
||||
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
|
||||
<fontconfig>
|
||||
<alias binding="same">
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>Noto Sans</family>
|
||||
<family>Jost</family>
|
||||
<family>Lexend</family>
|
||||
<family>Iosevka Nerd Font</family>
|
||||
<family>Symbols Nerd Font</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>Noto Serif</family>
|
||||
<family>Iosevka Nerd Font</family>
|
||||
<family>Symbols Nerd Font</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>Monaspace Krypton</family>
|
||||
<family>Source Code Pro Medium</family>
|
||||
<family>Source Han Mono</family>
|
||||
<family>Iosevka Nerd Font</family>
|
||||
<family>Symbols Nerd Font</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>emoji</family>
|
||||
<prefer>
|
||||
<family>Noto Color Emoji</family>
|
||||
<family>Iosevka Nerd Font</family>
|
||||
<family>Symbols Nerd Font</family>
|
||||
<family>Noto Color Emoji</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
<selectfont>
|
||||
<rejectfont>
|
||||
<glob>/usr/share/fonts/nerd-fonts-git/TTF/Caskaydia*</glob>
|
||||
</rejectfont>
|
||||
</selectfont>
|
||||
</fontconfig>
|
20
root/etc/greetd/config.toml
Normal file
20
root/etc/greetd/config.toml
Normal file
|
@ -0,0 +1,20 @@
|
|||
[terminal]
|
||||
# The VT to run the greeter on. Can be "next", "current" or a number
|
||||
# designating the VT.
|
||||
vt = 1
|
||||
|
||||
# Auto-login session, triggered right after boot.
|
||||
# If the user logs out, greetd will render the default session
|
||||
[initial_session]
|
||||
user = "itsdrike"
|
||||
command = "/usr/local/bin/greetd-session-wrapper Hyprland"
|
||||
|
||||
# The default session, also known as the greeter.
|
||||
[default_session]
|
||||
|
||||
command = "tuigreet --time --remember --remember-user-session --asterisks --greeting 'Stop staring and log in already' --theme 'border=magenta;text=cyan;prompt=green;time=red;action=white;button=yellow;container=black;input=gray' --sessions /usr/share/wayland-sessions --xsessions /usr/share/xsessions --session-wrapper /usr/local/bin/greetd-session-wrapper --xsession-wrapper /usr/local/bin/greetd-session-wrapper startx /usr/bin/env"
|
||||
|
||||
# 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"
|
5
root/etc/systemd/system/fstrim.service.d/override.conf
Normal file
5
root/etc/systemd/system/fstrim.service.d/override.conf
Normal file
|
@ -0,0 +1,5 @@
|
|||
[Unit]
|
||||
ConditionACPower=true
|
||||
|
||||
[Service]
|
||||
Nice=19
|
11
root/etc/systemd/system/power-profiles-monitor.service
Normal file
11
root/etc/systemd/system/power-profiles-monitor.service
Normal file
|
@ -0,0 +1,11 @@
|
|||
[Unit]
|
||||
Description=Monitor the battery status, switching power profiles accordingly
|
||||
Wants=power-profiles-daemon.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/local/bin/power-profiles-monitor
|
||||
Restart=on-failure
|
||||
Type=simple
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
28
root/usr/lib/initcpio/install/numlock
Normal file
28
root/usr/lib/initcpio/install/numlock
Normal file
|
@ -0,0 +1,28 @@
|
|||
#!/bin/bash
|
||||
build() {
|
||||
add_binary /bin/bash
|
||||
add_binary /usr/bin/setleds
|
||||
add_binary /usr/local/bin/numlock
|
||||
|
||||
cat >"$BUILDROOT/usr/lib/systemd/system/numlock.service" <<EOF
|
||||
[Unit]
|
||||
Description=Enable numlock
|
||||
Before=cryptsetup-pre.target
|
||||
DefaultDependencies=no
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/local/bin/numlock
|
||||
EOF
|
||||
|
||||
add_systemd_unit cryptsetup-pre.target
|
||||
cd "$BUILDROOT/usr/lib/systemd/system/sysinit.target.wants" || exit
|
||||
ln -sf /usr/lib/systemd/system/cryptsetup-pre.target cryptsetup-pre.target
|
||||
ln -sf /usr/lib/systemd/system/numlock.service numlock.service
|
||||
}
|
||||
|
||||
help() {
|
||||
cat <<EOF
|
||||
This hook adds support to enable numlock before sd-encrypt hook is run.
|
||||
EOF
|
||||
}
|
|
@ -208,7 +208,7 @@ argsp_cmdline() {
|
|||
fi
|
||||
fi
|
||||
|
||||
if [ "${ret_val[keep]}" -eq 0 ] && [ "${ret_val[skip_create]}" -eq 0 ]; then
|
||||
if [ -n "${ret_val[keep]}" ] && [ "${ret_val[keep]}" -eq 0 ] && [ "${ret_val[skip_create]}" -eq 0 ]; then
|
||||
echo "Using --keep=0 doesn't make sense without --skip-create." >&2
|
||||
echo "It would delete the new snapshot you wanted to create." >&2
|
||||
argsp_cmdline_exit="$ERR_CODE_INVALID_ARG"
|
||||
|
|
17
root/usr/local/bin/greetd-session-wrapper
Executable file
17
root/usr/local/bin/greetd-session-wrapper
Executable file
|
@ -0,0 +1,17 @@
|
|||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
# This is a helper wrapper script for greetd.
|
||||
#
|
||||
# It will run the session / application using the appropriate shell configured for
|
||||
# this user. That way, we can make sure all of the environment variables are set
|
||||
# before the WM/DE session is started.
|
||||
#
|
||||
# This is very important, as without it, variables for things like qt theme
|
||||
# will not be set, and applications executed by the WM/DE will not be themed properly.
|
||||
|
||||
script_name="$0"
|
||||
shell="$(getent passwd "$USER" | awk -F: '{print $NF}')"
|
||||
command=("$@")
|
||||
|
||||
exec "$shell" -c 'exec "$@"' "$script_name" "${command[@]}"
|
5
root/usr/local/bin/numlock
Executable file
5
root/usr/local/bin/numlock
Executable file
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
for tty in /dev/tty[0-9]; do
|
||||
/usr/bin/setleds -D +num < "$tty"
|
||||
done
|
||||
|
56
root/usr/local/bin/power-profiles-monitor
Executable file
56
root/usr/local/bin/power-profiles-monitor
Executable file
|
@ -0,0 +1,56 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo "You must run this script as root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BAT=$(echo /sys/class/power_supply/BAT*) # only supports single-battery systems
|
||||
BAT_STATUS="$BAT/status"
|
||||
BAT_CAP="$BAT/capacity"
|
||||
OVERRIDE_FLAG="/tmp/power-monitor-override"
|
||||
|
||||
POWER_SAVE_PERCENT=50 # Enter power-save mode if on bat and below this capacity
|
||||
|
||||
HAS_PERFORMANCE="$(powerprofilesctl list | grep "performance" || true)" # the || true ignores grep failing with non-zero code
|
||||
|
||||
# monitor loop
|
||||
prev=0
|
||||
while true; do
|
||||
# check if override is set
|
||||
if [ -f "$OVERRIDE_FLAG" ]; then
|
||||
echo "Override flag set, waiting for release"
|
||||
inotifywait -qq "$OVERRIDE_FLAG"
|
||||
continue
|
||||
fi
|
||||
|
||||
# read the current state
|
||||
status="$(cat "$BAT_STATUS")"
|
||||
capacity="$(cat "$BAT_CAP")"
|
||||
|
||||
if [[ $status == "Discharging" ]]; then
|
||||
if [[ $capacity -le $POWER_SAVE_PERCENT ]]; then
|
||||
profile="power-saver"
|
||||
else
|
||||
profile="balanced"
|
||||
fi
|
||||
else
|
||||
if [[ -n $HAS_PERFORMANCE ]]; then
|
||||
profile="performance"
|
||||
else
|
||||
profile="balanced"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Set the new profile
|
||||
if [[ "$profile" != "$prev" ]]; then
|
||||
echo -en "Setting power profile to ${profile}\n"
|
||||
powerprofilesctl set $profile
|
||||
prev=$profile
|
||||
fi
|
||||
|
||||
# wait for changes in status or capacity files
|
||||
# i.e. for the next power change event
|
||||
inotifywait -qq "$BAT_STATUS" "$BAT_CAP"
|
||||
done
|
Loading…
Add table
Add a link
Reference in a new issue