From e024a9eb606af50a7cd0e61c4f9dd59f760fcf95 Mon Sep 17 00:00:00 2001 From: adi1090x Date: Wed, 30 Mar 2022 17:47:58 +0530 Subject: [PATCH] Updated system's configuration files for Archcraft --- .../etc/X11/xorg.conf.d/02-touchpad-ttc.conf | 6 ++++ airootfs/etc/environment | 7 +++++ airootfs/etc/modprobe.d/rtl8821ce.conf | 3 ++ airootfs/etc/motd | 30 +++++++++++++------ .../localauthority/50-local.d/10-udisks.pkla | 14 +++++++++ .../50-org.freedesktop.NetworkManager.rules | 5 ++++ .../etc/polkit-1/rules.d/50-udiskie.rules | 25 ++++++++++++++++ .../rules.d/allow-mount-internal.rules | 8 +++++ .../polkit-1/rules.d/always-allow-wheel.rules | 7 +++++ .../rules.d/udisks-no-consolekit.rules | 10 +++++++ airootfs/etc/sddm.conf.d/autologin.conf | 10 +++++++ airootfs/etc/sddm.conf.d/theme.conf | 25 ++++++++++++++++ airootfs/etc/sudoers.d/01_pw_feedback | 1 + airootfs/etc/sudoers.d/02_g_wheel | 1 + airootfs/etc/udev/rules.d/70-backlight.rules | 2 ++ 15 files changed, 145 insertions(+), 9 deletions(-) create mode 100644 airootfs/etc/X11/xorg.conf.d/02-touchpad-ttc.conf create mode 100644 airootfs/etc/environment create mode 100644 airootfs/etc/modprobe.d/rtl8821ce.conf create mode 100644 airootfs/etc/polkit-1/localauthority/50-local.d/10-udisks.pkla create mode 100644 airootfs/etc/polkit-1/rules.d/50-org.freedesktop.NetworkManager.rules create mode 100644 airootfs/etc/polkit-1/rules.d/50-udiskie.rules create mode 100644 airootfs/etc/polkit-1/rules.d/allow-mount-internal.rules create mode 100644 airootfs/etc/polkit-1/rules.d/always-allow-wheel.rules create mode 100644 airootfs/etc/polkit-1/rules.d/udisks-no-consolekit.rules create mode 100644 airootfs/etc/sddm.conf.d/autologin.conf create mode 100644 airootfs/etc/sddm.conf.d/theme.conf create mode 100644 airootfs/etc/sudoers.d/01_pw_feedback create mode 100644 airootfs/etc/sudoers.d/02_g_wheel create mode 100644 airootfs/etc/udev/rules.d/70-backlight.rules diff --git a/airootfs/etc/X11/xorg.conf.d/02-touchpad-ttc.conf b/airootfs/etc/X11/xorg.conf.d/02-touchpad-ttc.conf new file mode 100644 index 00000000..90d54979 --- /dev/null +++ b/airootfs/etc/X11/xorg.conf.d/02-touchpad-ttc.conf @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "tap-by-default" + MatchIsTouchpad "on" + MatchDriver "libinput" + Option "Tapping" "on" +EndSection diff --git a/airootfs/etc/environment b/airootfs/etc/environment new file mode 100644 index 00000000..664e86e6 --- /dev/null +++ b/airootfs/etc/environment @@ -0,0 +1,7 @@ +# +# This file is parsed by pam_env module +# +# Syntax: simple "KEY=VAL" pairs on separate lines +# +QT_QPA_PLATFORMTHEME=qt5ct +PATH="/usr/share/archcraft/scripts" diff --git a/airootfs/etc/modprobe.d/rtl8821ce.conf b/airootfs/etc/modprobe.d/rtl8821ce.conf new file mode 100644 index 00000000..2f78a081 --- /dev/null +++ b/airootfs/etc/modprobe.d/rtl8821ce.conf @@ -0,0 +1,3 @@ +# File made in favor of the prominent and more up to date rtl8821ce dkms driver by tomaspinho on GitHub. ( https://github.com/tomaspinho/rtl8821ce#wi-fi-not-working-for-kernel--59) +# As the kernels newer than 5.9 will crash and panic the kernel with the current broken version of this driver inbuilt in the linux kernel by realtek ( likely to be never fixed by realtek for linux ) ( it has some power delivery issues ) +blacklist rtw88_8821ce diff --git a/airootfs/etc/motd b/airootfs/etc/motd index 1ddc9c3e..6b86370e 100644 --- a/airootfs/etc/motd +++ b/airootfs/etc/motd @@ -1,10 +1,22 @@ -To install Arch Linux follow the installation guide: -https://wiki.archlinux.org/title/Installation_guide - -For Wi-Fi, authenticate to the wireless network using the iwctl utility. -For mobile broadband (WWAN) modems, connect with the mmcli utility. -Ethernet, WLAN and WWAN interfaces using DHCP should work automatically. - -After connecting to the internet, the installation guide can be accessed -via the convenience script Installation_guide. +⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ +⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ +⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ +⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ +⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ +⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡃⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ +⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠛⠳⢄⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ +⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ +⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ +⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ +⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿ +⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⢀⠀⠀⢀⣿⣿⣆⠀⠀⢀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿ +⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⢰⣿⣿⣾⣿⣿⣿⣿⣷⣾⣿⣷⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿ +⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⡿⠛⠛⠻⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿ +⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⣶⣿⣿⣿⡟⠀⠀⠀⠀⠘⣿⣿⣿⣷⡆⠀⠀⠀⢀⠀⠀⢻⣿⣿⣿⣿⣿ +⣿⣿⣿⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠙⢻⣿⣿⣷⡀⠀⠀⢀⣼⣿⣿⣿⡟⠃⠀⠀⠀⠀⠉⠲⢦⣿⣿⣿⣿⣿ +⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⣿⣿⣿ +⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿ +⣿⠏⠀⠀⠀⠀⣀⣠⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⣀⡀⠀⠀⠀⠀⠹⣿ +⢏⣀⣤⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⣄⣀⠹ +Welcome to Archcraft, A minimal linux OS based on archlinux. diff --git a/airootfs/etc/polkit-1/localauthority/50-local.d/10-udisks.pkla b/airootfs/etc/polkit-1/localauthority/50-local.d/10-udisks.pkla new file mode 100644 index 00000000..c6820441 --- /dev/null +++ b/airootfs/etc/polkit-1/localauthority/50-local.d/10-udisks.pkla @@ -0,0 +1,14 @@ +[udisks1] +Identity=unix-group:storage +Action=org.freedesktop.udisks.filesystem-mount;org.freedesktop.udisks.luks-unlock;org.freedesktop.udisks.drive-eject;org.freedesktop.udisks.drive-detach +ResultAny=yes + +[udisks2] +Identity=unix-group:storage +Action=org.freedesktop.udisks2.filesystem-mount;org.freedesktop.udisks2.encrypted-unlock;org.freedesktop.udisks2.eject-media;org.freedesktop.udisks2.power-off-drive +ResultAny=yes + +[udisks2-other-seat] +Identity=unix-group:storage +Action=org.freedesktop.udisks2.filesystem-mount-other-seat;org.freedesktop.udisks2.filesystem-unmount-others;org.freedesktop.udisks2.encrypted-unlock-other-seat;org.freedesktop.udisks2.eject-media-other-seat;org.freedesktop.udisks2.power-off-drive-other-seat +ResultAny=yes diff --git a/airootfs/etc/polkit-1/rules.d/50-org.freedesktop.NetworkManager.rules b/airootfs/etc/polkit-1/rules.d/50-org.freedesktop.NetworkManager.rules new file mode 100644 index 00000000..b6fe9c73 --- /dev/null +++ b/airootfs/etc/polkit-1/rules.d/50-org.freedesktop.NetworkManager.rules @@ -0,0 +1,5 @@ +polkit.addRule(function(action, subject) { + if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("network")) { + return polkit.Result.YES; + } +}); diff --git a/airootfs/etc/polkit-1/rules.d/50-udiskie.rules b/airootfs/etc/polkit-1/rules.d/50-udiskie.rules new file mode 100644 index 00000000..ab81971c --- /dev/null +++ b/airootfs/etc/polkit-1/rules.d/50-udiskie.rules @@ -0,0 +1,25 @@ +polkit.addRule(function(action, subject) { + var YES = polkit.Result.YES; + // NOTE: there must be a comma at the end of each line except for the last: + var permission = { + // required for udisks1: + "org.freedesktop.udisks.filesystem-mount": YES, + "org.freedesktop.udisks.luks-unlock": YES, + "org.freedesktop.udisks.drive-eject": YES, + "org.freedesktop.udisks.drive-detach": YES, + // required for udisks2: + "org.freedesktop.udisks2.filesystem-mount": YES, + "org.freedesktop.udisks2.encrypted-unlock": YES, + "org.freedesktop.udisks2.eject-media": YES, + "org.freedesktop.udisks2.power-off-drive": YES, + // required for udisks2 if using udiskie from another seat (e.g. systemd): + "org.freedesktop.udisks2.filesystem-mount-other-seat": YES, + "org.freedesktop.udisks2.filesystem-unmount-others": YES, + "org.freedesktop.udisks2.encrypted-unlock-other-seat": YES, + "org.freedesktop.udisks2.eject-media-other-seat": YES, + "org.freedesktop.udisks2.power-off-drive-other-seat": YES + }; + if (subject.isInGroup("storage")) { + return permission[action.id]; + } +}); diff --git a/airootfs/etc/polkit-1/rules.d/allow-mount-internal.rules b/airootfs/etc/polkit-1/rules.d/allow-mount-internal.rules new file mode 100644 index 00000000..90a84f9a --- /dev/null +++ b/airootfs/etc/polkit-1/rules.d/allow-mount-internal.rules @@ -0,0 +1,8 @@ +polkit.addRule(function(action, subject) { + if ((action.id == "org.freedesktop.udisks2.filesystem-mount-system" || + action.id == "org.freedesktop.udisks.filesystem-mount-system-internal") && + subject.local && subject.active && subject.isInGroup("users")) + { + return polkit.Result.YES; + } +}); diff --git a/airootfs/etc/polkit-1/rules.d/always-allow-wheel.rules b/airootfs/etc/polkit-1/rules.d/always-allow-wheel.rules new file mode 100644 index 00000000..d41dc472 --- /dev/null +++ b/airootfs/etc/polkit-1/rules.d/always-allow-wheel.rules @@ -0,0 +1,7 @@ +polkit.addRule(function(action, subject) { + if (/^org\.freedesktop\.udisks\./.test(action.id) + && subject.isInGroup("wheel")) + { + return polkit.Result.YES; + } +}); diff --git a/airootfs/etc/polkit-1/rules.d/udisks-no-consolekit.rules b/airootfs/etc/polkit-1/rules.d/udisks-no-consolekit.rules new file mode 100644 index 00000000..f2d268ef --- /dev/null +++ b/airootfs/etc/polkit-1/rules.d/udisks-no-consolekit.rules @@ -0,0 +1,10 @@ +polkit.addRule(function(action, subject) { + if (action.id == "org.freedesktop.udisks.filesystem-mount") { + if (subject.isInGroup("wheel")) + return polkit.Result.YES; + else + return polkit.Result.AUTH_ADMIN_KEEP; + } else if (/^org\.freedesktop\.udisks\./.test(action.id)) { + return polkit.Result.AUTH_ADMIN_KEEP; + } +}); diff --git a/airootfs/etc/sddm.conf.d/autologin.conf b/airootfs/etc/sddm.conf.d/autologin.conf new file mode 100644 index 00000000..7ba1b371 --- /dev/null +++ b/airootfs/etc/sddm.conf.d/autologin.conf @@ -0,0 +1,10 @@ +[Autologin] + +# Whether sddm should automatically log back into sessions when they exit +Relogin=false + +# Name of session file for autologin session (if empty try last logged in) +Session=openbox + +# Username for autologin session +User=liveuser diff --git a/airootfs/etc/sddm.conf.d/theme.conf b/airootfs/etc/sddm.conf.d/theme.conf new file mode 100644 index 00000000..f4f8acc9 --- /dev/null +++ b/airootfs/etc/sddm.conf.d/theme.conf @@ -0,0 +1,25 @@ +[Theme] + +# Current theme name +Current=archcraft + +# Cursor theme used in the greeter +CursorTheme=Qogirr + +# Number of users to use as threshold +# above which avatars are disabled +# unless explicitly enabled with EnableAvatars +DisableAvatarsThreshold=7 + +# Enable display of custom user avatars +EnableAvatars=true + +# Global directory for user avatars +# The files should be named .face.icon +FacesDir=/usr/share/sddm/faces + +# Font used in the greeter +Font="Iosevka" + +# Theme directory path +ThemeDir=/usr/share/sddm/themes diff --git a/airootfs/etc/sudoers.d/01_pw_feedback b/airootfs/etc/sudoers.d/01_pw_feedback new file mode 100644 index 00000000..f9e5ff26 --- /dev/null +++ b/airootfs/etc/sudoers.d/01_pw_feedback @@ -0,0 +1 @@ +Defaults env_reset,pwfeedback,insults diff --git a/airootfs/etc/sudoers.d/02_g_wheel b/airootfs/etc/sudoers.d/02_g_wheel new file mode 100644 index 00000000..8c45359f --- /dev/null +++ b/airootfs/etc/sudoers.d/02_g_wheel @@ -0,0 +1 @@ +%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/airootfs/etc/udev/rules.d/70-backlight.rules b/airootfs/etc/udev/rules.d/70-backlight.rules new file mode 100644 index 00000000..9b8fdf4d --- /dev/null +++ b/airootfs/etc/udev/rules.d/70-backlight.rules @@ -0,0 +1,2 @@ +ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness" +ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"