Files
literate-dotfiles/install.org

1776 lines
57 KiB
Org Mode

#+TITLE: Installation
#+SETUPFILE: ./setup/org-setup-file.org
* =paru= - Package Manager
Installation:
#+begin_src bash
mkdir ~/.local/soft && cd ~/.local/soft
sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si
#+end_src
After that, the =paru= folder may be removed.
* =git= - Version Control System
Installation:
#+begin_src bash
paru -S git
#+end_src
[[file:git.org][Git]] Configuration:
- =~/.gitconfig=
- =~/.gitignore_global=
* =alacritty= - Terminal
[[https://github.com/alacritty/alacritty][Alacritty]] is a very nice keyboard-centric terminal.
It can be installed like so:
#+begin_src bash
paru -S alacritty
#+end_src
Its configuration file is described [[file:alacritty.org][here]].
#+caption: =alacritty= - Cheatsheet
| Command | Usage |
|--------------------+-------------------------|
| =ctrl-shift-x= | activate url hints mode |
| =ctrl-shift-c= | copy to CLIPBOARD |
| =ctrl-shift-v= | paste from CLIPBOARD |
| =ctrl-shift-space= | start selection mode |
| =ctrl += | increase font size |
| =ctrl -= | decrease font size |
Also install =kitty= (better image support)
#+begin_src bash
paru -S kitty
#+end_src
* =bash= - Shell
https://wiki.archlinux.org/index.php/Bash
Installation:
#+begin_src bash
paru -S bash bash-completion zsh
#+end_src
[[file:bash.org][Bash]] configuration:
- =~/.bashrc=
- =~/.bash_profile=
- =~/.config/bash/=
- =~/.profile=
* =tmux= - Terminal Multiplexer
https://github.com/tmux/tmux
Installation:
#+begin_src bash
paru -S tmux
#+end_src
[[file:tmux.org][TMUX]] configuration
Ressources:
- https://github.com/gpakosz/.tmux
- https://gist.github.com/MohamedAlaa/2961058
- https://blog.bugsnag.com/tmux-and-vim/
- https://github.com/tmux-plugins/tmux-resurrect
- https://github.com/rothgar/awesome-tmux
- https://thoughtbot.com/upcase/tmux
#+caption: =tmux= - Cheatsheet
| Command | Usage |
|----------------+-------------------------------|
| =ctrl-spc= | Prefix |
| =c= | New pane |
| =/=, =-= | Split Vertically/Horizontally |
| =s= | Change session |
| =p=, =n= | Previous/Next Pane |
| =ctrl-h,j,k,l= | Move between windows |
* Fonts
My font of choice is =nerd-fonts-hack= which can be installed as so:
#+begin_src bash
paru -S nerd-fonts-hack
#+end_src
For emojis, use:
#+begin_src bash
paru -S noto-fonts-emoji
#+end_src
Default font used:
- Monospace Font: =Hack Nerd Font Mono=
- Serif Font: =Hack Nerd Font=
- Sans Font: =Hack Nerd Font=
To list all fonts available:
#+begin_src bash
fc-list
#+end_src
To select fonts using a GUI, =gtk2fontsel= can be used:
#+begin_src bash
paru -S gtk2fontsel
#+end_src
* =emacs= and =vim= - Text Editors
** Neovim
I use [[https://github.com/neovim/neovim][Neovim]] for all the small edits.
Installation:
#+begin_src bash
paru -S neovim nodejs-neovim python-pynvim
#+end_src
The Neovim configuration can be found [[file:vim.org][here]].
Then install the plugin manager [[https://github.com/junegunn/vim-plug][plug]]:
#+begin_src bash
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
#+end_src
And to install/setup all the plugins:
#+begin_src bash
nvim +PlugInstall
nvim +UpdateRemotePlugins
#+end_src
** Emacs
I use [[https://www.gnu.org/software/emacs/][Emacs]] and the [[https://github.com/hlissner/doom-emacs][Doom]] framework.
Install Emacs:
#+begin_src bash
paru -S emacs-nativecomp
#+end_src
And then the Doom framework:
#+begin_src bash
git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.emacs.d
~/.emacs.d/bin/doom install
#+end_src
The Emacs configuration can be found [[./doom.org][here]].
SpellCheck with Aspell:
#+begin_src bash
paru -S aspell aspell-en aspell-fr
#+end_src
* SSH setup
Generate a new SSH key:
#+begin_src bash
ssh-keygen -t rsa -b 4096 -C "dehaeze.thomas@gmail.com"
#+end_src
Start the ssh-agent in the background:
#+begin_src bash
eval "$(ssh-agent -s)"
#+end_src
Add the SSH key to the ssh-agent:
#+begin_src bash
ssh-add ~/.ssh/id_rsa
#+end_src
* GnuPG
https://gnupg.org/
Install the gnupg package:
#+begin_src bash
paru -S gnupg
#+end_src
Create a key pair:
#+begin_src bash
paru --full-gen-key
#+end_src
To configure the =gpg-agent= to cache the passphrase, edit the following file =~/.local/share/gnupg/gpg-agent.conf=:
#+begin_src conf
default-cache-ttl 60480000
max-cache-ttl 60480000
#+end_src
Install =gnome-keyring= to automatically unlock the GnuPG keys:
#+begin_src bash
paru -S gnome-keyring
#+end_src
* =rofi= - Application Launcher
[[https://github.com/DaveDavenport/rofi][Rofi]] is a very nice alternative to [[https://tools.suckless.org/dmenu/][dmenu]].
Installation:
#+begin_src bash
paru -S dmenu rofi rofi-calc
#+end_src
To be able to run sudo commands with =rofi= ([[https://github.com/DaveDavenport/rofi/issues/584#issuecomment-384555551][github issue]]), the command =sudo -A= can be used: it opens a =rofi= prompt to ask for the password.
For that to work, we need to add the following code to =~/.profile=:
#+begin_src bash
export SUDO_ASKPASS=~/.local/bin/askpass-rofi
#+end_src
The =askpass= script is:
#+begin_src bash
#!/bin/sh
rofi -dmenu \
-password \
-no-fixed-num-lines \
-p "$(printf "$1" | sed s/://)"
#+end_src
* =pass= - Password Manager
https://www.passwordstore.org/
Installation:
#+begin_src bash
paru -S pass
#+end_src
#+begin_src bash
mkdir .config/pass
#+end_src
Initialize the password store as a git repository
#+begin_src bash
cd .config/pass
pass git init
pass git remote add origin https://github.com/tdehaeze/pass.git
#+end_src
Gui Manager: [[https://github.com/IJHack/qtpass][qtpass]]
#+begin_src bash
paru -S qtpass
#+end_src
Integration with Rofi: [[https://github.com/carnager/rofi-pass][rofi-pass]]
#+begin_src bash
paru -S rofi-pass
#+end_src
Then we can add a shortcut to =rofi-pass= on i3 config.
Integration with Git: [[https://github.com/languitar/pass-git-helper][pass-git-helper]]
#+begin_src bash
paru -S pass-git-helper
#+end_src
First, add the relation between repository addresses and entries in =pass=. This is done in the following config file =.config/pass-git-helper/git-pass-mapping.ini=:
#+begin_src
[github.com*]
target=github.com/tdehaeze
#+end_src
Then, add the credential helper on the git configuration file =~/.gitconfig= and add the default username for the repositories adresses.
#+begin_src
[credential]
helper = !pass-git-helper $@
[credential "https://github.com"]
username = tdehaeze
#+end_src
** Integration with other programs
Integrate pass in other programs is usually very easy, here are few examples:
- =~/.msmtprc=:
- =passwordeval "pass email/dehaeze.thomas@gmail.com"=
- =~/.mbsyncrc=
- =PassCmd "pass email/dehaeze.thomas@gmail.com"=
** Alternative - Bitwarden
Bitwarden https://github.com/bitwarden/cli
#+begin_src bash
paru -Ss bitwarden-bin bitwarden-cli-bin
#+end_src
* =qutebrowser= - Browser
https://github.com/qutebrowser/qutebrowser
** Installation
#+begin_src bash
paru -S qutebrowser python-adblock
#+end_src
** View Pdf inside qutebrowser with pdfjs
*** Installation
#+begin_src bash
paru -S pdfjs
#+end_src
*** Usage
When opening a pdf file on qutebrowser, you'll be ask for options:
| Command | Usage |
|------------+-------------------|
| =<return>= | Download the file |
| =Ctrl-x= | Download and open |
| =Ctrl-p= | Open with pdf.js |
| =Alt-y= | Yank the url |
** Integration with Pass: the password manager
Add the key-binding on =~/.config/qutebrowser/config.py=
#+begin_src
config.bind(',p', 'spawn --userscript password_fill')
#+end_src
The =password_fill= script can be found on [[https://github.com/qutebrowser/qutebrowser/blob/master/misc/userscripts/password_fill][github.com]].
It is configured using the =~/.config/qutebrowser/password_fill_rc= file.
** Spell Checking
#+begin_src bash
/usr/share/qutebrowser/scripts/dictcli.py install fr-FR
/usr/share/qutebrowser/scripts/dictcli.py install en-US
#+end_src
* =firefox=
#+begin_src bash
paru -S firefox-developer-edition
#+end_src
Addons:
- [[https://addons.mozilla.org/fr/firefox/addon/ublock-origin/][uBlock Origin]]
- [[https://addons.mozilla.org/en-US/firefox/addon/adblock-plus/][Adblock Plus]]
- [[https://addons.mozilla.org/fr/firefox/addon/bukubrow/][Bukurow]]
- [[https://addons.mozilla.org/fr/firefox/addon/i-dont-care-about-cookies/][I don't care about cookies]]
In order to have passwords:
#+begin_src bash
paru -S passff-host
#+end_src
* =xrandr= - Monitor Manager
#+begin_src bash
paru -S xorg-xrandr arandr
#+end_src
[[https://wiki.archlinux.org/index.php/Xrandr][Xrandr]] is used in shell scripts ([[https://github.com/Ventto/mons][mons]] could be used as a layer on top of Xrandr).
[[https://christian.amsuess.com/tools/arandr/][Arandr]] is a GUI application to manage monitors.
* Music Setup
** =pipewire= - Sound Server
https://wiki.archlinux.org/title/PipeWire
Installation:
#+begin_src bash
paru -S pipewire pipewire-alsa pipewire-audio pipewire-jack pipewire-pulse wireplumber
#+end_src
#+begin_src bash
systemctl --user enable --now pipewire.socket
systemctl --user enable --now pipewire-pulse.socket
systemctl --user enable --now wireplumber.service
#+end_src
** =pwvucontrol= - Sound Manager
=pwvucontrol= is used as a sound manager:
#+begin_src bash
paru -S pwvucontrol
#+end_src
** =mopidy= - Audio Server
https://github.com/mopidy/mopidy
https://medium.com/@theos.space/using-mopidy-with-spotify-and-ncmpcpp-44352f4a2ce8
#+begin_src bash
paru -S mopidy
#+end_src
#+begin_src bash
python3 -m pip install --user mopidy-mpd mopidy-jellyfin mopidy-spotify
#+end_src
If mopidy is used, MPD should be disabled. (=systemctl disable --user mpd.service=)
** =ncmpcpp= - MPD Client
https://wiki.archlinux.org/index.php/Ncmpcpp
Installation:
#+begin_src bash
paru -S ncmpcpp
#+end_src
The main config is located here: =~/.ncmpcpp/config=.
The key bindings can be configured here: =~/.ncmpcpp/bindings=.
* Movies
** =mpv= - Media Player
Installation:
#+begin_src bash
paru -S mpv
#+end_src
The configuration is set in =/.config/mpv/input.conf=.
* Contact Manager
** =khard= - Google Conctacts
https://github.com/scheibler/khard
#+begin_src bash
paru -S khard
#+end_src
This is the command line interface for contact management.
Contact synchronization:
Vdirsyncer is used for contact synchronization with Google.
To search with Khard: =khard <conctact-name>=
** =mu= - Index Emails
#+begin_src bash
paru -S mu
#+end_src
This looks for contacts in all indexed emails.
=mu cfind <name>=
* =redshift=
http://jonls.dk/redshift/
#+begin_src bash
paru -S redshift-minimal
#+end_src
* Mail Setup
[[file:mail.org][Link]] to the mail setup.
** =mbsync= - Synchronize Mailboxes
http://isync.sourceforge.net/
https://wiki.archlinux.org/index.php/Isync
*** Installation
#+begin_src bash
paru -S isync
#+end_src
*** Configuration
=~/.mbsyncrc=
*** Automation using systemd
**** Retreive New mails
- =checkmail=
- =~/.config/systemd/user/checkmail.service=
- =~/.config/systemd/user/checkmail.timer=
#+begin_src bash
systemctl --user enable checkmail.timer
systemctl --user start checkmail.timer
#+end_src
**** Synchronize all the mailboxes
- =~/.config/systemd/user/syncmail.service=
- =~/.config/systemd/user/syncmail.timer=
#+begin_src bash
systemctl --user enable syncmail.timer
systemctl --user start syncmail.timer
#+end_src
** =msmtp= - Send Mails
https://marlam.de/msmtp/
*** Installation
#+begin_src bash
paru -S msmtp
#+end_src
** =mu= - Mail Index, Search and Tagging
https://github.com/djcb/mu
#+begin_src bash
paru -S mu
#+end_src
#+begin_src bash
mu init -m ~/.mail/
mu index
#+end_src
** =neomutt= - Mail Client
https://github.com/neomutt/neomutt
*** Installation
#+begin_src bash
paru -S neomutt
#+end_src
*** Open Url from mail
#+begin_src bash
paru -S urlview
#+end_src
*** Ressources
- http://therandymon.com/woodnotes/mutt/using-mutt.html
- https://ankursinha.in/2017/12/16/transitioning-to-neomutt-and-friends-for-e-mail.html
- https://github.com/LukeSmithxyz/mutt-wizard
** Notification system
A script (=checkmail=) is used to retreive new mails and use =notify=send= is there are new received mails.
* =ranger= and =pcmanfm= - File Manager
Configuration files:
- Terminal based: [[file:ranger.org][Ranger]]
** Ranger
https://github.com/ranger/ranger
*** Installation
#+begin_src bash
paru -S ranger
#+end_src
#+begin_src bash
paru -S dragon-drop
#+end_src
*** Configuration
The configuration file is =~/.config/ranger/rc.conf=.
*** Display pdf
All the display of the files are defined in =~/.config/ranger/scope.sh=.
It seems that Ranger is not working well with Termite. The screen is not refreshing after viewing one image ([[https://github.com/ranger/ranger/issues/859][Github Issue]]).
It works better with Urxvt.
** GUI File Manager: pcmanfm
https://wiki.archlinux.org/index.php/PCManFM
#+begin_src bash
paru -S pcmanfm
#+end_src
* =nsxiv= - Image viewer
https://github.com/nsxiv/nsxiv
** Installation
#+begin_src bash
paru -S nsxiv
#+end_src
** Open Gif
#+begin_src bash
nsxiv -a file.gif
#+end_src
** Cheatsheet
| Command | Usage |
|--------------+--------------------------|
| =-t= | Start in Thumbmail mode |
| =f= | Toggle fullscreen |
| =Return= | Switch to thumbmail mode |
| =<=, =>= | Rotate the image |
| =\vert=, =_= | Flip the image |
| =n=, =p= | Next, Previous image |
* =sxhkd= - HotKey Manager
#+begin_src bash
paru -S sxhkd
#+end_src
Configuration file: [[file:sxhkd.org][SXHKD]].
* =i3= - Windows Manager
[[file:i3.org][Link]] to the documentation
** Installation
#+begin_src bash
paru -S i3-gaps
#+end_src
** Configuration
=~/.i3/config=
* =polybar= - Top Bar
https://polybar.github.io/
[[file:polybar.org][Link]] to the documentation.
** Installation
#+begin_src bash
paru -S polybar
#+end_src
* =picom= - Compositor
https://wiki.archlinux.org/index.php/Picom
[[file:compositor.org][Link]] to the documentation.
** Installation
#+begin_src bash
paru -S picom
#+end_src
** Configuration
=~/.config/picom/picom.conf=
** Automatic run as daemon
Compton is run from =.xprofile= config in the background:
#+begin_src bash
picom --daemon
#+end_src
* =dunst= - Notification Manager
https://github.com/dunst-project/dunst
https://wiki.archlinux.org/index.php/Dunst
** Installation
#+begin_src bash
paru -S dunst
#+end_src
** Configuration
=~/.config/dunst/dunstrc=
** Usage
#+begin_src bash
dunstify --replace=16549 "AppName" "Message"
#+end_src
The number =--replace= can be used with an ID to merge notifications from the
same application for instance.
* Office Suite
** =libreoffice=
#+begin_src bash
paru -S libreoffice-fresh libreoffice-fresh-fr
#+end_src
** only-office
#+begin_src bash
paru -S onlyoffice-bin
#+end_src
* =blueman= - Bluetooth Manager
Bluetooth manager: https://github.com/blueman-project/blueman
#+begin_src bash
paru -S blueman
#+end_src
* =udiskie= - Automatically Mount devices
udiskie - Mount and unmount disks (https://github.com/coldfix/udiskie)
#+begin_src bash
paru -S udiskie
#+end_src
Automatically run =udiskie= on startup.
* LaTeX
Installation
#+begin_src bash
paru -S texlive-most tllocalmgr-git
#+end_src
Biber support for the bibliography:
#+begin_src bash
paru -S biber
#+end_src
Support for source code using minted:
#+begin_src bash
paru -S minted
#+end_src
Every custom class or packages can be put under =~/.local/share/texmf/tex/latex/local/= folder.
In order for LaTeX to be aware of new packages/classes, run =sudo texhash= each time a new custom package is added.
* Matrix - Gomuks
#+begin_src bash
paru -S gomuks
#+end_src
* Syncthing
#+begin_src bash
paru -S syncthing
#+end_src
#+begin_src bash
systemctl --user enable --now syncthing
#+end_src
* Gotify
#+begin_src bash
paru -S gotify-dunst-git
#+end_src
* Custom Systemd Services
Tangle everything in the [[file:systemd.org][Systemd]] config file.
Then enable and start all the services:
#+begin_src bash
systemctl --user enable --now homelab-tunnel
systemctl --user enable --now esrf-tunnel
systemctl --user enable --now syncthing
systemctl --user enable --now vdirsyncer.timer
systemctl --user enable --now syncmail.timer
systemctl --user enable --now checkmail.timer
#+end_src
* Mathematical Software
** Insect
https://github.com/sharkdp/insect
Installation
#+begin_src bash
paru -S insect
#+end_src
| Command | Usage |
|-----------------+--------------|
| =3 m/s to km/h= | Convert Unit |
** Matlab
[[file:matlab.org][Link]] to the configuration.
Download Matlab here: https://fr.mathworks.com/downloads/
Unzip, and run =./install=.
Then, choose the install directory to be =~/.local/soft/Matlab/R2024b=.
If there is a problem when opening a Simulink file, check the solution [[https://fr.mathworks.com/matlabcentral/answers/361053-can-t-reload-usr-local-matlab-r2017b-bin-glnxa64-libmwdastudio-so][here]] or [[https://bbs.archlinux.org/viewtopic.php?id=231299][here]].
Also, there might be a problem with displaying multi-body models.
In such case type =opengl('save', 'software')= (see [[https://fr.mathworks.com/matlabcentral/answers/342906-could-not-initialize-shared-resources-for-x11graphicsdevice][here]]).
To install a new package, run =./install= in =~/.local/soft/Matlab_Install=.
** Matlab - New way of installing
Use [[https://github.com/mathworks-ref-arch/matlab-dockerfile][MPM]] to install Matlab.
#+begin_src bash :eval no
wget https://www.mathworks.com/mpm/glnxa64/mpm
chmod +x ./mpm
./mpm install --inputfile=./mpm_input_r2024b.txt
#+end_src
With the input file:
#+begin_src conf :tangle ~/Downloads/mpm_input_r2024b.txt
########################################################################
## Configuration File for Installing or Downloading R2024b MathWorks Products
########################################################################
##
## Use this file to configure the installation or download of MathWorks
## products and support packages from the command line using the
## MATLAB Package Manager (mpm).
##
## To configure your MATLAB installation or download:
##
## 1. Set configuration parameters by uncommenting lines that
## start with a single '#' and updating the values. The
## comments above each parameter describe the valid values.
##
## 2. Run mpm from the command line, using the --inputfile option
## to specify the full path to this configuration file.
##
## Install products:
## mpm install --inputfile <full_path_to_this_file>
##
## Download products without installing:
## mpm download --inputfile <full_path_to_this_file>
##
## You can download template input files for all supported releases from
## https://github.com/mathworks-ref-arch/matlab-dockerfile/blob/main/MPM.md
##
########################################################################
########################################################################
## RELEASE
########################################################################
##
## By default, mpm gets the latest versions of R2024b MathWorks products
## and support packages using this input file.
##
## To get a specific update for R2024b, set the desired update
## number (for example, 1, 2, 3, and so on) and uncomment the following
## line. An updateLevel of 0 gets the general release.
# updateLevel=0
########################################################################
## INSTALLATION OR DOWNLOAD FOLDER
########################################################################
##
## When installing products using 'mpm install':
##
## Specify the full path to the folder where you want to install the
## products. When adding products or support packages to an
## existing MATLAB installation, specify the full path to the folder
## where MATLAB is installed.
##
## Example:
## (Linux) destinationFolder=/usr/local/MATLAB/RXXXX
## (Windows) destinationFolder=C:\Program Files\MATLAB\RXXXX
## (Mac) destinationFolder=/Applications/MATLAB_RXXXX.app
##
## When downloading products using 'mpm download':
##
## Specify the full path to the folder where you want to download the
## products. For 'mpm download', this option is required.
##
## Example:
## (Linux/Mac) destinationFolder=/home/<USER>/downloads/mathworks
## (Windows) destinationFolder=C:\Users\<USER>\Downloads\MathWorks
##
## Set the desired value for destinationFolder and
## uncomment the following line.
destinationFolder=/home/thomas/.local/soft/Matlab/R2024b
########################################################################
## PRODUCTS
########################################################################
##
## Uncomment the lines for the products you want to install or download.
#product.5G_Toolbox
#product.AUTOSAR_Blockset
#product.Aerospace_Blockset
#product.Aerospace_Toolbox
#product.Antenna_Toolbox
#product.Audio_Toolbox
#product.Automated_Driving_Toolbox
#product.Bioinformatics_Toolbox
#product.Bluetooth_Toolbox
#product.C2000_Microcontroller_Blockset
#product.Communications_Toolbox
#product.Computer_Vision_Toolbox
product.Control_System_Toolbox
product.Curve_Fitting_Toolbox
#product.DDS_Blockset
#product.DSP_HDL_Toolbox
#product.DSP_System_Toolbox
#product.Data_Acquisition_Toolbox
#product.Database_Toolbox
#product.Datafeed_Toolbox
#product.Deep_Learning_HDL_Toolbox
#product.Deep_Learning_Toolbox
#product.Econometrics_Toolbox
#product.Embedded_Coder
#product.Filter_Design_HDL_Coder
#product.Financial_Instruments_Toolbox
#product.Financial_Toolbox
#product.Fixed-Point_Designer
#product.Fuzzy_Logic_Toolbox
#product.GPU_Coder
#product.Global_Optimization_Toolbox
#product.HDL_Coder
#product.HDL_Verifier
#product.Image_Acquisition_Toolbox
#product.Image_Processing_Toolbox
#product.Industrial_Communication_Toolbox
#product.Instrument_Control_Toolbox
#product.LTE_Toolbox
#product.Lidar_Toolbox
product.MATLAB
product.MATLAB_Coder
product.MATLAB_Compiler
#product.MATLAB_Compiler_SDK
product.MATLAB_Parallel_Server
#product.MATLAB_Production_Server
#product.MATLAB_Report_Generator
#product.MATLAB_Test
#product.MATLAB_Web_App_Server
#product.Mapping_Toolbox
#product.Medical_Imaging_Toolbox
#product.Mixed-Signal_Blockset
#product.Model_Predictive_Control_Toolbox
#product.Model-Based_Calibration_Toolbox
#product.Motor_Control_Blockset
#product.Navigation_Toolbox
product.Optimization_Toolbox
product.Parallel_Computing_Toolbox
#product.Partial_Differential_Equation_Toolbox
#product.Phased_Array_System_Toolbox
#product.Polyspace_Bug_Finder
#product.Polyspace_Bug_Finder_Server
#product.Polyspace_Code_Prover
#product.Polyspace_Code_Prover_Server
#product.Polyspace_Test
#product.Powertrain_Blockset
#product.Predictive_Maintenance_Toolbox
#product.RF_Blockset
#product.RF_PCB_Toolbox
#product.RF_Toolbox
#product.ROS_Toolbox
#product.Radar_Toolbox
#product.Reinforcement_Learning_Toolbox
#product.Requirements_Toolbox
#product.Risk_Management_Toolbox
#product.Robotics_System_Toolbox
product.Robust_Control_Toolbox
#product.Satellite_Communications_Toolbox
#product.Sensor_Fusion_and_Tracking_Toolbox
#product.SerDes_Toolbox
#product.Signal_Integrity_Toolbox
product.Signal_Processing_Toolbox
#product.SimBiology
#product.SimEvents
product.Simscape
#product.Simscape_Battery
#product.Simscape_Driveline
product.Simscape_Electrical
#product.Simscape_Fluids
product.Simscape_Multibody
product.Simulink
#product.Simulink_3D_Animation
#product.Simulink_Check
product.Simulink_Coder
product.Simulink_Compiler
product.Simulink_Control_Design
#product.Simulink_Coverage
#product.Simulink_Design_Optimization
#product.Simulink_Design_Verifier
product.Simulink_Desktop_Real-Time
#product.Simulink_Fault_Analyzer
#product.Simulink_PLC_Coder
product.Simulink_Real-Time
#product.Simulink_Report_Generator
#product.Simulink_Test
#product.SoC_Blockset
#product.Spreadsheet_Link
#product.Stateflow
#product.Statistics_and_Machine_Learning_Toolbox
product.Symbolic_Math_Toolbox
#product.System_Composer
product.System_Identification_Toolbox
#product.Text_Analytics_Toolbox
#product.UAV_Toolbox
#product.Vehicle_Dynamics_Blockset
#product.Vehicle_Network_Toolbox
#product.Vision_HDL_Toolbox
#product.WLAN_Toolbox
#product.Wavelet_Toolbox
#product.Wireless_HDL_Toolbox
#product.Wireless_Testbench
########################################################################
## SUPPORT PACKAGES
########################################################################
##
## Uncomment the lines for the support packages you want to install or download.
#product.6G_Exploration_Library_for_5G_Toolbox
#product.ASIC_Testbench_for_HDL_Verifier
#product.Aerospace_Blockset_Interface_for_Unreal_Engine_Projects
#product.Audio_Toolbox_Interface_for_SpeechBrain_and_Torchaudio_Libraries
#product.Automated_Driving_Toolbox_Importer_for_Zenrin_Japan_Map_API_3.0_(Itsumo_NAVI_API_3.0)_Service
#product.Automated_Driving_Toolbox_Interface_for_Unreal_Engine_Projects
#product.Automated_Driving_Toolbox_Model_for_Lidar_Lane_Detection
#product.Automated_Driving_Toolbox_Test_Suite_for_Euro_NCAP_Protocols
#product.Automated_Visual_Inspection_Library_for_Computer_Vision_Toolbox
#product.CI/CD_Automation_for_Simulink_Check
#product.Communications_Toolbox_Support_Package_for_Analog_Devices_ADALM-Pluto_Radio
#product.Communications_Toolbox_Support_Package_for_RTL-SDR_Radio
#product.Communications_Toolbox_Support_Package_for_USRP_Embedded_Series_Radio
#product.Communications_Toolbox_Support_Package_for_USRP_Radio
#product.Communications_Toolbox_Wireless_Network_Simulation_Library
#product.Component_Deployment_Guideline_for_Embedded_Coder
#product.Computer_Vision_Toolbox_Interface_for_OpenCV_in_MATLAB
#product.Computer_Vision_Toolbox_Interface_for_OpenCV_in_Simulink
#product.Computer_Vision_Toolbox_Model_for_Inflated-3D_Video_Classification
#product.Computer_Vision_Toolbox_Model_for_Mask_R-CNN_Instance_Segmentation
#product.Computer_Vision_Toolbox_Model_for_Object_Keypoint_Detection
#product.Computer_Vision_Toolbox_Model_for_Pose_Mask_R-CNN_6-DoF_Object_Pose_Estimation
#product.Computer_Vision_Toolbox_Model_for_R(2+1)D_Video_Classification
#product.Computer_Vision_Toolbox_Model_for_RAFT_Optical_Flow_Estimation
#product.Computer_Vision_Toolbox_Model_for_RTMDet_Object_Detection
#product.Computer_Vision_Toolbox_Model_for_SOLOv2_Instance_Segmentation
#product.Computer_Vision_Toolbox_Model_for_SlowFast_Video_Classification
#product.Computer_Vision_Toolbox_Model_for_Text_Detection
#product.Computer_Vision_Toolbox_Model_for_Vision_Transformer_Network
#product.Computer_Vision_Toolbox_Model_for_YOLO_v2_Object_Detection
#product.Computer_Vision_Toolbox_Model_for_YOLO_v3_Object_Detection
#product.Computer_Vision_Toolbox_Model_for_YOLO_v4_Object_Detection
#product.Computer_Vision_Toolbox_OCR_Language_Data
#product.Data_Acquisition_Toolbox_Support_Package_for_Analog_Devices_ADALM1000_Hardware
#product.Data_Acquisition_Toolbox_Support_Package_for_Digilent_Analog_Discovery_Hardware
#product.Data_Acquisition_Toolbox_Support_Package_for_Measurement_Computing_Hardware
#product.Data_Acquisition_Toolbox_Support_Package_for_National_Instruments_NI-DAQmx_Devices
#product.Data_Acquisition_Toolbox_Support_Package_for_Windows_Sound_Cards
#product.Database_Toolbox_Interface_for_Neo4j_Bolt_Protocol
#product.Databricks_ODBC_Driver_for_Database_Toolbox
#product.Deep_Learning_HDL_Toolbox_Support_Package_for_Intel_FPGA_and_SoC_Devices
#product.Deep_Learning_HDL_Toolbox_Support_Package_for_Xilinx_FPGA_and_SoC_Devices
#product.Deep_Learning_Toolbox_Converter_for_ONNX_Model_Format
#product.Deep_Learning_Toolbox_Converter_for_PyTorch_Model_Format
#product.Deep_Learning_Toolbox_Converter_for_TensorFlow_models
#product.Deep_Learning_Toolbox_Importer_for_Caffe_Models
#product.Deep_Learning_Toolbox_Interface_for_TensorFlow_Lite
#product.Deep_Learning_Toolbox_Model_Quantization_Library
#product.Deep_Learning_Toolbox_Model_for_AlexNet_Network
#product.Deep_Learning_Toolbox_Model_for_DarkNet-19_Network
#product.Deep_Learning_Toolbox_Model_for_DarkNet-53_Network
#product.Deep_Learning_Toolbox_Model_for_DenseNet-201_Network
#product.Deep_Learning_Toolbox_Model_for_EfficientNet-b0_Network
#product.Deep_Learning_Toolbox_Model_for_GoogLeNet_Network
#product.Deep_Learning_Toolbox_Model_for_Inception-ResNet-v2_Network
#product.Deep_Learning_Toolbox_Model_for_Inception-v3_Network
#product.Deep_Learning_Toolbox_Model_for_MobileNet-v2_Network
#product.Deep_Learning_Toolbox_Model_for_NASNet-Large_Network
#product.Deep_Learning_Toolbox_Model_for_NASNet-Mobile_Network
#product.Deep_Learning_Toolbox_Model_for_Places365-GoogLeNet_Network
#product.Deep_Learning_Toolbox_Model_for_ResNet-101_Network
#product.Deep_Learning_Toolbox_Model_for_ResNet-18_Network
#product.Deep_Learning_Toolbox_Model_for_ResNet-50_Network
#product.Deep_Learning_Toolbox_Model_for_ShuffleNet_Network
#product.Deep_Learning_Toolbox_Model_for_VGG-16_Network
#product.Deep_Learning_Toolbox_Model_for_VGG-19_Network
#product.Deep_Learning_Toolbox_Model_for_Xception_Network
#product.Deep_Learning_Toolbox_Verification_Library
#product.Embedded_Coder_Interface_to_QEMU_Emulator
#product.Embedded_Coder_Support_Package_For_Linux_Applications
#product.Embedded_Coder_Support_Package_for_AMD_SoC_Devices
#product.Embedded_Coder_Support_Package_for_ARM_Cortex-A_Processors
#product.Embedded_Coder_Support_Package_for_ARM_Cortex-M_Processors
#product.Embedded_Coder_Support_Package_for_ARM_Cortex-R_Processors
#product.Embedded_Coder_Support_Package_for_BeagleBone_Black_Hardware
#product.Embedded_Coder_Support_Package_for_Infineon_AURIX_TC3x_Microcontrollers
#product.Embedded_Coder_Support_Package_for_Infineon_AURIX_TC4x_Microcontrollers
#product.Embedded_Coder_Support_Package_for_Intel_SoC_Devices
#product.Embedded_Coder_Support_Package_for_Qualcomm_Hexagon_Processors
#product.Embedded_Coder_Support_Package_for_STMicroelectronics_STM32_Processors
#product.Ephemeris_Data_for_Aerospace_Toolbox
#product.Extended_Tire_Features_for_Vehicle_Dynamics_Blockset
#product.FMU_Builder_For_Simulink
#product.GPU_Coder_Interface_for_Deep_Learning_Libraries
#product.GUIDE_to_App_Designer_Migration_Tool_for_MATLAB
#product.Geoid_Data_for_Aerospace_Toolbox
#product.HDL_Coder_Support_Package_for_Intel_FPGA_and_SoC_Devices
#product.HDL_Coder_Support_Package_for_Microchip_FPGA_and_SoC_Devices
#product.HDL_Coder_Support_Package_for_Xilinx_FPGA_and_SoC_Devices
#product.HDL_Verifier_Support_Package_for_AMD_FPGA_and_SoC_Devices
#product.HDL_Verifier_Support_Package_for_Intel_FPGA_Boards
#product.HDL_Verifier_Support_Package_for_Microsemi_FPGA_Boards
#product.Hyperspectral_Imaging_Library_for_Image_Processing_Toolbox
#product.Image_Acquisition_Toolbox_Support_Package_for_DCAM_Hardware
#product.Image_Acquisition_Toolbox_Support_Package_for_Kinect_for_Windows_Sensor
#product.Image_Acquisition_Toolbox_Support_Package_for_Matrox_Hardware
#product.Image_Acquisition_Toolbox_Support_Package_for_National_Instruments_Frame_Grabbers
#product.Image_Acquisition_Toolbox_Support_Package_for_OS_Generic_Video_Interface
#product.Image_Acquisition_Toolbox_Support_Package_for_Point_Grey_Hardware
#product.Image_Acquisition_Toolbox_Support_Package_for_Teledyne_DALSA_Sapera_Hardware
#product.Image_Processing_Toolbox_Image_Data
#product.Image_Processing_Toolbox_Model_for_Segment_Anything_Model
#product.Instrument_Control_Toolbox_Support_Package_for_IVI_and_VXIplug&play_Drivers
#product.Instrument_Control_Toolbox_Support_Package_for_Keysight_(Agilent)_IO_Libraries_and_VISA_Interface
#product.Instrument_Control_Toolbox_Support_Package_for_National_Instruments_NI-845x_I2C/SPI_Interface
#product.Instrument_Control_Toolbox_Support_Package_for_National_Instruments_NI-DCPower_Power_Supplies
#product.Instrument_Control_Toolbox_Support_Package_for_National_Instruments_NI-DMM_Digital_Multimeters
#product.Instrument_Control_Toolbox_Support_Package_for_National_Instruments_NI-FGEN_Function_Generators
#product.Instrument_Control_Toolbox_Support_Package_for_National_Instruments_NI-SCOPE_Oscilloscopes
#product.Instrument_Control_Toolbox_Support_Package_for_National_Instruments_NI-SWITCH_Hardware
#product.Instrument_Control_Toolbox_Support_Package_for_National_Instruments_VISA_and_ICP_Interfaces
#product.Instrument_Control_Toolbox_Support_Package_for_Rohde_Schwarz_VISA_Interface
#product.Instrument_Control_Toolbox_Support_Package_for_Total_Phase_Aardvark_I2C/SPI_Interface
#product.Integro-Differential_Modeling_Framework_for_MATLAB
#product.Lidar_Toolbox_Interface_for_OpenPCDet_Library
#product.Lidar_Toolbox_Model_for_RandLA-Net_Semantic_Segmentation
#product.Lidar_Toolbox_Support_Package_for_Hokuyo_LiDAR_Sensors
#product.Lidar_Toolbox_Support_Package_for_Ouster_Lidar_Sensors
#product.Lidar_Toolbox_Support_Package_for_Velodyne_LiDAR_Sensors
#product.MATLAB_Basemap_Data_-_bluegreen
#product.MATLAB_Basemap_Data_-_colorterrain
#product.MATLAB_Basemap_Data_-_grayland
#product.MATLAB_Basemap_Data_-_grayterrain
#product.MATLAB_Basemap_Data_-_landcover
#product.MATLAB_Client_for_MATLAB_Production_Server
#product.MATLAB_Coder_Interface_for_Deep_Learning_Libraries
#product.MATLAB_Coder_Interface_for_Visual_Studio_Code_Debugging
#product.MATLAB_Coder_Support_Package_for_NVIDIA_Jetson_and_NVIDIA_DRIVE_Platforms
#product.MATLAB_Support_Package_for_Android_Sensors
#product.MATLAB_Support_Package_for_Apple_iOS_Sensors
#product.MATLAB_Support_Package_for_Arduino_Hardware
#product.MATLAB_Support_Package_for_BeagleBone_Black_Hardware
#product.MATLAB_Support_Package_for_LEGO_MINDSTORMS_EV3_Hardware
#product.MATLAB_Support_Package_for_Quantum_Computing
#product.MATLAB_Support_Package_for_Raspberry_Pi_Hardware
#product.MATLAB_Support_Package_for_USB_Webcams
#product.MATLAB_Support_for_MinGW-w64_C/C++/Fortran_Compiler
#product.Machine_Learning_Pipelines_for_Statistics_and_Machine_Learning_Toolbox_(Beta)
#product.MariaDB_ODBC_Driver_for_Database_Toolbox
#product.Medical_Imaging_Toolbox_Interface_for_Cellpose
#product.Medical_Imaging_Toolbox_Interface_for_MONAI_Label_Library
#product.Medical_Imaging_Toolbox_Model_for_Medical_Segment_Anything_Model
#product.Mixed-Signal_Blockset_Models
#product.Modelscape_for_MATLAB
#product.Multi-Version_Co-Simulation_for_Simulink
#product.PostgreSQL_ODBC_Driver_for_Database_Toolbox
#product.Powertrain_Blockset_Drive_Cycle_Data
#product.RF_Blockset_Models_for_Analog_Devices_RF_Transceivers
#product.ROS_Toolbox_Support_Package_for_TurtleBot-Based_Robots
#product.Radar_Toolbox_Support_Package_for_Texas_Instruments_mmWave_Radar_Sensors
#product.Robotics_System_Toolbox_Interface_for_Unreal_Engine_Projects
#product.Robotics_System_Toolbox_Offroad_Autonomy_Library
#product.Robotics_System_Toolbox_Robot_Library_Data
#product.Robotics_System_Toolbox_Support_Package_for_Kinova_Gen3_Manipulators
#product.Robotics_System_Toolbox_Support_Package_for_Universal_Robots_UR_Series_Manipulators
#product.Scenario_Builder_for_Automated_Driving_Toolbox
#product.Signal_Processing_Toolbox_Support_Package_for_Linux_IIO_Devices
#product.Simulink_Coder_Support_Package_for_ARM_Cortex-based_VEX_Microcontroller
#product.Simulink_Coder_Support_Package_for_BeagleBone_Blue_Hardware
#product.Simulink_Coder_Support_Package_for_NXP_FRDM-K64F_Board
#product.Simulink_Coder_Support_Package_for_NXP_FRDM-KL25Z_Board
#product.Simulink_Coder_Support_Package_for_STMicroelectronics_Nucleo_Boards
#product.Simulink_Coder_Support_Package_for_VEX_EDR_V5_Robot_Brain
#product.Simulink_Interface_for_Siemens_MF-Tyre/MF-Swift_Tire_Model
#product.Simulink_Real-Time_XIL_Support_Package
#product.Simulink_Support_Package_for_Android_Devices
#product.Simulink_Support_Package_for_Arduino_Hardware
#product.Simulink_Support_Package_for_LEGO_MINDSTORMS_EV3_Hardware
#product.Simulink_Support_Package_for_Parrot_Minidrones
#product.Simulink_Support_Package_for_Raspberry_Pi_Hardware
#product.Simulink_Test_Support_Package_for_ASAM_XIL
#product.SoC_Blockset_Support_Package_for_AMD_FPGA_and_SoC_Devices
#product.SoC_Blockset_Support_Package_for_Embedded_Linux_Devices
#product.SoC_Blockset_Support_Package_for_Intel_Devices
#product.Streaming_Data_Framework_for_MATLAB_Production_Server
#product.Text_Analytics_Toolbox_Model_for_BERT-Base_Multilingual_Cased_Network
#product.Text_Analytics_Toolbox_Model_for_BERT-Base_Network
#product.Text_Analytics_Toolbox_Model_for_BERT-Large_Network
#product.Text_Analytics_Toolbox_Model_for_BERT-Mini_Network
#product.Text_Analytics_Toolbox_Model_for_BERT-Small_Network
#product.Text_Analytics_Toolbox_Model_for_BERT-Tiny_Network
#product.Text_Analytics_Toolbox_Model_for_all-MiniLM-L12-v2_Network
#product.Text_Analytics_Toolbox_Model_for_all-MiniLM-L6-v2_Network
#product.Text_Analytics_Toolbox_Model_for_fastText_English_16_Billion_Token_Word_Embedding
#product.Text_Analytics_Toolbox_Model_from_UDify_Data
#product.UAV_Toolbox_Interface_for_Unreal_Engine_Projects
#product.UAV_Toolbox_Support_Package_for_PX4_Autopilots
#product.Variant_Manager_for_Simulink
#product.Vehicle_Dynamics_Blockset_Interface_for_Unreal_Engine_Projects
#product.Vehicle_Dynamics_Blockset_Maneuver_Data
#product.WINNER_II_Channel_Model_for_Communications_Toolbox
#product.Wireless_Testbench_Support_Package_for_NI_USRP_Radios
########################################################################
## CHECKSUM
########################################################################
##
## NOTE: DO NOT edit this field. MathWorks uses this field to
## check the integrity of the input file. Changing the value
## of the checksum field invalidates this input file.
?checksum=UjIwMjRi
#+end_src
Then, add some binaries to the path with:
#+begin_src bash :eval no
ln -s ~/.local/soft/Matlab/R2024b/bin/mex ~/.local/bin
ln -s ~/.local/soft/Matlab/R2024b/bin/matlab ~/.local/bin
ln -s ~/.local/soft/Matlab/R2024b/bin/glnxa64/mlint ~/.local/bin
#+end_src
With R2024b on Arch Linux, some crash are due to gnutls.
This can be resolves as explain in #10 [[https://bbs.archlinux.org/viewtopic.php?id=306939][here]]:
#+begin_src bash :eval no
MATLABPATH=$HOME/.local/soft/Matlab/R2024B/bin/glnxa64/
GNUTLSPATH=/tmp/gnutls-3.8.9-1-x86_64.pkg
wget https://archive.archlinux.org/packages/g/gnutls/gnutls-3.8.9-1-x86_64.pkg.tar.zst
mkdir -p "${GNUTLSPATH}"
tar -xvf gnutls-3.8.9-1-x86_64.pkg.tar.zst -C ${GNUTLSPATH}
mkdir "${MATLABPATH}"/gnutls
cp -a "${GNUTLSPATH}"/usr/lib/* "${MATLABPATH}"/gnutls/
cd "${MATLABPATH}"
ln -s gnutls/* ./
#+end_src
Most of other issues are well explained in the [[https://wiki.archlinux.org/title/MATLAB][Arch Wiki]].
** Python and Jupyter-notebook
#+begin_src bash
paru -S python ipython python-pip
#+end_src
* Download Manager
** =stig=
#+begin_src bash
paru -S stig
#+end_src
** =youtube-dl=
#+begin_src bash
paru -S youtube-dl
#+end_src
* Default Applications
https://wiki.archlinux.org/index.php/Default_applications
https://www.guyrutenberg.com/2018/01/20/set-default-application-using-xdg-mime/
=~/.config/mimeapps.list=
#+begin_src bash
xdg-mime default qutebrowser.desktop x-scheme-handler/http
xdg-mime default qutebrowser.desktop x-scheme-handler/https
#+end_src
* Desktop files
[[file:applications.org][Desktop Applications]]
=~/.local/share/applications/=
* Calendar
[[file:calendar-contact.org][Link]] to configuration
** =vdirsyncer= - Sync calendars
https://github.com/pimutils/vdirsyncer
Installation:
#+begin_src bash
paru -S vdirsyncer
#+end_src
| Command | Usage |
|-------------------+-------------|
| =vdirsyncer sync= | Synchronize |
And start the =systemd= timer that automatically synchronize the calendars;
#+begin_src bash
systemctl --user enable --now vdirsyncer.timer
#+end_src
To check the status of the service:
#+begin_src bash
systemctl --user status vdirsyncer.service
#+end_src
** =khal= - Calendar Client
https://github.com/pimutils/khal
Installation:
#+begin_src bash
paru -S khal
#+end_src
Import ICS files:
#+begin_src bash
khal import even.ics
#+end_src
* =zathura= - PDF Reader
https://pwmt.org/projects/zathura/
** Installation
#+begin_src bash
paru -S zathura
#+end_src
Then add dependecies to view specific files:
#+begin_src bash
paru -S zathura-pdf-mupdf zathura-djvu zathura-ps zathura-cb
#+end_src
It seems that mupdf is better that poppler to view pdf.
** Configuration
=~/.config/zathura/zathurarc=
** Cheatsheet
| Command | Usage |
|---------+----------------------------|
| =p= | Print the current pdf |
| =tab= | Show the outline |
| =r= | Reload |
| =J/K= | Next/previous page |
| =H/L= | Zoom in/out |
| =a= | Fit height |
| =s= | Fit width |
| =D= | Double page |
| =f= | Follow link |
| =i= | Night Mode |
| =<n>gg= | Go to page n |
| =mm= | Mark current location to m |
| ='m= | Goto location m |
** Multi-monitor pdf presentation - pdfpc
https://github.com/pdfpc/pdfpc
pdfpc is a great tool for showing pdf presentations. It support:
- screen splitting
- support for videos in pdf presentations
- support for notes
- support for annotations
*** Installation
#+begin_src bash
paru -S pdfpc
#+end_src
*** Video support
#+begin_src bash
paru -S gst-plugins-ugly gst-plugins-good gst-plugins-base-libs gst-plugins-base gst-plugins-bad gst-libav
#+end_src
*** Usage
#+begin_src bash
pdfpc filename.pdf
#+end_src
* =gtk=/=qt= - Managing Theme
** GTK Themes
Gtk2 themes are managed using the file =~/.gtkrc-2.0= while Gtk3 themes are managed using =~/.config/gtk-3.0/settings.ini=.
*** Gui Manager
To customize the look of the system using GUI application, run ~lxappearance~.
Installation:
#+begin_src bash
paru -S lxappearance
#+end_src
*** Icons and themes
#+begin_src bash
paru -S zukitwo-themes faenza-icon-theme
#+end_src
#+begin_src bash
paru -S arc-gtk-theme
#+end_src
** QT Themes
Run ~qt5ct~ to manage QT Themes.
* =inkscape= - Graphical Editor
- https://inkscape.org/
- Tikz
#+begin_src bash
paru -S inkscape
#+end_src
* Docker
#+begin_src bash
paru -S docker docker-compose
#+end_src
Add current user to =docker= group:
#+begin_src bash
sudo gpasswd -a thomas docker
#+end_src
* =wireguard= - VPN
#+begin_src bash
paru -S wireguard-tools
#+end_src
* =nordvpn= - VPN
https://aur.archlinux.org/packages/nordvpn-bin/
https://wiki.archlinux.org/index.php/NordVPN
#+begin_src bash
sudo groupadd -r nordvpn
sudo gpasswd -a $USER nordvpn
#+end_src
Installation:
#+begin_src bash
paru -S nordvpn-bin
#+end_src
Configuration:
#+begin_src bash
sudo systemctl enable --now nordvpnd.service
#+end_src
| Command | Usage |
|---------------------------+-------|
| =nordvpn login= | |
| =nordvpn connect country= | |
| =nordvpn disconnect= | |
| =nordvpn status= | |
| =nordvpn countries= | |
* Others
** Useful utils
#+begin_src bash
paru -S sshfs poppler mpd xwallpaper sof-firmware usbutils xautolock atool unzip xsel man-db npm highlight-pointer-git xorg-xkill
#+end_src
** ESRF related
#+begin_src bash
paru -S zoom
#+end_src
** =colorpicker= ([[https://github.com/Jack12816/colorpicker][github]])
Copy hexadecimal value of the color to the clipboard:
#+begin_src bash :eval no
colorpicker --short --one-shot --preview | xsel -b
#+end_src
Also colorbrag: https://aur.archlinux.org/packages/colorgrab
** =maim=/=flameshot= - Take Screenshots
- https://github.com/naelstrof/maim
- https://github.com/lupoDharkael/flameshot
#+begin_src bash
paru -S maim flameshot
#+end_src
** =screenkey= - Show pressed keys
#+begin_src bash
paru -S screenkey
#+end_src
** =croc= - File transfer
https://github.com/schollz/croc
#+begin_src bash
paru -S croc
#+end_src
** Find Files
#+begin_src bash
paru -S fd ripgrep fzf
#+end_src
** PDF/Image Utilities
- https://github.com/dawbarton/pdf2svg
- https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
- https://github.com/Airblader/unclutter-xfixes
#+begin_src bash
paru -S pdf2svg pdftk unclutter pdfarranger imagemagick
#+end_src
** Trash
=trash-cli= is used to manage the trash.
It is integrated with =ranger= and =pcmanFM=.
#+begin_src bash
paru -S trash-cli
#+end_src
** Show information about the machine
[[https://github.com/dylanaraps/neofetch][neofetch]]
#+begin_src bash
paru -S neofetch
#+end_src
** Nice other programs
- https://github.com/leonwind/cli2cloud
- Gnu Make alternative https://github.com/taskctl/taskctl
* Printer
** CUPS
https://wiki.archlinux.org/index.php/CUPS
#+begin_src bash
paru -S cups
#+end_src
Web based administration: http://localhost:631/
=system-config-printer=
Starts to cups service:
#+begin_src bash :eval no
sudo systemctl start cups
#+end_src
Check the queue
#+begin_src bash
lpq
lpq -a # on all queues
#+end_src
Clear the queue
#+begin_src bash
lprm # remove last entry only
lprm - # remove all entries
#+end_src
Print a file
#+begin_src bash
lpr -P printer_name filename.pdf
#+end_src
List available printers
#+begin_src bash
lpstat -a
#+end_src
Stats about the printer
#+begin_src bash
lpstat -p printer_name
#+end_src
** Network Lexmark
#+begin_src matlab
paru -S sane simple-scan lexmark-network-scan
#+end_src
* Kernel Management
https://wiki.manjaro.org/index.php/Manjaro_Kernels
| Command | Usage |
|------------------------------------+---------------------------------------|
| =mhwd-kernel -li= | Determine which kernel is used |
| =sudo mhwd-kernel -i linux419= | Install new kernel |
| =sudo mhwd-kernel -i linux419 rmc= | Install new kernel and remove old one |
* Format disks
https://gparted.org/
=sudo gparted= to format disks
Using command line:
- https://www.digitalocean.com/community/tutorials/how-to-partition-and-format-storage-devices-in-linux
* Theme
#+begin_src bash
paru -S arc-gtk-theme
paru -S xcursor-breeze
#+end_src
* Useful commands
** Readline
https://wiki.archlinux.org/index.php/Keyboard_shortcuts
| Keyboard | Shortcut Description |
|----------+----------------------|
| Ctrl+l | Clear the screen |
*** Cursor Movement
| Keyboard | Shortcut Description |
|----------+----------------------------------------|
| =Ctrl+b= | Move cursor one character to the left |
| =Ctrl+f= | Move cursor one character to the right |
| =Alt+b= | Move cursor one word to the left |
| =Alt+f= | Move cursor one word to the right |
| =Ctrl+a= | Move cursor to start of the line |
| =Ctrl+e= | Move cursor to end of the line |
*** Copy & Paste
| Keyboard | Shortcut Description |
|--------------+---------------------------------------------------|
| =Ctrl+u= | Cut everything from line start to cursor |
| =Ctrl+k= | Cut everything from the cursor to end of the line |
| =Alt+d= | Cut the current word after the cursor |
| =Ctrl+w= | Cut the current word before the cursor |
| =Ctrl+y= | Paste the previous cut text |
| =Alt+y= | Paste the second latest cut text |
| =Alt+Ctrl+y= | Paste the first argument of the previous command |
| =Alt+./= | Paste the last argument of the previous command |
*** History
| Keyboard | Shortcut Description |
|----------+---------------------------------------|
| =Ctrl+p= | Move to the previous line |
| =Ctrl+n= | Move to the next line |
| =Ctrl+s= | Search |
| =Ctrl+r= | Reverse search |
| =Ctrl+j= | End search |
| =Ctrl+g= | Abort search (restores original line) |
| =Alt+r= | Restores all changes made to line |
*** Completion
| Keyboard | Shortcut Description |
|----------+---------------------------------|
| =Tab= | Auto-complete a name |
| =Alt+?= | List all possible completions |
| =Alt+*= | Insert all possible completions |
** Others
| [[https://github.com/tldr-pages/tldr][tldr]] | Community-driven man pages |
| [[https://github.com/chubin/wttr.in][wttr.in]] | weather in terminal |
| [[https://github.com/michael-lazar/rtv][rtv]] | Reddit in terminal |
| awk | https://linuxhandbook.com/awk-command-tutorial/ |
| [[https://github.com/rupa/z][z]] | Jump around |
| [[https://github.com/nvbn/thefuck][thefuck]] | Magnificent app which corrects your previous console command |
| [[https://github.com/amanusk/s-tui/][s-tui]] | Terminal based CPU stress and monitoring utility |
| [[https://github.com/nicolargo/glances][glances]] | A top/htop alternative |
| [[https://github.com/asciinema/asciinema][asciinema]] | Reccord you terminal |
| [[https://dev.yorhel.nl/ncdu][ncdu]] | See what takes place on the disk |
| [[https://github.com/sharkdp/bat][bat]] | cat alternative |
| [[https://github.com/dalance/procs][procs]] | ps alternative |
| [[https://github.com/chmln/sd][sd]] | sed alternative |
| =meteo= | Get the meteo |
| =sudo cputhrottle PID %PROC= | Limiter l'accès au proc pour un processus |
| =nmap -sP “192.168.1.*"= | Check all ip addresses on local netword |
| =du -sh folder= | Return the size of the folder |
| =df -h= | Report disk usage |
** Archive and Extract
Use =apack= and =aunpack=:
| | |
|-------------------------------+-----------------------------------|
| =aunpack foobar.tar.gz= | extract all files from archive |
| =apack myarchive.zip foo bar= | create a zip archive of two files |
** Hardware
| =dmesg= | Detected hardware and boot messages |
| =lshw= | Display information on hardware |
| =lsusb -tv= | Show usb devices |
** Network
| =ip addr show= | Show all network interfaces and ip address |
| =ethtooo eth0= | Tool to show ethernet status |
| =netstat -tulp= | List all active listening ports |
* After Install
Enable TRIM (SSD only)
#+begin_src bash
sudo systemctl enable --now fstrim.timer
#+end_src
Set the fastest mirror for Pacman
#+begin_src bash
sudo rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist
#+end_src
Enable =SysRq= key by created this file =/etc/sysctl.d/99-sysctl.conf=:
#+begin_src conf
kernel.sysrq = 1
#+end_src
Then, =Alt-prtsc-F= can be used when the system freezes due to lack of memory.
It basically kills the process with the most used memory.
* Configuration for Laptops
** Power Management Tool: Powertop
https://wiki.archlinux.org/index.php/Powertop
https://wiki.manjaro.org/index.php?title=Power_Savings
=PowerTop= a diagnostic tool used to identify and report issues with power consumption and management.
#+begin_src bash
paru -S powertop
#+end_src
=TLP= is used for Power Management.
#+begin_src bash
paru -S tlp
sudo systemctl enable tlp
sudo systemctl start tlp
sudo systemctl enable tlp-sleep
sudo systemctl start tlp-sleep
sudo tlp start
#+end_src
=Thermald= is used to automatically handle CPU frequency scaling according to system load.
#+begin_src bash
paru -S thermald
sudo systemctl enable thermald
sudo systemctl start thermald
#+end_src
** Lid open/close
https://wiki.archlinux.org/index.php/Power_management
Should automatic show lock screen
=/etc/systemd/logind.conf=
* Some notes - Systemd
To improve the startup time.
#+begin_src bash
sudo systemctl disable apparmor
sudo systemctl disable snapd
sudo systemctl disable systemd-backlight@backlight\:intel_backlight.service
#+end_src
To see next timers
#+begin_src bash
systemctl --user list-timers
#+end_src
* Resources
** Dotfiles
- https://github.com/LukeSmithxyz/voidrice
- https://github.com/wincent/wincent
- https://github.com/korolr/dotfiles
- https://github.com/Shougo/shougo-s-github
- https://github.com/addy-dclxvi/almighty-dotfiles
** Linux Softwares
- [[https://github.com/k4m4/terminals-are-sexy][terminalare.sexy]]
- [[https://www.reddit.com/r/vim/comments/3tluqr/my_list_of_applications_with_vi_keybindings/][the big list of vim like software]]
- https://github.com/jlevy/the-art-of-command-line
- https://github.com/herrbischoff/awesome-command-line-apps
- https://github.com/luongvo209/Awesome-Linux-Software
- https://wiki.archlinux.org/index.php/List_of_applications
- https://ambrevar.xyz/power-apps/
- https://enchiridion.red/2019/1/18/desktop-apps/
* List of all the install programs
** Mutt
| =neomutt= | Teaching an Old Dog New Tricks |
| =msmtp= | SMTP client that can be used as an SMTP plugin for Mutt |
| =isync= | Synchronize a maildir with an IMAP server |
| =vdirsyncer= | Synchronize calendars and contacts |
| =abook= | Address book with mutt support |
| =urlview= | URL extractor/launcher |
| =w3m= | Pager/text based browser |
| =lynx= | Text mode web browser |
| =lbdb= | Little brother's database for the mutt mail reader |
| =mu= | Tool for searching e-mail messages stored in the maildir-format |
| =ripmime= | Extract attachments out of MIME encoded email packages |
| =shared= | mime-info - Database of common MIME types |
** Micro controllers
| =avrdude= | Atmel AVR MCU programmer |
| =bootloadhid= | USB boot loader for AVR microcontrollers |
| =dfu= | programmer - Device firmware update based USB programmer for Atmel chips |
| =platformio= | Ecosystem for IoT development (Arduino and ARM mbed compatible) |
| =micropython= | Python implementation for microcontrollers and constrained systems |
| =arduino= | mk - Makefile for Arduino sketches |
** File Management
| =grep= | GNU grep, egrep and fgrep |
| =pdfgrep= | Search PDFs for strings matching a regular expression |
| =the_platinum_searcher= | Multi-platform code-search similar to ack and ag |
| =the_silver_searcher= | Code-search similar to ack |
| =fdupes= | Identify or delete duplicate files |
| =findutils= | Collection of GNU find, xargs, and locate |
| =ranger= | File browser |
| =vifm= | Ncurses based file manager with vi like keybindings |
| =tree= | Display directories as trees (with optional color/HTML output) |
| =p7zip= | 7-Zip (high compression file archiver) implementation |
| =unrar= | Extract, view, and test RAR archives |
| =atool= =zip= | script for managing file archives of various types |
** File Downloader
| =wget= | Internet file retriever |
| =htop= | Improved top (interactive process viewer) |
| =httpie= | User-friendly cURL replacement (command-line HTTP client) |
| =curl= | Get a file from an HTTP, HTTPS or FTP server |
** Utils
| =binutils= | GNU Binary Utilities |
| =coreutils= | GNU File, Shell, and Text utilities |
| =gnome= | doc-utils - Documentation utilities for the GNOME project |
| =moreutils= | Collection of tools that nobody wrote when UNIX was young |
| =usbimager= | https://gitlab.com/bztsrc/usbimager |
** A trier
| =asciinema= | Terminal session recorder |
| =automake= | tool for automatically generating Makefile |
| =cmake= | Cross-platform make |
| =cputhrottle= | Limit the CPU usage of a process |
| =ctags= | Reimplementation of ctags |
| =gdb= | GNU debugger |
| =ghostscript= | Interpreter for PostScript and PDF |
| =go= | Open source programming language to build simple/reliable/efficient software |
| =hugo= | Configurable static site generator |
| =markdown= | Text-to-HTML conversion tool |
| =pandoc= | Swiss-army knife of markup format conversion |
| =uni= | Query the Unicode database from the commandline |