Ce tuto est à la base une doc personnelle.
Néanmoins, j'ai tenté autant que possible de la rédiger afin qu'elle soit utilisable par d'autres.
Les commentaires sont évidement les bienvenus ;)
Bon... normalement, à ce stade, vous venez de terminer l'installation de base de Manjaro Cinnamon ;)
Remarque : hormis quelques points propres à Cinnamon, cette doc est valable pour d'autres variantes de Manjaro.
On va installer ce package, qui sera nottament nécessaire dans la construction de paquets AUR
.
sudo pacman -S base-devel
On configure le gestionnaire de paquet pacman pour utiliser un mirroir belge pour les dépots
nano /etc/pacman.d/mirrorlist
Et on garde
Server = http://archlinux.cu.be/$repo/os/$arch
Passer via le gestionaire de paquet de Manjaro
Remarque : c'est le même principe que pour n'importe quel dépot de n'importe quelle distro, il faut impérativement n'ajouter que des dépots dans lesquels on a confiance. Et c'est idem ++ pour les paquets
AUR
.
Dans /etc/pacman.conf
On ajoute le support du 32bits en décommentant :
[multilib]
Include = /etc/pacman.d/mirrorlist
Et on ajoute les dépôts suivants :
[archstrike]
Server = https://mirror.archstrike.org/$arch/$repo
[herecura]
Server = https://repo.herecura.eu/$repo/$arch
On met les DBs des paquets à jour
sudo pacman -Syy
On importe la clé de Archstrike
Remarque : je vous invite à vérifier ces clés sur le site de Archstrike et ne pas bêtement copier/coller ;)
sudo pacman-key --init
sudo dirmngr < /dev/null
sudo pacman-key -r 9D5F1C051D146843CDA4858BDE64825E7CBC0D51
sudo pacman-key --lsign-key 9D5F1C051D146843CDA4858BDE64825E7CBC0D51
On installe les paquets suivants (procédure spcifique à Archstrike)
sudo pacman -S archstrike-keyring
sudo pacman -S archstrike-mirrorlist
Et toujours dans /etc/pacman.conf
, on remplace :
[archstrike]
Server = https://mirror.archstrike.org/$arch/$repo
Par
[archstrike]
Include = /etc/pacman.d/archstrike-mirrorlist
Et on met les DBs des paquets à jours à nouveau
sudo pacman -Syy
Remarque : étant sous Manjaro, l'outil maison
Pamac
gère égalementAUR
(ainsi queSnap
etFlatpak
), maistrizen
/yay
restent intéressant, surtout pour les Archlinuxien qui veulent rester en terrain connu ;)
On installe yay
ou trizen
pour épauler pacman
avec les paquets AUR
.
Ce sont en fait des wrapper pour pacman
qui ajoutent des fonctions en plus, comme la possibilité d'installer des paquets depuis AUR
.
Remarque : n'oubliez pas de lire les scripts d'installation à chaque fois, même lors de mises à jours !
Pour yay
sudo pacman -S yay
Pour trizen
, manuellement
sudo pacman -S git
cd /tmp
git clone https://aur.archlinux.org/trizen.git
cd trizen
makepkg -si
Ou plus simplement via yay
yay -S trizen
On rajoute quelques polices de caractères utiles/manquantes.
yay -S ttf-bitstream-vera
Malheureusement nécessaires...
yay -S ttf-ms-fonts
Et pour le japonais ;)
yay -S noto-fonts-cjk noto-fonts-emoji noto-fonts
On ajoute ce qui manque au support du bluetooth
yay -S bluez-tools bluez-plugins bluez-utils
Et on ajout ce paramètre pour éviter blueman d'être à la porte...
sudo nano /etc/bluetooth/main.conf
Et on ajoute/modifie le paramètre
AutoEnable=true
On installe le package contenant les sources du kernel indispensable pour pouvoir compiler des modules addtionnels avec DKMS
(Virtualbox, ....)
Rermaque : les sources à installer doivent bien entenu "matcher" avec le noyau installé
yay -S linux516-headers
On va maintenant installer des package manager alternatifs, mais avant, passons par les paramètres de Pamac
.
Histoire de garder un système propre, je vous conseille de cocher Déinstaller les dépendances inutiles
Bon... même si vous avez installé trizen
ou yaourt
, si vous voulez intégrer les paquets AUR dans Pamac et donc bénéficier de la gestion unifiée que celui-ci fourni, vous devez activer les paquets AUR
dans celui-ci.
Remarque : les paquets
AUR
viennent en droite ligne deAUR
(mouarf) et contrairement àFlatpak
ouSnap
, peuvent entrer en conflit avec les paquets de Manjaro. Je vous conseille de ne cocherVérifier les mises à jour
si et seulement si vous vous sentez l'âme de gérer les éventuels conflits. Sinon, effectuez les mises à jour viatrizen
seulement quand c'est nécessaire et pour un paquet en particulier.
Remarque 2 : AUR (Arch User Repository) est, comme son nom l'indique, prévu pour Arch. Et bien que Manjaro soit basée sur Arch, elle fonctionne avec ses propres dépots (instable, test et stable), lesquelles ajoutent une "couche de stabilité" par rapport à Arch, l'instable de Manjaro correspondant au stable de Arch et les releases stables de Manjaro se faisant sous forme de "Snapshots" à intervals courts (excepté les MAJ de sécu qui peuvent être poussées en priorité). Ce qui du coup, peut entrainer des soucis (c'est rare, mais ça arrive) avec la mise à jours de certains packages AUR, lesquels reposent sur une version stable de Arch mais pas encore disponible dans le dépot stable de Manjaro. La plupart du temps, ça se passe très bien, et dans le cas pré-cité, cela se résume à une erreur de construction du paquet (donc l'ancienne version reste installée) et à simplement attendre le suivant snapshot stable de manjaro.
Remarque 2 bis : et donc dans un idéal "safe", je recommanderai de ne PAS cocher l'option Vérifier les mises à jours, afin d'éviter qu'une telle erreur se produise lors d'une mise à jours complète du système.
Ce fait via l'activation des paquets Flatpak
dans Pamac
.
Je vous invite à cocher Vérifier les mises à jour
pour que celles soient effectuées via Pamac
.
Remarque : cela équivaut à un
flatpak update
et devrait être 100% safe pour votre système.
Remarque : le plugin
libpamac-flatpak-plugin
à flatpak comme dépendence, donc l'installation manuelle deflatpak
n'est nécessaire QUE si vous n'installer pas le supportFlatpak
dansPamac
yay -S flatpak
Ce fait via l'activation des paquets Snap
dans Pamac
.
Remarque :
Snap
fonctionne avec un Store centralisé et géré par Canonical. D'un point de vue d'un libriste, je vous conseil fortement d'éviter autant que possible et privilégierAUR
ouFlatpak
.
Remarque : le plugin
libpamac-snap-plugin
àsnapd
comme dépendence, donc l'installation manuelle desnapd
n'est nécessaire QUE si vous n'installer pas le supportSnap
dansPamac
yay -S snapd
Les AppImage
ne sont pris en charge par pamac
et bien qu'il existe un AppImage
hub, cela ne repose pas sur un store ou des dépôts comme Snap
ou Flatpak
.
Du coup, ce petit utilitaire permet d'installer une AppImage
dans ~/Applications
(default) et d'ajouter un raccourci dans le menu de façon simple.
On install donc
yay -S appimagelauncher
On installe NodeJS + le package manager NodeJS
yay -S nodejs npm
On définit où seront installé les packages nodejs avec l'option -g
de npm
npm config set prefix /home/<YOUR_USER_NAME>/.local
Dans ~/.bashrc
, on ajoute :
PATH=~/.local/bin/:$PATH
On installe le package manager de python
yay -S python-pip
Et pipx
pour installer les Apps python depuis PyPi dans un environement isolé
yay -S python-pipx
Dans cette section, on va s'occuper de notre matos.
Pour AMD (pilote : amdgpu), on édite /etc/X11/xorg.conf.d/20-amdgpu.conf
sudo nano /etc/X11/xorg.conf.d/20-amdgpu.conf
Et on y colle ceci
Section "Device"
Identifier "AMD"
Driver "amdgpu"
Option "VariableRefresh" "true"
Option "TearFree" "true"
EndSection
Les apps comme steam, lutris, wine, ... nécessites leurs pendants 32 bits de Vulkan pour fonctionner.
yay -S --needed lib32-mesa vulkan-radeon lib32-vulkan-radeon vulkan-icd-loader lib32-vulkan-icd-loader
Remarque : pour les autres Intel/Nvidia : https://github.com/lutris/docs/blob/master/InstallingDrivers.md
Remarque (Juillet 2021) : cette partie n'est plus nécessaire, rtl8761b ayant été ajouté dans linux-firmware dans les dépôts officiels
Installer le module depuis
AUR
, suivi d'un branchement/débranchement du dongle ;)yay -S rtl8761b-fw
Nous avons besoin de remplacer pulseaudio-bluetooth
par pulseaudio-modules-bt
pour avoir plus de choix niveau Codecs Bluetooth, dont LDAC, qui est un Codec Lossless.
yay -S pulseaudio-modules-bt
Remarque : le paquet
pulseaudio-modules-bt
sur Manjaro est présent dans le dépôtcommunity
ETAUR
, mais n'existe que dansAUR
sous Arch
Remarque 2 : le dépôt github en amont n'est plus maintenu, donc à utiliser jusqu'à ce que ça casse !
Suivi d'un petit
pulseaudio -k
Il est possible de vérifier s'il est pris en compte via la commande : pactl list
.
Exemple de sortie
pactl list
[...]
Destination #2
État : RUNNING
Nom : bluez_sink.94_DB_56_9D_4C_38.a2dp_sink
Description : WH-1000XM4
Pilote : module-bluez5-device.c
Spécification de l'échantillon : s16le 2ch 44100Hz
Plan des canaux : front-left,front-right
Module du propriétaire : 26
Sourdine : non
Volume : front-left: 37933 / 58% / -14,25 dB, front-right: 37933 / 58% / -14,25 dB
balance 0,00
Volume de base : 65536 / 100% / 0,00 dB
Source du moniteur : bluez_sink.94_DB_56_9D_4C_38.a2dp_sink.monitor
Latence : 31109 usec, configuré 30804 usec
Marqueurs : HARDWARE DECIBEL_VOLUME LATENCY
Propriétés :
bluetooth.protocol = "a2dp_sink"
bluetooth.a2dp_codec = "LDAC"
device.description = "WH-1000XM4"
device.string = "94:DB:56:9D:4C:38"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_94_DB_56_9D_4C_38"
bluez.class = "0x240404"
bluez.alias = "WH-1000XM4"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
Ports :
headset-output: Headset (type: Unknown, priority: 0, available)
Port actif : headset-output
Formats :
pcm
[...]
Carte #3
Nom : bluez_card.94_DB_56_9D_4C_38
Pilote : module-bluez5-device.c
Module propriétaire : 26
Propriétés :
device.description = "WH-1000XM4"
device.string = "94:DB:56:9D:4C:38"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_94_DB_56_9D_4C_38"
bluez.class = "0x240404"
bluez.alias = "WH-1000XM4"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
Profils :
headset_head_unit: Headset Head Unit (HSP/HFP) (sinks: 1, sources: 1, priority: 30, available: oui)
a2dp_sink_sbc: High Fidelity Playback (A2DP Sink: SBC) (sinks: 1, sources: 0, priority: 40, available: oui)
a2dp_sink_aac: High Fidelity Playback (A2DP Sink: AAC) (sinks: 1, sources: 0, priority: 40, available: oui)
a2dp_sink_aptx: High Fidelity Playback (A2DP Sink: aptX) (sinks: 1, sources: 0, priority: 40, available: non)
a2dp_sink_aptx_hd: High Fidelity Playback (A2DP Sink: aptX HD) (sinks: 1, sources: 0, priority: 40, available: non)
a2dp_sink_ldac: High Fidelity Playback (A2DP Sink: LDAC) (sinks: 1, sources: 0, priority: 40, available: oui)
off: Off (sinks: 0, sources: 0, priority: 0, available: oui)
Profil actif : a2dp_sink_ldac
Ports :
headset-output: Headset (type: Unknown, priority: 0, latency offset: 0 usec, available)
Partie du(des) profil(s) : headset_head_unit, a2dp_sink_sbc, a2dp_sink_aac, a2dp_sink_aptx, a2dp_sink_aptx_hd, a2dp_sink_ldac
headset-input: Headset (type: Unknown, priority: 0, latency offset: 0 usec, availability unknown)
Partie du(des) profil(s) : headset_head_unit
Certains périphériques USB nécessitent des règles udev
spécifiques pour qu'ils soient accessibles.
Afin de pouvoir utiliser les outils du SDK Android, comme adb
ou fastboot
, on doit donner un accès au smartphone via USB.
Vous avez 2 possibilités :
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666", OWNER="shakasan" # Acer
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", OWNER="shakasan" # Asus
SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666", OWNER="shakasan" # Dell
SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666", OWNER="shakasan" # Foxconn
SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666", OWNER="shakasan" # Fujitsu
SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666", OWNER="shakasan" # Fujitsu-Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666", OWNER="shakasan" # Garmin-Asus
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", OWNER="shakasan" # Google-Nexus
SUBSYSTEM=="usb", ATTR{idVendor}=="201E", MODE="0666", OWNER="shakasan" # Haier
SUBSYSTEM=="usb", ATTR{idVendor}=="109b", MODE="0666", OWNER="shakasan" # Hisense
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", OWNER="shakasan" # HTC
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", OWNER="shakasan" # Huawei
SUBSYSTEM=="usb", ATTR{idVendor}=="8087", MODE="0666", OWNER="shakasan" # Intel
SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666", OWNER="shakasan" # K-Touch
SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666", OWNER="shakasan" # KT Tech
SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666", OWNER="shakasan" # Kyocera
SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666", OWNER="shakasan" # Lenovo
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", OWNER="shakasan" # LG
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", OWNER="shakasan" # Motorola
SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", MODE="0666", OWNER="shakasan" # MTK
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666", OWNER="shakasan" # NEC
SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666", OWNER="shakasan" # Nook
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666", OWNER="shakasan" # Nvidia
SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666", OWNER="shakasan" # OTGV
SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0666", OWNER="shakasan" # Pantech
SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0666", OWNER="shakasan" # Pegatron
SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666", OWNER="shakasan" # Philips
SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666", OWNER="shakasan" # PMC-Sierra
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", OWNER="shakasan" # Qualcomm
SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666", OWNER="shakasan" # SK Telesys
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", OWNER="shakasan" # Samsung
SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666", OWNER="shakasan" # Sharp
SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666", OWNER="shakasan" # Sony
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", OWNER="shakasan" # Sony Ericsson
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", OWNER="shakasan" # Sony Mobile Communications
SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0666", OWNER="shakasan" # Teleepoch
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", OWNER="shakasan" # Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", OWNER="shakasan" # ZTE
yay -S android-udev
Idem, pour avoir accès à la clé FIDO U2F via USB.
On créer le fichier /etc/udev/rules.d/70-u2f.rules
et on ajoute
# this udev file should be used with udev 188 and newer\nACTION!="add|change", GOTO="u2f_end"
# Key-ID FIDO U2F
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0850|0880", TAG+="uaccess"
LABEL="u2f_end"
Afin que ces règles udev
soit prises en compte directement
sudo udevadm control --reload
Solaar permet de configurer les périphériques Logitech compatible Unifying.
yay -S solaar
Piper permet d'avoir accès aux différents paramètres des souris Gaming Logitech.
Remarque : encore quelques bugs, mais vaut le détour et fait le taf ;)
yay -S piper
Le nécessaire pour utiliser les cartes à puces (carde d'identité, ...)
yay -S pcsc-tools ccid
Et lancer/activer le service
sudo systemctl enable --now pcscd.service
Nécessaire pour les services fédéraux, etc en lignes en Belgique, le middleware eID.
yay -S eid-mw
On installe la nouvelle application de gestion/config du wallet hardware Ledger Nano S/X.
Remarque : c'est valable pour n'importe quel dépôt tier ou
AUR
, il faut toujours vérifier minitieusement ce que vous installez. Et dans le cas deAUR
, vérifier les sources. Il s'agit d'un Wallet matériel pour Crypto-monnaies, c'est d'autant plus sensible !!
Depuis AUR
yay -S aur/ledger-udev aur/ledger-live-bin
Ou depuis le dépot community
yay -S ledger-live-bin
On télécharge l'AppImage
officielle via cette URL : https://download-live.ledger.com/ et on l'install via AppImageLauncher
.
Remarque : je vous conseille de TOUJOURS télécharger ET vérifier le contenu d'un script AVANT de l'exécuter, comme c'est le cas dans la commande ci-dessous.
On install ensuite les règles udev
depuis le dépôt github officiel de Ledger comme ceci :
wget -q -O - https://raw.githubusercontent.com/LedgerHQ/udev-rules/master/add_udev_rules.sh | sudo bash
Ou bien depuis AUR
:
yay -S aur/ledger-udev
ckb-next
permet de gérer les périphériques Corsair (touches spécials, rgb, ...)
Depuis AUR
yay -S ckb-next
Et démarrer/activer le service au démarrage
sudo systemctl start ckb-next-daemon.service
sudo systemctl enable ckb-next-daemon.service
Application + 'driver' pour le scanner Epson V500 Photo
yay -S iscan-for-epson-v500-photo
L'installation de "base" étant terminée, passons à l'ajout des applications.
Astuce : si vous voulez des infos sur un paquet en particulier, en résumé
yay -Ss <nom_du_paquet>
et en détailléyay -Si <nom_du_paquet>
.
Depuis les dépôts et/ou AUR
yay -S detox qt5-styleplugins clamav clamtk alltray aria2 htop bmon screen bleachbit copyq dialog dosbox fcrackzip fdupes figlet guake idle3-tools mupdf mupdf-tools pdfcrack pdfgrep psensor pv screenfetch neofetch ulauncher terminator tilda pandoc stress odt2txt strace tilix etcher-bin lm_sensors pdfmixtool libva-utils xdotool tmsu-bin xcalib qtqr woeusb spectre-meltdown-checker inxi cryptkeeper s-tui linpack nano-syntax-highlighting kdocker rpi-imager duf iotop vorta edid-decode-git hw-probe mc sct fwupd nvtop qt5ct qt6ct geekbench sg3_utils nvme-cli smartmontools cheat-bin ncdu lynis gdu sysprof trdsql-bin downgrade distrobox radeontop
Depuis Flatpak
sudo flatpak install com.github.tchx84.Flatseal io.github.flattool.Warehouse net.nokyan.Resources
Depuis NPM
npm i -g coinmon nativefier
Depuis PIP
pipx install tldr
pipx install md2pdf
Depuis des dépôts et/ou AUR
yay -S quodlibet vlc mpv xsane shotwell simplescreenrecorder lib32-simplescreenrecorder asunder audacious audacious-plugins audacity avidemux-cli avidemux-qt blender cheese cuetools darktable peek shotcut flacon gpick gpicview guvcview handbrake handbrake-cli hugin inkscape kodi krita milkytracker mkvtoolnix-cli mkvtoolnix-gui moc openshot picard pitivi rawtherapee shntool smplayer smplayer-{skins,themes} soundconverter id3v2 youtube-dl mac libdvdcss celluloid vidcutter font-manager blanket birdfont gcolor3 xnviewmp-system-libs indicator-sound-switcher gifcurry flameshot webp-pixbuf-loader upscayl-appimage waifu2x-ncnn-vulkan realesrgan-ncnn-vulkan natron-bin playerctl
Depuis Flatpak
sudo flatpak install flathub com.spotify.Client com.github.marinm.songrec org.gnome.gitlab.YaLTeR.VideoTrimmer org.flozz.yoga-image-optimizer io.github.jliljebl.Flowblade org.nickvision.tubeconverter flathub sa.sy.bluerecorder io.gitlab.adhami3310.Converter
Depuis PIP
pipx install qobuz-dl
Depuis les dépôts et/ou AUR
yay -S gimp gimp-{help-fr,nufraw,plugin-gmic} gimp-{plugin-refocusit,plugin-pandora,plugin-layers-to-divs,plugin-export-layers}
Depuis les dépôts et/ou AUR
yay -S obs-studio obs-websocket-bin obs-cli obs-websocket-compat
Depuis les dépôts et/ou AUR
yay -S calibre sigil fbreader gnome-epub-thumbnailer bookworm foliate
Depuis les dépôts et/ou AUR
yay -S brasero k3b xfburn
Depuis les dépôts et/ou AUR
yay -S libreoffice-still libreoffice-still-fr scribus mate-calc
Depuis Flatpak
sudo flatpak install flathub com.jgraph.drawio.desktop org.nickvision.money
Depuis les dépôts et/ou AUR
yay -S firefox firefox-i18n-fr chromium slack-desktop thunderbird thunderbird-i18n-fr nextcloud-client digikam discord filezilla google-chrome hexchat icedtea-web links mumble teamspeak3 mypaint opera opera-ffmpeg-codecs quiterss syncthing syncthing-gtk telegram-desktop vivaldi vivaldi-ffmpeg-codecs skypeforlinux-stable zoom liferea signal-desktop caprine brave-browser element-desktop whalebird birdtray telegram-purple microsoft-edge-stable-bin torbrowser-launcher gallery-dl teams ferdium-bin hamsket-bin tangram webapp-manager
Depuis Flatpak
sudo flatpak install flathub com.microsoft.Teams com.github.IsmaelMartinez.teams_for_linux net.jami.Jami io.gitlab.news_flash.NewsFlash
Workaround pour Discord quand le nouveau paquet n'est pas encore dispo
Editer ~/.config/discord/settings.json
et ajouter ceci au fichier JSON :
"SKIP_HOST_UPDATE": true
Depuis les dépôts et/ou AUR
yay -S aircrack-ng ngrep networkmanager-openvpn dsniff wireshark-qt wireshark-cli iftop iptraf-ng nethogs whois keychain x11-ssh-askpass nmap bind-tools bluez vinagre remmina traceroute remmina-plugin-rdesktop sshs iperf3 aur/enum4linux enum4linux-ng-git ifmetric ipmitool ipcalc dnslookup bind-tools ldapdomaindump sshpass
Depuis NPM
npm i -g whatismyip
Depuis PIP
pipx install cf-speedtest
Depuis les dépôts et/ou AUR
yay -S thunar thunar-{archive-plugin,media-tags-plugin,volman}
Depuis les dépôts et/ou AUR
yay -S wine winetricks playonlinux
Depuis les dépôts et/ou AUR
yay -S kicad kicad-library kicad-library-3d librecad freecad
Depuis Flatpak
sudo flatpak install flathub io.github.Bavarder.Bavarder
Depuis les dépôts et/ou AUR
yay -S joyutils lutris gnutls lib32-gnutls steam gamemode lib32-gamemode bottles
Et protonup-qt
pour gérer les releases de Proton-GE pour Steam
Depuis Flatpak
sudo flatpak install flathub net.davidotek.pupgui2
Dépendances pour que Battle.net fonctionne
yay -S lib32-gnutls lib32-libldap lib32-libgpg-error lib32-sqlite lib32-libpulse lib32-alsa-plugins
Remarque : pensez à désactiver l'accélération matérielle en cas de black screen via les paramètres de Battle.net
Via une AppImage : https://github.com/WowUp/WowUp/releases
Ou un paquet AUR qui va build wowup :
yay -S wowup
Depuis les dépôts et/ou AUR
yay -S 0ad
Depuis Flatpak
sudo flatpak install flathub org.srb2.SRB2
Depuis les dépôts et/ou AUR
yay -S no-more-secrets-git
Depuis les dépôts et/ou AUR
yay -S wpfind
Un système qui a du style, ça n'est pas le plus fondamental, mais quand même... ça fais du bien ;)
On ajoute quelques thèmes GTK et icones
Depuis les dépôts et/ou AUR
yay -S arc-gtk-theme arc-icon-theme matcha-gtk-theme kvantum-theme-matcha kvantum-theme-orchis-git orchis-theme elementary-icon-theme kvantum-theme-materia materia-gtk-theme whitesur-gtk-theme whitesur-kvantum-theme-patched-git yaru-gtk-theme qogir-gtk-theme-git kvantum-theme-qogir-git adw-gtk3 colloid-gtk-theme-git colloid-kde-theme-git numix-gtk-theme-git
yay -S conky-cairo conky-manager2-git
Cet utilitaire permet de configurer des wallpapers différents en configuration multi-écran OU de configurer un wallpaper couvrant l'ensemble de ceux-ci. Contrairement à Nitrogen
, on ne doit pas sacrifier ses icones de bureau ;)
yay -S hydrapaper
Dock léger et bien fini en provenance de ElementaryOS.
yay -S plank
Quelques themes pour Plank
yay -S plank-theme-arian-git plank-theme-monterey-dim
Il est maintenant temps d'un peu "fine tuner" comme dirait certains ;)
On va activer le TRIM pour les disques SSD
sudo systemctl enable fstrim.timer
Si l'on dispose de suffisament de RAM, on peut limiter l'usage du swap et donc ménager un peu le SSD
Dans /etc/sysctl.d/99-sysctl.conf
, on ajoute :
vm.swappiness=10
Remarque : Cette étape est optionnelle, mais fortement recommandée (failles spectre, meltdown, ...) car elle corrige des failles majeures.
yay -S iucode-tool intel-ucode
Et on met à jour la configuration de GRUB
pour qu'il en tienne compte
sudo grub-mkconfig -o /boot/grub/grub.cfg
yay -S iucode-tool amd-ucode
Et on met à jour la configuration de GRUB
pour qu'il en tienne compte
sudo grub-mkconfig -o /boot/grub/grub.cfg
On installe les outils graphique/cli
yay -S ufw gufw
Si vous utilisez syncthing
, on ouvre les ports pour celui-ci
sudo ufw allow syncthing
De même si vous faites l'install depuis une connexion SSH, on ouvre les ports SSH également. Et c'est important de le faire avant d'activer le firewall sous peine de se retrouver à la porte ;)
sudo ufw allow ssh
Et on active le firewall au boot.
sudo systemctl enable --now ufw
sudo ufw enable
Pour accélérer la résolution DNS, on installe un cache DNS local
yay -S unbound
Et on active le service au boot
sudo systemctl start unbound.service
sudo systemctl enable unbound.service
Dans ~/.bashrc
, on ajoute :
Un theme plus sympa pour mocp
alias mocp='mocp -T "darkdot_theme"'
Des couleurs et un affichage plus complet de la commande ls
alias ll='ls -lah --color'
On affiche neofetch
à l'ouverture d'un terminal
neofetch
On configure nano
comme éditeur cli par défaut
export EDITOR=nano
Remarque : nécessaire pour certaines applications comme
rclonebrowser
par exemple
Dans /etc/environment
, on ajoute
TERMINAL=/usr/bin/tilix
Exemple de configuration dans /etc/fstab
pour monter automatiquement au boot un dossier partagé sur son NAS avec smb/cifs
//<VOTRE_ADRESSE_IP>/<NOM_DU_DOSSIER_PARTAGE> /mnt/<NOM_DU_POINT_DE_MONTAGE_LOCAL> cifs vers=3.0,x-systemd.automount,x-systemd.idle-timeout=1min,_netdev,credentials=/etc/smbcreds,rw,iocharset=utf8,uid=1000,gid=1000 0 0
Remarque : le
uid
et legid
sont a adapter si besoin à ceux de votre utilisateur
Et on regénère les règles systemd
pour le nouveau point de montage smb/cifs
sudo systemctl daemon-reload
sudo systemctl restart remote-fs.target
sudo systemctl restart local-fs.target
Cet exemple décrit un RAID 0 (logiciel, via mdadm) de 2 disques : /dev/sdb et /dev/sdc, pour un volume monté via fstab.
Remarque : la taille de chunk est de 512 par défaut et correspondais à mon besoin. La taille de celui-ci + les caractéristiques stride/stripe du système de fichier ext4 vont influencer fortement les performances en fonction de l'usage que vous aller faire de la grappe : jeux, documents, bases de données, .....
Astuce : lisez cette section raid 0 avant de vous lancer pour l'adapter à vos besoins.
Doc Arch : je vous invite à checker la doc de Arch pour plus de détails : Arch Wiki : RAID
Remarque 2 : sans que ça devienne une doc sur le raid, je rappel que le Raid 0, c'est plus de performance mais aucune sécurité des données. Dans mon cas, il s'agit de mes jeux Steam, au pire, je dois simplement les re-downloader ;-)
Pour éviter certains soucis un peu étranges... je vous conseil de faire un petit nettoyage des 2 disques
Remarque : suivant la taille des disques et le type (HDD / SSD), cela peut prendre un certain temps
sudo dd if=/dev/zero of=/dev/sdb
sudo dd if=/dev/zero of=/dev/sdb
On modifie /etc/mkinitcpio.conf
et on ajoute mdadm_udev
dans HOOKS
juste avant filesystems
:
HOOKS="base udev autodetect modconf block keyboard keymap plymouth plymouth-encrypt openswap resume mdadm_udev filesystems"
On créer le raid 0
Remarque : cfr la partie performance et sécurité pour le paramètre
chunk
sudo mdadm --create --verbose --level=0 --raid-devices=2 /dev/md0 /dev/sdb /dev/sdc
On créer la config en l'ajoutant à /etc/mdadm.conf
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm.conf
Ensuite, on créer un système de fichier sur le raid fraîchement créé
Remarque : cfr la partie performance et sécurité pour les paramètres
stride
etstripe
sudo mkfs.ext4 -v -L monVolRaid -b 4096 -E stride=128,stripe-width=256 /dev/md0
On ajoute un point de montage dans /etc/fstab
/dev/md0 /mnt/monVolRaid ext4 defaults,noatime 0 2
On monte le point de montage
sudo mount /mnt/monVolRaid
On re-genère le mkinitpcio
sudo mkinitpcio -P
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 1 1,8T 0 disk
└─md0 9:0 0 3,6T 0 raid0 /mnt/monVolRaid
sdc 8:32 1 1,8T 0 disk
└─md0 9:0 0 3,6T 0 raid0 /mnt/monVolRaid
$ cat /proc/mounts
[...]
/dev/md0 /mnt/mySSDRaid4T ext4 rw,noatime,stripe=256 0 0
[...]
$ sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri Jan 8 18:42:20 2021
Raid Level : raid0
Array Size : 3906764800 (3725.78 GiB 4000.53 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Fri Jan 8 18:42:20 2021
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 512K
Consistency Policy : none
Name : manjaro:0 (local to host manjaro)
UUID : b71cae0e:5d8cc9ed:f56af4ee:eaf9a8b6
Events : 0
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
$ cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sdb[0] sdc[1]
3906764800 blocks super 1.2 512k chunks
unused devices: <none>
$ df -h
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
[...]
/dev/md0 3,6T 984G 2,5T 29% /mnt/monVolRaid
[...]
TODO : rework !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Utilisation de l'utilitaire Kvantum
Remarque : en lieu et place de
qt5ct
+ variableQT_QPA_PLATFORMTHEME=qt5ct
Pour cette partie, je passe certaines explications étant donné le publique cible ^^
yay -S gdb ghex jq meld yq
yay -S nvm
yay -S yarn
Ou bien
npm i -g yarn
yay -S gulp
npm i -g @angular/cli
Et utiliser yarn
à la place de npm
(AngularCLI >= 6)
ng config -g cli.packageManager yarn
npm i -g ionic cordova
A besoin d'être mis à jour ;) :')
yay -S go
yay -S lua luajit
yay -S composer php
yay -S python-{pyqt5,pyqt6,pipenv} tk
pipx install pylint
pipx install autopep8
pipx install pycodestyle
pipx install flake8
pip install --user pipdeptree
pip install --user pip-autoremove
yay -S qtcreator qt5-tools
yay -S glade gtk4 python-gobject gtk3 gobject-introspection
yay -S ruby
TODO : rework ?????????????????????????????????????????????????????
Dans ~/.bashrc
, ajouter
PATH=$PATH:~/.gem/ruby/2.7.0/bin
yay -S rustup
rustup default stable
Installer OpenJDK 18
yay -S jre-openjdk-headless jre-openjdk
Utiliser OpenJDK 18 par défaut
sudo archlinux-java set java-18-openjdk
yay -S mongodb-compass
yay -S mongodb-bin mongodb-tools-bin
Pour démarrer le serveur
sudo systemctl start mongodb.service
Et si besoin, le démarrer au boot
sudo systemctl enable mongodb.service
On install MariaDB
yay -S mariadb
sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
On démarre le service
sudo systemctl start mariadb.service
On effectue la post installation
sudo mysql_secure_installation
Et éventuellement on démarre MariaDB au boot si besoin
sudo systemctl enable mariadb.service
yay -S mysql-workbench
yay -S sqlite sqlitebrowser
yay -S android-tools android-studio
OU utiliser l'app Toolbox (conseillé)
yay -S jetbrains-toolbox
Pour avoir accès aux outils du SDK : adb, fastboot, ... (installés via Android Studio et le SDK Manager)
Ajouter cette ligne à votre .bashrc
PATH=$PATH:/home/shakasan/Android/Sdk/platform-tools
yay -S arduino arduino-docs arduino-avr-core
sudo usermod -a -G uucp shakasan
sudo usermod -a -G lock shakasan
yay -S bluefish
yay -S codeblocks
yay -S intellij-idea-community-edition
OU utiliser l'app Toolbox (conseillé)
yay -S jetbrains-toolbox
yay -S lazarus-qt5 gdb
yay -S notepadqq
yay -S pulsar-bin
yay -S pycharm-community-edition
OU utiliser l'app Toolbox (conseillé)
yay -S jetbrains-toolbox
yay -S visual-studio-code-bin
yay -S ansible ansible-lint
yay -S joplin-desktop
yay -S dbeaver
yay -S docker docker-compose dive hadolint-bin
On créer un groupe docker
et on y ajoute son user
Remarque : après cette étape, il est fortement recommandé de logout/login complètement
sudo groupadd docker
sudo usermod -aG docker <votre_user>
On check si docker
tourne
sudo systemctl status docker
Et éventuellement on lance docker
et on l'ajoute au boot si nécessaire
sudo systemctl start docker
sudo systemctl enable docker
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
yay -S git
gem install package_cloud
flatpak install flathub com.getpostman.Postman
yay -S terraform
yay -S umbrello
yay -S vagrant
yay -S virtualbox virtualbox-host-dkms
Suivi d'un reboot ou bien
sudo modprobe vboxdrv
yay -S wpscan
yay -S zeal
Via une AppImage : https://github.com/Figma-Linux/figma-linux/releases
Un remplacement a cat
, tout aussi simple, mais avec de vraies améliorations visuelles.
yay -S bat
On génère la config
bat --generate-config-file
On édite ~/.config/bat/config
et on ajoute/modifie :
- theme OnHalfDark pour les terminaux à fond sombre
- style full pour avoir les numéros de ligne, les entêtes et la grille
# This is `bat`s configuration file. Each line either contains a comment or
# a command-line option that you want to pass to `bat` by default. You can
# run `bat --help` to get a list of all possible configuration options.
# Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes`
# for a list of all available themes
--theme="OneHalfDark"
# Enable this to use italic text on the terminal. This is not supported on all
# terminal emulators (like tmux, by default):
#--italic-text=always
# Uncomment the following line to disable automatic paging:
#--paging=never
# Uncomment the following line if you are using less version >= 551 and want to
# enable mouse scrolling support in `bat` when running inside tmux. This might
# disable text selection, unless you press shift.
#--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse"
# Syntax mappings: map a certain filename pattern to a language.
# Example 1: use the C++ syntax for Arduino .ino files
# Example 2: Use ".gitignore"-style highlighting for ".ignore" files
#--map-syntax "*.ino:C++"
#--map-syntax ".ignore:Git Ignore"
--style="full"
Puis on modifie son .bashrc
et on ajoute :
- loader la config
- remplacer via alias
cat
parbat
export BAT_CONFIG_PATH="~/.config/bat/config"
export cat='bat'
- Doc réalisée par Francois B (Makoto)
- Publiée sous les termes de la licence Creative Commons CC-BY-NC-SA