Compare commits

...

1 Commits

Author SHA1 Message Date
Daniel LaForce 5ed683a309 v0.2.1-alpha: Add snapshot infrastructure configs
- Added @ subvolume structure for openSUSE-style btrfs
- Configured snapper for automatic timeline snapshots
- Added Nvidia kernel parameters to GRUB
- Fixed SDDM/KDE boot issues (PAM, elogind, agetty)
- Enabled cronie for hourly snapshot automation
2025-11-16 21:48:43 +00:00
5 changed files with 217 additions and 0 deletions

22
configs/fstab Normal file
View File

@ -0,0 +1,22 @@
# /etc/fstab: static file system information.
#
# See the manpage fstab(5) for more information.
#
# NOTE: The root filesystem should have a pass number of either 0 or 1.
# All other filesystems should have a pass number of 0 or greater than 1.
#
# NOTE: Even though we list ext4 as the type here, it will work with ext2/ext3
# filesystems. This just tells the kernel to use the ext4 driver.
#
# NOTE: You can use full paths to devices like /dev/sda3, but it is often
# more reliable to use filesystem labels or UUIDs. See your filesystem
# documentation for details on setting a label. To obtain the UUID, use
# the blkid(8) command.
# <fs> <mountpoint> <type> <opts> <dump> <pass>
#LABEL=boot /boot ext4 defaults 1 2
#UUID=58e72203-57d1-4497-81ad-97655bd56494 / xfs defaults 0 1
#LABEL=swap none swap sw 0 0
#/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
UUID=5d9a4058-2428-4e06-93ca-dc1f3bf5c703 / btrfs defaults,subvol=@ 0 1

13
configs/grub/40_custom Normal file
View File

@ -0,0 +1,13 @@
#!/bin/sh
exec tail -n +3 $0
### Gentoo GNU/Linux ###
menuentry 'Gentoo GNU/Linux (callisto-galileo)' {
insmod gzio
insmod part_gpt
insmod btrfs
search --no-floppy --fs-uuid --set=root 5d9a4058-2428-4e06-93ca-dc1f3bf5c703
echo 'Loading Linux 6.12.41-gentoo-x86_64 ...'
linux /@/boot/vmlinuz-6.12.41-gentoo-x86_64 root=UUID=5d9a4058-2428-4e06-93ca-dc1f3bf5c703 ro quiet nvidia_drm.modeset=1 rd.driver.blacklist=nouveau rootflags=subvol=@
echo 'Loading initial ramdisk ...'
initrd /@/boot/initramfs-6.12.41-gentoo-x86_64.img
}

View File

@ -0,0 +1,8 @@
COMMON_FLAGS="-O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
LC_MESSAGES=C.UTF-8
VIDEO_CARDS="nvidia"
PORTAGE_BINHOST="ssh://root@10.0.0.194/var/cache/binpkgs"
#PORTAGE_BINHOST="https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64/"
FEATURES="-verify-sig -binpkg-request-signature"

64
configs/snapper/root Normal file
View File

@ -0,0 +1,64 @@
# subvolume to snapshot
SUBVOLUME="/"
# filesystem type
FSTYPE="btrfs"
# btrfs qgroup for space aware cleanup algorithms
QGROUP=""
# fraction or absolute size of the filesystems space the snapshots may use
SPACE_LIMIT="0.5"
# fraction or absolute size of the filesystems space that should be free
FREE_LIMIT="0.2"
# users and groups allowed to work with config
ALLOW_USERS=""
ALLOW_GROUPS=""
# sync users and groups from ALLOW_USERS and ALLOW_GROUPS to .snapshots
# directory
SYNC_ACL="no"
# start comparing pre- and post-snapshot in background after creating
# post-snapshot
BACKGROUND_COMPARISON="yes"
# run daily number cleanup
NUMBER_CLEANUP="yes"
# limit for number cleanup
NUMBER_MIN_AGE="1800"
NUMBER_LIMIT="50"
NUMBER_LIMIT_IMPORTANT="10"
# create hourly snapshots
TIMELINE_CREATE="yes"
# cleanup hourly snapshots after some time
TIMELINE_CLEANUP="yes"
# limits for timeline cleanup
TIMELINE_MIN_AGE="1800"
TIMELINE_LIMIT_HOURLY="10"
TIMELINE_LIMIT_DAILY="10"
TIMELINE_LIMIT_WEEKLY="0"
TIMELINE_LIMIT_MONTHLY="10"
TIMELINE_LIMIT_QUARTERLY="1"
TIMELINE_LIMIT_YEARLY="10"
# cleanup empty pre-post-pairs
EMPTY_PRE_POST_CLEANUP="yes"
# limits for empty pre-post-pair cleanup
EMPTY_PRE_POST_MIN_AGE="3600"

110
packages/world Normal file
View File

@ -0,0 +1,110 @@
app-admin/sudo
app-arch/rar
app-arch/unrar
app-arch/zip
app-backup/snapper
app-editors/vim
app-misc/fastfetch
app-misc/tmux
app-office/libreoffice-bin
app-portage/gentoolkit
app-shells/gentoo-bashcomp
dev-qt/qtcore
dev-qt/qttranslations:5
dev-vcs/git
kde-apps/ark
kde-apps/bovo
kde-apps/dolphin
kde-apps/dragon
kde-apps/ffmpegthumbs
kde-apps/filelight
kde-apps/granatier
kde-apps/gwenview
kde-apps/juk
kde-apps/k3b
kde-apps/kamera
kde-apps/kapman
kde-apps/kate
kde-apps/katomic
kde-apps/kbackup
kde-apps/kblackbox
kde-apps/kblocks
kde-apps/kbounce
kde-apps/kbreakout
kde-apps/kdenlive
kde-apps/kdf
kde-apps/kdialog
kde-apps/kdiamond
kde-apps/keditbookmarks
kde-apps/kfind
kde-apps/kfourinline
kde-apps/kget
kde-apps/kgoldrunner
kde-apps/kigo
kde-apps/killbots
kde-apps/kiriki
kde-apps/kjumpingcube
kde-apps/klickety
kde-apps/klines
kde-apps/kmahjongg
kde-apps/kmines
kde-apps/knavalbattle
kde-apps/knetwalk
kde-apps/knights
kde-apps/kolf
kde-apps/kollision
kde-apps/kolourpaint
kde-apps/konquest
kde-apps/konsole
kde-apps/kpat
kde-apps/krdc
kde-apps/kreversi
kde-apps/krfb
kde-apps/kshisen
kde-apps/ksnakeduel
kde-apps/kspaceduel
kde-apps/ksquares
kde-apps/ksudoku
kde-apps/ksystemlog
kde-apps/kteatime
kde-apps/kubrick
kde-apps/kwalletmanager
kde-apps/kwave
kde-apps/kwrite
kde-apps/lskat
kde-apps/okular
kde-apps/palapeli
kde-apps/picmi
kde-apps/svgpart
kde-apps/yakuake
kde-plasma/discover
kde-plasma/kscreen
kde-plasma/plasma-desktop
kde-plasma/plasma-nm
kde-plasma/plasma-pa
kde-plasma/powerdevil
kde-plasma/spectacle
kde-plasma/systemsettings
media-gfx/flameshot
media-sound/audacity
media-sound/pavucontrol
media-video/ffmpeg
media-video/mpv
media-video/vlc
net-fs/cifs-utils
net-im/discord
net-im/signal-desktop-bin
net-vpn/openvpn
net-vpn/wireguard-tools
sys-apps/bat
sys-apps/fd
sys-apps/firejail
sys-apps/flatpak
sys-apps/ripgrep
sys-fs/btrfs-progs
sys-process/btop
sys-process/htop
www-client/firefox-bin
x11-drivers/nvidia-drivers
x11-misc/sddm
x11-terms/alacritty