aboutsummaryrefslogtreecommitdiff
path: root/.config/yadm
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2024-03-02 20:49:25 +0100
committerlonkaars <loek@pipeframe.xyz>2024-03-02 20:49:25 +0100
commitf98d95f842529a497140e8713694e7001fc57059 (patch)
treedf2dcc0105d26ff4840a31fbd6b576a88c6c6054 /.config/yadm
parent9cd50d0dbdc9386d80701d668fe645ee80abbeae (diff)
add system config files to yadm
Diffstat (limited to '.config/yadm')
-rwxr-xr-x.config/yadm/bootstrap20
-rw-r--r--.config/yadm/lib/bootstrap22
-rw-r--r--.config/yadm/packages-arch3
-rwxr-xr-x.config/yadm/root/bootstrap42
-rw-r--r--.config/yadm/root/etc/X11/xorg.conf.d/00-keyboard.conf6
-rw-r--r--.config/yadm/root/etc/X11/xorg.conf.d/50-mouse-acceleration.conf8
-rw-r--r--.config/yadm/root/etc/X11/xorg.conf.d/72-wacom-options.conf11
-rw-r--r--.config/yadm/root/etc/X11/xorg.conf.d/90-libinput-wacom.conf9
-rw-r--r--.config/yadm/root/etc/X11/xorg.conf.d/90-wacom-overrides.conf7
-rw-r--r--.config/yadm/root/etc/lightdm/lightdm-gtk-greeter.conf3
-rw-r--r--.config/yadm/root/etc/locale.conf2
-rw-r--r--.config/yadm/root/etc/locale.gen3
-rw-r--r--.config/yadm/root/etc/sudoers.d/10-wheel-nopasswd4
13 files changed, 124 insertions, 16 deletions
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
+