Sommaire


Installation et paramétrage de Pop!_OS
Catégories associées : ,

Cet article est un pense-bête pour retrouver toutes les subtilités que je fais lors d'une installation de pop!_OS. En effet, j'ai eu la mauvaise surprise d'un dual boot qui ne veut plus se lancer, et après avoir perdu beaucoup de temps à essayer de le réparer je me suis résolu à le réinstaller. Mais comme j'aime bien aller dans les détails d'une installation, il faut tout refaire à chaque fois, c'est long...

Liste des logiciels à installer

  • Thunderbird (import des paramètres)
  • nexctloud
  • inkscape
  • Auto Key
  • FileZilla (import des paramètres)
  • Lamp
  • phpmyadmin
  • VSCode (synchronisation possible)
  • node, npm, pnpm, symfony cli, composer
  • Insomnia

Personnalisation de l'environnement

Mettre en place le dual boot

Un bon tuto ici : https://ostechnix.com/dual-boot-windows-and-pop-os/

Synchronisation des agendas nextcloud

Je ne sais pas pourquoi pop!_OS n'a pas envie de se connecter à mon instance de nextcloud avec mes identifiants personnels. Je suis obligé de créer un mot de passe d'application.

Pour ce faire, Aller sur le site, dans paramètres personnels > Sécurité , tout en bas nommer l'application qui aura besoin du mot de passe, et créer.

installer vitals - équivalent gestionnaire des tâches

Pour pouvoir guetter visuellement l'état de performance de l'ordi, j'aime bien avoir un outil qui ressemble au gestionnaire des tâches sous windows : vitals.

Accélérer le délai des touches

Je n'ai pas perdre du temps à attendre que mes lettres s'effacent quand j'appuie sur "delete". Par exemple.

Voici deux lignes pour modifier ces réglages finement, et de manière persistante :

gsettings set org.gnome.desktop.peripherals.keyboard delay 200
gsettings set org.gnome.desktop.peripherals.keyboard repeat-interval 40

Installation de ZSH

Un bon tuto ici : https://mscholz.dev/blog/02-ma-configuration-post-installation-d-arch-linux

quelques commandes :

# Installation
sudo apt install zsh
# Mettre zsh par défaut
chsh $USER
# Rentrer son mot de passe, puis marquer /usr/bin/zsh

voici ma configuration pour le fichier ~/.zshrc :

# ===========================
# 1. Powerlevel10k Instant Prompt (doit être tout en haut)
# ===========================
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi

# ===========================
# 2. SSH Agent & Keys
# ===========================
eval "$(ssh-agent -s)" &>/dev/null
#ssh-add ~/.ssh/github &>/dev/null
#ssh-add ~/.ssh/gitlab &>/dev/null

# ===========================
# 3. Node Version Manager (nvm)
# ===========================
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"

# ===========================
# 4. Homebrew (macOS)
# ===========================
if [[ -f "/opt/homebrew/bin/brew" ]]; then
eval "$(/opt/homebrew/bin/brew shellenv)"
fi

# ===========================
# 5. Zinit & Plugins
# ===========================
ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"
if [ ! -d "$ZINIT_HOME" ]; then
mkdir -p "$(dirname $ZINIT_HOME)"
git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
fi
source "${ZINIT_HOME}/zinit.zsh"

# Powerlevel10k
zinit ice depth=1; zinit light romkatv/powerlevel10k

# Zsh plugins
zinit light zsh-users/zsh-syntax-highlighting
zinit light zsh-users/zsh-completions
zinit light zsh-users/zsh-autosuggestions
zinit light Aloxaf/fzf-tab

# Oh-My-Zsh snippets
zinit snippet OMZP::git
zinit snippet OMZP::sudo
zinit snippet OMZP::archlinux
zinit snippet OMZP::aws
zinit snippet OMZP::kubectl
zinit snippet OMZP::kubectx
zinit snippet OMZP::command-not-found

# ===========================
# 6. Powerlevel10k config
# ===========================
[[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh

# ===========================
# 7. Keybindings
# ===========================
bindkey -v # Vi mode (décommente bindkey -e si tu préfères Emacs)
#bindkey -e # Emacs mode

# ===========================
# 8. History Configuration
# ===========================
HISTSIZE=5000
SAVEHIST=5000
HISTFILE=~/.zsh_history
HISTDUP=erase
setopt appendhistory
setopt sharehistory
setopt hist_ignore_space
setopt hist_ignore_all_dups
setopt hist_save_no_dups
setopt hist_ignore_dups
setopt hist_find_no_dups
setopt histignorealldups

# ===========================
# 9. Completion System
# ===========================
autoload -Uz compinit && compinit

zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' menu select=2
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
zstyle ':completion:*' menu select=long
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
zstyle ':completion:*' menu no
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls --color $realpath'
zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview 'ls --color $realpath'

eval "$(dircolors -b)"

# ===========================
# 10. Aliases
# ===========================
alias ls='ls --color'
alias c="clear"
alias e="exit"
alias vim="nvim"
alias v="nvim"
alias vi="nvim"
alias view="nvim -R"
alias vimdiff="nvim -d"

# ===========================
# 11. Shell Integrations
# ===========================
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
unalias zi
eval "$(zoxide init zsh --no-aliases)"

# ===========================
# 12. Zinit cdreplay
# ===========================
zinit cdreplay -q

# ===========================
# 13. Finalize Powerlevel10k
# ===========================
(( ! ${ functions[p10k]} )) || p10k finalize

Si tu rencontres cette erreur :

cd ../
cd:1: maximum nested function level reached; increase FUNCNEST?

installer la nouvelle version de zoxide :

curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc

source ~/.zshrc

# puis fermer et rouvrir la console

installer les clés SSH et les alias GIT

Comme je suis en dual boot, je vais aller récupérer dans la partition de windows mes clefs SSH et les alias git.

Pour les clés SSH, il est nécessaire de changer les permissions :

chmod 600 ~/.ssh/*

Pour que git alias fonctionne, il y aura peut-être besoin d'installer gawk :

# faire le test d'abord :
git alias
# si erreur :
sudo apt install gawk

Installer PHP (LAMP)

Installation de LAMP : https://doc.ubuntu-fr.org/lamp

J'utilise MariaDB.

Pour installer une autre version de PHP, bon tuto ici : https://tecadmin.net/how-to-install-php-8-on-popos

J'installe ces paquets :

sudo apt install php-curl php-gd php-intl php-json php-mbstring php-xml php-zip php-common

Installer PHPMYADMIN

sudo apt install phpmyadmin

# Si la page est inaccessible :
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin.conf
sudo systemctl restart apache2

Pour pouvoir se connecter en root à MariaDB dans phpmyadmin, faire ces commandes :

# Redémarrer MariaDB en mode sécurisé
sudo systemctl stop mariadb
sudo mysqld_safe --skip-grant-tables --skip-networking &

# Se connecter sans authentification
mysql -u root

# Dans le shell MariaDB :
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'nouveau_mot_de_passe';
EXIT;

# Redémarrer normalement
sudo killall mysqld
sudo systemctl start mariadb

Monter une partition partagée au démarrage

pour que la partition soit montée au démarrage :

# Trouver la partition en question :
lsblk -f

sudo nano /etc/fstab
# dedans mettre :
UUID=[UUID-de-la-partition] /media/label-choisi ntfs defaults,nofail 0 0

Lier le dossier Téléchargements sur la partition partagée

Supprimer le dossier existant, puis faire cette commande :

ln -s /media/partition/downloads Téléchargements

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.