Workstation Linux
Guide de configuration d’une workstation Linux (Fedora) pour un environnement DevOps — réseau VLAN, outils, shell et gestion de la VM PBS via KVM/libvirt.
Réseau
Section titled “Réseau”DNS et VLAN workstation
Section titled “DNS et VLAN workstation”Configurer le DNS sur la connexion VLAN pour résoudre les noms internes :
nmcli con mod "<NOM_CONNEXION>" ipv4.dns "<DNS_IP>"nmcli con mod "<NOM_CONNEXION>" ipv4.ignore-auto-dns yesnmcli con mod "<NOM_CONNEXION>" ipv4.dns-search "<YOUR_DOMAIN>"nmcli con up "<NOM_CONNEXION>"Bridge VLAN pour VM KVM (PBS)
Section titled “Bridge VLAN pour VM KVM (PBS)”Exposer un VLAN dédié sur la workstation pour la connectivité de la VM PBS :
# Bridge principalnmcli con add type bridge con-name "br0" ifname "br0" \ ipv4.method disabled ipv6.method disabled bridge.stp no
# VLAN backup attaché au bridgenmcli con add type vlan con-name "BACKUP" ifname "vlan<BACKUP_VLAN_ID>" \ dev <PHYSICAL_INTERFACE> id <BACKUP_VLAN_ID> \ ipv4.method disabled ipv6.method disabled \ master "br0" slave-type bridge
nmcli con up "br0"nmcli con up "BACKUP"Hyprland
Section titled “Hyprland”Installé via JaKooLit dotfiles. Ne modifier que les fichiers dans ~/.config/hypr/UserConfigs/ — les fichiers configs/ sont écrasés lors des mises à jour.
Monitor
Section titled “Monitor”monitor = <MONITOR_NAME>, <RESOLUTION>@<REFRESH_RATE>, 0x0, <SCALE>, vrr, 2
# Exemple ultrawide 49"monitor = DP-1, 5120x1440@240, 0x0, 1.07, vrr, 2WindowRules
Section titled “WindowRules”windowrule = no_blur true, match:focus false
# Kitty : blur actif même inactifwindowrule = no_blur false, match:class kitty, match:focus falsewindowrule = opacity 1.0 0.92, match:class kittyDécorations
Section titled “Décorations”gaps_in = 6gaps_out = 12border_size = 1rounding = 10dim_inactive = truedim_strength = 0.1Terminal — Kitty
Section titled “Terminal — Kitty”font_family JetBrainsMono Nerd Fontfont_size 16.0Shell — zsh + oh-my-zsh + Powerlevel10k
Section titled “Shell — zsh + oh-my-zsh + Powerlevel10k”Installation
Section titled “Installation”# oh-my-zshsh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Powerlevel10kgit clone --depth=1 https://github.com/romkatv/powerlevel10k.git \ ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
# Pluginsgit clone https://github.com/zsh-users/zsh-autosuggestions \ ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestionsgit clone https://github.com/zsh-users/zsh-syntax-highlighting \ ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlightingPlugins .zshrc
Section titled “Plugins .zshrc”plugins=(git dnf docker ansible zsh-autosuggestions zsh-syntax-highlighting)Aliases recommandés
Section titled “Aliases recommandés”Navigation
alias ls='lsd'alias l='ls -l'alias la='ls -a'alias lla='ls -la'alias lt='ls --tree'alias ..='cd ..'alias ...='cd ../..'alias c='clear'Git
alias g='git'alias gs='git status'alias ga='git add'alias gc='git commit -m'alias gp='git push'alias gl='git log --oneline --graph --decorate'alias gd='git diff'Docker
alias d='docker'alias dc='docker compose'alias dcu='docker compose up -d'alias dcd='docker compose down'alias dcl='docker compose logs -f'alias dps='docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"'Ansible
alias ap='ansible-playbook'alias apv='ansible-playbook --vault-password-file ~/.vault_pass'alias ai='ansible-inventory --list'Système
alias update='sudo dnf update -y'alias ports='ss -tulnp'alias myip='ip -br a'alias v='nvim'Outils DevOps
Section titled “Outils DevOps”# Terraformsudo dnf install -y dnf-plugins-coresudo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/fedora/hashicorp.reposudo dnf install terraform
# Ansiblesudo dnf install ansible
# lsd (ls amélioré)sudo dnf install lsd
# fzfsudo dnf install fzf
# topgrade (mise à jour globale)cargo install topgradeVérification post-reboot
Section titled “Vérification post-reboot”# Bridge et VLAN backup up (requis pour PBS)ip link show br0ip link show vlan<BACKUP_VLAN_ID>
# VM PBS démarréevirsh list --allSi le bridge est down :
nmcli con up "br0"nmcli con up "BACKUP"