|
|
|
@@ -31,11 +31,11 @@
|
|
|
|
|
- [[#build-tools][Build Tools]]
|
|
|
|
|
- [[#system-locale][System Locale]]
|
|
|
|
|
- [[#keyboard-layout][Keyboard Layout]]
|
|
|
|
|
- [[#ntp][NTP]]
|
|
|
|
|
- [[#system-time][System Time]]
|
|
|
|
|
- [[#audio][Audio]]
|
|
|
|
|
- [[#additional-firmware][Additional Firmware]]
|
|
|
|
|
- [[#ntfs-compatibility][NTFS Compatibility]]
|
|
|
|
|
- [[#timeshift][Timeshift]]
|
|
|
|
|
- [[#backup][Backup]]
|
|
|
|
|
- [[#desktop-environments-and-window-manager][Desktop Environments and Window Manager]]
|
|
|
|
|
- [[#lightdm][LightDM]]
|
|
|
|
|
- [[#xfce][Xfce]]
|
|
|
|
@@ -54,7 +54,7 @@
|
|
|
|
|
- [[#vscode][VSCode]]
|
|
|
|
|
- [[#neovim][NeoVim]]
|
|
|
|
|
- [[#browser][Browser]]
|
|
|
|
|
- [[#brave][Brave]]
|
|
|
|
|
- [[#firefox][Firefox]]
|
|
|
|
|
- [[#chromium][Chromium]]
|
|
|
|
|
- [[#tor][TOR]]
|
|
|
|
|
- [[#shells][Shells]]
|
|
|
|
@@ -150,6 +150,9 @@
|
|
|
|
|
- [[#xclip][XClip]]
|
|
|
|
|
- [[#yt-dlp][yt-dlp]]
|
|
|
|
|
- [[#zip][zip]]
|
|
|
|
|
- [[#7zip][7zip]]
|
|
|
|
|
- [[#openvpn][openvpn]]
|
|
|
|
|
- [[#reflector][Reflector]]
|
|
|
|
|
- [[#misc][Misc]]
|
|
|
|
|
- [[#latex-1][LaTeX]]
|
|
|
|
|
- [[#cups][CUPS]]
|
|
|
|
@@ -177,6 +180,7 @@
|
|
|
|
|
- [[#portfolio-performance][Portfolio Performance]]
|
|
|
|
|
- [[#steam][Steam]]
|
|
|
|
|
- [[#hugo][Hugo]]
|
|
|
|
|
- [[#qgis][QGis]]
|
|
|
|
|
- [[#manual-tasks-after-tangling][Manual Tasks after tangling]]
|
|
|
|
|
- [[#other-todos][Other TODOs]]
|
|
|
|
|
- [[#dunst][dunst]]
|
|
|
|
@@ -555,7 +559,7 @@ for PACKAGE in $INSTALLED_PACKAGES; do
|
|
|
|
|
if ! echo "$KEEP_LIST" | grep -q "^$PACKAGE$"; then
|
|
|
|
|
echo "Removing package: $PACKAGE"
|
|
|
|
|
# Uncomment the following line to actually remove the package
|
|
|
|
|
yay -Rns --noconfirm "$PACKAGE"
|
|
|
|
|
yay -Rns "$PACKAGE"
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
#+end_src
|
|
|
|
@@ -662,7 +666,8 @@ if ! localectl status | grep -q "X11 Layout.*de"; then
|
|
|
|
|
sudo localectl set-x11-keymap --no-convert de
|
|
|
|
|
fi
|
|
|
|
|
#+end_src
|
|
|
|
|
** NTP
|
|
|
|
|
** System Time
|
|
|
|
|
*** NTP
|
|
|
|
|
#+begin_src shell :tangle update.sh
|
|
|
|
|
systemd_service="systemd-timesyncd"
|
|
|
|
|
if ! systemctl is-enabled --quiet "$systemd_service"; then
|
|
|
|
@@ -670,6 +675,19 @@ if ! systemctl is-enabled --quiet "$systemd_service"; then
|
|
|
|
|
sudo systemctl enable "$systemd_service"
|
|
|
|
|
fi
|
|
|
|
|
#+end_src
|
|
|
|
|
*** Automatic Time Zone Update
|
|
|
|
|
As per the [[https://wiki.archlinux.org/title/NetworkManager#Automatically_set_the_timezone][Arch Wiki]] the following script automatically updates the timezone when the Network Manager connects to the web.
|
|
|
|
|
#+begin_src bash :tangle "/sudo::/etc/NetworkManager/dispatcher.d/09-timezone" :shebang #!/bin/sh
|
|
|
|
|
# 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)
|
|
|
|
|
case "$2" in
|
|
|
|
|
connectivity-change)
|
|
|
|
|
timedatectl set-timezone "$(curl --fail https://ipapi.co/timezone)"
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
** Audio
|
|
|
|
|
#+begin_src shell :tangle pkg-list.txt
|
|
|
|
@@ -701,10 +719,13 @@ amd-ucode
|
|
|
|
|
#+begin_src conf :tangle pkg-list.txt
|
|
|
|
|
ntfs-3g
|
|
|
|
|
#+end_src
|
|
|
|
|
** Timeshift
|
|
|
|
|
** Backup
|
|
|
|
|
*** Timeshift
|
|
|
|
|
utility for backing up system files
|
|
|
|
|
#+begin_src conf :tangle pkg-list.txt
|
|
|
|
|
timeshift
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
* Desktop Environments and Window Manager
|
|
|
|
|
** [[https://wiki.archlinux.org/title/LightDM][LightDM]]
|
|
|
|
|
install the required packages
|
|
|
|
@@ -857,6 +878,10 @@ picom
|
|
|
|
|
# You should make any changes there and regenerate it from Emacs org-mode
|
|
|
|
|
# using org-babel-tangle (C-c C-v t)
|
|
|
|
|
|
|
|
|
|
#+end_src
|
|
|
|
|
***** Backend
|
|
|
|
|
#+begin_src conf :tangle ~/.config/picom/picom.conf :mkdirp yes
|
|
|
|
|
backend = "glx";
|
|
|
|
|
#+end_src
|
|
|
|
|
***** Shadows
|
|
|
|
|
disable shadow
|
|
|
|
@@ -1063,7 +1088,8 @@ from defines import red_color, light_red_color, green_color, light_green_color,
|
|
|
|
|
#+begin_src python :tangle ~/.config/qtile/config.py :mkdirp yes
|
|
|
|
|
def workspace_status_widgets(size, fontsize):
|
|
|
|
|
return [
|
|
|
|
|
widget.CurrentLayoutIcon(
|
|
|
|
|
widget.CurrentLayout(
|
|
|
|
|
mode='icon',
|
|
|
|
|
scale = 0.9,
|
|
|
|
|
),
|
|
|
|
|
widget.TextBox(
|
|
|
|
@@ -1474,9 +1500,6 @@ dropdown_groups_info.append((name,
|
|
|
|
|
['mod1','control'],'a'))
|
|
|
|
|
#+end_src
|
|
|
|
|
***** DropDown [[https://wiki.archlinux.org/title/PCManFM][PCManFM]]
|
|
|
|
|
#+begin_src conf :tangle pkg-list.txt
|
|
|
|
|
pcmanfm-gtk3
|
|
|
|
|
#+end_src
|
|
|
|
|
#+begin_src python :tangle ~/.config/qtile/config.py :mkdirp yes
|
|
|
|
|
name = 'filemanager'
|
|
|
|
|
dropdown_groups_info.append((name,
|
|
|
|
@@ -1488,9 +1511,6 @@ dropdown_groups_info.append((name,
|
|
|
|
|
['mod1','control'],'e'))
|
|
|
|
|
#+end_src
|
|
|
|
|
***** [[https://bitwarden.com/][Bitwarden]]
|
|
|
|
|
#+begin_src conf :tangle pkg-list.txt
|
|
|
|
|
bitwarden
|
|
|
|
|
#+end_src
|
|
|
|
|
#+begin_src python :tangle ~/.config/qtile/config.py :mkdirp yes
|
|
|
|
|
name = 'Bitwarden'
|
|
|
|
|
dropdown_groups_info.append((name,
|
|
|
|
@@ -1502,14 +1522,11 @@ dropdown_groups_info.append((name,
|
|
|
|
|
['mod1','control'],'p'))
|
|
|
|
|
#+end_src
|
|
|
|
|
***** WhatsApp
|
|
|
|
|
#+begin_src conf :tangle pkg-list.txt
|
|
|
|
|
whatsapp-for-linux
|
|
|
|
|
#+end_src
|
|
|
|
|
#+begin_src python :tangle ~/.config/qtile/config.py :mkdirp yes
|
|
|
|
|
name = 'WhatsApp'
|
|
|
|
|
dropdown_groups_info.append((name,
|
|
|
|
|
DropDown(name,
|
|
|
|
|
'wasistlos',
|
|
|
|
|
'zapzap',
|
|
|
|
|
height = 0.5,
|
|
|
|
|
width = 0.8,
|
|
|
|
|
x = .1,
|
|
|
|
@@ -1520,9 +1537,6 @@ dropdown_groups_info.append((name,
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
***** [[https://www.signal.org/][Signal]]
|
|
|
|
|
#+begin_src conf :tangle pkg-list.txt
|
|
|
|
|
signal-desktop
|
|
|
|
|
#+end_src
|
|
|
|
|
#+begin_src python :tangle ~/.config/qtile/config.py :mkdirp yes
|
|
|
|
|
name = 'Signal'
|
|
|
|
|
dropdown_groups_info.append((name,
|
|
|
|
@@ -1828,16 +1842,13 @@ keys.extend([
|
|
|
|
|
Key([mod],"t", lazy.spawn(term), desc="Launch terminal"),
|
|
|
|
|
])
|
|
|
|
|
#+end_src
|
|
|
|
|
***** Brave
|
|
|
|
|
***** Browser
|
|
|
|
|
#+begin_src python :tangle ~/.config/qtile/config.py :mkdirp yes
|
|
|
|
|
keys.extend([
|
|
|
|
|
Key([mod],"b", lazy.spawn("brave"),desc="Launch Brave Browser"),
|
|
|
|
|
Key([mod],"b", lazy.spawn("firefox"),desc="Launch Browser"),
|
|
|
|
|
])
|
|
|
|
|
#+end_src
|
|
|
|
|
***** PCManFM
|
|
|
|
|
#+begin_src conf :tangle pkg-list.txt
|
|
|
|
|
pcmanfm-gtk3
|
|
|
|
|
#+end_src
|
|
|
|
|
#+begin_src python :tangle ~/.config/qtile/config.py :mkdirp yes
|
|
|
|
|
keys.extend([
|
|
|
|
|
Key([mod],"e", lazy.spawn("pcmanfm"),desc="Launch pcmanfm"),
|
|
|
|
@@ -2245,8 +2256,7 @@ autorandr
|
|
|
|
|
#+end_src
|
|
|
|
|
**** Configuration
|
|
|
|
|
***** Config File Header
|
|
|
|
|
#+begin_src shell :mkdirp yes :tangle ~/.config/autorandr/postswitch
|
|
|
|
|
#!/bin/sh
|
|
|
|
|
#+begin_src shell :mkdirp yes :tangle ~/.config/autorandr/postswitch :shebang #!/bin/sh
|
|
|
|
|
# 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
|
|
|
|
@@ -2258,16 +2268,17 @@ autorandr
|
|
|
|
|
sleep 1
|
|
|
|
|
qtile cmd-obj -o cmd -f restart
|
|
|
|
|
#+end_src
|
|
|
|
|
make the postswitch file executable
|
|
|
|
|
#+begin_src shell :tangle update.sh
|
|
|
|
|
FILE="$HOME/.config/autorandr/postswitch"
|
|
|
|
|
|
|
|
|
|
# Check if the file is already executable
|
|
|
|
|
if [ ! -x "$FILE" ]; then
|
|
|
|
|
echo "Making $FILE script executable"
|
|
|
|
|
chmod +x "$FILE"
|
|
|
|
|
fi
|
|
|
|
|
#+end_src
|
|
|
|
|
# make the postswitch file executable
|
|
|
|
|
# #+begin_src shell :tangle update.sh
|
|
|
|
|
# FILE="$HOME/.config/autorandr/postswitch"
|
|
|
|
|
|
|
|
|
|
# # Check if the file is already executable
|
|
|
|
|
# if [ ! -x "$FILE" ]; then
|
|
|
|
|
# echo "Making $FILE script executable"
|
|
|
|
|
# chmod +x "$FILE"
|
|
|
|
|
# fi
|
|
|
|
|
# #+end_src
|
|
|
|
|
|
|
|
|
|
* Doom Emacs
|
|
|
|
|
** Installation
|
|
|
|
@@ -2606,7 +2617,7 @@ fi
|
|
|
|
|
*** mu
|
|
|
|
|
**** Installation
|
|
|
|
|
#+begin_src config :tangle pkg-list.txt
|
|
|
|
|
mu
|
|
|
|
|
mu-git
|
|
|
|
|
#+end_src
|
|
|
|
|
***** Initialize if needed
|
|
|
|
|
#+begin_src shell :tangle update.sh
|
|
|
|
@@ -2962,7 +2973,7 @@ github.copilot-chat
|
|
|
|
|
#+end_src
|
|
|
|
|
***** Configure to use the gnome-keyring
|
|
|
|
|
As desribed in [[https://github.com/microsoft/vscode/issues/187338][this Github issue]] it is sometimes necessary to modify VSCode's argv.json
|
|
|
|
|
#+begin_src js :tangle ~/.vscode/argv.json
|
|
|
|
|
#+begin_src js :tangle ~/.vscode/argv.json :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
|
|
|
|
@@ -3065,10 +3076,10 @@ fi
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
* Browser
|
|
|
|
|
** Brave
|
|
|
|
|
** Firefox
|
|
|
|
|
*** Installation
|
|
|
|
|
#+begin_src config :tangle pkg-list.txt
|
|
|
|
|
brave-bin
|
|
|
|
|
firefox
|
|
|
|
|
#+end_src
|
|
|
|
|
** Chromium
|
|
|
|
|
It's always good to have a backup browser
|
|
|
|
@@ -3146,6 +3157,7 @@ fi
|
|
|
|
|
**** Installation
|
|
|
|
|
#+begin_src conf :tangle pkg-list.txt
|
|
|
|
|
curl
|
|
|
|
|
python-argcomplete
|
|
|
|
|
#+end_src
|
|
|
|
|
Install if needed
|
|
|
|
|
Notes:
|
|
|
|
@@ -3167,6 +3179,10 @@ fi
|
|
|
|
|
#+end_src
|
|
|
|
|
**** Basic Configuration
|
|
|
|
|
#+begin_src shell :tangle ~/.zshrc
|
|
|
|
|
autoload -U bashcompinit
|
|
|
|
|
bashcompinit
|
|
|
|
|
eval "$(register-python-argcomplete pipenv)"
|
|
|
|
|
|
|
|
|
|
export ZSH="$HOME/.oh-my-zsh"
|
|
|
|
|
|
|
|
|
|
# Uncomment the following line to use case-sensitive completion.
|
|
|
|
@@ -3252,7 +3268,7 @@ plugins=(
|
|
|
|
|
isodate
|
|
|
|
|
nmap
|
|
|
|
|
pip
|
|
|
|
|
pipenv
|
|
|
|
|
# pipenv
|
|
|
|
|
python
|
|
|
|
|
rsync
|
|
|
|
|
svn
|
|
|
|
@@ -3536,7 +3552,7 @@ gruvbox-dark-gtk
|
|
|
|
|
papirus-icon-theme
|
|
|
|
|
#+end_src
|
|
|
|
|
*** GTK 3
|
|
|
|
|
#+begin_src conf :tangle ~/.config/gtk-3.0/settings.ini
|
|
|
|
|
#+begin_src conf :tangle ~/.config/gtk-3.0/settings.ini :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
|
|
|
|
@@ -3548,7 +3564,7 @@ gtk-theme-name = gruvbox-dark-gtk
|
|
|
|
|
gtk-font-name = UbuntuMono Nerd Font 11
|
|
|
|
|
#+end_src
|
|
|
|
|
*** GTK 4
|
|
|
|
|
#+begin_src conf :tangle ~/.config/gtk-4.0/settings.ini
|
|
|
|
|
#+begin_src conf :tangle ~/.config/gtk-4.0/settings.ini :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
|
|
|
|
@@ -3821,7 +3837,7 @@ bitwarden
|
|
|
|
|
* PCManFM
|
|
|
|
|
** Installation
|
|
|
|
|
#+begin_src shell :tangle pkg-list.txt
|
|
|
|
|
pcmanfm-gtk3
|
|
|
|
|
pcmanfm
|
|
|
|
|
#+end_src
|
|
|
|
|
** Automount USB
|
|
|
|
|
#+begin_src shell :tangle pkg-list.txt
|
|
|
|
@@ -3914,7 +3930,7 @@ fi
|
|
|
|
|
#+end_src
|
|
|
|
|
** Authentication Agent
|
|
|
|
|
#+begin_src shell :tangle pkg-list.txt
|
|
|
|
|
lxsession-gtk3
|
|
|
|
|
lxsession
|
|
|
|
|
#+end_src
|
|
|
|
|
#+begin_src shell :tangle ~/.autostart.sh
|
|
|
|
|
lxpolkit &
|
|
|
|
@@ -3985,12 +4001,7 @@ thunderbird &
|
|
|
|
|
|
|
|
|
|
** WhatsApp
|
|
|
|
|
#+begin_src shell :tangle pkg-list.txt
|
|
|
|
|
whatsapp-for-linux
|
|
|
|
|
#+end_src
|
|
|
|
|
*** Fix Webkit2GTK
|
|
|
|
|
for more information see [[https://github.com/tauri-apps/tauri/issues/9304][this Github issue]]
|
|
|
|
|
#+begin_src conf :tangle "/sudo::/etc/environment"
|
|
|
|
|
WEBKIT_DISABLE_DMABUF_RENDERER=1
|
|
|
|
|
zapzap
|
|
|
|
|
#+end_src
|
|
|
|
|
** signal
|
|
|
|
|
#+begin_src shell :tangle pkg-list.txt
|
|
|
|
@@ -4159,11 +4170,26 @@ xclip
|
|
|
|
|
** [[https://github.com/yt-dlp/yt-dlp][yt-dlp]]
|
|
|
|
|
#+begin_src shell :tangle pkg-list.txt
|
|
|
|
|
yt-dlp
|
|
|
|
|
yt-dlp-ejs
|
|
|
|
|
#+end_src
|
|
|
|
|
** zip
|
|
|
|
|
#+begin_src shell :tangle pkg-list.txt
|
|
|
|
|
zip
|
|
|
|
|
#+end_src
|
|
|
|
|
** 7zip
|
|
|
|
|
#+begin_src config :tangle pkg-list.txt
|
|
|
|
|
7zip
|
|
|
|
|
#+end_src
|
|
|
|
|
** openvpn
|
|
|
|
|
#+begin_src config :tangle pkg-list.txt
|
|
|
|
|
openvpn
|
|
|
|
|
networkmanager-openvpn
|
|
|
|
|
#+end_src
|
|
|
|
|
** [[reflector][Reflector]]
|
|
|
|
|
A tool for updating the mirror list
|
|
|
|
|
#+begin_src config :tangle pkg-list.txt
|
|
|
|
|
reflector
|
|
|
|
|
#+end_src
|
|
|
|
|
* Misc
|
|
|
|
|
** LaTeX
|
|
|
|
|
*** TeX Live
|
|
|
|
@@ -4212,7 +4238,6 @@ texlive-xetex
|
|
|
|
|
*** Pympress
|
|
|
|
|
#+begin_src shell :tangle pkg-list.txt
|
|
|
|
|
python-pympress
|
|
|
|
|
python-vlc
|
|
|
|
|
#+end_src
|
|
|
|
|
** [[https://openprinting.github.io/cups/][CUPS]]
|
|
|
|
|
#+begin_src shell :tangle pkg-list.txt
|
|
|
|
@@ -4294,7 +4319,7 @@ teamviewer
|
|
|
|
|
#+end_src
|
|
|
|
|
** Anki
|
|
|
|
|
#+begin_src shell :tangle pkg-list.txt
|
|
|
|
|
anki-bin
|
|
|
|
|
anki
|
|
|
|
|
#+end_src
|
|
|
|
|
** [[https://www.freecad.org/][FreeCAD]]
|
|
|
|
|
#+begin_src conf :tangle pkg-list.txt
|
|
|
|
@@ -4323,15 +4348,21 @@ Install the basic requirements
|
|
|
|
|
#+begin_src config :tangle pkg-list.txt
|
|
|
|
|
hugo
|
|
|
|
|
#+end_src
|
|
|
|
|
** [[https://qgis.org][QGis]]
|
|
|
|
|
A tool for editing GPS data
|
|
|
|
|
#+begin_src config :tangle pkg-list.txt
|
|
|
|
|
qgis
|
|
|
|
|
#+end_src
|
|
|
|
|
* Manual Tasks after tangling
|
|
|
|
|
1. run ~update.sh~
|
|
|
|
|
2. log out and back in to update group permissions
|
|
|
|
|
3. setup Nextcloud sync directories
|
|
|
|
|
4. sign into Bitwarden
|
|
|
|
|
5. add Brave Browser Sync
|
|
|
|
|
6. configure networks
|
|
|
|
|
- [[https://www.scc.kit.edu/dienste/7181.php][eduroam]]
|
|
|
|
|
7. add message service accounts
|
|
|
|
|
5. Setup Firefox
|
|
|
|
|
- [ ] enable Sync
|
|
|
|
|
- [ ] Hide Titlebar ([[https://dev.to/jakariyaaa/how-to-create-and-use-userchromecss-in-firefox-26g7][Tutorial]])
|
|
|
|
|
- [ ] Style TreeStyleTabs ([[https://github.com/piroor/treestyletab/wiki/Code-snippets-for-custom-style-rules#full-auto-showhide-theme][Manual]])
|
|
|
|
|
6. add message service accounts
|
|
|
|
|
- [ ] WhatsApp
|
|
|
|
|
- [ ] Slack
|
|
|
|
|
- [ ] Signal
|
|
|
|
|