Major rewrite (new install)

This commit is contained in:
ItsDrike 2025-09-02 22:38:05 +02:00
parent 4e89803237
commit e78b421565
Signed by: ItsDrike
GPG key ID: FA2745890B7048C0
158 changed files with 2542 additions and 5238 deletions

View file

@ -10,14 +10,11 @@ RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22
#period in days delay in minutes job-identifier command
1 5 cron.daily nice run-parts /etc/cron.daily
7 25 cron.weekly nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly nice run-parts /etc/cron.monthly
#period in days delay in minutes job-identifier command
1 5 cron.daily nice run-parts /etc/cron.daily
7 25 cron.weekly nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly nice run-parts /etc/cron.monthly
@daily 15 pacman_file_db /usr/bin/pacman -Fy
@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
@daily 10 snapshot.daily /usr/local/bin/btrfs-backup -l daily -k 7 -d /.brtfs/snapshots -- /.btrfs/root /.btrfs/data
@weekly 10 snapshot.daily /usr/local/bin/btrfs-backup -l weekly -k 7 -d /.brtfs/snapshots -- /.btrfs/root /.btrfs/data
@montly 10 snapshot.daily /usr/local/bin/btrfs-backup -l monthly -k 7 -d /.brtfs/snapshots -- /.btrfs/root /.btrfs/data

View file

@ -3,7 +3,5 @@
# See cron(8) and crontab(5) for details.
# 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 -d /.btrfs/snapshots -- /.btrfs/root /.btrfs/data
15,30,45 * * * * root /usr/local/bin/btrfs-backup -l querter-hourly -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

View file

@ -1,74 +0,0 @@
# GRUB boot loader configuration
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3"
# Since we're using encrypted root, grub won't be able to automatically pick up the UUID of our
# root paritition (it will just pick up the UUID of the already decrypted mapper device). Because
# of this, we need to specify the UUID of the actual physical (stil encrypted) partition ourselves.
#
# We then also set the name of the mapper device (cryptroot), and additional LUKS options.
# Specifically, we set allow-discards, which is here for SSD optimizations.
#
# Handling the decryption of this device will then be delegated to initramfs. Note that we do need
# to specify the encrypt hook, along with some other hooks (like keyboard), into our mkinitcpio
# config, and recompile it, so that it will support asking us for the encryption password.
GRUB_CMDLINE_LINUX="cryptdevice=UUID=1864bad3-7e73-415a-a36d-49d941eb98c2:cryptroot:allow-discards"
# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
# Uncomment to enable booting from LUKS encrypted /boot partition
#GRUB_ENABLE_CRYPTODISK=y
# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=menu
# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console
# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=auto
# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
# modes only. Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
#GRUB_THEME="/path/to/gfxtheme"
# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"
# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT=true
# Uncomment to disable submenus in boot menu
#GRUB_DISABLE_SUBMENU=y
# Probing for other operating systems is disabled for security reasons. Read
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
# functionality install os-prober and uncomment to detect and include other
# operating systems.
#GRUB_DISABLE_OS_PROBER=false

View file

@ -1,3 +1,9 @@
{
"storage-driver": "btrfs"
"storage-driver": "btrfs",
"default-address-pools": [
{
"base": "192.168.64.0/18",
"size": 24
}
]
}

View file

@ -44,10 +44,4 @@
<family>Noto Color Emoji</family>
</prefer>
</alias>
<selectfont>
<rejectfont>
<glob>/usr/share/fonts/nerd-fonts-git/TTF/Caskaydia*</glob>
</rejectfont>
</selectfont>
</fontconfig>

View file

@ -7,11 +7,10 @@ vt = 1
# If the user logs out, greetd will render the default session
[initial_session]
user = "itsdrike"
command = "/usr/local/bin/greetd-session-wrapper uwsm start hyprland.desktop"
command = "/usr/local/bin/greetd-session-wrapper uwsm start default"
# 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

View file

@ -29,7 +29,7 @@
# IPv4 and IPv6 localhost aliases
127.0.0.1 localhost ip4-localhost
::1 ip6-localhost
::1 localhost ip6-localhost
# Current system definition
127.0.1.1 pc.localdomain pc

View file

@ -31,11 +31,13 @@ Architecture = auto
# Misc options
#UseSyslog
Color
#NoProgressBar
CheckSpace
VerbosePkgLists
#DisableDownloadTimeout
#ILoveCandy
ParallelDownloads = 8
DownloadUser = alpm
#DisableSandbox
#ILoveCandy
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
@ -70,22 +72,16 @@ LocalFileSigLevel = Optional
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.
# Use blackarch first, so that other indices can take precedence in
# versions, usually core/extra/community/multilib have newer versions
# in comparison to blackarch index
#[testing]
#[core-testing]
#Include = /etc/pacman.d/mirrorlist
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
#[community-testing]
#[extra-testing]
#Include = /etc/pacman.d/mirrorlist
[community]
[extra]
Include = /etc/pacman.d/mirrorlist
# If you want to run 32 bit applications on your x86_64 system,
@ -94,12 +90,11 @@ Include = /etc/pacman.d/mirrorlist
#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist
[multilib]
Include = /etc/pacman.d/mirrorlist
#[multilib]
#Include = /etc/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

View file

@ -23,5 +23,7 @@
#AllowHybridSleep=yes
#SuspendState=mem standby freeze
#HibernateMode=platform shutdown
#MemorySleepMode=
HibernateDelaySec=10800
#HibernateOnACPower=yes
#SuspendEstimationSec=60min

View file

@ -1 +1,15 @@
export ZDOTDIR="$HOME"/.config/zsh
# Environmental variable definitions for ZSH.
#
# This is the very first startup file that ZSH will read and will always get sourced,
# regardless of whether the shell is login or non-login, interactive or non-interactive,
# used in a script or just ran as a command.
# I prefer defining my environment variables through user-specific files, however, doing
# so with ZSH generally requires at least a ~/.zshenv file. For this reason, this global
# file is used to override the $ZDOTDIR env var, which allows me to instead use the more
# XDG compliant path of ~/.config/zsh/.zshenv, avoiding clutter in my home directory.
#
# If you wish to replicate my setup but you don't have root rights, you can instead
# symlink your ~/.zshenv to point to ~/.config/zsh/.zshenv and set $ZDOTDIR from there.
export ZDOTDIR="$HOME/.config/zsh"

View file

@ -14,4 +14,11 @@ script_name="$0"
shell="$(getent passwd "$USER" | awk -F: '{print $NF}')"
command=("$@")
# This syntax might be a bit confusing at first. It works as follows:
# 1. Replace this wrapper process with the user's login shell (through exec)
# 2. The shell is told to run 'exec $@' replacing itself with another process
# 3. The $@ in the exec above referrs to the arguments passed the shell (after -c '...')
# 4. "$script_name" is passed to the shell as $0 (process name), not included in $@
# 5. The ${command[@]} matches the $@ which this script was called with
# -> The command passed into this script as args is ran within the user's shell
exec "$shell" -c 'exec "$@"' "$script_name" "${command[@]}"