From f98d95f842529a497140e8713694e7001fc57059 Mon Sep 17 00:00:00 2001 From: lonkaars Date: Sat, 2 Mar 2024 20:49:25 +0100 Subject: add system config files to yadm --- .config/yadm/bootstrap | 20 +++-------- .config/yadm/lib/bootstrap | 22 ++++++++++++ .config/yadm/packages-arch | 3 ++ .config/yadm/root/bootstrap | 42 ++++++++++++++++++++++ .../yadm/root/etc/X11/xorg.conf.d/00-keyboard.conf | 6 ++++ .../etc/X11/xorg.conf.d/50-mouse-acceleration.conf | 8 +++++ .../root/etc/X11/xorg.conf.d/72-wacom-options.conf | 11 ++++++ .../etc/X11/xorg.conf.d/90-libinput-wacom.conf | 9 +++++ .../etc/X11/xorg.conf.d/90-wacom-overrides.conf | 7 ++++ .../yadm/root/etc/lightdm/lightdm-gtk-greeter.conf | 3 ++ .config/yadm/root/etc/locale.conf | 2 ++ .config/yadm/root/etc/locale.gen | 3 ++ .config/yadm/root/etc/sudoers.d/10-wheel-nopasswd | 4 +++ 13 files changed, 124 insertions(+), 16 deletions(-) create mode 100644 .config/yadm/lib/bootstrap create mode 100755 .config/yadm/root/bootstrap create mode 100644 .config/yadm/root/etc/X11/xorg.conf.d/00-keyboard.conf create mode 100644 .config/yadm/root/etc/X11/xorg.conf.d/50-mouse-acceleration.conf create mode 100644 .config/yadm/root/etc/X11/xorg.conf.d/72-wacom-options.conf create mode 100644 .config/yadm/root/etc/X11/xorg.conf.d/90-libinput-wacom.conf create mode 100644 .config/yadm/root/etc/X11/xorg.conf.d/90-wacom-overrides.conf create mode 100644 .config/yadm/root/etc/lightdm/lightdm-gtk-greeter.conf create mode 100644 .config/yadm/root/etc/locale.conf create mode 100644 .config/yadm/root/etc/locale.gen create mode 100644 .config/yadm/root/etc/sudoers.d/10-wheel-nopasswd (limited to '.config/yadm') diff --git a/.config/yadm/bootstrap b/.config/yadm/bootstrap index 12282d6..97c6a13 100755 --- a/.config/yadm/bootstrap +++ b/.config/yadm/bootstrap @@ -1,19 +1,7 @@ #!/bin/sh -TIMESTART="$(date +%s)" +cd "$(dirname "$0")" . "$HOME/.profile" -unset LANG # do not display custom locale in TTY - -begintask() { - printf '%s ...' "$1" -} -endtask() { - EXIT_CODE=$? - [ $EXIT_CODE -eq 0 ] && echo ' OK' || echo ' ERROR' - return $EXIT_CODE -} -s() { # s for silent - "$@" 1> /dev/null 2> /dev/null -} +. ./lib/bootstrap # ensure required packages are installed begintask "installing packages" @@ -67,15 +55,15 @@ endtask endtask ) -TIMESTOP="$(date +%s)" cat << EOF -bootstrap finished in $(( $TIMESTOP - $TIMESTART ))s! +bootstrap finished in $(finishtime)! follow-up steps to finish setup: - install GPG keys - install nonfree fonts - clone the pass repository in ~/.local/share/pass + - run the system bootstrap script in ~/.config/yadm/root/bootstrap - make the switch to microsoft edge EOF diff --git a/.config/yadm/lib/bootstrap b/.config/yadm/lib/bootstrap new file mode 100644 index 0000000..e367320 --- /dev/null +++ b/.config/yadm/lib/bootstrap @@ -0,0 +1,22 @@ +#!/bin/sh +unset LANG # never use custom locale in TTY/logs + +TIMESTART="$(date +%s)" + +begintask() { + printf '%s ...' "$1" +} +endtask() { + EXIT_CODE=$? + [ $EXIT_CODE -eq 0 ] && echo ' OK' || echo ' ERROR' + return $EXIT_CODE +} +s() { # s for silent + "$@" 1> /dev/null 2> /dev/null +} + +finishtime() { + TIMESTOP="$(date +%s)" + echo "$(( $TIMESTOP - $TIMESTART ))s" +} + diff --git a/.config/yadm/packages-arch b/.config/yadm/packages-arch index 6c0b341..d07beb1 100644 --- a/.config/yadm/packages-arch +++ b/.config/yadm/packages-arch @@ -61,6 +61,7 @@ brave-bin curl feh fzf +gnupg helvum htop mpc @@ -68,10 +69,12 @@ mpv ncmpcpp neovim nmap +pam-gnupg pandoc pass pass-otp pavucontrol +pinentry ranger restic rofi-pass-git diff --git a/.config/yadm/root/bootstrap b/.config/yadm/root/bootstrap new file mode 100755 index 0000000..ea9e20b --- /dev/null +++ b/.config/yadm/root/bootstrap @@ -0,0 +1,42 @@ +#!/bin/sh +cd "$(dirname "$0")" +. ../lib/bootstrap + +wrong_call() { + cat << EOF +run this script as root and with the username of your user account + +examples: + $ sudo $0 loek + + $ sudo $0 "\$LOGNAME" + + # $0 gert +EOF + exit 1 +} + +# this script needs to run with root privileges +[ $(id -u) -ne 0 ] && wrong_call +# SETUP_USER must exist +SETUP_USER="$1" +getent passwd "$SETUP_USER" > /dev/null || wrong_call +# SETUP_USER can not be root +[ $(id -u "$SETUP_USER") -eq 0 ] && wrong_call + +begintask "copy system config files" +s cp -r etc/. /etc +endtask + +begintask "set pinentry program to pinentry-gnome3 (GTK 3)" +s ln -sf pinentry-gnome3 "$(command -v pinentry)" +endtask + +begintask "enabling services" +s systemctl enable bluetooth ntpd cups +endtask + +# TODO: pam-gnupg setup +# TODO: enable pacman colors +# TODO: add SETUP_USER to groups + diff --git a/.config/yadm/root/etc/X11/xorg.conf.d/00-keyboard.conf b/.config/yadm/root/etc/X11/xorg.conf.d/00-keyboard.conf new file mode 100644 index 0000000..6c7cfad --- /dev/null +++ b/.config/yadm/root/etc/X11/xorg.conf.d/00-keyboard.conf @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "default keyboard repeat speed" + MatchIsKeyboard "on" + Option "AutoRepeat" "250 40" +EndSection + diff --git a/.config/yadm/root/etc/X11/xorg.conf.d/50-mouse-acceleration.conf b/.config/yadm/root/etc/X11/xorg.conf.d/50-mouse-acceleration.conf new file mode 100644 index 0000000..199635d --- /dev/null +++ b/.config/yadm/root/etc/X11/xorg.conf.d/50-mouse-acceleration.conf @@ -0,0 +1,8 @@ +Section "InputClass" + Identifier "default mouse acceleration" + Driver "libinput" + MatchIsPointer "yes" + Option "AccelProfile" "flat" + Option "AccelSpeed" "0" +EndSection + diff --git a/.config/yadm/root/etc/X11/xorg.conf.d/72-wacom-options.conf b/.config/yadm/root/etc/X11/xorg.conf.d/72-wacom-options.conf new file mode 100644 index 0000000..81aaf60 --- /dev/null +++ b/.config/yadm/root/etc/X11/xorg.conf.d/72-wacom-options.conf @@ -0,0 +1,11 @@ +Section "InputClass" + Identifier "default wacom pen area + double click interval" + MatchDriver "wacom" + MatchProduct "Pen" + NoMatchProduct "eraser" + NoMatchProduct "cursor" + Option "Area" "0 0 15200 4275" + Option "MapToOutput" "1920x1080+0+0" + Option "TapTime" "100" +EndSection + diff --git a/.config/yadm/root/etc/X11/xorg.conf.d/90-libinput-wacom.conf b/.config/yadm/root/etc/X11/xorg.conf.d/90-libinput-wacom.conf new file mode 100644 index 0000000..26643b8 --- /dev/null +++ b/.config/yadm/root/etc/X11/xorg.conf.d/90-libinput-wacom.conf @@ -0,0 +1,9 @@ +Section "InputClass" + Identifier "force libinput as driver for wacom tablet touchpad" + MatchUSBID "056a:*" + MatchDevicePath "/dev/input/event*" + MatchIsTouchpad "true" + Driver "libinput" + Option "NaturalScrolling" "true" +EndSection + diff --git a/.config/yadm/root/etc/X11/xorg.conf.d/90-wacom-overrides.conf b/.config/yadm/root/etc/X11/xorg.conf.d/90-wacom-overrides.conf new file mode 100644 index 0000000..f2e2bbf --- /dev/null +++ b/.config/yadm/root/etc/X11/xorg.conf.d/90-wacom-overrides.conf @@ -0,0 +1,7 @@ +Section "InputClass" + Identifier "Wacom Tablet Overrides" + MatchDriver "wacom" + Option "AccelerationProfile" "5" + Option "ConstantDeceleration" "2" + Option "AdaptiveDeceleration" "3" +EndSection diff --git a/.config/yadm/root/etc/lightdm/lightdm-gtk-greeter.conf b/.config/yadm/root/etc/lightdm/lightdm-gtk-greeter.conf new file mode 100644 index 0000000..8dae65c --- /dev/null +++ b/.config/yadm/root/etc/lightdm/lightdm-gtk-greeter.conf @@ -0,0 +1,3 @@ +[greeter] +theme-name=Skeuos-Blue-Dark +indicators=~session;~power diff --git a/.config/yadm/root/etc/locale.conf b/.config/yadm/root/etc/locale.conf new file mode 100644 index 0000000..abfaa52 --- /dev/null +++ b/.config/yadm/root/etc/locale.conf @@ -0,0 +1,2 @@ +LANG=en_US.UTF-8 +LC_COLLATE=C diff --git a/.config/yadm/root/etc/locale.gen b/.config/yadm/root/etc/locale.gen new file mode 100644 index 0000000..6ab95e3 --- /dev/null +++ b/.config/yadm/root/etc/locale.gen @@ -0,0 +1,3 @@ +en_US.UTF-8 UTF-8 +ja_JP.UTF-8 UTF-8 +nl_NL.UTF-8 UTF-8 diff --git a/.config/yadm/root/etc/sudoers.d/10-wheel-nopasswd b/.config/yadm/root/etc/sudoers.d/10-wheel-nopasswd new file mode 100644 index 0000000..46208d6 --- /dev/null +++ b/.config/yadm/root/etc/sudoers.d/10-wheel-nopasswd @@ -0,0 +1,4 @@ +# allow all users in `wheel` group to use sudo for all commands without prompt +# for password +%wheel ALL=(ALL) NOPASSWD: ALL + -- cgit v1.2.3