Compare commits
7
Commits
dev
..
2f5d904076
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f5d904076 | ||
|
|
25889880fc | ||
|
|
7f97e5d50e | ||
|
|
c611710d37 | ||
|
|
649cfe25b3 | ||
|
|
12fad1e849 | ||
|
|
3af209a689 |
No files matched your search
+1
-13
@@ -10,8 +10,6 @@ hosts:
|
|||||||
xavier:
|
xavier:
|
||||||
toolboxes:
|
toolboxes:
|
||||||
- terminal
|
- terminal
|
||||||
- dev-git
|
|
||||||
- dev-gitea
|
|
||||||
- dev-tools
|
- dev-tools
|
||||||
- dev-languages
|
- dev-languages
|
||||||
- ai
|
- ai
|
||||||
@@ -30,11 +28,8 @@ hosts:
|
|||||||
ubuntu:
|
ubuntu:
|
||||||
toolboxes:
|
toolboxes:
|
||||||
- terminal
|
- terminal
|
||||||
- dev-git
|
|
||||||
- dev-gitea
|
|
||||||
- dev-tools
|
- dev-tools
|
||||||
- dev-languages
|
- dev-languages
|
||||||
- devops
|
|
||||||
- ai
|
- ai
|
||||||
tools:
|
tools:
|
||||||
- pipx:vit
|
- pipx:vit
|
||||||
@@ -45,13 +40,10 @@ hosts:
|
|||||||
root:
|
root:
|
||||||
toolboxes:
|
toolboxes:
|
||||||
- terminal
|
- terminal
|
||||||
- dev-git
|
|
||||||
- dev-tools
|
- dev-tools
|
||||||
xavier:
|
xavier:
|
||||||
toolboxes:
|
toolboxes:
|
||||||
- terminal
|
- terminal
|
||||||
- dev-git
|
|
||||||
- dev-gitea
|
|
||||||
- dev-tools
|
- dev-tools
|
||||||
- dev-languages
|
- dev-languages
|
||||||
- devops
|
- devops
|
||||||
@@ -59,6 +51,7 @@ hosts:
|
|||||||
tools:
|
tools:
|
||||||
- sops
|
- sops
|
||||||
- age
|
- age
|
||||||
|
- cargo:rage
|
||||||
configs: {}
|
configs: {}
|
||||||
# Termux (application de terminal pour android)
|
# Termux (application de terminal pour android)
|
||||||
termux-debian:
|
termux-debian:
|
||||||
@@ -68,14 +61,10 @@ hosts:
|
|||||||
root:
|
root:
|
||||||
toolboxes:
|
toolboxes:
|
||||||
- terminal
|
- terminal
|
||||||
- dev-git
|
|
||||||
- dev-tools
|
- dev-tools
|
||||||
xavier:
|
xavier:
|
||||||
toolboxes:
|
toolboxes:
|
||||||
- terminal
|
- terminal
|
||||||
- dev-git
|
|
||||||
- dev-github
|
|
||||||
- dev-gitea
|
|
||||||
- dev-tools
|
- dev-tools
|
||||||
termux-ubuntu:
|
termux-ubuntu:
|
||||||
packages:
|
packages:
|
||||||
@@ -88,5 +77,4 @@ hosts:
|
|||||||
xavier:
|
xavier:
|
||||||
toolboxes:
|
toolboxes:
|
||||||
- terminal
|
- terminal
|
||||||
- dev-git
|
|
||||||
- dev-tools
|
- dev-tools
|
||||||
@@ -21,17 +21,12 @@ tools:
|
|||||||
- jq
|
- jq
|
||||||
- yq
|
- yq
|
||||||
- shellcheck
|
- shellcheck
|
||||||
- delta
|
|
||||||
dev-git:
|
|
||||||
- lazygit
|
- lazygit
|
||||||
dev-github:
|
- delta
|
||||||
- gh
|
- gh
|
||||||
dev-gitlab:
|
|
||||||
- glab
|
|
||||||
dev-gitea:
|
|
||||||
- tea:
|
- tea:
|
||||||
url: "https://gitea.com/gitea/tea/releases/download/v{{ version }}/tea-{{ version }}-{{ os() }}-{{ arch(x64='amd64') }}.xz"
|
url: "https://gitea.com/gitea/tea/releases/download/v{{ version }}/tea-{{ version }}-{{ os() }}-{{ arch(x64='amd64') }}.xz"
|
||||||
version: "0.15.1"
|
version: "0.14.2"
|
||||||
dev-languages:
|
dev-languages:
|
||||||
- python
|
- python
|
||||||
- uv
|
- uv
|
||||||
@@ -59,8 +54,6 @@ tools:
|
|||||||
- claude
|
- claude
|
||||||
- gemini-cli
|
- gemini-cli
|
||||||
- codex
|
- codex
|
||||||
- copilot
|
|
||||||
- opencode
|
|
||||||
|
|
||||||
# # Password managers
|
# # Password managers
|
||||||
# # vault = "latest"
|
# # vault = "latest"
|
||||||
|
|||||||
@@ -4,12 +4,6 @@
|
|||||||
".config/bash":
|
".config/bash":
|
||||||
type: git-repo
|
type: git-repo
|
||||||
url: https://gitea.cloud.logerais.com/xavier/config-bash.git
|
url: https://gitea.cloud.logerais.com/xavier/config-bash.git
|
||||||
clone:
|
|
||||||
args:
|
|
||||||
- --recurse-submodules
|
|
||||||
pull:
|
|
||||||
args:
|
|
||||||
- --recurse-submodules
|
|
||||||
refreshPeriod: 24h # Vérifie toutes les 24h
|
refreshPeriod: 24h # Vérifie toutes les 24h
|
||||||
|
|
||||||
##### [ VIM ] #####
|
##### [ VIM ] #####
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
{{/* .chezmoitemplates/mise-toolbox-conf */}}
|
|
||||||
{{/* Expects data: (merge (dict "toolboxName" "<name>") .) */}}
|
|
||||||
{{- $toolboxName := .toolboxName -}}
|
|
||||||
{{ includeTemplate "chezmoi-managed-header" . }}
|
|
||||||
# Toolbox: {{ $toolboxName }}
|
|
||||||
|
|
||||||
[tools]
|
|
||||||
{{- $toolsList := index .tools.toolboxes $toolboxName }}
|
|
||||||
{{- range $tool := $toolsList }}
|
|
||||||
{{- 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 }}
|
|
||||||
@@ -10,12 +10,14 @@
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if $currentUser }}
|
{{- if $currentUser }}
|
||||||
{{- /* Les outils individuels (la liste 'tools:' de l'utilisateur) */}}
|
{{- /* 1. Parcourir les toolboxes associées à cet hôte */}}
|
||||||
{{- if hasKey $currentUser "tools" }}
|
{{- range $toolboxName := $currentUser.toolboxes }}
|
||||||
{{- if $currentUser.tools }}
|
{{- /* Récupérer la liste des outils pour cette toolbox dans tools.yaml */}}
|
||||||
|
{{- $toolsList := index $.tools.toolboxes $toolboxName }}
|
||||||
|
{{- if $toolsList }}
|
||||||
|
|
||||||
# Outils individuels
|
# Toolbox: {{ $toolboxName }}
|
||||||
{{- range $tool := $currentUser.tools }}
|
{{- range $tool := $toolsList }}
|
||||||
{{- /* Un outil est soit une chaîne ("nom"), soit un objet { nom: {version, ...params mise} } */}}
|
{{- /* Un outil est soit une chaîne ("nom"), soit un objet { nom: {version, ...params mise} } */}}
|
||||||
{{- if kindIs "map" $tool }}
|
{{- if kindIs "map" $tool }}
|
||||||
{{- range $toolName, $params := $tool }}
|
{{- range $toolName, $params := $tool }}
|
||||||
@@ -27,7 +29,23 @@
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- /* Les toolboxes de cet utilisateur sont générées séparément dans ~/.config/mise/conf.d/<toolbox>.toml */}}
|
|
||||||
|
{{- /* 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 }}
|
{{- else if $currentHost }}
|
||||||
# Aucun profil trouvé dans hosts.yaml pour l'utilisateur {{ $username }} sur la machine : {{ $hostname }}
|
# Aucun profil trouvé dans hosts.yaml pour l'utilisateur {{ $username }} sur la machine : {{ $hostname }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
|
|||||||
@@ -46,19 +46,6 @@ shell-integration-features = sudo
|
|||||||
gtk-titlebar-hide-when-maximized = true
|
gtk-titlebar-hide-when-maximized = true
|
||||||
maximize
|
maximize
|
||||||
|
|
||||||
# Ouvre les nouvelles fenêtres avec un répertoire de travail dans $HOME
|
|
||||||
window-inherit-working-directory = false
|
|
||||||
# Ouvre les nouveaux onglets avec un répertoire de travail dans $HOME
|
|
||||||
tab-inherit-working-directory = false
|
|
||||||
# mais les nouveaux splits dans le répertoire courant
|
|
||||||
split-inherit-working-directory = true
|
|
||||||
|
|
||||||
# Permet d'ouvrir un nouvel onglet en conservant le répertoire de travail courant
|
|
||||||
# keybind = shift+alt+t=new_tab:current
|
|
||||||
keybind = ctrl+b>n=new_window
|
|
||||||
keybind = ctrl+b>t=new_tab
|
|
||||||
keybind = ctrl+b>z=toggle_split_zoom
|
|
||||||
keybind = ctrl+b>`=toggle_quick_terminal
|
|
||||||
# Systemd and D-Bus Integration
|
# Systemd and D-Bus Integration
|
||||||
quit-after-last-window-closed = true
|
quit-after-last-window-closed = true
|
||||||
quit-after-last-window-closed-delay = 5m
|
quit-after-last-window-closed-delay = 5m
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
[core]
|
||||||
|
excludesfile = ~/.config/git/ignore
|
||||||
|
attributesfile = ~/.config/git/attributes
|
||||||
|
pager = delta
|
||||||
|
|
||||||
|
[user]
|
||||||
|
name = Xavier Logerais
|
||||||
|
email = xavier@logerais.com
|
||||||
|
|
||||||
|
[credential]
|
||||||
|
helper = cache
|
||||||
|
|
||||||
|
[credential "https://gitea.logerais.com"]
|
||||||
|
helper = cache
|
||||||
|
helper = !tea login helper
|
||||||
|
|
||||||
|
[credential "https://gitea.cloud.logerais.com"]
|
||||||
|
helper = cache
|
||||||
|
helper = !tea login helper
|
||||||
|
|
||||||
|
[init]
|
||||||
|
defaultBranch = main
|
||||||
|
|
||||||
|
[rerere]
|
||||||
|
enabled = 1
|
||||||
|
|
||||||
|
[merge]
|
||||||
|
conflictstyle = diff3
|
||||||
|
|
||||||
|
[page]
|
||||||
|
diff = delta
|
||||||
|
show = delta
|
||||||
|
log = delta
|
||||||
|
blame = delta
|
||||||
|
reflog = delta
|
||||||
|
|
||||||
|
[delta]
|
||||||
|
navigate = true
|
||||||
|
side-by-side = true
|
||||||
|
dark = true
|
||||||
|
syntax-theme = Coldark-Dark
|
||||||
|
|
||||||
|
[interactive]
|
||||||
|
diffFilter = delta --color-only
|
||||||
|
|
||||||
|
[alias]
|
||||||
|
tree = !git ls-files | tree --fromfile -C
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
{{- $hostname := output "hostname" | trim -}}
|
|
||||||
{{- $username := .chezmoi.username -}}
|
|
||||||
{{- $currentHost := index .hosts $hostname -}}
|
|
||||||
{{- $currentUser := "" -}}
|
|
||||||
{{- if $currentHost -}}
|
|
||||||
{{- if hasKey $currentHost.users $username -}}
|
|
||||||
{{- $currentUser = index $currentHost.users $username -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- $gitConfig := dict -}}
|
|
||||||
{{- if and $currentUser (hasKey $currentUser "configs") -}}
|
|
||||||
{{- if hasKey $currentUser.configs "git" -}}
|
|
||||||
{{- $gitConfig = $currentUser.configs.git -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- $gitName := "Xavier Logerais" -}}
|
|
||||||
{{- $gitEmail := "xavier@logerais.com" -}}
|
|
||||||
{{- if hasKey $gitConfig "name" -}}
|
|
||||||
{{- $gitName = $gitConfig.name -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- if hasKey $gitConfig "email" -}}
|
|
||||||
{{- $gitEmail = $gitConfig.email -}}
|
|
||||||
{{- end -}}
|
|
||||||
[core]
|
|
||||||
excludesfile = ~/.config/git/ignore
|
|
||||||
attributesfile = ~/.config/git/attributes
|
|
||||||
pager = delta
|
|
||||||
|
|
||||||
[user]
|
|
||||||
name = {{ $gitName }}
|
|
||||||
email = {{ $gitEmail }}
|
|
||||||
|
|
||||||
[credential]
|
|
||||||
helper = cache
|
|
||||||
|
|
||||||
[credential "https://gitea.logerais.com"]
|
|
||||||
helper = cache
|
|
||||||
helper = !tea login helper
|
|
||||||
|
|
||||||
[credential "https://gitea.cloud.logerais.com"]
|
|
||||||
helper = cache
|
|
||||||
helper = !tea login helper
|
|
||||||
|
|
||||||
[init]
|
|
||||||
defaultBranch = main
|
|
||||||
|
|
||||||
[rerere]
|
|
||||||
enabled = 1
|
|
||||||
|
|
||||||
[merge]
|
|
||||||
conflictstyle = diff3
|
|
||||||
|
|
||||||
[page]
|
|
||||||
diff = delta
|
|
||||||
show = delta
|
|
||||||
log = delta
|
|
||||||
blame = delta
|
|
||||||
reflog = delta
|
|
||||||
|
|
||||||
[delta]
|
|
||||||
navigate = true
|
|
||||||
side-by-side = true
|
|
||||||
dark = true
|
|
||||||
syntax-theme = Coldark-Dark
|
|
||||||
|
|
||||||
[interactive]
|
|
||||||
diffFilter = delta --color-only
|
|
||||||
|
|
||||||
[alias]
|
|
||||||
tree = !git ls-files | tree --fromfile -C
|
|
||||||
@@ -11,7 +11,7 @@ gui:
|
|||||||
- bold
|
- bold
|
||||||
nerdFontsVersion: "3"
|
nerdFontsVersion: "3"
|
||||||
git:
|
git:
|
||||||
diffRenderers:
|
pagers:
|
||||||
- colorArg: always
|
- colorArg: always
|
||||||
command: delta --paging=never
|
pager: delta --paging=never
|
||||||
parseEmoji: true
|
parseEmoji: true
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{{ includeTemplate "chezmoi-managed-header" . }}
|
{{ template "chezmoi-managed-header" . }}
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
experimental = true
|
experimental = true
|
||||||
@@ -9,7 +9,7 @@ binstall = true
|
|||||||
######################### [ Bootstrap ] #########################
|
######################### [ Bootstrap ] #########################
|
||||||
|
|
||||||
[bootstrap.packages]
|
[bootstrap.packages]
|
||||||
{{ includeTemplate "mise-bootstrap-packages" . }}
|
{{ template "mise-bootstrap-packages" . }}
|
||||||
|
|
||||||
# coreutils grep less
|
# coreutils grep less
|
||||||
# tig
|
# tig
|
||||||
@@ -35,9 +35,8 @@ chezmoi = "latest"
|
|||||||
neovim = "latest"
|
neovim = "latest"
|
||||||
tree-sitter = "latest"
|
tree-sitter = "latest"
|
||||||
|
|
||||||
# Individual tools automated with chezmoi
|
# Tools automated with chezmoi
|
||||||
# (toolboxes from .chezmoidata/tools.yaml live in ~/.config/mise/conf.d/<toolbox>.toml)
|
{{ template "mise-tools" . }}
|
||||||
{{ includeTemplate "mise-tools" . }}
|
|
||||||
|
|
||||||
# Password managers
|
# Password managers
|
||||||
# vault = "latest"
|
# vault = "latest"
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
"$schema" = 'https://starship.rs/config-schema.json'
|
"$schema" = 'https://starship.rs/config-schema.json'
|
||||||
|
|
||||||
format = """
|
format = """
|
||||||
[ ](fg:#769ff0)\
|
|
||||||
$directory\
|
$directory\
|
||||||
[](bg:#394260 fg:#769ff0)\
|
[](fg:#769ff0 bg:#394260)\
|
||||||
$git_branch\
|
$git_branch\
|
||||||
$git_commit\
|
$git_commit\
|
||||||
$git_status\
|
$git_status\
|
||||||
$git_state\
|
$git_state\
|
||||||
$mise\
|
|
||||||
$direnv\
|
$direnv\
|
||||||
|
$mise\
|
||||||
[](fg:#394260 bg:#212736)\
|
[](fg:#394260 bg:#212736)\
|
||||||
$rust\
|
$rust\
|
||||||
$golang\
|
$golang\
|
||||||
@@ -23,7 +22,18 @@ $terraform\
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
right_format = """
|
right_format = """
|
||||||
[](fg:#a3aed2)$time[](fg:#a3aed2)\
|
[](fg:#a3aed2)\
|
||||||
|
$shell\
|
||||||
|
$username\
|
||||||
|
[](fg:#394260 bg:#a3aed2)\
|
||||||
|
$os\
|
||||||
|
[](bg:#394260 fg:#a3aed2)\
|
||||||
|
$container\
|
||||||
|
$hostname\
|
||||||
|
[ ](fg:#394260)\
|
||||||
|
[](fg:#a3aed2)\
|
||||||
|
$time\
|
||||||
|
[](fg:#a3aed2)\
|
||||||
"""
|
"""
|
||||||
|
|
||||||
[hostname]
|
[hostname]
|
||||||
@@ -42,7 +52,7 @@ format = '[ $symbol $name ]($style)'
|
|||||||
[os]
|
[os]
|
||||||
disabled = false
|
disabled = false
|
||||||
style = "bg:#394260 fg:#a3aed2"
|
style = "bg:#394260 fg:#a3aed2"
|
||||||
format = "[ $symbol $name ]($style)"
|
format = "[ $symbol ]($style)"
|
||||||
|
|
||||||
[username]
|
[username]
|
||||||
show_always = true
|
show_always = true
|
||||||
@@ -52,67 +62,65 @@ format = '[ $user ]($style)'
|
|||||||
|
|
||||||
[shell]
|
[shell]
|
||||||
disabled = false
|
disabled = false
|
||||||
bash_indicator = ' bash'
|
bash_indicator = ' '
|
||||||
zsh_indicator = ' zsh'
|
zsh_indicator = ' '
|
||||||
fish_indicator = ' fish'
|
fish_indicator = ' '
|
||||||
powershell_indicator = '_ Powershell'
|
powershell_indicator = '_'
|
||||||
unknown_indicator = 'unknown shell'
|
unknown_indicator = 'unknown shell'
|
||||||
format = '[ $indicator ]($style)'
|
|
||||||
style = "bg:#a3aed2 fg:#212736"
|
style = "bg:#a3aed2 fg:#212736"
|
||||||
|
format = '[ $indicator[](fg:#394260 bg:#a3aed2)]($style)'
|
||||||
|
|
||||||
[sudo]
|
[sudo]
|
||||||
disabled = false
|
disabled = false
|
||||||
|
|
||||||
[directory]
|
[directory]
|
||||||
disabled = false
|
disabled = false
|
||||||
|
style = "fg:#e3e5e5 bg:#769ff0"
|
||||||
|
format = "[ $path ]($style)"
|
||||||
truncation_length = 5
|
truncation_length = 5
|
||||||
truncation_symbol = "…/"
|
truncation_symbol = "…/"
|
||||||
truncate_to_repo = false
|
truncate_to_repo = false
|
||||||
style = "fg:#e3e5e5 bg:#769ff0"
|
|
||||||
format = "[ $path ]($style)"
|
|
||||||
|
|
||||||
[git_branch]
|
[git_branch]
|
||||||
disabled = false
|
disabled = false
|
||||||
symbol = ""
|
symbol = ""
|
||||||
style = "fg:#769ff0 bg:#394260 bold"
|
style = "fg:#769ff0 bg:#394260"
|
||||||
format = '[ $symbol $branch ]($style)'
|
format = '[ $symbol $branch ]($style)'
|
||||||
|
|
||||||
[git_commit]
|
[git_commit]
|
||||||
disabled = false
|
disabled = false
|
||||||
only_detached = true
|
style = "fg:#769ff0 bg:#394260"
|
||||||
tag_disabled = false
|
tag_disabled = false
|
||||||
tag_symbol = ' '
|
tag_symbol = ' '
|
||||||
style = "fg:#769ff0 bg:#394260"
|
only_detached = true
|
||||||
format = '[ $hash $tag ]($style)'
|
format = '[ $hash $tag ]($style)'
|
||||||
|
|
||||||
[git_status]
|
[git_status]
|
||||||
disabled = false
|
disabled = false
|
||||||
|
style = "fg:#769ff0 bg:#394260"
|
||||||
ahead = '⇡${count}'
|
ahead = '⇡${count}'
|
||||||
behind = '⇣${count}'
|
behind = '⇣${count}'
|
||||||
diverged = '[⇕⇡${ahead_count}⇣${behind_count}](fg:#FFA500 bg:#394260)'
|
diverged = '[⇕⇡${ahead_count}⇣${behind_count}](fg:#FFA500 bg:#394260)'
|
||||||
up_to_date = ''
|
up_to_date = ''
|
||||||
modified = '[$count ](fg:#FFFF00 bg:#394260)'
|
modified = '[$count ](fg:#FFFF00 bg:#394260)'
|
||||||
staged = '[$count ](fg:#00D000 bg:#394260)'
|
staged = '[$count ](fg:#00D000 bg:#394260)'
|
||||||
deleted = '[$count ](fg:#FF0000 bg:#394260)'
|
deleted = '[$count ](fg:#FF0000 bg:#394260)'
|
||||||
renamed = '[$count ](fg:#87CEEB bg:#394260)'
|
renamed = '[$count ](fg:#87CEEB bg:#394260)'
|
||||||
untracked = '[$count ](fg:#CCCCCC bg:#394260)'
|
untracked = '[$count ](fg:#CCCCCC bg:#394260)'
|
||||||
conflicted = '[$count ](fg:#FF0000 bg:#394260)'
|
conflicted = '[$count ](fg:#FF0000 bg:#394260)'
|
||||||
stashed = '[$count ](fg:#FFA500 bg:#394260)' #
|
stashed = '[$count ](fg:#FFA500 bg:#394260)' #
|
||||||
style = "fg:#769ff0 bg:#394260"
|
|
||||||
format = '[$all_status$ahead_behind ]($style)'
|
format = '[$all_status$ahead_behind ]($style)'
|
||||||
|
|
||||||
[git_state]
|
[git_state]
|
||||||
disabled = false
|
disabled = false
|
||||||
style = "fg:#769ff0 bg:#394260"
|
style = "fg:#769ff0 bg:#394260"
|
||||||
format = '[ $state ($progress_current/$progress_total)]($style)'
|
format = ' [$state( $progress_current/$progress_total)]($style) '
|
||||||
|
|
||||||
[direnv]
|
[direnv]
|
||||||
disabled = false
|
disabled = false
|
||||||
|
|
||||||
[mise]
|
[mise]
|
||||||
disabled = true
|
disabled = true
|
||||||
style = "bg:#212736 fg:white"
|
|
||||||
format = '[$symbol$health]($style)'
|
|
||||||
|
|
||||||
[nodejs]
|
[nodejs]
|
||||||
symbol = ""
|
symbol = ""
|
||||||
@@ -153,7 +161,7 @@ format = '[[](fg:#212736 bg:#ffffff) $symbol $context [](fg:#ffffff bg:#21
|
|||||||
|
|
||||||
[kubernetes]
|
[kubernetes]
|
||||||
disabled = false
|
disabled = false
|
||||||
symbol = ""
|
symbol = " "
|
||||||
style = "bg:#316ce6 fg:#a3aed2"
|
style = "bg:#316ce6 fg:#a3aed2"
|
||||||
format = '[[](fg:#212736 bg:#316ce6) $symbol $context (\($namespace\))[](fg:#316ce6 bg:#212736)]($style)'
|
format = '[[](fg:#212736 bg:#316ce6) $symbol $context (\($namespace\))[](fg:#316ce6 bg:#212736)]($style)'
|
||||||
|
|
||||||
@@ -165,14 +173,16 @@ format = '[[](fg:#212736 bg:#1b1028) [$symbol](fg:#7b42bc bg:#1b1028) $worksp
|
|||||||
|
|
||||||
[time]
|
[time]
|
||||||
disabled = false
|
disabled = false
|
||||||
time_format = '%T %A %e %B %Y'
|
|
||||||
style = "fg:#212736 bg:#a3aed2"
|
style = "fg:#212736 bg:#a3aed2"
|
||||||
format = '[ $time ]($style)'
|
format = '[ $time ]($style)'
|
||||||
|
time_format = '%T %A %e %B %Y'
|
||||||
|
# format = '[[ $time ](fg:#a0a9cb bg:#1d2230)]($style)'
|
||||||
|
|
||||||
[character]
|
[character]
|
||||||
success_symbol = '[[](fg:#ddffdd) [](fg:#ddffdd)](bg:#ddffdd fg:#00af5f) '
|
# success_symbol = '[[](fg:#ddffdd) [](fg:#ddffdd)](bg:#ddffdd fg:#00af5f) '
|
||||||
error_symbol = '[[](fg:#ffddff) [](fg:#ffddff)](bg:#ffddff fg:#f44336) '
|
# error_symbol = '[[](fg:#ffddff) [](fg:#ffddff)](bg:#ffddff fg:#f44336) '
|
||||||
vimcmd_symbol = '[[](fg:#007f00) ViM mode [](fg:#007f00)](bg:#007f00) '
|
success_symbol = '[ [](fg:#ddffdd)](bg:#ddffdd fg:#00af5f) '
|
||||||
|
error_symbol = '[ [](fg:#ffddff)](bg:#ffddff fg:#f44336) '
|
||||||
|
|
||||||
[os.symbols]
|
[os.symbols]
|
||||||
Windows = ""
|
Windows = ""
|
||||||
|
|||||||
@@ -25,10 +25,12 @@ $docker_context\
|
|||||||
$kubernetes\
|
$kubernetes\
|
||||||
$terraform\
|
$terraform\
|
||||||
[](fg:#212736)\
|
[](fg:#212736)\
|
||||||
\n$character"""
|
\n$time\
|
||||||
|
$character"""
|
||||||
|
|
||||||
right_format = """
|
right_format = """
|
||||||
[](fg:#a3aed2)$time[](fg:#a3aed2)\
|
[](fg:#212736 bg:#1d2230)\
|
||||||
|
\n$time\
|
||||||
"""
|
"""
|
||||||
|
|
||||||
[hostname]
|
[hostname]
|
||||||
@@ -163,12 +165,13 @@ format = '[[](fg:#212736 bg:#1b1028) [$symbol](fg:#7b42bc bg:#1b1028) $worksp
|
|||||||
[time]
|
[time]
|
||||||
disabled = false
|
disabled = false
|
||||||
time_format = "%R" # Hour:Minute Format
|
time_format = "%R" # Hour:Minute Format
|
||||||
style = "fg:#212736 bg:#a3aed2"
|
style = "fg:#a3aed2"
|
||||||
format = '[ $time ]($style)'
|
format = '[ $time ]($style)'
|
||||||
|
# format = '[[ $time ](fg:#a0a9cb bg:#1d2230)]($style)'
|
||||||
|
|
||||||
[character]
|
[character]
|
||||||
success_symbol = '[[](fg:#ddffdd) [](fg:#ddffdd)](bg:#ddffdd fg:#00af5f) '
|
success_symbol = '[ ❯](bold green) '
|
||||||
error_symbol = '[[](fg:#ffddff) [](fg:#ffddff)](bg:#ffddff fg:#f44336) '
|
error_symbol = '[ ❯](bold red) '
|
||||||
|
|
||||||
[os.symbols]
|
[os.symbols]
|
||||||
Windows = ""
|
Windows = ""
|
||||||
|
|||||||
@@ -1,215 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -u
|
|
||||||
|
|
||||||
FAILED=0
|
|
||||||
|
|
||||||
STATUS_APT="not_detected"
|
|
||||||
STATUS_BREW="not_detected"
|
|
||||||
STATUS_CHEZMOI="not_detected"
|
|
||||||
STATUS_MISE="not_detected"
|
|
||||||
STATUS_NEOVIM="not_detected"
|
|
||||||
|
|
||||||
# Couleurs
|
|
||||||
BLUE='\e[00;34;49m'
|
|
||||||
GRAY='\e[02;37;49m'
|
|
||||||
RESET='\e[39;49;00m'
|
|
||||||
|
|
||||||
# Affiche un message stylisé sur la sortie standard
|
|
||||||
echo_bold() {
|
|
||||||
printf '\e[1m%s\e[0m\n' "$*"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Affiche un message informatif stylisé sur la sortie d'erreur
|
|
||||||
echo_info() {
|
|
||||||
printf >&2 "\n${BLUE} %s${RESET}\n\n" "$*"
|
|
||||||
}
|
|
||||||
|
|
||||||
echo_success() {
|
|
||||||
printf >&2 "\e[00;01;32;49m %s${RESET}\n" "$*"
|
|
||||||
}
|
|
||||||
|
|
||||||
echo_failed() {
|
|
||||||
printf >&2 "\e[00;01;31;49m✖ %s${RESET}\n" "$*"
|
|
||||||
}
|
|
||||||
|
|
||||||
echo_skipped() {
|
|
||||||
printf >&2 "${GRAY} %s${RESET}\n" "$*"
|
|
||||||
}
|
|
||||||
|
|
||||||
run() {
|
|
||||||
local section="$1"
|
|
||||||
local name="$2"
|
|
||||||
shift 2
|
|
||||||
|
|
||||||
local start=$SECONDS
|
|
||||||
|
|
||||||
printf '⏳ [%s] %s...' "$section" "$name"
|
|
||||||
|
|
||||||
if "$@"; then
|
|
||||||
printf '\r\033[K'
|
|
||||||
echo_success "[$section] $name ($((SECONDS - start))s)"
|
|
||||||
else
|
|
||||||
printf '\r\033[K'
|
|
||||||
echo_failed "[$section] $name ($((SECONDS - start))s)"
|
|
||||||
|
|
||||||
# Marque la section comme échouée
|
|
||||||
eval "STATUS_${section^^}=failed"
|
|
||||||
|
|
||||||
FAILED=1
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo_bold "🚀 Mise à jour quotidienne"
|
|
||||||
echo
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
# Debian / Ubuntu
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
|
|
||||||
if [[ -f /etc/os-release ]]; then
|
|
||||||
. /etc/os-release
|
|
||||||
|
|
||||||
if [[ "$ID" == "debian" || "$ID" == "ubuntu" ]]; then
|
|
||||||
STATUS_APT="success"
|
|
||||||
|
|
||||||
if ((EUID == 0)); then
|
|
||||||
APT=(apt)
|
|
||||||
else
|
|
||||||
APT=(sudo apt)
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo_info "APT"
|
|
||||||
|
|
||||||
run APT "Mise à jour des paquets" \
|
|
||||||
"${APT[@]}" update || true
|
|
||||||
|
|
||||||
run APT "Mise à niveau des paquets" \
|
|
||||||
"${APT[@]}" upgrade -y || true
|
|
||||||
|
|
||||||
run APT "Suppression des paquets inutiles" \
|
|
||||||
"${APT[@]}" autoremove -y || true
|
|
||||||
|
|
||||||
run APT "Nettoyage du cache" \
|
|
||||||
"${APT[@]}" autoclean || true
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
# Homebrew
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
|
|
||||||
if command -v brew >/dev/null 2>&1; then
|
|
||||||
STATUS_BREW="success"
|
|
||||||
|
|
||||||
echo_info "Brew"
|
|
||||||
|
|
||||||
run BREW "Mise à jour" \
|
|
||||||
brew update || true
|
|
||||||
|
|
||||||
run BREW "Mise à niveau des paquets" \
|
|
||||||
brew upgrade || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
# chezmoi
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
|
|
||||||
if command -v chezmoi >/dev/null 2>&1; then
|
|
||||||
STATUS_CHEZMOI="success"
|
|
||||||
|
|
||||||
echo_info "chezmoi"
|
|
||||||
|
|
||||||
run CHEZMOI "Récupération de la configuration" \
|
|
||||||
chezmoi git pull || true
|
|
||||||
|
|
||||||
run CHEZMOI "Application de la configuration" \
|
|
||||||
chezmoi apply -v || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
# mise
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
|
|
||||||
if command -v mise >/dev/null 2>&1; then
|
|
||||||
STATUS_MISE="success"
|
|
||||||
|
|
||||||
echo_info "mise"
|
|
||||||
|
|
||||||
run MISE "Mise à jour de mise" \
|
|
||||||
mise self-update -y || true
|
|
||||||
|
|
||||||
run MISE "Mise à jour des outils" \
|
|
||||||
mise up || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
# Neovim / AstroNvim
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
|
|
||||||
if command -v nvim >/dev/null 2>&1; then
|
|
||||||
STATUS_NEOVIM="success"
|
|
||||||
|
|
||||||
echo_info "Neovim / AstroNvim"
|
|
||||||
|
|
||||||
run NEOVIM "Mise à jour d'AstroNvim" \
|
|
||||||
nvim --headless \
|
|
||||||
-c 'autocmd User AstroUpdateCompleted quitall' \
|
|
||||||
-c 'AstroUpdate' \
|
|
||||||
2>&1 || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
# Récapitulatif
|
|
||||||
# ----------------------------------------------------------------------
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo_info "Récapitulatif"
|
|
||||||
echo
|
|
||||||
|
|
||||||
echo -n " ► "
|
|
||||||
case "$STATUS_APT" in
|
|
||||||
success) echo_success "APT : réussi" ;;
|
|
||||||
failed) echo_failed "APT : échoué" ;;
|
|
||||||
not_detected) echo_skipped "APT : non détecté" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo -n " ► "
|
|
||||||
case "$STATUS_BREW" in
|
|
||||||
success) echo_success "Brew : réussi" ;;
|
|
||||||
failed) echo_failed "Brew : échoué" ;;
|
|
||||||
not_detected) echo_skipped "Brew : non détecté" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo -n " ► "
|
|
||||||
case "$STATUS_CHEZMOI" in
|
|
||||||
success) echo_success "chezmoi : réussi" ;;
|
|
||||||
failed) echo_failed "chezmoi : échoué" ;;
|
|
||||||
not_detected) echo_skipped "chezmoi : non détecté" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo -n " ► "
|
|
||||||
case "$STATUS_MISE" in
|
|
||||||
success) echo_success "mise : réussi" ;;
|
|
||||||
failed) echo_failed "mise : échoué" ;;
|
|
||||||
not_detected) echo_skipped "mise : non détecté" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo -n " ► "
|
|
||||||
case "$STATUS_NEOVIM" in
|
|
||||||
success) echo_success "Neovim : réussi" ;;
|
|
||||||
failed) echo_failed "Neovim : échoué" ;;
|
|
||||||
not_detected) echo_skipped "Neovim : non détecté" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo
|
|
||||||
|
|
||||||
if ((FAILED)); then
|
|
||||||
echo_failed "Mise à jour terminée avec des erreurs"
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo_success "Toutes les mises à jour sont terminées"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
@@ -15,7 +15,7 @@ if command -v mise &>/dev/null; then
|
|||||||
mise bootstrap --yes
|
mise bootstrap --yes
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 3. Installer tous les outils déclarés dans ~/.config/mise/config.toml et ~/.config/mise/conf.d/*.toml
|
# 3. Installer tous les outils déclarés dans ~/.config/mise/config.toml
|
||||||
if command -v mise &>/dev/null; then
|
if command -v mise &>/dev/null; then
|
||||||
echo "⚡ Installation des outils via Mise (dont chezmoi si désiré)..."
|
echo "⚡ Installation des outils via Mise (dont chezmoi si désiré)..."
|
||||||
mise install --yes
|
mise install --yes
|
||||||
|
|||||||
@@ -1,59 +1,12 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Déclencheur automatique : ce script régénère les toolboxes mise
|
# Déclencheur automatique : ce script se réexécutera si le config.toml de mise change.
|
||||||
# (~/.config/mise/conf.d/<toolbox>.toml) à partir de .chezmoidata/tools.yaml
|
# hash: {{ include "private_dot_config/mise/config.toml.tmpl" | sha256sum }}
|
||||||
# et .chezmoidata/hosts.yaml, puis (ré)installe les outils.
|
|
||||||
# Il se réexécute automatiquement dès que ces données changent, car la boucle
|
|
||||||
# ci-dessous fait partie du contenu templaté (donc du hash) de ce script.
|
|
||||||
# hash config.toml: {{ includeTemplate "private_dot_config/mise/config.toml.tmpl" . | sha256sum }}
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
export PATH="${HOME}/.local/bin:$PATH"
|
export PATH="${HOME}/.local/bin:$PATH"
|
||||||
MISE_CONF_D="${HOME}/.config/mise/conf.d"
|
|
||||||
mkdir -p "$MISE_CONF_D"
|
|
||||||
|
|
||||||
{{- $hostname := output "hostname" | trim -}}
|
|
||||||
{{- $username := .chezmoi.username -}}
|
|
||||||
{{- $currentHost := index .hosts $hostname -}}
|
|
||||||
{{- $currentUser := "" -}}
|
|
||||||
{{- if $currentHost -}}
|
|
||||||
{{- if hasKey $currentHost.users $username -}}
|
|
||||||
{{- $currentUser = index $currentHost.users $username -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
echo "✏️ Génération des toolboxes mise pour {{ $username }}@{{ $hostname }}..."
|
|
||||||
|
|
||||||
declare -A active_toolboxes=(
|
|
||||||
{{- if $currentUser }}
|
|
||||||
{{- range $toolboxName := $currentUser.toolboxes }}
|
|
||||||
["{{ $toolboxName }}"]=1
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
)
|
|
||||||
|
|
||||||
# Suppression des toolboxes qui ne sont plus assignées à cet hôte/utilisateur
|
|
||||||
for f in "$MISE_CONF_D"/*.toml; do
|
|
||||||
[ -e "$f" ] || continue
|
|
||||||
name="$(basename "$f" .toml)"
|
|
||||||
if [ -z "${active_toolboxes[$name]:-}" ]; then
|
|
||||||
echo "🗑️ Toolbox obsolète supprimée : $name"
|
|
||||||
rm -f "$f"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
{{ if $currentUser }}
|
|
||||||
{{- range $toolboxName := $currentUser.toolboxes }}
|
|
||||||
{{- $toolsList := index $.tools.toolboxes $toolboxName }}
|
|
||||||
{{- if $toolsList }}
|
|
||||||
echo " → {{ $toolboxName }}.toml"
|
|
||||||
cat > "$MISE_CONF_D/{{ $toolboxName }}.toml" <<'MISE_TOOLBOX_EOF'
|
|
||||||
{{ includeTemplate "mise-toolbox-conf" (merge (dict "toolboxName" $toolboxName) $) }}
|
|
||||||
MISE_TOOLBOX_EOF
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
if command -v mise &>/dev/null; then
|
if command -v mise &>/dev/null; then
|
||||||
|
echo "✏️ Modification de la configuration mise détectée."
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "🚀 Mise bootstrap..."
|
echo "🚀 Mise bootstrap..."
|
||||||
mise bootstrap --yes
|
mise bootstrap --yes
|
||||||
|
|||||||
Reference in new issue
Block a user