* Introduction Fait l'installation sur mon ordinateur portable (VivoBook 15_ASUS Laptop X540UB) qui m'a fidèlement servi pour les années de master. Le but est de répertorier une installation la plus propre possible de Linux pour pouvoir au mieux répliquer les paramètres corrects (et refaire une installation sur cet ordinateur au besoin). Un autre objectif est de respecter au maximum les bonnes pratiques et d'essayer de maximiser l'usage d'outils robustes typiques (le terminal, éditer par vim, etc.) * Choix - Arch Linux (besoin pour pilotes, niveau de difficulté acceptable) - Pas de surcouche distro (Pas d'endeavor par exemple) -> Le plus simple possiblz * Installation ** Problèmes *** Connexion internet - Le fichu pilote RTL8723BE sera maudit pour les années à venir, pour m'avoir fait perdre un temps considérable. - Le pilote permet de chercher les connexions wifi. - Cependant, avec iwd (seul gestionnaire de connexion sur l'installation standard d'ArchLinux), le pilote ne semble fonctionner que quelques secondes après le (re)démarrage. - Cependant², tout semble fonctionner niquel avec NetworkManager (pourvu que l'ordinateur soit branché). Donc, on passe par la connexion du téléphone par USB le temps de l'installation. Puis nmtui pour configurer la connexion correctement. *** Détails de l'installation - Au bout d'un moment, je sais faire ma table de partition tranquille. Mon problème vient bien plus de la liste minimale de packages à installer que je ne sais pas faire. - Par conséquent, je pars sur une installation archinstall avec le minimum syndical ** Archinstall - Archinstall language : Français (90%) - Locales : Disposition du clavier : fr_latin1 - Locales : Langue locale : fr_FR - Locales : Encodage des paramètres : UTF-8 - Miroirs : (les Français) - Configuration du disque : automatique (/, /home, /boot) - Swap : zram // Voirnotes sur swap - Chargeur de démarrage : Grub - Nom d'hôte : b0rd4dk - Compte utilisateur : jercky - Profil : (Esquivé, installe un gestionnaire de fenêtre avec des paramètres pré-faits selon l'usage renseigné (Desktop/Server)) - Audio : pipewire - Noyaux : linux - Configurer le réseau : NetworkManager installé + (Détails laissés pour après l'installation) - Paquets supplémentaires : Aucuns - Fuseau horaire : UTC+1 (Europe/Paris) * Après l'installation ** Jusqu'à l'écriture du journal - Comme précisé plus haut : paramétrage wifi par NetworkManager (nmtui) - Installation de vim - Retire les erreurs pcie_bus en ajoutant au grub (/etc/default/grub) GRUB_CMDLINUX_LINUX_DEFAULT : pci=nomsi ; GRUB_CMDLINUX_LINUX : pci=noaer. Maj du grub par grub-mkconfig -o /boot/grub/grub.cfg - Au cas où : non, pcie_aspm=off n'a pas fonctionné - Comme le journal était plein de détails inutiles (erreur de 4 lignes toutes les X secondes) : on le vide (sudo rm -rf /var/log/journal/*) - Installation de fastfetch pour les détails de ce journal ** Début des installations - Mise en place du Firewall - Pour remédier aux ralentissements/freeze : on vire le swap mis par défaut (zram0) et on passe par un swapfile (mkswap -U clear --size 4G --file /swapfile && swapon / swapfile). A voir si les freeze s'arrêtent là. - J'ai eu un freeze malgré la modification du swap! Par contre, je me souviens qu'il fallait bloquer le bluetooth parce qu'il y a eu des lignes du journal à ce propos! Donc : rfkill block bluetooth - Il est possible que cela ne venait pas du swap. Mais pour plus de contrôle sur la situation, je garde sous swapfile le problème. - J'ai eu un freeze pendant l'écriture de la ligne ci-dessus et rien dans le journal n'est inscrit. Après la fin du freeze, on peut voir une note erreur emask 0x0 sact 0x0 serr 0x50000 action 0x6 frozen qui semble liée au disque dur/ssd. Sachant que je remarque que la zone en bas à droite de l'ordinateur est plus chaude qu'elle le devrait et un bruit qui ressemble à mon vieux disque dur (connexion/déconnexion en boucle) : c'est peut être ça (mais je ne vais pas démonter pour vérifier). ** Sécurité *** Firewall - Installation+Utilisation de ufw (Uncomplicated Firewall) - Par défaut, on va bloquer tout traffic entrant (ufw default deny) - Pour plus tard : voir à permettre (limiter?) ssh, un client bittorrent ** DNS - Installation de fcron pour les tâches récurrentes (oui, il n'y a pas cron par défaut sinon) - Mise en place de la blocklist sur le site de sebsauvage (Liste de blocage DNS) - Téléchargement du script de mise à jour automatique dans /etc/cron.weekly/host-update - Permet la mise à jour automatique toutes les semaine de la liste de blocage dans /etc/hosts ** GUI - Installation de sway comme WM (wayland, habitude, stable) - Installation de zsh comme shell (le plus utilisé vu, peut le désinstaller si besoin, c'est juste pour en avoir un) - Installation de greetd comme display manager. Mais non nécessaire. Donc supprimé. - Installation de ly comme display manager (console-like, minimaliste, fonctionne avec wayland, toujours maintenu) - Installation de xdg-user-dirs (pour utiliser xdg-users-dirs-update et créer les répertoires utilisateur standards) - A noter, que j'ai galéré sur sway parce que j'ai confondu zsh comme étant un émulateur de terminal, et qu'évidemment, je n'en avais pas d'installé. L'installation de foot me permet de corriger le problème et d'enfin pouvoir utiliser une interface graphique (pour passer ma vie dans le terminal lol) - Installation de foot comme émulateur de terminal (très conseillé sur wayland) - Choix de Gruvbox comme thème, mais il va falloir diminuer la luminosité de l'écran >< (ce qui n'est pas un mal tbh) - Installation de brightnessctl pour le contrôle de la lumière (conseillé à l'installation de ly) ** Utilitaires - Installation de paru (comme yay mais en rust) -> J'ai installé le package rust, mais il fallait rustup :'( -> A corriger -> Corrigé (attention, perte de plusieurs centaines de Mo, peut être les packages de rust installés pour paru ?) - Installation de git - Installation de firefox (2e jour, pour récupérer certaines sources sans galérer) ** Hardware - Installation de udiskie pour automount les périphériques externes (parce que flemme et on évite les programmes kde/gnome) - Installation de cpupower pour plus de contrôle sur le cpu. Mais impossible de mettre les "governor". Voir à reboot avant ? -> Même après reboot :shrug: On peut le garder pour plus tard ** GPU - Installation du pilote graphique propriétaire nvidia-580xx-dkms - nvidia-utils installé par défaut avec - blacklists nova et nouveau ok : systemd-analyze cat-config modprobe.d - DRM activé mais cat /sys/module/ n'a pas de nvidia_drm - Erreur quand on fait nvidia-smi -> Les pilotes ne sont pas bien installés. - OK. Désinstalle tout et reprend à 0 - ... - Installation de linux-headers (vu l'erreur et le guide https://github.com/korvahannu/arch-nvidia-drivers-installation-guide) - Réinstallation de nvidia-580xx-dkms et nvidia-580xx-utils - Cette fois-ci ok ! Les pilotes graphiques nvidia sont ok ! - Mise à jour du grub avec les options nvidia-drm.modeset=1 nvidia-drm.fbdev=1 dans DEFAULT *** Intégration de la partie hybride (Intel/Nvidia) de Nvidia Optimus - Partie la plus problématique. Toutes les options correctes semblent être construites pour Xorg/X11. Voir si on peut passer sur du discrete uniquement... - Installation de supergfxctl mais ne semble pas proposer de mode discrete uniquement. Voir si asusctl le fait ? Réponse : non, il passe par supergfxctl. - Installation de nvidia-prime pour pouvoir prime-run les programmes. C'est le mieux que j'ai :shrug: - Aussi installation de vulkan-tools pour pouvoir vulkaninfo * UX ** Sway - Remet des raccourcis compatibles (changement de workspace, clavier azerty, juste q pour kill plutôt que shift+q) - Installation de fuzzel comme dmenu - Ajout du paramètre de terminal à fuzzel - Modification des encadrements et titres pour un effet minimal (may change later) - Chargement de fonds d'écran Pathologic. Modifié 1 pour avoir une teinte plus jaune pour les yeux. - Ajouté le pré-chargement de udiskie à chaque démarrage (utilitaire) ** Foot - FiraCode installé. Mis sur le terminal en police 14 (assez lisible btw) - Thème Gruvbox-dark installé - Alpha 90% ** zsh - Modifié /etc/zsh/zshenv pour ajouter la ligne export ZDOTDIR="$HOME/.config/zsh" pour rediriger dans .conf les fichiers de configuration zsh (pour avoir un HOME propre) - Configuration standard pour pour modifier au fur et à mesure - Changé le shell par défaut de bash vers zsh (chsh -s /bin/zsh) - Si je me sens à un moment de prendre du temps pour gérer seul les plugins : https://github.com/mattmc3/zsh_unplugged - En attendant, comme j'aime la manière de penser du gars, je vais prendre son plugin manager -> Installation d'Antidote ! - Je regarde la vidéo de Dreams of Autonomy sur la config de base zsh pour prendre exemple - Installation des plugins "fish-like" (fast-syntax highlighting, autosuggesions & history substring search) - Installation du prompt powerlevel10k (peut être un peu shaky par raport à la remarque de l'arrêt d'évolutions ?) - Installation de fzf (sur pacman) pour la recherche plus simple (c+r pour une recherche historique) *** Phase de test - Semble avoir des problèmes sur les zstyle - Aussi avec fzf-tab (à réinstaller je pense) - Aussi, lent au démarrage... - Semble être lent à cause de tout l'attirail de pl10k, on va tenter à partir de la base simple (fish-like + fzf + config simple) - OMG. Les zstyle qui ne se lancent pas étaient liés à un manque de load de compinit - Problème de lenteur retiré en virant powerlevel10k - fzf-tab totalement fonctionnel à la réinstallation *** Expansions et maîtrise de l'outils - On remet zsh comme shell par défaut comme les problèmes principaux sont retirés - Pure en prompt pour avoir au minimum le chemin - Modification des symboles de prompt pour être disponibles dans le shell hors window mananger **** Notes pour plus tard - fzf : C+T pour lister tous les fichiers depuis le chemin actuel - fzf : C+R pour lister l'historique - fzf : ** à la place d'un nom de fichier/répertoire puis TAB pour lister les possibilités depuis le chemin actuel - Utilisation assez nice : kill -9 **pour chercher un process à tuer ** Firefox - Betterfox complet + Options hardened (désactive sync/view/gestion mdp, bloque réseaux sociaux intégrés, retire le cache à la fermeture) - Ublock origin - DNS Mullvad anti-publicités - Onglets verticaux - Thème sombre par défaut - Très lent à démarrer. Probablement un problème pour la carte graphique. ** Restent à faire - [X] Les pilotes graphiques - [ ] Programmes de base - [ ] Interface graphique de base - [ ] Dotfiles (au moins pour emacs) - [ ] Spécificités ordis portable * Wayland et Optimus - Déjà, installé emacs pour écrire normalement - Aussi, temporairement changé le shell pour revenir à bash le temps de prendre le temps d'apprendre zsh (ou autre) - Pour l'instant voici ce qui a été installé pour wayland : sway, foot & nvidia-prime - foot : remplacer par alacritty ou kity. Peut être désinstallé. - Sway : installer i3 et remplacer l'appel du terminal par celui choisi ci-dessus. Peut être désinstallé. - fuzzel : aussi spécifique à wayland (même dev que foot). A désinstaller également. Et vraiment très dommage dans ce cas précis. - nvidia-prime : désinstaller, puis installer optimus-manager ou nvidia-xrun - kitty semble avoir plus d'options sans être trop chiant. - Attente que tout fonctionne avant de désinstaller. ** Partie 2 - Après réflexion (plus d'une semaine de pause), je pense que rester sur wayland est mieux pour avoir une configuration plus universelle. - La question de la CG par défaut se pose mais vraiment au pire prime-run est ok pour les programmes plus gourmants (sachant que le but est de faire plus dans le terminal...) - Du coup, on remet le système à avant le point précédent ; sauf 2 points : emacs est pratique (et je l'aime bien à l'utilisation) - + rester sur bash au moins temporairement le temps d'avoir un meilleur contrôle sur le reste de l'environnement de bureau et faire quelque chose de carré - En dehors de ça, on peut rester sur foot, sway, fuzzel et nvidia-prime. - Fait. * Observations Vim n'est pas si compliqué pour de l'insertion simple. Un peu plus quand on doit faire des opérations autres (exemple v pour mode sélection ; y/d pour copier/couper ; p pour coller) Cela me conforte quelque peu sur l'idée d'utiliser evil mode sur emacs. Alt+Flèche pour changer de terminal est incroyablement pratique quand on commence sans interface graphique (ici je m'en suis servi pour vérifier l'intitulé exact de l'ordinateur par fastfetch d'un côté, sans toucher à vim de l'autre). pacman : -S ok ; -Syu pour maj ok ; -Sy pas ok (peut mener à des mises à jour partielles si -S après) Freeze parfois dans vim (???) -> Changer de terminal est ok -> Voir notes sur les swap