* Step-by-step recap ** Setup keyboard Turn CapsLock key into Control (cf. keyboard(5)): - add =ctrl:nocaps= to =XKBOPTIONS= in =/etc/default/keyboard= - run =udevadm trigger --subsystem-match=input --action=change= - run =setupcon= in a TTY ** Setup package repositories - use HTTPS rather than HTTP - add bacpkports - add non-free repositories - change security.debian.org to deb.debian.org ** Install stuff *** Distro-provided packages #+begin_src sh packages=( # To clone & update dotfiles. git # Look & feel. elementary-xfce-icon-theme greybird-gtk-theme # Enable volume management with Thunar. gvfs-backends gvfs-fuse # Enable touchpad configuration with XFCE. xserver-xorg-input-synaptics # System monitoring. htop powertop wavemon # Documentation: # - info pages, gcc-doc make-doc tar-doc info # - manpages, manpages-dev manpages-posix manpages-posix-dev # - text & HTML pages. git-doc python3-doc # Writing helpers. aspell-fr verbiste wordnet # CLI helpers. mlocate ripgrep vim # Fonts. fonts-noto-color-emoji # Miscellaneous applications. ffmpeg gimp pandoc vlc ) sudo apt install ${packages[@]} #+end_src *** Latest and greatest **** Firefox - download most recent release from from - unpack it =$SOMEWHERE= - make sure everyone can find it: #+BEGIN_SRC sh $ sudo update-alternatives --install $(which x-www-browser) x-www-browser \ ${SOMEWHERE}/firefox/firefox 1 $ sudo update-alternatives --set x-www-browser ${SOMEWHERE}/firefox/firefox $ ln -s ${SOMEWHERE}/firefox/firefox ~/.local/bin/ #+END_SRC - paste backuped profile into =~/.mozilla/firefox/${profile}= **** Symbola - grab the archive from - drop the TTF files in =~/.local/share/fonts= - run =fc-cache -fv= **** youtube-dl #+begin_src sh $ sudo apt install python3-pip $ pip3 install --user youtube-dl #+end_src ** Setup dotfiles *** Clone versioned dotfiles - create new SSH key for GitLab - follow instructions in dotfiles README *** Tweak non-versioned dotfiles - set EMAIL in .profile - add =~/.local/bin= to PATH - copy .profile to .xsessionrc - in .bashrc - enable globstar and autocd - uncomment grep and ls aliases - source =~/.bash_prompt= ** Setup Emacs - clone from Savannah - =apt build-dep emacs= - =apt install libjansson-dev libwebkit2gtk-4.0-dev= (optional build dependencies for ≥27) - comment out .emacs below =(load custom-file)= #+begin_src elisp (package-refresh-contents) (package-install-selected-packages) #+end_src ** Setup XFCE *** Appearance **** Style Greybird **** Icons elementary Xfce darker **** Fonts - Default Font: Sans 9 - Default Monospace Font: Monospace 9 - Rendering - [X] Enable anti-aliasing - Hinting: Slight - Sub-pixel order: RGB (trusting the [[http://www.lagom.nl/lcd-test/subpixel.php][Lagom LCD test pages]]) *** File Manager **** View - Side Pane: Tree - View as Detailed List *** Panel **** Top panel ***** Display - Row Size: 24px ***** Items ****** Whisker Menu ****** Window Buttons ****** Separator ****** Workspace Switcher ****** Power Manager Plugin - Show label: None ****** Notification Area ****** PulseAudio Plugin ****** Clock Format: Custom format: =%d %b, %R= *** Window Manager **** Style - Theme: Greybird-compact **** Keyboard - Move window to previous workspace: Shift+Super+Left - Move window to next workspace: Shift+Super+Right - Tile window to the left: Super+Left - Tile window to the right: Super+Right - Show desktop: Super+D *** Window Manager Tweaks **** Accessibility - [X] Hide title of windows when maximized **** Compositor - [ ] Show shadows under docker windows *** Terminal **** General - Scrolling - [ ] Scroll on output - Scrollbar is: Disabled - [X] Unlimited scrollback **** Appearance - Font - [X] Use system font - Opening New Windows - [ ] Display menubar in new windows **** Advanced - Shortcuts - [X] Disable all menu access keys (such as Alt+f) /for readline/ - [X] Disable menu shortcut key (F10 by default) /for htop & wavemon/ - [X] Disable help window shortcut key (F1 by default) /for htop & wavemon/ - Misc - [X] Automatically copy selection to clipboard *** Keyboard **** Application shortcuts - emacs: Super+E - exo-open --launch FileManager: Super+F - exo-open --launch TerminalEmulator: Super+T - exo-open --launch WebBrowser: Super+W - xfce4-popup-whiskermenu: Alt+F1 - xfce4-screenshooter: Print - xfce4-screenshooter --fullscreen: Shift+Print - xfce4-screenshooter --region: Control+Print - xfce4-screenshooter --window: Super+Print - xfce4-session-logout: Super+X - xflock4: Super+L *** Mouse and Touchpad - General - [X] Disable touchpad while typing - Duration: 0.5s - [X] Tap touchpad to click *** Power Manager **** General - Laptop Lid - When laptop lid is closed - On battery: Suspend - Plugged in: Suspend *** Removable Drives and Media **** Storage - [X] Mount removable drives when hot-plugged - [X] Mount removable media when inserted ** Setup more stuff *** lightdm Show my account on startup: #+BEGIN_SRC conf # /usr/share/lightdm/lightdm.conf.d/99_custom.conf [Seat:*] greeter-hide-users=false #+END_SRC *** system groups #+begin_src sh groups=( adm # Access /var/log journals. dialout # Sync my phone. ) for g in ${groups[@]} do sudo adduser ${USER} ${g} done #+end_src * Live reactions ** Samsung NC10 *** installer Touchpad is not recognized, for some reason. *** first boot #+BEGIN_QUOTE A start job is running for Load AppArmor profiles #+END_QUOTE Disappeared after ≈30s 🤷 Wooh touchpad works! Although the sensitivity is a bit low. *NB: solved below.* Wifi LED is on, whatever that means. Brightness function keys do not work on the login screen. Using default XFCE config to get four workspaces. Brightness and sound function keys work! 🙌 Touchpad click and scroll do not work. *NB: solved below.* Wifi function key does not work. Battery life seems somewhat shorter than with Bunsenlabs, even after applying all powertop tricks in the book. *** apt install (1/n) git greybird-gtk-theme elementary-xfce-icon-theme emacs git suggests git-doc: why of course, good idea! emacs suggests emacs-common-non-dfsg: right, what was that again? Documentation, IIRC? What does APT have to say? #+BEGIN_EXAMPLE $ apt show emacs-common-non-dfsg Package: emacs-common-non-dfsg State: not a real package (virtual) N: Can't select candidate version from package emacs-common-non-dfsg as it has no candidate N: Can't select versions from package 'emacs-common-non-dfsg' as it is purely virtual N: No packages found #+END_EXAMPLE … What does https://packages.debian.org/emacs-common-non-dfsg say? #+BEGIN_QUOTE *[non-free]* #+END_QUOTE [[https://www.debian.org/vote/2006/vote_001][Oh.]] Well then, #+BEGIN_SRC sh $ sudo sed -ri 's/^([^#].+ main)$/\1 contrib non-free/' /etc/apt/sources.list $ # While in there… $ sudo sed -ri 's/^(deb|deb-src) http:/\1 https:/' /etc/apt/sources.list #+END_SRC What now? #+BEGIN_EXAMPLE $ sudo apt update […] Err:4 https://security.debian.org/debian-security buster/updates Release Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. The name in the certificate does not match the expected. Could not handshake: Error in the certificate verification. [IP: 217.196.149.233 443] […] E: The repository 'https://security.debian.org/debian-security buster/updates Release' no longer has a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. #+END_EXAMPLE 🤨 #+BEGIN_SRC sh $ sudo sed -ri 's/security\.debian\.org/deb.debian.org/' /etc/apt/sources.list #+END_SRC [[https://wiki.debian.org/SourcesList#Example_sources.list][🤷]] *** tweak dotfiles Set EMAIL in .profile; copy .profile to .xsessionrc (AFAICT XFCE does not read ~/.config/environment.d) to get PATHs. In .bashrc, enable globstar and autocd, uncomment grep and ls aliases, source personal .bash_prompt. Fun fact! git can guess user.email from $EMAIL and user.name from the [[https://en.wikipedia.org/wiki/Gecos_field][GECOS field]]. *** apt install (2/n) #+BEGIN_QUOTE E: Package 'gcc-doc' has no installation candidate #+END_QUOTE gcc-doc is only available in /backports/? *** configure XFCE **** Mouse and Touchpad - Move sliders a bit to no avail, restore defaults. - Google around. - Why do my XFCE settings not have this "Touchpad" tab? - apt install xserver-xorg-input-synaptics - Log out and in again. - Woah the pointer is much faster now. - And the "Touchpad" tab is here now! 🎉 **** Panels Remove bottom panel: I'd rather remember a few Super-… shortcuts to launch these applications rather than waste all this vertical space. **** Appearance ***** Style Greybird Patch the xfwm-tabwin style to prevent the mouse from screwing with Alt-Tab: #+BEGIN_SRC diff diff -u /usr/share/themes/Greybird/gtk-2.0/gtkrc.bkp /usr/share/themes/Greybird/gtk-2.0/gtkrc --- /usr/share/themes/Greybird/gtk-2.0/gtkrc.bkp +++ /usr/share/themes/Greybird/gtk-2.0/gtkrc @@ -897,8 +897,8 @@ bg[NORMAL] = shade (0.15, @text_color) bg[ACTIVE] = shade (0.65, @selected_bg_color) - bg[PRELIGHT] = shade (0.75, @selected_bg_color) - bg[SELECTED] = shade (0.55, @bg_color) + bg[PRELIGHT] = shade (0.55, @bg_color) + bg[SELECTED] = shade (0.75, @selected_bg_color) fg[NORMAL] = shade (0.8, @base_color) fg[ACTIVE] = @base_color #+END_SRC *** configure more stuff **** lightdm Debian [[https://wiki.debian.org/LightDM#Enable_user_list][hides the list of users]] on the login screen; Bunsenlabs [[https://github.com/BunsenLabs/bunsen-configs/blob/9.6-1/lightdm.conf.d/50_bunsen.conf][enables it]] and I kind of like it (fewer keystrokes, and a cute avatar). ** Dell 3190 *** groundwork Using instructions from . **** Get netinst image from **** Get firmware archive from So that the installer can use the wireless network card. Extract all .deb files to a top-level =firmware= folder on a USB key. **** Shrink the MS partition Had to "optimize the disk", otherwise some free space remained unavailable. *** installer Everything went smoothly: - if the USB key holding the firmware isn't plugged in, the installer requests it, otherwise it finds the firmware automatically; - Secure Boot supported transparently; - dual-booting too. *** package repositories Non-free repositories automatically added during the installation, because of the WiFi firmware I presume. *** kernel issues **** i915/glk_dmc_ver1_04.bin kern.log: #+begin_quote i915 0000:00:02.0: firmware: failed to load i915/glk_dmc_ver1_04.bin (-2) #+end_quote apt install firmware-misc-nonfree seems to quiet that down. **** i2c_hid_get_input: incomplete report kern.log: #+begin_quote i2c_hid i2c-MSFT0001:00: i2c_hid_get_input: incomplete report (14/65535) #+end_quote About one message for every half-second spent touching the touchpad. "Solved" with: #+begin_src sh $ apt install -t buster-backports \ linux-image-amd64 \ firmware-iwlwifi \ firmware-misc-nonfree #+end_src * Someday ** fix xfce4-terminal opening links with firefox-esr ** fix Thunar opening images with Firefox instead of Ristretto ** fix Ristretto thumbnails ** Samsung NC10 *** fix Ethernet after suspend Workaround: #+BEGIN_SRC sh $ sudo modprobe -r sky2 && sudo modprobe -i sky2 #+END_SRC References: - https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1841304 - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895378 - https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1798921 - https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1809843 - https://askubuntu.com/questions/1029620/ubuntu-18-04-lts-sky2-ethernet-stops-working-after-system-resume-from-suspend - https://bbs.archlinux.org/viewtopic.php?id=234725