Synthèse de mon installation de Bazzite Gnome Nvidia
Documentation Bazzite
Blog généraliste sur Linux avec astuces
Partiton | Taille | Type de partition |
---|---|---|
/boot/efi | 100 Mo | EFI |
/boot | 1 Go | EXT4 |
/systemfile | > 40 Go | BTRFS |
Détail pour un partitionnement manuel Fedora Manual Partitioning.
Commande pour lister les partitions: lsblk
Article pour retrouver les commandes de changement de droits sur les répertoires: linux file permissions
Update manuel ujust update
.
Affiche le contenu du script ujust ujust --show <script>
.
Liste des environnements rpm-ostree status -v
.
Conservation de l'environnement actuel (=0) sudo ostree admin pin <n>
.
Dé-conservation d'un environnement sudo ostree admin pin --unpin <n>
.
Rollback vers le précédent environnement rpm-ostree rollback
.
Rechercher un package dans le dépôt ostree rpm-ostree search <package>
.
Installation d'un package sur la couche de base rpm-ostree install <package>
.
Désinstallation d'un package sur la couche de base rpm-ostree uninstall <package>
.
Suppression d'un package livré par défaut dans la couche de base rpm-ostree override remove <package>
.
rpm -qi <nom du package/programme>
: description de diverses informations sur le package (version, release, date d'installation...)passwd username
: forçage du mot de passe sans tenir compte des restriction de format
Suivre ce guide pour réinstaller le Secure Boot
Documentation Bazzite - Secure Boot Instructions.
Passer le clavier en Français
et non en Français (alternative)
Changement du nom du PC
hostnamectl set-hostname <hostname>
Taille des polices, couleurs, etc
gsettings set org.gnome.desktop.interface accent-color 'slate'
gsettings set org.gnome.desktop.interface clock-show-date true
gsettings set org.gnome.desktop.interface clock-show-seconds true
gsettings set org.gnome.desktop.interface clock-show-weekday true
gsettings set org.gnome.desktop.interface enable-hot-corners false
gsettings set org.gnome.desktop.interface font-antialiasing 'rgba'
gsettings set org.gnome.desktop.interface font-hinting 'full'
gsettings set org.gnome.desktop.interface font-rgba-order 'rgb'
gsettings set org.gnome.desktop.interface text-scaling-factor 0.92
gsettings set org.gnome.desktop.calendar show-weekdate true
gsettings set org.gnome.mutter.attach-modal-dialogs false
Bazzite a supprimé en version 42 Gnome Tweaks, il est remplacé par Refine. Eventuellement à installer via Flatpak.
L'application pour gérer les applications lancées automatiquement est Ignition.
Exemple de configuration d'un script pour Solaar (cf. infra, section flatpak):
flatpak run io.github.pwr_solaar.solaar --window=hide
Pour rendre disponible OneDrive et les services Google, il convient d'utiliser le service de comptes distants de Gnome.
Il peut être nécessaire d'installer le flatpak : Gnome Keyring
Installation de Oh-My-Bash à partir de cette ligne de commande (source: Configurer Bash avec Oh-my-Bash.
bash -c "$(wget https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh -O -)"
Dans le fichier .bashrc
:
- Thème sélectionné:
powerline-multiline
, avec la paletteGNOME
, - Recopier les lignes originales du
.bashrc
de Bazzite dans la version générée par Oh-My-Bash. Nécessaire pour queBrew
fonctionne, - Corriger un problème d'autocompletion par ajout en fin de .bashrc de
complete -d cd
(Source issue 448), - Prise en compte des modifications par la commande
source .bashrc
.
Modification du fichier de configuration /etc/nanorc
:
- Auto indentation:
set autoindent
- Affichage du numéro de la ligne:
set linenumbers
- Gestion de la souris:
set mouse
- Thèmes:
include /usr/share/nano/*.nanorc
etinclude /usr/share/nano/extra/*.nanorc
- Key bindings: décommenter les raccourcis nécessaires :
Crl+X, C, V, Q, S, F, G, Z, Y
- 11/04/2025. Version: 41.20250409.1 (2025-04-09T19:07:51Z)
- Liste les sessions
flatpak remotes
- Liste les flatpack d'une session
flatpack remote-ls <remote>
- Installation et désinstallation sur la session utilisateur
flatpak install <remote> <package>
/flatpak uninstall <remote> <package>
- Rechercher un package
flatpak search <package>
- Lancer un package
flatpak run <package>
- Permissions d'un package
flatpak info --show-permissions <package>
Ajouter pour toutes les applications les permissions suivantes:
Accélaration GPU : enable
Suppression d'applications installées par défaut:
flatpak uninstall system firefox
- Le répertoire
$HOME/.mozilla
peut être supprimé.
A installer sur la session System pour éviter les doublons des packages de base et gagner de la place:
flatpak install system vivaldi gedit betterbird simplescan libreoffice solaar digiKam
digiKam = gestionnaire de photos.
solaar = gestionnaire de périphériques Logitech.
Autre service d'applications notament pour celles achetées.
Gestion à partir de l'application Gear Level
.
Créer un répertoire ~/.AppImages
pour les stocker.
- Cider (acheté via itch.io).
Applications et services sans GUI. Permet l'installation d'applications utilisées dans les lignes de commande.
- exiftool : manipulation de fichiers images et vidéo par ligne de commande
Utiliser les paramètres DateTimeOriginal ou CreateDate pour ces commandes
// Renomme les fichiers par leur date de prise de vue (format YYY-MM-DD_HH:MM_id)
exiftool '-FileName<DateTimeOriginal' -d '%Y-%m-%d_%H:%M_%%-c.%%e' -r ~/Images/Google Photos/
// Crée des répertoires de type YYYY/MM et y déplace les fichiers selon leur date de prise de vue
exiftool -r -d %Y/%m "-directory<createdate" ~/Images
// Remplace les dates de dernière modification des fichiers par leur date de prise de vue
exiftool -overwrite_original '-FileModifyDate<DateTimeOriginal' -r ~/Images/
Liste d'extensions à installer:
- Dash to Dock: Position et taille ->
taille des icônes: 40
, Apparence ->réduire les marges
,utiliser le thème par défaut
- Desktop Icons NG
- Extension List
- OpenWeather Refined -> clé API personnelle WeatherAPI.com
- Hide Top Bar: activer l'option Sensitivity ->
Show panel when mouse approaches...
; désactiver les options Sensitivity ->In the above case, also show panel when fullscreen
, Intellihide ->only when the active window takes the space
.
En standard sur Bazzite: AppIndicator and KStatusNotifierItem Support, Blur my shell, Caffeine, Hot Edge, Just Perfection, Logo Menu, Tiling Shell, User Themes.
- Just Perfection: dans comportement sélectionner
Bureau
pour l'optionEtat de démarrage
- L'extension Hot Edge est à désactiver pour éviter de basculer sur les autres bureaux lorsque la souris se déplace rapidemment vers le bas de l'écran.
Application du thème WhiteSur
- Créer une distrobox pour la compilation du theme avec un home folder distinct
distrobox create -i "fedora:latest" -n "sys-deskcustom" -H "$HOME/.containers-home/sys-deskcustom"
- Dans la distrobox, installer
git
et toutes les dépendances demandées :sudo dnf install git <packages>
- Dans la distrobox, téléchager le thème et l'installer avec les commandes
cd
git clone https://github.com/vinceliuice/WhiteSur-gtk-theme.git --depth=1
cd WhiteSur-gtk-theme
./install.sh
./tweaks.sh -F
- Depuis la console du système hôte, copier le contenu des répertoires suivants dans leur homologue du système hôte
cp -r $HOME/.containers-home/sys-deskcustom/.config/gtk-4.0 $HOME/.config/
cp -r $HOME/.containers-home/sys-deskcustom/.themes $HOME/.local/share/themes
- Depuis la console du système hôte, modifier les deux fichiers liens qui pointent vers le répertoire du container
ln -s -f $HOME/.config/gtk-4.0/gtk-Dark.css $HOME/.config/gtk-4.0/gtk.css
ln -s -f $HOME/.config/gtk-4.0/gtk-Dark.css $HOME/.config/gtk-4.0/gtk-dark.css
- Installer les Flatpaks générés par l'installation
Le script d'installation a généré des fichiers flatpak dans le répertoire$HOME/.containers-home/sys-deskcustom/.cache/pakitheme
Depuis la console du système hôte, aller dans ce répertoire et pour chaque sous répertoire installer le flatpak en mode system:
cd $HOME/.containers-home/sys-deskcustom/.cache/pakitheme
flatpak --system install WhiteSur-Dark/org.gtk.Gtk3theme.WhiteSur-Dark-x86_64.flatpak
flatpak --system install WhiteSur-Dark-solid/org.gtk.Gtk3theme.WhiteSur-Dark-solid-x86_64.flatpak
flatpak --system install WhiteSur-Light/org.gtk.Gtk3theme.WhiteSur-Light-x86_64.flatpak
- Paramétrer les permissions Flatpak à partir de FlatSeal
Ajouter dans la sectionFilesystem
pour toutes les applications les permissions suivantes
/var/home/$user name$/.local/share/icons/*:ro
/var/home/$user name$/.local/share/themes/*:ro
xdg-config/gtk-4.0:ro
xdg-config/gtk-3.0:ro
- Les icônes WhiteSur Icon Theme sont à déposer dans le répertoire
$HOME/.local/share/icons
Ne pas utiliser les icônes WhiteSur qui posent des problèmes sur Wayland. - Les curseurs Bibata Modern Ice sont à déposer dans le même répertoire
$HOME/.local/share/icons
- Le thème est à appliquer depuis Refine
- Supprimer le container
distrobox rm sys-deskcustom
, le répertoire$HOME/.containers-home/sys-deskcustom
, le réperoirteWhiteSur-gtk-theme
créé lors du processus d'installation.
Solution dérivée de configuration du répertoire steam et de source pour la commande setfacl.
Répertoire utilisé comme bibliothèque: /var/steam-library/.
sudo groupadd gamers
#Ajout des utilisateurs au nouveau groupe
sudo usermod -a -G gamers user1
sudo usermod -a -G gamers user2
sudo mkdir /var/steam-library
sudo chgrp -R gamers /var/steam-library/
sudo setfacl -PRdm u::rwx,g:gamers:rwx,o::r /var/steam-library
//sudo setfacl -R -b /var/steam-library/
//sudo setfacl -R -m g:gamers:rwX /var/steam-library/
//sudo setfacl -m d:g:gamers:rwx /var/steam-library/
Modifier dans steam, pour tous les utilisateurs, le répertoire de stockage des jeux.
Bazzite offre une configuration fonctionnelle par utilisation du script ujust setup-virtualization
. /!\ Il y a souvent des bugs dans le script d'origine -> reprendre les instructions erronées manuellement (ujust --show ...).
Il est nécessaire d'activer VFIO /IOMMU pour bénéficier de meilleures performances. Pas de procédure fonctionnelle de CPU pass-through pour l'instant avec un iGPU... donc pas de cristal glass...
Chemin des images sous libvirt: /var/lib/libvirt/images
Guides pour l'installation du VM Windows. Une version est sauvegardée dans le github.
- How Do I Properly Install KVM on Linux
- How to Properly Install a Windows 11 Virtual Machine on KVM
- VFIO dGPU Passthrough Guide
Remarques & étapes:
- Concernant l'installation de KVM, seules les sections 9 et 10 du 1er guide restent pertinentes. Ce n'est pas peine de créer les services libvirtd individuels car Bazzite fonctionne déjà ainsi.
- Le guide Asus est très intéressant pour les hooks qemu et la conf KVM qu'il propose (hooks, memballoon...).
En partant du principe d'une machine virtuelle nomméeWindow_11
, le github contient le fichier KVM optimisé et le répertoire pour les hooks à déposer dans/etc/libvirt/hooks/qemu.d/
. Les deux fonctionnent ensemble, sinon des erreurs seront remontées par KVM. - Concernant l'installation de la VM Windows, la configuration de KVM proposée dans les 2 premiers guides n'est pas optimale pour mon PC. Elément le plus important: Configuration du processeur en mode : IvyBridge-IBRS source avec PIN des CPU.
Configuration optimisée: Configuration KVM Windows.
Drivers Virtio:
L'installation de git sur le poste principal est très simple grace à l'utilisation de GitHub CLI.
Le choix du protocole HTTPS permet un clonage effectif des répertoires avec un git clone <lien https>
git config --global user.name "Imasu"
git config --global user.email "@gmail.com"
brew install gh
gh auth login
Guide synthétique d'utilisation de git: Git Push Local Branch to Remote – How to Publish a New Branch in Git.
Quelques commandes utiles:
-git init
pour initialiser un dépôt local
-git add .
pour ajouter tous les fichiers du répertoire au dépôt local
-git commit -m "commit message"
pour sauvegarder les changements fait aux fichiers locaux
-git remote add origin <url.git>
pour attacher le dépôt à un serveur distant Git
-git remote -v
pour vérifier l'attachement au serveur distant
-git pull
pour synchroniser depuis le serveur distant
-git push -u origin main
pour envoyer les modifications sur le serveur distant (il est possible de changer la branche avec la commande git branch -M main
)
Choix le plus simple et avisé !!
Installation d'une distrobox selon cette commande. Il ne faut pas utiliser la version GUI BOXES qui ne propose pas toutes les options.
Il est important de spécifier un chemin HOME dédié pour éviter que les fichiers de l'hôte soient modifiés par ceux du conteneur.
Liste de containers distrobox containers distros
Distributions testées et fonctionnelles (wayland):
- Fedora : --image quay.io/fedora/fedora-toolbox:latest,
- Archlinux : --image quay.io/toolbx/arch-toolbox:latest,
Exemples avec implémentation du driver nvidia et une isolation renforcée (--unshare-all --init). Attention au répertoire pour le dossier $HOME du conteneur
distrobox create --image quay.io/fedora/fedora-toolbox:latest --name Name-FedoraOS --nvidia --unshare-all --home /home/$USER/.containers-home/Name-FedoraOS
distrobox create --image quay.io/toolbx/arch-toolbox:latest --name Name-ArchEnv --nvidia --unshare-all --init --home /home/$USER/.containers-home/Name-ArchEnv
Par défaut, le pilote Vulkan ne fonctionnera pas car le flag --nvidia ne trouvera pas l'un des fichiers de configuration source
Solution le temps que Fedora/Silverblue/Bazzite introduise un fix:
## Copier le fichier manquant depuis l'hôte en le renommant puis le recopier dans le bon répertoire du conteneur
Hôte:
cp /usr/share/vulkan/icd.d/nvidia_icd.x86_64.json ~/Téléchargements/nvidia_icd.json
Conteneur:
sudo cp Téléchargements/nvidia_icd.json /usr/share/vulkan/icd.d/
Vérification par installation de vulkan-tools
puis par la commande vulkaninfo --summary
Définir un profil pour le Bash avec la palette Tokyo Night Moon
Installation des paquets essentiels : nano, git...
FEDORA:
sudo dnf update
sudo dnf install nano git
ARCH:
sudo pacman -Syu
sudo pacman -S nano git
Optionnel:
- Installation de
Oh-My-Bash
en suivant le guide supra. Ne fonctionne que si l'on est entré dans le container à partir du menu du Shell. Thèmes à utiliser:agnoster
oupowerline-multiline
. - Configuration de
nano
en suivant le guide supra. - Installation de
chromium
pour qu'un navigateur soit actif sur le conteneur (nécessaire par exemple pour la documentation des programmes Rust)
Installation de VS Code: depuis la racine du $HOME du container (cd ~/), suivre la procédure de MS
Note: la version du paquet Arch n'est pas la version complète par exmple): (https://code.visualstudio.com/docs/setup/linux)
Installation de RustRover (JetBrains): depuis la racine du $HOME du container (cd ~/), suivre la procédure de JetBrains
Il est possible après de créer un symlink vers ~/.local/bin pour pouvoir lancer RustRover directement sans aller dans son répertoire d'installation (/opt/RustRover...)
Paramétrage de base de Git Commandes GIT de base
git config --global user.name "Imasu"
git config --global user.email "@gmail.com"
Dans les projets, pour éviter la synchronisation de certains fichiers ou répertoires, créer un fichier .gitignore
avec les paramètrages nécessaires.
Sous environnement GNOME
- Pour un container Arch, installer le packet
gnome-keyring
(pas besoin pour Fedora). - Lancer VS-Code, sur l'écran d’accueil, sélectionner 'Clone Git Repository...' et suivre les instructions. Sur Fedora, faire plusieurs cancel pour arriver à la méthode avec saisie d'un code.
- Thèmes:
Tokyo Night Dark Enhanced
,Atom One Dark Theme
Languages testés:
- Rust : Install Rust in Fedora. Installer via Rustup. Debugger : lldb
- Rust : (Arch) Install Rust in Arch (wiki Arch). Installer les packages
base-devel
,rustup
etsccache
. Suivre le guide associé avec l'installation de la toolchain, l'optimisation de la compilation CPU et des temps de compilation par création du fichier~/.cargo/config.toml
. - Odin : Installer les packages
odin lldb
. Le dernier correspond au debugger. - Go : install go in arch using Pacman. Installation sans difficulté. Pas besoin de mettre à jour le GOPATH. Un répertoire go sera créé avec les packages et binaires associés nécessaires.
- Julia : install Julia in Arch (wiki Arch). Installation sans difficulté. Il convient de paramétrer le chemin de l'exécutable dans l'extension VSCode source.
- C++ : Installation & fonctionnement avec make ; fonctionnement avec cmake
Installation de VS-Code par Flatpak puis utilisation de conteneurs pour les développements.
Au final pas le choix le plus avisé -> il est préférable d'installer l'environnement de dév (VS-Code, git, langage directement dans une distrobox)
Cf supra.
Installation de l'environnement en suivant ce guide VSCode + Dev Containers and Toolbx/Distrobox setup for Fedora Silverblue
Installation
flatpak --system install flathub com.visualstudio.code
Configuration du flatpak
A partir d'une configuration standard
flatpak --system override --env HOST_DISPLAY="$DISPLAY" --env HOST_SHELL="$SHELL" --env HOST_SSH_AUTH_SOCK="$SSH_AUTH_SOCK" com.visualsudio.code
Cela créé le fichier /var/lib/flatpak/overrides/com.visualsudio.code
mkdir -p ${HOME}/.var/app/com.visualstudio.code/data/node_modules/bin
ln -sf /app/bin/host-spawn ${HOME}/.var/app/com.visualstudio.code/data/node_modules/bin/podman
- Lancer VS Code
- Installer l'extension
Dev Containers
CTRL+,
pour ouvrir l'éditeur de paramètres- Rechercher
docker path
et remplacer la valeur parpodman
Pour chacun des containers distrobox
- Créer un fichier json dans le répertoire
${HOME}/.var/app/com.visualstudio.code/config/Code/User/globalStorage/ms-vscode-remote.remote-containers/nameConfigs/${YOUR_DISTROBOX_CONTAINER_NAME}.json
{
"remoteUser": "${localEnv:USER}",
"settings": {
"dev.containers.copyGitConfig": false,
"dev.containers.gitCredentialHelperConfigLocation": "none"
},
"terminal.integrated.profiles.linux": {
"distrobox": {
"path": "${localEnv:SHELL}",
"args": [
"-l"
]
},
"toolbx": {
"path": "/usr/sbin/capsh",
"args": [
"--caps=",
"--",
"-c",
"exec \"\$@\"",
"/bin/sh",
"${localEnv:SHELL}",
"-l"
]
}
},
"terminal.integrated.defaultProfile.linux": "distrobox",
"remoteEnv": {
"COLORTERM": "${localEnv:COLORTERM}",
"DBUS_SESSION_BUS_ADDRESS": "${localEnv:DBUS_SESSION_BUS_ADDRESS}",
"DESKTOP_SESSION": "${localEnv:DESKTOP_SESSION}",
"DISPLAY": "${localEnv:HOST_DISPLAY}",
"LANG": "${localEnv:LANG}",
"SHELL": "${localEnv:HOST_SHELL}",
"SSH_AUTH_SOCK": "${localEnv:HOST_SSH_AUTH_SOCK}",
"TERM": "${localEnv:TERM}",
"VTE_VERSION": "${localEnv:VTE_VERSION}",
"XDG_CURRENT_DESKTOP": "${localEnv:XDG_CURRENT_DESKTOP}",
"XDG_DATA_DIRS": "${localEnv:XDG_DATA_DIRS}",
"XDG_MENU_PREFIX": "${localEnv:XDG_MENU_PREFIX}",
"XDG_RUNTIME_DIR": "${localEnv:XDG_RUNTIME_DIR}",
"XDG_SESSION_DESKTOP": "${localEnv:XDG_SESSION_DESKTOP}",
"XDG_SESSION_TYPE": "${localEnv:XDG_SESSION_TYPE}"
}
}
- Créer un répertoire pour les données VS-Code dans le container avec le code
sudo mkdir /.vscode-server
sudo chown ${USER}:${USER} /.vscode-server
ln -sf /.vscode-server ${HOME}/.vscode-server
sudo chmod 755 /root
sudo ln -sf /.vscode-server /root/.vscode-server
fin