Compare commits

...
18 Commits
Author SHA1 Message Date
lebartal 0de4d1263a Maj README 2026-02-15 20:23:44 +01:00
lebartal 8d24256ecf Correction telechargement Police Nerd-font 2026-02-15 20:23:25 +01:00
lebartal 193b3d8852 ajout installation police awesome 2026-02-15 19:40:08 +01:00
lebartal 7323709255 correction chemin p10k zsh 2026-02-15 19:13:45 +01:00
lebartal d4700f74e6 ajouts fichiers confs pour zsh 2026-02-15 18:45:50 +01:00
lebartal bb8ef93eef elaboration menu AutoInstall 2026-01-24 20:58:25 +01:00
lebartal 8cb5ca4da4 correction fonction read 2026-01-24 20:51:14 +01:00
lebartal 9ff5e98991 corrections nom fonctions 2026-01-24 20:19:45 +01:00
lebartal 03ad7883a0 amelioration gestion racine du script 2026-01-24 20:05:35 +01:00
lebartal 3d66a0ec78 correction nom_fonctions 2026-01-24 19:46:12 +01:00
lebartal 10dd8e7a8d maj systeme inconnu 2026-01-24 19:09:28 +01:00
lebartal 958764f104 Ajout Install Packages 2026-01-24 18:57:14 +01:00
lebartal 4432d6ac5d ajout test sur gestionnaire pkg 2026-01-24 18:54:08 +01:00
lebartal 3874911df2 Ajout Message post install Atuin 2026-01-24 18:31:23 +01:00
lebartal 3be8203006 Ajout Install Atuin 2026-01-24 18:27:54 +01:00
lebartal 22af06bb62 gestion Menu AutoInstall 2026-01-24 18:24:52 +01:00
lebartal 035e6c6866 correction dependances 2026-01-24 17:21:25 +01:00
lebartal 7e4e7d29d5 actualisation menu AutoInstall 2026-01-24 17:18:20 +01:00
8 changed files with 2121 additions and 85 deletions

No files matched your search

+10 -3
View File
@@ -19,9 +19,9 @@ git clone https://git.lebartal.tech/lebartal/Linux.git
3. Lancement du script 3. Lancement du script
``` ```
cd Linux/AutoInstall/ cd Linux/
chmod +x autoinstall.ksh chmod +x menu.ksh
./autoinstall.ksh ./menu.ksh
``` ```
# Changelog # Changelog
@@ -29,6 +29,7 @@ chmod +x autoinstall.ksh
- 09/11/25 : V1.0 - Creation - 09/11/25 : V1.0 - Creation
- 23/11/25 : Reprise du script et modification du squelette pour évolutions futures. - 23/11/25 : Reprise du script et modification du squelette pour évolutions futures.
- 18/01/26 : Corrections scripts, ajouts de modules et de packages. - 18/01/26 : Corrections scripts, ajouts de modules et de packages.
- 15/02/26 : ajouts fichiers config de p10k et zsh (evite la reconfiguration manuelle)
### Contenu ### Contenu
@@ -45,6 +46,12 @@ chmod +x autoinstall.ksh
### DONE ### DONE
---
### Problemes Connus
- Apres l'install, la commande `ll` manque de droits (meme en root) pour afficher le contenu de certains dossiers.
> `ll` est un alias de la commande `lsd` installé en `snap` mais `snap` n'a pas les droits car compartimenté dans le dossier
### ABANDONNE ### ABANDONNE
- [ ] (AutoInstall) Faire une Interface graphique utilisateur avec Zenity - [ ] (AutoInstall) Faire une Interface graphique utilisateur avec Zenity
+14 -9
View File
@@ -1,16 +1,22 @@
#! /bin/bash #! /bin/bash
set -eo pipefail #set -eo pipefail
#variables
export ROOT_DIR=$(cd "$(dirname "$0")" && pwd)
function check_source function check_source
{ {
source=$1 source=$1
if [[ -f "./sources/${source}" ]]; then if [[ -f "${ROOT_DIR}/sources/couleurs.ksh" ]]; then
{ {
. ./sources/${source} . "${ROOT_DIR}/sources/couleurs.ksh"
} }
else else
{ {
echo "Erreur : Impossible de charger les sources ${source}" echo "${ROUGE}Erreur : Impossible de charger les dependances${RESET}"
exit 1 exit 1
} }
fi fi
@@ -21,11 +27,10 @@ check_source "couleurs.ksh"
#Affichage du Menu #Affichage du Menu
clear clear
echo -e "${SOULIGNE}===== MENU GESTION LINUX =====${RESET} \n" echo -e "${BG_NOIR}${VERT}===== MENU GESTION LINUX =====${RESET} \n"
echo -e "Votre Systeme : ${BG_NOIR}${BLEU}${systeme}${RESET}"
echo "" echo ""
echo "Quel module lancer ? " echo "Quel module lancer ? "
echo " [1] - AutoInstall" echo -e " [1] - ${SOULIGNE}AutoInstall${RESET}"
echo " [2] - MAJ" echo " [2] - MAJ"
echo " [0] - Quitter" echo " [0] - Quitter"
read reponse read reponse
@@ -33,11 +38,11 @@ read reponse
case ${reponse} in case ${reponse} in
1) 1)
. ./modules/AutoInstall/autoinstall.ksh . ${ROOT_DIR}/modules/AutoInstall/autoinstall.ksh
;; ;;
2) 2)
. ./modules/AutoMaj/MAJ.ksh . ${ROOT_DIR}/modules/AutoMaj/MAJ.ksh
;; ;;
0) 0)
+52 -21
View File
@@ -1,34 +1,34 @@
#! /bin/bash #! /bin/bash
set -eo pipefail
#-------------------------------------------- #--------------------------------------------
# Script autoinstallation et configuration Ubuntu/Debian # Script autoinstallation et configuration Ubuntu/Debian
#-------------------------------------------- #--------------------------------------------
function verif_source #variables
{
source=$1
if [[ -f "./modules/AutoInstall/sources/${source}" ]]; then
{
. ./modules/AutoInstall/sources/${source}
}
else
{
echo "Erreur : Impossible de charger les sources ${source}"
exit 1
}
fi
}
verif_source "fonctions.ksh" if [[ -z "${ROOT_DIR}" ]]; then
verif_source "couleurs.ksh" echo "Erreur : Veuillez lancer ce script via le menu.ksh principal."
exit 1
fi
dir_script=$(cd "$(dirname "$0")" && pwd)
#Chargement des couleurs (via la racine globale)
if [[ -f "${ROOT_DIR}/sources/couleurs.ksh" ]]; then
. "${ROOT_DIR}/sources/couleurs.ksh"
fi
# Chargement des fonctions locales
if [[ -f "${ROOT_DIR}/modules/AutoInstall/sources/fonctions.ksh" ]]; then
. "${ROOT_DIR}/modules/AutoInstall/sources/fonctions.ksh"
fi
# Recuperation de la distribution # Recuperation de la distribution
if command -v lsb_release >/dev/null 2>&1; then if command -v lsb_release >/dev/null 2>&1; then
systeme=$(lsb_release -d | cut -c 14-) systeme=$(lsb_release -d | cut -c 14-)
else else
systeme="Inconnu (lsb_release non trouvé)" systeme="${ROUGE}Inconnu${RESET}"
fi fi
@@ -38,8 +38,11 @@ echo -e "${SOULIGNE}===== AUTOINSTALL =====${RESET} \n"
echo -e "Votre Systeme : ${BG_NOIR}${BLEU}${systeme}${RESET}" echo -e "Votre Systeme : ${BG_NOIR}${BLEU}${systeme}${RESET}"
echo "" echo ""
echo "Que voulez vous faire ? " echo "Que voulez vous faire ? "
echo " [1] - Mettre a jour les paquets" echo "[1] - Installation complete"
echo " [2] - Mettre a jour les paquets et le systeme" echo "[2] - Installer Nala"
echo "[3] - Installation Packages"
echo "[8] - Installer Atuin"
echo "[9] - Installer Zsh+Plugins"
echo "[0] - Quitter" echo "[0] - Quitter"
read reponse read reponse
@@ -47,10 +50,38 @@ case ${reponse} in
1) 1)
maj_depot maj_depot
maj_systeme
install_nala
install_packages
install_flatpaks
install_atuin
install_mainline
install_nerdfont
install_zsh
cp sources/conf/.p10k.zsh ${HOME}
cp sources/conf/.zshrc ${HOME}
#config_zsh
#config_alias
;; ;;
2) 2)
maj_systeme install_nala
;;
3)
install_packages
;;
8)
install_atuin
;;
9)
install_nerdfont
install_zsh
zsh
config_zsh
;; ;;
0) 0)
+42 -45
View File
@@ -1,62 +1,59 @@
#! /bin/bash #! /bin/bash
set -eou pipefail
# Couleurs de texte (Foreground) if [[ -z "${ROOT_DIR}" ]]; then
NOIR='\e[30m' echo "Erreur : Veuillez lancer ce script via le menu.ksh principal."
ROUGE='\e[31m' exit 1
VERT='\e[32m' fi
JAUNE='\e[33m'
BLEU='\e[34m'
VIOLET='\e[35m'
CYAN='\e[36m'
BLANC='\e[37m'
# Couleurs de fond (Background) dir_script=$(cd "$(dirname "$0")" && pwd)
BG_NOIR='\e[40m'
BG_ROUGE='\e[41m'
BG_VERT='\e[42m'
BG_JAUNE='\e[43m'
# Styles #Chargement des couleurs (via la racine globale)
GRAS='\e[1m' if [[ -f "${ROOT_DIR}/sources/couleurs.ksh" ]]; then
SOULIGNE='\e[4m' . "${ROOT_DIR}/sources/couleurs.ksh"
RESET="\e[0m" fi
#Verif gestionnaire packages
if command -v nala >/dev/null 2>&1; then
{
gest_pkg="nala"
}
else
{
gest_pkg="apt"
}
fi
# -------------- FONCTIONS --------------- # -------------- FONCTIONS ---------------
function maj_depot maj_depot()
{ {
#Actualisation depots #Actualisation depots
apt update ${gest_pkg} update
# Maj Systeme avant AutoInstall
apt full-upgrade -y
} }
function maj_systeme maj_systeme()
{ {
nala full-upgrade -y ${gest_pkg} full-upgrade -y
} }
function maj_packages maj_packages()
{ {
nala upgrade -y ${gest_pkg} upgrade -y
} }
function install_nala install_nala()
{ {
#Installation NALA #Installation NALA
curl https://gitlab.com/volian/volian-archive/-/raw/main/install-nala.sh | bash curl https://gitlab.com/volian/volian-archive/-/raw/main/install-nala.sh | bash
} }
function install_nerdfont install_nerdfont()
{ {
#Telechargement Nerdfonts (Police Hackfont, la plus lisible) #Telechargement Nerdfonts (Police Hackfont, la plus lisible)
mkdir -p ~/.local/share/fonts/ mkdir -p ~/.local/share/fonts/
#Installation de la Police #Installation de la Police
http -o ~/.local/share/fonts/Hack.zip --download https://github.com/ryanoasis/nerd-fonts/releases/download/v3.4.0/Hack.zip wget -O ~/.local/share/fonts/Hack.zip https://github.com/ryanoasis/nerd-fonts/releases/download/v3.4.0/Hack.zip
unzip ~/.local/share/fonts/Hack.zip unzip ~/.local/share/fonts/Hack.zip
rm ~/.local/share/fonts/Hack.zip rm ~/.local/share/fonts/Hack.zip
@@ -64,45 +61,45 @@ function install_nerdfont
fc-cache -f fc-cache -f
} }
function install_packages install_packages()
{ {
add-apt-repository ppa:zhangsongcui3371/fastfetch -y add-apt-repository ppa:zhangsongcui3371/fastfetch -y
nala install btop httpie fastfetch ${gest_pkg} install btop duf httpie fastfetch -y
snap install lsd snap install lsd
} }
function install_flatpaks install_flatpaks()
{ {
# 12/01/2026 desactivation des flatpak, ces derniers sont installables directement dans les depots de bases. # 12/01/2026 desactivation des flatpak, ces derniers sont installables directement dans les depots de bases.
#Installation Flatpak #Installation Flatpak
#add-apt-repository ppa:flatpak/stable -y #add-apt-repository ppa:flatpak/stable -y
nala install flatpak -y ${gest_pkg} install flatpak -y
nala install gnome-software-plugin-flatpak -y ${gest_pkg} install gnome-software-plugin-flatpak -y
#flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo #flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
#Installation Packages Flatpak #Installation Packages Flatpak
# <a faire plus tard> # <a faire plus tard>
} }
function install_mainline install_mainline()
{ {
#Installation Mainline #Installation Mainline
add-apt-repository ppa:cappelikan/ppa -y add-apt-repository ppa:cappelikan/ppa -y
nala install mainline -y ${gest_pkg} install mainline -y
} }
function install_atuin install_atuin()
{ {
#Installation Atuin #Installation Atuin
bash <(curl https://raw.githubusercontent.com/atuinsh/atuin/main/install.sh) bash <(curl https://raw.githubusercontent.com/atuinsh/atuin/main/install.sh)
echo -e "${SOULIGNE}${VERT}✅ Atuin est installe, merci de faire une deco/reco${RESET}"
} }
function install_zsh install_zsh()
# ainsi que les plugins # ainsi que les plugins
{ {
nala install zsh -y ${gest_pkg} install zsh -y
#Configuration zsh+plugins #Configuration zsh+plugins
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
@@ -121,7 +118,7 @@ function install_zsh
#source ~/.zshrc #source ~/.zshrc
} }
function config_alias config_alias()
{ {
#Configuration megacommande maj" #Configuration megacommande maj"
echo "alias maj='nala full-upgrade && flatpak upgrade && mainline install-latest && update-grub'" >> ~/.zshrc echo "alias maj='nala full-upgrade && flatpak upgrade && mainline install-latest && update-grub'" >> ~/.zshrc
@@ -132,13 +129,13 @@ function config_alias
echo "alias ll='lsd -ltr'" >> ~/.zshrc echo "alias ll='lsd -ltr'" >> ~/.zshrc
# commande dl pour download # commande dl pour download
echo "alias dl ='http --download'" >> ~/.zshrc #echo "alias dl ='http --download'" >> ~/.zshrc
# commande disque pour espace disque # commande disque pour espace disque
echo "alias disque='duf' " >> ~/.zshrc echo "alias disque='duf' " >> ~/.zshrc
} }
function config_zsh config_zsh()
{ {
#Relancer la config de zsh #Relancer la config de zsh
p10k configure p10k configure
Regular → Executable
+19 -7
View File
@@ -12,6 +12,11 @@
# #
############################################################### ###############################################################
if [[ -z "${ROOT_DIR}" ]]; then
echo "Erreur : Veuillez lancer ce script via le menu.ksh principal."
exit 1
fi
# ---------- Couleurs (facultatives) ---------- # ---------- Couleurs (facultatives) ----------
# Certaines consoles ne supportent pas tput, on prévoit un fallback vide. # Certaines consoles ne supportent pas tput, on prévoit un fallback vide.
RED=$(tput setaf 1 2>/dev/null || printf '') RED=$(tput setaf 1 2>/dev/null || printf '')
@@ -20,7 +25,8 @@ YELLOW=$(tput setaf 3 2>/dev/null || printf '')
RESET=$(tput sgr0 2>/dev/null || printf '') RESET=$(tput sgr0 2>/dev/null || printf '')
# ---------- Fonction de journalisation ---------- # ---------- Fonction de journalisation ----------
log() { log()
{
# $1 = niveau (INFO|OK|ERR) # $1 = niveau (INFO|OK|ERR)
# $2 = message # $2 = message
case "$1" in case "$1" in
@@ -32,7 +38,8 @@ log() {
} }
# ---------- Wrapper d’exécution de commande ---------- # ---------- Wrapper d’exécution de commande ----------
run_cmd() { run_cmd()
{
# On exécute la commande passée en arguments séparés # On exécute la commande passée en arguments séparés
# "$@" préserve les espaces éventuels dans chaque argument. # "$@" préserve les espaces éventuels dans chaque argument.
"$@" "$@"
@@ -46,27 +53,32 @@ run_cmd() {
} }
# ---------- Étapes de mise à jour ---------- # ---------- Étapes de mise à jour ----------
update_pkg_list() { update_pkg_list()
{
log INFO "Mise à jour de la liste des paquets…" log INFO "Mise à jour de la liste des paquets…"
run_cmd apt-get update -y run_cmd apt-get update -y
} }
upgrade_installed() { upgrade_installed()
{
log INFO "Mise à jour des paquets déjà installés…" log INFO "Mise à jour des paquets déjà installés…"
run_cmd apt-get upgrade -y run_cmd apt-get upgrade -y
} }
dist_upgrade_os() { dist_upgrade_os()
{
log INFO "Dist-upgrade de l’OS…" log INFO "Dist-upgrade de l’OS…"
run_cmd apt-get dist-upgrade -y run_cmd apt-get dist-upgrade -y
} }
autoremove_obsolete() { autoremove_obsolete()
{
log INFO "Suppression des paquets obsolètes…" log INFO "Suppression des paquets obsolètes…"
run_cmd apt-get autoremove -y run_cmd apt-get autoremove -y
} }
clean_cache() { clean_cache()
{
log INFO "Nettoyage du cache des paquets…" log INFO "Nettoyage du cache des paquets…"
run_cmd apt-get clean -y run_cmd apt-get clean -y
} }
File diff suppressed because it is too large. Load diff
+127
View File
@@ -0,0 +1,127 @@
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
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
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH
# Path to your Oh My Zsh installation.
export ZSH="$HOME/.oh-my-zsh"
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time Oh My Zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
#ZSH_THEME="robbyrussell"
ZSH_THEME="agnoster"
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled # disable automatic updates
# zstyle ':omz:update' mode auto # update automatically without asking
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
# Uncomment the following line to change how often to auto-update (in days).
# zstyle ':omz:update' frequency 13
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git)
source $ZSH/oh-my-zsh.sh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch $(uname -m)"
# Set personal aliases, overriding those provided by Oh My Zsh libs,
# plugins, and themes. Aliases can be placed here, though Oh My Zsh
# users are encouraged to define aliases within a top-level file in
# the $ZSH_CUSTOM folder, with .zsh extension. Examples:
# - $ZSH_CUSTOM/aliases.zsh
# - $ZSH_CUSTOM/macos.zsh
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source ~/.zsh/powerlevel10k/powerlevel10k.zsh-theme
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
alias maj="atuin-update && nala full-upgrade -y && flatpak upgrade -y && mainline install-latest && update-grub || fwupdmgr refresh || fwupdmgr get-updates && fwupdmgr upgrade || omz update"
#alias maj="nala full-upgrade -y && flatpak upgrade -y && update-grub && fwupdmgr refresh || fwupdmgr get-updates && fwupdmgr upgrade"
#alias maj="apt update && apt full-upgrade -y && flatpak upgrade -y && mainline install-latest && update-grub && fwupdmgr refresh || fwupdmgr get-updates && fwupdmgr upgrade"
alias ll="lsd -ltrh"
. "$HOME/.atuin/bin/env"
eval "$(atuin init zsh)"
+22
View File
@@ -0,0 +1,22 @@
#!/bin/bash
# Couleurs de texte (Foreground)
NOIR='\e[30m'
ROUGE='\e[31m'
VERT='\e[32m'
JAUNE='\e[33m'
BLEU='\e[34m'
VIOLET='\e[35m'
CYAN='\e[36m'
BLANC='\e[37m'
# Couleurs de fond (Background)
BG_NOIR='\e[40m'
BG_ROUGE='\e[41m'
BG_VERT='\e[42m'
BG_JAUNE='\e[43m'
# Styles
GRAS='\e[1m'
SOULIGNE='\e[4m'
RESET="\e[0m"