Compare commits

...
29 Commits
Author SHA1 Message Date
xavier 7f97e5d50e feat(starship): Fix symbol direction in zsh prompt 2026-08-03 22:48:19 +02:00
xavier c611710d37 feat(starship): Cosmetic change for zsh prompt 2026-08-03 22:42:56 +02:00
xavier 649cfe25b3 feat(zsh): Add support for zsh 2026-08-03 22:36:52 +02:00
xavier 12fad1e849 test: Prepare for cloning password store 2026-08-03 22:36:52 +02:00
xavier 3af209a689 feat: Add TODO.md 2026-08-03 22:36:52 +02:00
xavier a4e2eadbe9 feat(mise): Allow to declare bootstrap package per host
Whitout this, you can only specify packages per os (distrib).
2026-08-03 22:28:22 +02:00
xavier 06fb51ab5e feat: Add template to add an header to managed files more easily 2026-08-03 22:26:55 +02:00
xavier 28183fd943 fix(mise): Fix dependency for broot 2026-08-03 22:25:49 +02:00
xavier da24623dca feat(starship): Improve configuration for starship.rs 2026-07-17 21:48:03 +02:00
xavier 9c757fc1c8 feat(starship): Improve configuration for starship.rs 2026-07-17 21:34:27 +02:00
xavier 7932d9cc61 feat(starship): Improve configuration for starship.rs 2026-07-17 21:28:38 +02:00
xavier cc95831397 feat(starship): Improve configuration for starship.rs 2026-07-17 20:38:48 +02:00
xavier f44c6c47f3 fix(data): Fix username for the cloud server in chezmoi data
(xavier -> ubuntu)
2026-07-17 20:16:32 +02:00
xavier c0a03acfd6 feat(mise): Add dev-tools toolbox for root on all hosts 2026-07-17 01:25:24 +02:00
xavier 1d2ae95800 feat(starship): Improve prompt 2026-07-17 00:25:36 +02:00
xavier 115cc9f6b7 feat(mise): Review config for hosts/users/tools 2026-07-16 22:35:50 +02:00
xavierandClaude Sonnet 5 dd229593aa feat(mise): Support tools with custom mise params (e.g. tea)
Replace the hardcoded 'tea' special case in mise-tools with a generic
mechanism: a tool entry in tools.yaml/hosts.yaml can now be either a
plain string ("latest") or a map keyed by tool name whose value holds
mise params (version, url, asset_pattern, ...). This generalizes to
any future tool needing more than "latest", instead of requiring a
new hardcoded branch per tool.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-16 22:23:26 +02:00
xavierandClaude Sonnet 5 bbda4fdbcb feat(mise): Add per-user toolsets to hosts.yaml
Nest each host's toolboxes/tools/configs under users.<username> so
root and xavier can have different tool selections on the same
machine, instead of sharing one profile per host.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-16 22:09:18 +02:00
xavier d5a4a0d9dd feat: Improve starship prompt 2026-07-16 20:03:46 +02:00
xavier a73546bcec feat: Add config file for starship prompt utility
See https://starship.rs/config/
2026-07-16 19:10:55 +02:00
xavier 94969e12fe feat(mise): Add starship prompt utility to the terminal toolbox 2026-07-16 19:08:41 +02:00
xavier 3b3f7e60a6 chore: Small improvments... 2026-07-16 13:08:13 +02:00
xavier 80afa299b4 fix(mise): Fix script to autoinstall tools when mise config change 2026-07-16 12:54:00 +02:00
xavier 6a4e3f2699 feat: Some adaptations for termux 2026-07-16 08:29:15 +00:00
xavier c1af60939e feat(mise): Add a script to automatically run a mise install when mise config changes 2026-07-15 20:53:12 +02:00
xavier 8c82c74f58 fix(mise): Fix tool options for tea (quoting) 2026-07-15 16:06:26 +02:00
xavier e50a91edab fix(mise): Fix generation for ~/.config/mise/config.toml 2026-07-15 15:54:19 +02:00
xavier 616de6d16f feat(external): Add external repo for legacy vim configuration 2026-07-15 15:44:18 +02:00
xavier ef95b6f198 feat(mise): Automate ~/.config/mise/config.toml generation based on yaml data and some logic 2026-07-15 15:40:17 +02:00
20 changed files with 936 additions and 101 deletions
+80
View File
@@ -0,0 +1,80 @@
---
hosts:
# PC perso
intel-nuc-hades-canyon:
users:
root:
toolboxes:
- terminal
- dev-tools
xavier:
toolboxes:
- terminal
- dev-tools
- dev-languages
- ai
tools:
- pipx:vit
- pipx:speedtest-cli
- pipx:asciinema
configs: {}
# Serveur dédié
cloud:
users:
root:
toolboxes:
- terminal
- dev-tools
ubuntu:
toolboxes:
- terminal
- dev-tools
- dev-languages
- ai
tools:
- pipx:vit
configs: {}
# Container de dev
devenv:
users:
root:
toolboxes:
- terminal
- dev-tools
xavier:
toolboxes:
- terminal
- dev-tools
- dev-languages
- devops
- ai
tools:
- sops
- age
- cargo:rage
configs: {}
# Termux (application de terminal pour android)
termux-debian:
packages:
- apt:zsh
users:
root:
toolboxes:
- terminal
- dev-tools
xavier:
toolboxes:
- terminal
- dev-tools
termux-ubuntu:
packages:
- apt:zsh
users:
root:
toolboxes:
- terminal
- dev-tools
xavier:
toolboxes:
- terminal
- dev-tools
+44
View File
@@ -0,0 +1,44 @@
---
packages:
debian:
common:
- tar
- zip
- unzip
- manpages
- manpages-fr
- bash
- bash-completion
- screen
- tmux
- curl
- wget
- vim
- git
- tree
- build-essential
server: []
desktop:
- zsh
- fish
ubuntu:
common:
- tar
- zip
- unzip
- manpages
- manpages-fr
- bash
- bash-completion
- screen
- tmux
- curl
- wget
- vim
- git
- tree
- build-essential
server: []
desktop:
- zsh
- fish
+65
View File
@@ -0,0 +1,65 @@
---
tools:
toolboxes:
terminal:
- starship # Fancy prompt
- powerline-go # Fancy prompt
- lsd # Fancy ls replacement
- vivid # Fancy ls colors
- bat # Fancy cat replacement
- ripgrep # Fancy grep replacement
- fd # Fancy find replacement
- gdu # Fancy du replacement
- bottom # Fancy top replacement
- dust # Fancy du replacement
- fzf # Fuzzy finder
- zoxide # Quickly jump to previouously visited directories
- broot # Navigate easily inside the file system
- glow # Render markdown on the CLI
- cargo-binstall # Needed for broot
dev-tools:
- jq
- yq
- shellcheck
- lazygit
- delta
- gh
- tea:
url: "https://gitea.com/gitea/tea/releases/download/v{{ version }}/tea-{{ version }}-{{ os() }}-{{ arch(x64='amd64') }}.xz"
version: "0.14.2"
dev-languages:
- python
- uv
- pipx
- node
- go
- rust
devops:
- docker-cli
- podman
- lazydocker
- kubectl
- krew
- k9s
- helm
- flux2
- minikube
- kind
- kwok
- dive
- trivy
- crane
- cosign
ai:
- claude
- gemini-cli
- codex
# # Password managers
# # vault = "latest"
# sops = "latest"
# age = "latest"
# # "cargo:rage" = "latest"
#
# # Desktop tools
# obsidian = { version = "latest", asset_pattern = "Obsidian-{version}.AppImage" }
+13
View File
@@ -6,6 +6,13 @@
url: https://gitea.cloud.logerais.com/xavier/config-bash.git url: https://gitea.cloud.logerais.com/xavier/config-bash.git
refreshPeriod: 24h # Vérifie toutes les 24h refreshPeriod: 24h # Vérifie toutes les 24h
##### [ VIM ] #####
".config/vim":
type: git-repo
url: https://gitea.cloud.logerais.com/xavier/config-vim.git
refreshPeriod: 24h # Vérifie toutes les 24h
##### [ NVIM ] ##### ##### [ NVIM ] #####
".config/nvim": ".config/nvim":
@@ -13,4 +20,10 @@
url: https://gitea.cloud.logerais.com/xavier/config-astronvim.git url: https://gitea.cloud.logerais.com/xavier/config-astronvim.git
refreshPeriod: 24h # Vérifie toutes les 24h refreshPeriod: 24h # Vérifie toutes les 24h
##### [ PASS ] #####
# ".password-store":
# type: git-repo
# url: https://gitea.cloud.logerais.com/xavier/pass.git
# refreshPeriod: 24h # Vérifie toutes les 24h
+1
View File
@@ -1 +1,2 @@
README.md README.md
TODO.md
+4
View File
@@ -0,0 +1,4 @@
#
# Ce fichier est généré automatiquement par l'outil chezmoi.
# Préférez apporter vos modification depuis chezmoi que directement ici.
#
+55
View File
@@ -0,0 +1,55 @@
{{/* .chezmoitemplates/mise-bootstrap-packages */}}
{{- $isUbuntu := false -}}
{{- $isUbuntuServer := false -}}
{{- $isUbuntuDesktop := false -}}
{{- if and (eq .chezmoi.os "linux") (hasKey .chezmoi "osRelease") (eq .chezmoi.osRelease.id "ubuntu") -}}
{{- $isUbuntu = true -}}
{{- if stat "/usr/bin/gnome-shell" }}
{{- $isUbuntuDesktop = true -}}
{{- end }}
{{- end -}}
{{/* Debian */}}
{{- if and (eq .chezmoi.os "linux") (hasKey .chezmoi "osRelease") (eq .chezmoi.osRelease.id "debian") -}}
# Debian common
{{- range .packages.debian.common }}
"apt:{{- . }}" = "latest"
{{- end }}
{{- end -}}
{{/* Ubuntu */}}
{{- if $isUbuntu }}
# Ubuntu common
{{- range .packages.ubuntu.common }}
"apt:{{- . }}" = "latest"
{{- end }}
{{- if $isUbuntuServer }}
# Ubuntu server
{{- range .packages.ubuntu.server }}
"apt:{{- . }}" = "latest"
{{- end }}
{{- end }}
{{- if $isUbuntuDesktop }}
# Ubuntu desktop
{{- range .packages.ubuntu.desktop }}
"apt:{{- . }}" = "latest"
{{- end }}
{{- end }}
{{- end }}
{{/* Host specific */}}
{{- $hostname := output "hostname" | trim -}}
{{- $currentHost := index .hosts $hostname -}}
{{- if $currentHost }}
{{- if hasKey $currentHost "packages" }}
# Paquets personnalisés pour l'hôte {{ $hostname }}
{{- range $currentHost.packages }}
"{{- . }}" = "latest"
{{- end }}
{{- end }}
{{- end }}
+53
View File
@@ -0,0 +1,53 @@
{{/* .chezmoitemplates/mise-tools */}}
{{- $hostname := output "hostname" | trim -}}
{{- $username := .chezmoi.username }}
# Configuration personnalisée pour l'utilisateur {{ $username }} et l'hôte {{ $hostname }}
{{- $currentHost := index .hosts $hostname -}}
{{- $currentUser := "" -}}
{{- if $currentHost }}
{{- if hasKey $currentHost.users $username }}
{{- $currentUser = index $currentHost.users $username -}}
{{- end }}
{{- end }}
{{- if $currentUser }}
{{- /* 1. Parcourir les toolboxes associées à cet hôte */}}
{{- range $toolboxName := $currentUser.toolboxes }}
{{- /* Récupérer la liste des outils pour cette toolbox dans tools.yaml */}}
{{- $toolsList := index $.tools.toolboxes $toolboxName }}
{{- if $toolsList }}
# Toolbox: {{ $toolboxName }}
{{- range $tool := $toolsList }}
{{- /* Un outil est soit une chaîne ("nom"), soit un objet { nom: {version, ...params mise} } */}}
{{- if kindIs "map" $tool }}
{{- range $toolName, $params := $tool }}
{{ $toolName }} = { version = "{{ $params.version | default "latest" }}"{{ range $key, $value := omit $params "version" }}, {{ $key }} = "{{ $value }}"{{ end }} }
{{- end }}
{{- else }}
"{{ $tool }}" = "latest"
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- /* 2. Parcourir les outils individuels (la liste 'tools:' de l'utilisateur) */}}
{{- if hasKey $currentUser "tools" }}
{{- if $currentUser.tools }}
# Outils individuels
{{- range $tool := $currentUser.tools }}
{{- if kindIs "map" $tool }}
{{- range $toolName, $params := $tool }}
{{ $toolName }} = { version = "{{ $params.version | default "latest" }}"{{ range $key, $value := omit $params "version" }}, {{ $key }} = "{{ $value }}"{{ end }} }
{{- end }}
{{- else }}
"{{ $tool }}" = "latest"
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- else if $currentHost }}
# Aucun profil trouvé dans hosts.yaml pour l'utilisateur {{ $username }} sur la machine : {{ $hostname }}
{{- else }}
# Aucun profil trouvé dans hosts.yaml pour la machine : {{ $hostname }}
{{- end }}
+3
View File
@@ -1,3 +1,6 @@
# Chezmoi # Chezmoi
Ce dépôt contient ma configuration pour l'outil [chezmoi](https://www.chezmoi.io/) qui permet la gestion des fichiers dot files. Ce dépôt contient ma configuration pour l'outil [chezmoi](https://www.chezmoi.io/) qui permet la gestion des fichiers dot files.
Pour lancer un bootstrap rapide de mon environnement complet, lancer la commande suivante :
`sh -c "$(curl -fsLS get.chezmoi.io/lb)" -- init --apply https://gitea.cloud.logerais.com/xavier/config-chezmoi.git`
+6
View File
@@ -0,0 +1,6 @@
# TODO
- [ ] Review encryption workflow to manage git credentials (tea login helpers)
- [ ] Manage basic GPG Config (+ import of personnal public key)
- [ ] Integrate files from repo https://gitea.cloud.logerais.com/xavier/Ubuntu (with conditions)
- [ ] Manage fonts (See https://gitea.cloud.logerais.com/xavier/config-bootstrap/src/branch/master/fonts.bash)
+25
View File
@@ -0,0 +1,25 @@
# Set PATH
export PATH="${HOME}/.local/bin:${PATH}"
# Activate mise
eval "$(mise activate zsh)"
# Activate starship
export STARSHIP_CONFIG="${HOME}/.config/starship-zsh.toml"
eval "$(starship init zsh)"
# Add some usefull tools
eval "$(zoxide init zsh)"
# Add some usefull aliases
source "${HOME}/.config/bash/aliases.d/generic"
source "${HOME}/.config/bash/aliases.d/security"
source "${HOME}/.config/bash/aliases.d/vim"
source "${HOME}/.config/bash/aliases.d/git"
source "${HOME}/.config/bash/aliases.d/kubectl"
source "${HOME}/.config/bash/aliases.d/lsd"
source "${HOME}/.config/bash/aliases.d/bat"
source "${HOME}/.config/bash/aliases.d/lazygit"
# Define prefered apps
source "${HOME}/.config/bash/rc.after.d/apps"
+7 -100
View File
@@ -1,3 +1,5 @@
{{ template "chezmoi-managed-header" . }}
[settings] [settings]
experimental = true experimental = true
@@ -7,33 +9,7 @@ binstall = true
######################### [ Bootstrap ] ######################### ######################### [ Bootstrap ] #########################
[bootstrap.packages] [bootstrap.packages]
{{ template "mise-bootstrap-packages" . }}
"apt:tar" = "latest"
"apt:zip" = "latest"
"apt:unzip" = "latest"
"apt:manpages" = "latest"
"apt:manpages-fr" = "latest"
"apt:bash" = "latest"
"apt:bash-completion" = "latest"
"apt:zsh" = "latest"
"apt:fish" = "latest"
"apt:screen" = "latest"
"apt:tmux" = "latest"
"apt:curl" = "latest"
"apt:wget" = "latest"
"apt:vim" = "latest"
"apt:git" = "latest"
"apt:tree" = "latest"
{{ if (and (eq .chezmoi.os "linux") (eq .chezmoi.osRelease.name "Ubuntu")) }}
"apt:build-essential" = "latest"
{{ end }}
# coreutils grep less # coreutils grep less
# tig # tig
@@ -55,87 +31,18 @@ usage = "latest"
# Configuration # Configuration
chezmoi = "latest" chezmoi = "latest"
# Terminal
# kitty = { version = "latest", asset_pattern = "kitty-*-x86_64.txz" }
# Editor # Editor
neovim = "latest" neovim = "latest"
tree-sitter = "latest" tree-sitter = "latest"
# Languages # Tools automated with chezmoi
{{ template "mise-tools" . }}
# -- python --
python = "latest"
uv = "latest"
pipx = "latest"
# -- node --
node = "latest"
# -- go --
go = "latest"
# -- rust --
rust = "latest"
cargo-binstall = "latest"
# Terminal tools
powerline-go = "latest"
lsd = "latest"
bat = "latest"
ripgrep = "latest"
fd = "latest"
gdu = "latest"
bottom = "latest"
dust = "latest"
fzf = "latest"
zoxide = "latest"
broot = "latest"
glow = "latest"
# Password managers # Password managers
# vault = "latest" # vault = "latest"
sops = "latest"
age = "latest"
# "cargo:rage" = "latest"
# Dev toolbox # Terminal
lazygit = "latest" # kitty = { version = "latest", asset_pattern = "kitty-*-x86_64.txz" }
delta = "latest"
gh = "latest"
tea = { version = "0.14.2", url = 'https://gitea.com/gitea/tea/releases/download/v{{- "{{" }} version {{ "}}" -}}/tea-{{- "{{" }} version {{ "}}" -}}-{{- "{{" }} os() {{ "}}" -}}-{{- "{{" }} arch(x64="amd64") {{ "}}" -}}.xz' }
jq = "latest"
yq = "latest"
# DevOps toolbox
# docker-cli = "latest"
# kubectl = "latest"
# krew = "latest"
# k9s = "latest"
# helm = "latest"
# flux2 = "2.3.0"
# kind = "latest"
# crane = "latest"
# dive = "latest"
# trivy = "latest"
# podman = "latest"
# minikube = "latest"
# kwok = "latest"
# cosign = "latest"
# lazydocker = "latest"
# AI tools
# gemini-cli = "latest"
# claude = "latest"
# codex = "latest"
# Desktop tools # Desktop tools
#obsidian = { version = "latest", asset_pattern = "Obsidian-{version}.AppImage" } #obsidian = { version = "latest", asset_pattern = "Obsidian-{version}.AppImage" }
shellcheck = "latest"
vivid = "latest"
"pipx:vit" = "latest"
"pipx:speedtest-cli" = "latest"
# "pipx:asciinema" = "latest"
+244
View File
@@ -0,0 +1,244 @@
"$schema" = 'https://starship.rs/config-schema.json'
format = """
$directory\
[](fg:#769ff0 bg:#394260)\
$git_branch\
$git_commit\
$git_status\
$direnv\
$mise\
[](fg:#394260 bg:#212736)\
$golang\
$rust\
$python\
$nodejs\
$docker_context\
$kubernetes\
$terraform\
[](fg:#212736)\
$character"""
right_format = """
[](fg:#a3aed2)\
$time\
[ ](fg:#a3aed2)\
[](fg:#a3aed2)\
$shell\
$username\
[](fg:#394260 bg:#a3aed2)\
$os\
[](bg:#394260 fg:#a3aed2)\
$container\
$hostname"""
[hostname]
disabled = false
ssh_only = false
style = "bg:#394260 fg:#a3aed2"
format = '[$ssh_symbol]($style)[  $hostname ]($style)'
# detect_env_vars = ['!TMUX', 'SSH_CONNECTION']
# trim_at = '.companyname.com'
# aliases = { "Max's MacBook Pro" = "home" }
[container]
style = "bg:#394260 fg:#a3aed2"
format = '[ $symbol $name ]($style)'
[os]
disabled = false
style = "bg:#394260 fg:#a3aed2"
format = "[ $symbol ]($style)"
[username]
show_always = true
style_user = "bg:#a3aed2 fg:#212736"
style_root = "bg:#a3aed2 fg:#990000 bold"
format = '[  $user ]($style)'
[shell]
disabled = false
bash_indicator = ' '
zsh_indicator = ' '
fish_indicator = '󰈺 '
powershell_indicator = '_'
unknown_indicator = 'unknown shell'
style = "bg:#a3aed2 fg:#212736"
format = '[ $indicator[](fg:#394260 bg:#a3aed2)]($style)'
[sudo]
disabled = false
[directory]
disabled = false
style = "fg:#e3e5e5 bg:#769ff0"
format = "[  $path ]($style)"
truncation_length = 5
truncation_symbol = "…/"
truncate_to_repo = false
[git_branch]
disabled = false
symbol = ""
style = "fg:#769ff0 bg:#394260"
format = '[ $symbol $branch ]($style)'
[git_commit]
disabled = false
tag_disabled = false
tag_symbol = '  '
only_detached = true
style = "fg:#769ff0 bg:#394260"
format = '[ $hash $tag ]($style)'
[git_status]
disabled = false
style = "fg:#769ff0 bg:#394260"
format = '[$all_status$ahead_behind]($style)'
ahead = '⇡${count}'
behind = '⇣${count}'
diverged = '⇕⇡${ahead_count}⇣${behind_count}'
up_to_date = ''
modified = '[$count󰷉 ](fg:yellow bg:#394260)'
staged = '[$count ](fg:green bg:#394260)'
deleted = '[$count ](fg:red bg:#394260)'
renamed = '[$count󱀱 ](fg:blue bg:#394260)'
untracked = '[$count󱀶 ](fg:gray bg:#394260)'
conflicted = '[$count󱪘 ](fg:red bg:#394260)'
stashed = '$count📦' # 󱁺 
[direnv]
disabled = false
[mise]
disabled = true
[nodejs]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[bun]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[rust]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[golang]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[php]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[python]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[docker_context]
disabled = false
only_with_files = false
symbol = " "
style = "fg:#2560ff bg:#ffffff"
format = '[[](fg:#212736 bg:#ffffff) $symbol $context [](fg:#ffffff bg:#212736)]($style)'
[kubernetes]
disabled = false
symbol = " "
style = "bg:#316ce6 fg:#a3aed2"
format = '[[](fg:#212736 bg:#316ce6) $symbol $context (\($namespace\))[](fg:#316ce6 bg:#212736)]($style)'
[terraform]
disabled = false
symbol = " "
style = "bg:#1b1028 fg:#7b42bc"
format = '[[](fg:#212736 bg:#1b1028) [$symbol](fg:#7b42bc bg:#1b1028) $workspace [](fg:#1b1028 bg:#212736)]($style)'
[time]
disabled = false
time_format = "%R" # Hour:Minute Format
style = "fg:#ffffff bg:#a3aed2"
format = '[  $time ]($style)'
# format = '[[  $time ](fg:#a0a9cb bg:#1d2230)]($style)'
[character]
success_symbol = '[[](fg:#ddffdd)  [](fg:#ddffdd)](bg:#ddffdd fg:#00af5f) '
error_symbol = '[[](fg:#ffddff) 󰚽 [](fg:#ffddff)](bg:#ffddff fg:#f44336) '
[os.symbols]
Windows = "󰍲"
Ubuntu = "󰕈"
SUSE = ""
Raspbian = "󰐿"
Mint = "󰣭"
Macos = "󰀵"
Manjaro = ""
Linux = "󰌽"
Gentoo = "󰣨"
Fedora = "󰣛"
Alpine = ""
Amazon = ""
Android = ""
AOSC = ""
Arch = "󰣇"
Artix = "󰣇"
EndeavourOS = ""
CentOS = ""
Debian = "󰣚"
Redhat = "󱄛"
RedHatEnterprise = "󱄛"
Pop = ""
[directory.substitutions]
"Documents" = "󰈙 "
"Pictures" = " "
"Images" = " "
"Music" = " "
"Musique" = " "
"Movies" = "󰎁 "
"Films" = "󰎁 "
"Downloads" = " "
"Téléchargements" = " "
"Developer" = "󰲋 "
# Nerdfont symbols
# 󰚽 󰗖 󰗠 󰅙 󰀨  󰅚
#   ✓ ✗ ✔ ✘
# ❬ ❭ ❮ ❯ ❰ ❱ ❲ ❳ ❴ ❵
# ➛ ➜ ➝ ➞ ➢ ➣ ➤
# Powerline colorsheme (from powerline source file colorsheme.py)
# 0x000000, 0xc00000, 0x008000, 0x804000, 0x0000c0, 0xc000c0, 0x008080, 0xc0c0c0, 0x808080, 0xff6060, # 0
# 0x00ff00, 0xffff00, 0x8080ff, 0xff40ff, 0x00ffff, 0xffffff, 0x000000, 0x00005f, 0x000087, 0x0000af, # 1
# 0x0000d7, 0x0000ff, 0x005f00, 0x005f5f, 0x005f87, 0x005faf, 0x005fd7, 0x005fff, 0x008700, 0x00875f, # 2
# 0x008787, 0x0087af, 0x0087d7, 0x0087ff, 0x00af00, 0x00af5f, 0x00af87, 0x00afaf, 0x00afd7, 0x00afff, # 3
# 0x00d700, 0x00d75f, 0x00d787, 0x00d7af, 0x00d7d7, 0x00d7ff, 0x00ff00, 0x00ff5f, 0x00ff87, 0x00ffaf, # 4
# 0x00ffd7, 0x00ffff, 0x5f0000, 0x5f005f, 0x5f0087, 0x5f00af, 0x5f00d7, 0x5f00ff, 0x5f5f00, 0x5f5f5f, # 5
# 0x5f5f87, 0x5f5faf, 0x5f5fd7, 0x5f5fff, 0x5f8700, 0x5f875f, 0x5f8787, 0x5f87af, 0x5f87d7, 0x5f87ff, # 6
# 0x5faf00, 0x5faf5f, 0x5faf87, 0x5fafaf, 0x5fafd7, 0x5fafff, 0x5fd700, 0x5fd75f, 0x5fd787, 0x5fd7af, # 7
# 0x5fd7d7, 0x5fd7ff, 0x5fff00, 0x5fff5f, 0x5fff87, 0x5fffaf, 0x5fffd7, 0x5fffff, 0x870000, 0x87005f, # 8
# 0x870087, 0x8700af, 0x8700d7, 0x8700ff, 0x875f00, 0x875f5f, 0x875f87, 0x875faf, 0x875fd7, 0x875fff, # 9
# 0x878700, 0x87875f, 0x878787, 0x8787af, 0x8787d7, 0x8787ff, 0x87af00, 0x87af5f, 0x87af87, 0x87afaf, # 10
# 0x87afd7, 0x87afff, 0x87d700, 0x87d75f, 0x87d787, 0x87d7af, 0x87d7d7, 0x87d7ff, 0x87ff00, 0x87ff5f, # 11
# 0x87ff87, 0x87ffaf, 0x87ffd7, 0x87ffff, 0xaf0000, 0xaf005f, 0xaf0087, 0xaf00af, 0xaf00d7, 0xaf00ff, # 12
# 0xaf5f00, 0xaf5f5f, 0xaf5f87, 0xaf5faf, 0xaf5fd7, 0xaf5fff, 0xaf8700, 0xaf875f, 0xaf8787, 0xaf87af, # 13
# 0xaf87d7, 0xaf87ff, 0xafaf00, 0xafaf5f, 0xafaf87, 0xafafaf, 0xafafd7, 0xafafff, 0xafd700, 0xafd75f, # 14
# 0xafd787, 0xafd7af, 0xafd7d7, 0xafd7ff, 0xafff00, 0xafff5f, 0xafff87, 0xafffaf, 0xafffd7, 0xafffff, # 15
# 0xd70000, 0xd7005f, 0xd70087, 0xd700af, 0xd700d7, 0xd700ff, 0xd75f00, 0xd75f5f, 0xd75f87, 0xd75faf, # 16
# 0xd75fd7, 0xd75fff, 0xd78700, 0xd7875f, 0xd78787, 0xd787af, 0xd787d7, 0xd787ff, 0xd7af00, 0xd7af5f, # 17
# 0xd7af87, 0xd7afaf, 0xd7afd7, 0xd7afff, 0xd7d700, 0xd7d75f, 0xd7d787, 0xd7d7af, 0xd7d7d7, 0xd7d7ff, # 18
# 0xd7ff00, 0xd7ff5f, 0xd7ff87, 0xd7ffaf, 0xd7ffd7, 0xd7ffff, 0xff0000, 0xff005f, 0xff0087, 0xff00af, # 19
# 0xff00d7, 0xff00ff, 0xff5f00, 0xff5f5f, 0xff5f87, 0xff5faf, 0xff5fd7, 0xff5fff, 0xff8700, 0xff875f, # 20
# 0xff8787, 0xff87af, 0xff87d7, 0xff87ff, 0xffaf00, 0xffaf5f, 0xffaf87, 0xffafaf, 0xffafd7, 0xffafff, # 21
# 0xffd700, 0xffd75f, 0xffd787, 0xffd7af, 0xffd7d7, 0xffd7ff, 0xffff00, 0xffff5f, 0xffff87, 0xffffaf, # 22
# 0xffffd7, 0xffffff, 0x080808, 0x121212, 0x1c1c1c, 0x262626, 0x303030, 0x3a3a3a, 0x444444, 0x4e4e4e, # 23
# 0x585858, 0x626262, 0x6c6c6c, 0x767676, 0x808080, 0x8a8a8a, 0x949494, 0x9e9e9e, 0xa8a8a8, 0xb2b2b2, # 24
# 0xbcbcbc, 0xc6c6c6, 0xd0d0d0, 0xdadada, 0xe4e4e4, 0xeeeeee # 25
+242
View File
@@ -0,0 +1,242 @@
"$schema" = 'https://starship.rs/config-schema.json'
format = """
$hostname\
$container\
[](fg:#212736 bg:#394260)\
$os\
[](fg:#394260 bg:#a3aed2)\
$username\
$shell\
[](fg:#a3aed2 bg:#769ff0)\
$directory\
[](fg:#769ff0 bg:#394260)\
$git_branch\
$git_commit\
$git_status\
$direnv\
$mise\
[](fg:#394260 bg:#212736)\
$golang\
$rust\
$python\
$nodejs\
$docker_context\
$kubernetes\
$terraform\
[](fg:#212736)\
\n$time\
$character"""
right_format = """
[](fg:#212736 bg:#1d2230)\
\n$time\
"""
[hostname]
disabled = false
ssh_only = false
style = "bg:#212736 fg:#a3aed2"
format = '[$ssh_symbol]($style)[  $hostname ]($style)'
# detect_env_vars = ['!TMUX', 'SSH_CONNECTION']
# trim_at = '.companyname.com'
# aliases = { "Max's MacBook Pro" = "home" }
[container]
style = "bg:#212736 fg:#a3aed2"
format = '[ $symbol $name ]($style)'
[os]
disabled = false
style = "bg:#394260 fg:#a3aed2"
format = "[ $symbol ]($style)"
[username]
show_always = true
style_user = "bg:#a3aed2 fg:#212736"
style_root = "bg:#a3aed2 fg:#990000 bold"
format = '[  $user ]($style)'
[shell]
disabled = false
bash_indicator = ' '
zsh_indicator = ' '
fish_indicator = '󰈺 '
powershell_indicator = '_'
unknown_indicator = 'unknown shell'
style = "bg:#a3aed2 fg:#212736"
format = '[[](fg:#394260 bg:#a3aed2) $indicator]($style)'
[sudo]
disabled = false
[directory]
disabled = false
style = "fg:#e3e5e5 bg:#769ff0"
format = "[  $path ]($style)"
truncation_length = 3
truncation_symbol = "…/"
[git_branch]
disabled = false
symbol = ""
style = "fg:#769ff0 bg:#394260"
format = '[ $symbol $branch ]($style)'
[git_commit]
disabled = false
tag_disabled = false
tag_symbol = '  '
only_detached = true
style = "fg:#769ff0 bg:#394260"
format = '[ $hash $tag ]($style)'
[git_status]
disabled = false
style = "fg:#769ff0 bg:#394260"
format = '[$all_status$ahead_behind]($style)'
ahead = '⇡${count}'
behind = '⇣${count}'
diverged = '⇕⇡${ahead_count}⇣${behind_count}'
up_to_date = ''
modified = '[$count󰷉 ](fg:yellow bg:#394260)'
staged = '[$count ](fg:green bg:#394260)'
deleted = '[$count ](fg:red bg:#394260)'
renamed = '[$count󱀱 ](fg:blue bg:#394260)'
untracked = '[$count󱀶 ](fg:gray bg:#394260)'
conflicted = '[$count󱪘 ](fg:red bg:#394260)'
stashed = '$count📦' # 󱁺 
[direnv]
disabled = false
[mise]
disabled = true
[nodejs]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[bun]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[rust]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[golang]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[php]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[python]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[docker_context]
disabled = false
only_with_files = false
symbol = " "
style = "fg:#2560ff bg:#ffffff"
format = '[[](fg:#212736 bg:#ffffff) $symbol $context [](fg:#ffffff bg:#212736)]($style)'
[kubernetes]
disabled = false
symbol = " "
style = "bg:#316ce6 fg:#a3aed2"
format = '[[](fg:#212736 bg:#316ce6) $symbol $context (\($namespace\))[](fg:#316ce6 bg:#212736)]($style)'
[terraform]
disabled = false
symbol = " "
style = "bg:#1b1028 fg:#7b42bc"
format = '[[](fg:#212736 bg:#1b1028) [$symbol](fg:#7b42bc bg:#1b1028) $workspace [](fg:#1b1028 bg:#212736)]($style)'
[time]
disabled = false
time_format = "%R" # Hour:Minute Format
style = "fg:#a3aed2"
format = '[  $time ]($style)'
# format = '[[  $time ](fg:#a0a9cb bg:#1d2230)]($style)'
[character]
success_symbol = '[ ](bold green) '
error_symbol = '[󰚽 ](bold red) '
[os.symbols]
Windows = "󰍲"
Ubuntu = "󰕈"
SUSE = ""
Raspbian = "󰐿"
Mint = "󰣭"
Macos = "󰀵"
Manjaro = ""
Linux = "󰌽"
Gentoo = "󰣨"
Fedora = "󰣛"
Alpine = ""
Amazon = ""
Android = ""
AOSC = ""
Arch = "󰣇"
Artix = "󰣇"
EndeavourOS = ""
CentOS = ""
Debian = "󰣚"
Redhat = "󱄛"
RedHatEnterprise = "󱄛"
Pop = ""
[directory.substitutions]
"Documents" = "󰈙 "
"Pictures" = " "
"Images" = " "
"Music" = " "
"Musique" = " "
"Downloads" = " "
"Téléchargements" = " "
"Developer" = "󰲋 "
# Nerdfont symbols
# 󰚽 󰗖 󰗠 󰅙 󰀨  󰅚
#   ✓ ✗ ✔ ✘
# ❬ ❭ ❮ ❯ ❰ ❱ ❲ ❳ ❴ ❵
# ➛ ➜ ➝ ➞ ➢ ➣ ➤
# Powerline colorsheme (from powerline source file colorsheme.py)
# 0x000000, 0xc00000, 0x008000, 0x804000, 0x0000c0, 0xc000c0, 0x008080, 0xc0c0c0, 0x808080, 0xff6060, # 0
# 0x00ff00, 0xffff00, 0x8080ff, 0xff40ff, 0x00ffff, 0xffffff, 0x000000, 0x00005f, 0x000087, 0x0000af, # 1
# 0x0000d7, 0x0000ff, 0x005f00, 0x005f5f, 0x005f87, 0x005faf, 0x005fd7, 0x005fff, 0x008700, 0x00875f, # 2
# 0x008787, 0x0087af, 0x0087d7, 0x0087ff, 0x00af00, 0x00af5f, 0x00af87, 0x00afaf, 0x00afd7, 0x00afff, # 3
# 0x00d700, 0x00d75f, 0x00d787, 0x00d7af, 0x00d7d7, 0x00d7ff, 0x00ff00, 0x00ff5f, 0x00ff87, 0x00ffaf, # 4
# 0x00ffd7, 0x00ffff, 0x5f0000, 0x5f005f, 0x5f0087, 0x5f00af, 0x5f00d7, 0x5f00ff, 0x5f5f00, 0x5f5f5f, # 5
# 0x5f5f87, 0x5f5faf, 0x5f5fd7, 0x5f5fff, 0x5f8700, 0x5f875f, 0x5f8787, 0x5f87af, 0x5f87d7, 0x5f87ff, # 6
# 0x5faf00, 0x5faf5f, 0x5faf87, 0x5fafaf, 0x5fafd7, 0x5fafff, 0x5fd700, 0x5fd75f, 0x5fd787, 0x5fd7af, # 7
# 0x5fd7d7, 0x5fd7ff, 0x5fff00, 0x5fff5f, 0x5fff87, 0x5fffaf, 0x5fffd7, 0x5fffff, 0x870000, 0x87005f, # 8
# 0x870087, 0x8700af, 0x8700d7, 0x8700ff, 0x875f00, 0x875f5f, 0x875f87, 0x875faf, 0x875fd7, 0x875fff, # 9
# 0x878700, 0x87875f, 0x878787, 0x8787af, 0x8787d7, 0x8787ff, 0x87af00, 0x87af5f, 0x87af87, 0x87afaf, # 10
# 0x87afd7, 0x87afff, 0x87d700, 0x87d75f, 0x87d787, 0x87d7af, 0x87d7d7, 0x87d7ff, 0x87ff00, 0x87ff5f, # 11
# 0x87ff87, 0x87ffaf, 0x87ffd7, 0x87ffff, 0xaf0000, 0xaf005f, 0xaf0087, 0xaf00af, 0xaf00d7, 0xaf00ff, # 12
# 0xaf5f00, 0xaf5f5f, 0xaf5f87, 0xaf5faf, 0xaf5fd7, 0xaf5fff, 0xaf8700, 0xaf875f, 0xaf8787, 0xaf87af, # 13
# 0xaf87d7, 0xaf87ff, 0xafaf00, 0xafaf5f, 0xafaf87, 0xafafaf, 0xafafd7, 0xafafff, 0xafd700, 0xafd75f, # 14
# 0xafd787, 0xafd7af, 0xafd7d7, 0xafd7ff, 0xafff00, 0xafff5f, 0xafff87, 0xafffaf, 0xafffd7, 0xafffff, # 15
# 0xd70000, 0xd7005f, 0xd70087, 0xd700af, 0xd700d7, 0xd700ff, 0xd75f00, 0xd75f5f, 0xd75f87, 0xd75faf, # 16
# 0xd75fd7, 0xd75fff, 0xd78700, 0xd7875f, 0xd78787, 0xd787af, 0xd787d7, 0xd787ff, 0xd7af00, 0xd7af5f, # 17
# 0xd7af87, 0xd7afaf, 0xd7afd7, 0xd7afff, 0xd7d700, 0xd7d75f, 0xd7d787, 0xd7d7af, 0xd7d7d7, 0xd7d7ff, # 18
# 0xd7ff00, 0xd7ff5f, 0xd7ff87, 0xd7ffaf, 0xd7ffd7, 0xd7ffff, 0xff0000, 0xff005f, 0xff0087, 0xff00af, # 19
# 0xff00d7, 0xff00ff, 0xff5f00, 0xff5f5f, 0xff5f87, 0xff5faf, 0xff5fd7, 0xff5fff, 0xff8700, 0xff875f, # 20
# 0xff8787, 0xff87af, 0xff87d7, 0xff87ff, 0xffaf00, 0xffaf5f, 0xffaf87, 0xffafaf, 0xffafd7, 0xffafff, # 21
# 0xffd700, 0xffd75f, 0xffd787, 0xffd7af, 0xffd7d7, 0xffd7ff, 0xffff00, 0xffff5f, 0xffff87, 0xffffaf, # 22
# 0xffffd7, 0xffffff, 0x080808, 0x121212, 0x1c1c1c, 0x262626, 0x303030, 0x3a3a3a, 0x444444, 0x4e4e4e, # 23
# 0x585858, 0x626262, 0x6c6c6c, 0x767676, 0x808080, 0x8a8a8a, 0x949494, 0x9e9e9e, 0xa8a8a8, 0xb2b2b2, # 24
# 0xbcbcbc, 0xc6c6c6, 0xd0d0d0, 0xdadada, 0xe4e4e4, 0xeeeeee # 25
+71
View File
@@ -0,0 +1,71 @@
#!/bin/bash
if (command -v fzf &>/dev/null); then
# Shell integration
eval "$(fzf --zsh)"
# Options par défaut
FZF_DEFAULT_OPTS="\
--height 60%
--border rounded
--layout reverse
--highlight-line \
--info=inline-right \
--ansi \
"
export FZF_DEFAULT_OPTS
# Navigation vers un répertoire
FZF_ALT_C_OPTS="$(
cat <<'EOF'
--prompt '󰥨 '
--pointer
--marker ✔
EOF
)"
export FZF_ALT_C_OPTS
# Selection de fichiers
FZF_CTRL_T_OPTS="$(
cat <<'EOF'
--prompt '󰈞 '
--pointer
--marker ✔
--preview="bat --color=always --style=-header {}"
EOF
)"
export FZF_CTRL_T_OPTS
# Navigation dans l'historique
FZF_CTRL_R_OPTS="$(
cat <<'EOF'
--prompt ' '
--pointer
--marker ✔
EOF
)"
export FZF_CTRL_R_OPTS
# Theme tokyonight
FZF_DEFAULT_OPTS="${FZF_DEFAULT_OPTS} \
--color=bg+:#283457 \
--color=bg:#16161e \
--color=border:#27a1b9 \
--color=fg:#c0caf5 \
--color=gutter:#16161e \
--color=header:#ff9e64 \
--color=hl+:#2ac3de \
--color=hl:#2ac3de \
--color=info:#545c7e \
--color=marker:#ff007c \
--color=pointer:#ff007c \
--color=prompt:#2ac3de \
--color=query:#c0caf5:regular \
--color=scrollbar:#27a1b9 \
--color=separator:#ff9e64 \
--color=spinner:#ff007c \
"
export FZF_DEFAULT_OPTS
fi
+1 -1
View File
@@ -1,4 +1,4 @@
#!/bin/bash #!/usr/bin/env bash
# 1. Installer Mise s'il n'est pas présent # 1. Installer Mise s'il n'est pas présent
if ! command -v mise &>/dev/null; then if ! command -v mise &>/dev/null; then
+19
View File
@@ -0,0 +1,19 @@
#!/usr/bin/env bash
# Déclencheur automatique : ce script se réexécutera si le config.toml de mise change.
# hash: {{ include "private_dot_config/mise/config.toml.tmpl" | sha256sum }}
export PATH="${HOME}/.local/bin:$PATH"
if command -v mise &>/dev/null; then
echo "✏️ Modification de la configuration mise détectée."
echo
echo "🚀 Mise bootstrap..."
mise bootstrap --yes
echo
echo "⚡ Mise install..."
mise install --yes
else
echo "⚠️ mise n'est pas installé sur ce système. Impossible de lancer l'installation automatique des outils."
fi
+1
View File
@@ -0,0 +1 @@
{{ .chezmoi.homeDir }}/.config/vim/gvimrc
+1
View File
@@ -0,0 +1 @@
{{ .chezmoi.homeDir }}/.config/vim/vimpagerrc
+1
View File
@@ -0,0 +1 @@
{{ .chezmoi.homeDir }}/.config/vim/vimrc