From badfefb0ce612d7e1780453237674cac009bbdbf Mon Sep 17 00:00:00 2001 From: paul-loedige Date: Tue, 20 Feb 2024 00:56:15 +0100 Subject: [PATCH] added bluetooth, battery and began fprint --- config.org | 199 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 186 insertions(+), 13 deletions(-) diff --git a/config.org b/config.org index 8110539..966e980 100644 --- a/config.org +++ b/config.org @@ -19,7 +19,8 @@ - [[#autostartsh][autostart.sh]] - [[#alacrittytoml][alacritty.toml]] - [[#package-management][Package Management]] - - [[#arch-and-aur-packages][Arch and AUR Packages]] + - [[#yay][Yay]] + - [[#package-installation][Package Installation]] - [[#base-system][Base System]] - [[#arch-linux][Arch Linux]] - [[#network-manager][Network Manager]] @@ -51,27 +52,49 @@ - [[#xorg][Xorg]] - [[#gtk][GTK]] - [[#rofi][Rofi]] -- [[#git][Git]] +- [[#bluetooth][Bluetooth]] - [[#installation][Installation]] + - [[#activate-systemd-service][Activate systemd Service]] + - [[#blueman-applet][Blueman Applet]] +- [[#git][Git]] + - [[#installation-1][Installation]] - [[#configuration][Configuration]] - [[#miniconda][Miniconda]] - - [[#installation-1][Installation]] + - [[#installation-2][Installation]] - [[#zsh-special-settings][ZSH special settings]] - [[#do-not-activate-base-environment-on-startup][Do not activate base environment on startup]] - [[#zathura][Zathura]] - - [[#installation-2][Installation]] + - [[#installation-3][Installation]] - [[#enable-synctex][enable synctex]] - [[#nextcloud][Nextcloud]] - [[#add-to-autostart][add to autostart]] - [[#bitwarden][Bitwarden]] - - [[#installation-3][Installation]] + - [[#installation-4][Installation]] - [[#configuration-1][Configuration]] - [[#inkscape][Inkscape]] - - [[#installation-4][Installation]] + - [[#installation-5][Installation]] +- [[#pcmanfm][PCManFM]] + - [[#installation-6][Installation]] + - [[#automount-usb][Automount USB]] + - [[#trash-support][Trash Support]] + - [[#smb-support][SMB Support]] + - [[#mtp-support][MTP Support]] +- [[#thunderbird][Thunderbird]] + - [[#installation-7][Installation]] + - [[#autostart][Autostart]] + - [[#config][Config]] +- [[#redshift][Redshift]] + - [[#installation-8][Installation]] + - [[#autostart-1][Autostart]] + - [[#automatic-location-configuration][Automatic Location Configuration]] +- [[#frpint][frpint]] + - [[#installation-9][Installation]] + - [[#add-user-to-input-group][Add User to input Group]] + - [[#authentication-agent][Authentication Agent]] + - [[#enroll-both-hands-if-no-fingers-are-enrolled][enroll both hands if no fingers are enrolled]] +- [[#misc][Misc]] + - [[#cbatticon][cbatticon]] - [[#manual-tasks-after-tangling][Manual Tasks after tangling]] -- [[#other-todos][Other TODOs]] - - [[#configure-bitwarden-via-config-file][configure Bitwarden via config file]] - - [[#add-firefox-user-via-updatesh][add Firefox user via update.sh]] * Prerequisites - Completed Arch Linux Installation @@ -305,15 +328,14 @@ We start by simply defining the standard headers used by the three files. These #+end_src * Package Management -** Arch and AUR Packages -*** Yay -**** Prerequisites +** Yay +*** Prerequisites #+begin_src conf :tangle pkg-list.txt git base-devel #+end_src -**** Installation +*** Installation General Package Management is done via [[https://github.com/Jguer/yay][Yay]]. ~update.sh~ will install it if needed. #+begin_src shell :tangle update.sh @@ -2837,6 +2859,30 @@ gtk-font-name = UbuntuMono Nerd Font 11 @import "gruvbox-common.rasi" #+end_src +* Bluetooth +** Installation +#+begin_src shell :tangle pkg-list.txt +bluez +bluez-utils +#+end_src +** Activate systemd Service +#+begin_src shell :tangle update.sh +systemd_service="bluetooth" +if ! systemctl is-enabled --quiet "$systemd_service"; then + echo "Enabling $systemd_service" + sudo systemctl enable "$systemd_service" + sudo systemctl start "$systemd_service" +fi +#+end_src +** Blueman Applet +*** Installtion +#+begin_src shell :tangle pkg-list.txt +blueman +#+end_src +*** Autostart +#+begin_src shell :tangle ~/.autostart.sh +blueman-applet & +#+end_src * Git ** Installation #+begin_src conf :tangle pkg-list.txt @@ -2920,6 +2966,133 @@ bitwarden #+begin_src conf :tangle pkg-list.txt inkscape #+end_src +* PCManFM +** Installation +#+begin_src shell :tangle pkg-list.txt +pcmanfm-gtk3 +#+end_src +** Automount USB +#+begin_src shell :tangle pkg-list.txt +udiskie +#+end_src +#+begin_src shell :tangle ~/.autostart.sh +udsikie -t & +#+end_src +** Trash Support +#+begin_src shell :tangle pkg-list.txt +gvfs +#+end_src +** [[https://en.wikipedia.org/wiki/Server_Message_Block][SMB]] Support +#+begin_src shell :tangle pkg-list.txt +gvfs-smb +#+end_src +** [[https://en.wikipedia.org/wiki/Media_Transfer_Protocol][MTP]] Support +#+begin_src shell :tangle pkg-list.txt +gvfs-mtp +#+end_src +* Thunderbird +** Installation +#+begin_src shell :tangle pkg-list.txt +thunderbird +#+end_src +** Autostart +#+begin_src shell :tangle ~/.autostart.sh +thunderbird & +#+end_src +** TODO Config +* Redshift +[[https://wiki.archlinux.org/title/Redshift][Redshift]] is a blue light filter +** Installation +#+begin_src shell :tangle pkg-list.txt +redshift +#+end_src +** Autostart +#+begin_src shell :tangle ~/.autostart.sh +redshift-gtk -t 6500:3600 & +#+end_src +** Automatic Location Configuration +Uses [[https://gitlab.freedesktop.org/geoclue/geoclue][Geoclue]] to access the current location +#+begin_src shell :tangle pkg-list.txt +geoclue +#+end_src +This requires a systemd service to allow access (see [[https://wiki.archlinux.org/title/Redshift#Automatic_location_based_on_GeoClue2][Arch Linux Wiki]]) +#+begin_src conf :tangle ~/.config/systemd/user/geoclue-agent.service :mkdirp yes +# DO NOT EDIT THIS FILE DIRECTLY +# This is a file generated from a literate programing source file +# You should make any changes there and regenerate it from Emacs org-mode +# using org-babel-tangle (C-c C-v t) + +[Unit] +Description=redshift needs to get a (geo)clue + +[Service] +ExecStart=/usr/lib/geoclue-2.0/demos/agent + +[Install] +WantedBy=default.target +#+end_src +The service needs to be enabled +#+begin_src shell :tangle update.sh +systemd_service="geoclue-agent" +if ! systemctl --user is-enabled --quiet "$systemd_service"; then + echo "Enabling $systemd_service" + systemctl --user enable "$systemd_service" + systemctl --user start "$systemd_service" +fi +#+end_src + +* frpint +[[https://www.freedesktop.org/wiki/Software/fprint/][fprint]] enables authorization via fingerprint +** Installation +#+begin_src shell :tangle pkg-list.txt +fprintd +#+end_src +** Add User to input Group +#+begin_src shell :tangle update.sh +groupname="input" +# Add the current user to the group if not already a member +if ! groups "$USER" | grep -q "\b$groupname\b"; then + echo "Adding user $USER to group $groupname" + sudo usermod -aG "$groupname" "$USER" + if [ $? -eq 0 ]; then + echo "User $USER added to group $groupname successfully." + else + echo "Failed to add user $USER to group $groupname." + fi +fi +#+end_src +** Authentication Agent +#+begin_src shell :tangle pkg-list.txt +lxsession-gtk3 +#+end_src +#+begin_src shell :tangle ~/.autostart.sh +lxpolkit & +#+end_src +** enroll both hands if no fingers are enrolled +#+begin_src shell :tangle update.sh +if fprintd-list $USER | grep -q "no fingers enrolled"; then + echo "No fingerprints are enrolled. Enrolling all fingers..." + for finger in {left,right}-{thumb,{index,middle,ring,little}-finger}; do + fprintd-enroll -f "$finger" "$USER" + done +fi +#+end_src + +* Misc +** cbatticon +*** Installation +#+begin_src shell :tangle pkg-list.txt +cbatticon +#+end_src +*** Autostart on Laptop +#+begin_src shell :tangle ~/.autostart.sh +# Use hostnamectl to get system information +chassis_type=$(hostnamectl status | grep "Chassis:" | awk '{print $2}') +# Check if the chassis type is "laptop" +if [ "$chassis_type" == "laptop" ]; then + cbatticon & +fi +#+end_src * Manual Tasks after tangling 1. run ~update.sh~ 2. log out and back in to update group permissions