added bluetooth, battery and began fprint

This commit is contained in:
paul-loedige
2024-02-20 00:56:15 +01:00
parent c8b32226d8
commit badfefb0ce
+186 -13
View File
@@ -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