Initial commit — violet-chaton ricing setup

Environnement terminal complet aux couleurs violet-chaton pour Pop!_OS / Ubuntu avec COSMIC Desktop.
Inclut scripts d'installation, configs shell, thèmes et support COSMIC/Vivaldi/Vesktop.
This commit is contained in:
Tetardtek
2026-02-21 20:27:14 +01:00
commit ee455870f5
80 changed files with 7096 additions and 0 deletions

376
INSTALL/configs/atuin.toml Normal file
View File

@@ -0,0 +1,376 @@
## ── violet-chaton config ──────────────────────────────────────────────────────
dialect = "uk" # format de date européen
timezone = "local"
search_mode = "fuzzy" # recherche floue comme fzf
filter_mode = "global" # cherche dans tout l'historique
style = "full" # interface complète
inline_height = 40 # occupe 40% du terminal
invert = true # barre de recherche en haut
show_preview = true # aperçu de la commande sélectionnée
enter_accept = true # Entrée accepte directement
[theme]
name = "violet-chaton"
## ── fin config violet-chaton ──────────────────────────────────────────────────
## Base directory for Atuin data files (databases, keys, session, etc.)
## All data file paths default to being relative to this directory.
## linux/mac: ~/.local/share/atuin (or XDG_DATA_HOME/atuin)
## windows: %USERPROFILE%/.local/share/atuin
# data_dir = "~/.local/share/atuin"
## where to store your database, default is your system data directory
## linux/mac: ~/.local/share/atuin/history.db
## windows: %USERPROFILE%/.local/share/atuin/history.db
# db_path = "~/.history.db"
## where to store your encryption key, default is your system data directory
## linux/mac: ~/.local/share/atuin/key
## windows: %USERPROFILE%/.local/share/atuin/key
# key_path = "~/.key"
## where to store your auth session token, default is your system data directory
## linux/mac: ~/.local/share/atuin/session
## windows: %USERPROFILE%/.local/share/atuin/session
# session_path = "~/.session"
## date format used, either "us" or "uk"
# dialect = "us"
## default timezone to use when displaying time
## either "l", "local" to use the system's current local timezone, or an offset
## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]"
## for example: "+9", "-05", "+03:30", "-01:23:45", etc.
# timezone = "local"
## enable or disable automatic sync
# auto_sync = true
## enable or disable automatic update checks
# update_check = true
## address of the sync server
# sync_address = "https://api.atuin.sh"
## how often to sync history. note that this is only triggered when a command
## is ran, so sync intervals may well be longer
## set it to 0 to sync after every command
# sync_frequency = "10m"
## which search mode to use
## possible values: prefix, fulltext, fuzzy, skim
# search_mode = "fuzzy"
## which filter mode to use by default
## possible values: "global", "host", "session", "session-preload", "directory", "workspace"
## consider using search.filters to customize the enablement and order of filter modes
# filter_mode = "global"
## With workspace filtering enabled, Atuin will filter for commands executed
## in any directory within a git repository tree (default: false).
##
## To use workspace mode by default when available, set this to true and
## set filter_mode to "workspace" or leave it unspecified and
## set search.filters to include "workspace" before other filter modes.
# workspaces = false
## which filter mode to use when atuin is invoked from a shell up-key binding
## the accepted values are identical to those of "filter_mode"
## leave unspecified to use same mode set in "filter_mode"
# filter_mode_shell_up_key_binding = "global"
## which search mode to use when atuin is invoked from a shell up-key binding
## the accepted values are identical to those of "search_mode"
## leave unspecified to use same mode set in "search_mode"
# search_mode_shell_up_key_binding = "fuzzy"
## which style to use
## possible values: auto, full, compact
# style = "auto"
## the maximum number of lines the interface should take up
## set it to 0 to always go full screen
# inline_height = 0
## the maximum number of lines the interface should take up
## when atuin is invoked from a shell up-key binding
## the accepted values are identical to those of "inline_height"
# inline_height_shell_up_key_binding = 0
## Invert the UI - put the search bar at the top , Default to `false`
# invert = false
## enable or disable showing a preview of the selected command
## useful when the command is longer than the terminal width and is cut off
# show_preview = true
## what to do when the escape key is pressed when searching
## possible values: return-original, return-query
# exit_mode = "return-original"
## possible values: emacs, subl
# word_jump_mode = "emacs"
## characters that count as a part of a word
# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
## number of context lines to show when scrolling by pages
# scroll_context_lines = 1
## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts
## alt-0 .. alt-9
# ctrl_n_shortcuts = false
## Show numeric shortcuts (1..9) beside list items in the TUI
## set to false to hide the moving numbers if you find them distracting
# show_numeric_shortcuts = true
## default history list format - can also be specified with the --format arg
# history_format = "{time}\t{command}\t{duration}"
## prevent commands matching any of these regexes from being written to history.
## Note that these regular expressions are unanchored, i.e. if they don't start
## with ^ or end with $, they'll match anywhere in the command.
## For details on the supported regular expression syntax, see
## https://docs.rs/regex/latest/regex/#syntax
# history_filter = [
# "^secret-cmd",
# "^innocuous-cmd .*--secret=.+",
# ]
## prevent commands run with cwd matching any of these regexes from being written
## to history. Note that these regular expressions are unanchored, i.e. if they don't
## start with ^ or end with $, they'll match anywhere in CWD.
## For details on the supported regular expression syntax, see
## https://docs.rs/regex/latest/regex/#syntax
# cwd_filter = [
# "^/very/secret/area",
# ]
## Configure the maximum height of the preview to show.
## Useful when you have long scripts in your history that you want to distinguish
## by more than the first few lines.
# max_preview_height = 4
## Configure whether or not to show the help row, which includes the current Atuin
## version (and whether an update is available), a keymap hint, and the total
## amount of commands in your history.
# show_help = true
## Configure whether or not to show tabs for search and inspect
# show_tabs = true
## Configure whether or not the tabs row may be auto-hidden, which includes the current Atuin
## tab, such as Search or Inspector, and other tabs you may wish to see. This will
## only be hidden if there are fewer than this count of lines available, and does not affect the use
## of keyboard shortcuts to switch tab. 0 to never auto-hide, default is 8 (lines).
## This is ignored except in `compact` mode.
# auto_hide_height = 8
## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include
## 1. AWS key id
## 2. Github pat (old and new)
## 3. Slack oauth tokens (bot, user)
## 4. Slack webhooks
## 5. Stripe live/test keys
# secrets_filter = true
## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command,
## whereas tab will put the command in the prompt for editing.
## If set to false, both enter and tab will place the command in the prompt for editing.
## This applies for new installs. Old installs will keep the old behaviour unless configured otherwise.
enter_accept = true
## Defaults to false. If enabled, when triggered after &&, || or |, Atuin will complete commands to chain rather than replace the current line.
# command_chaining = false
## Defaults to "emacs". This specifies the keymap on the startup of `atuin
## search`. If this is set to "auto", the startup keymap mode in the Atuin
## search is automatically selected based on the shell's keymap where the
## keybinding is defined. If this is set to "emacs", "vim-insert", or
## "vim-normal", the startup keymap mode in the Atuin search is forced to be
## the specified one.
# keymap_mode = "auto"
## Cursor style in each keymap mode. If specified, the cursor style is changed
## in entering the cursor shape. Available values are "default" and
## "{blink,steady}-{block,underline,bar}".
# keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" }
# network_connect_timeout = 5
# network_timeout = 5
## Timeout (in seconds) for acquiring a local database connection (sqlite)
# local_timeout = 5
## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc.
## Alternatively, set env NO_MOTION=true
# prefers_reduced_motion = false
[stats]
## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl
# common_subcommands = [
# "apt",
# "cargo",
# "composer",
# "dnf",
# "docker",
# "dotnet",
# "git",
# "go",
# "ip",
# "jj",
# "kubectl",
# "nix",
# "nmcli",
# "npm",
# "pecl",
# "pnpm",
# "podman",
# "port",
# "systemctl",
# "tmux",
# "yarn",
# ]
## Set commands that should be totally stripped and ignored from stats
# common_prefix = ["sudo"]
## Set commands that will be completely ignored from stats
# ignored_commands = [
# "cd",
# "ls",
# "vi"
# ]
[keys]
# Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry.
# scroll_exits = true
# Defaults to true. The left arrow key will exit the TUI when scrolling before the first character
# exit_past_line_start = true
# Defaults to true. The right arrow key performs the same functionality as Tab and copies the selected line to the command line to be modified.
# accept_past_line_end = true
# Defaults to false. The left arrow key performs the same functionality as Tab and copies the selected line to the command line to be modified.
# accept_past_line_start = false
# Defaults to false. The backspace key performs the same functionality as Tab and copies the selected line to the command line to be modified when at the start of the line.
# accept_with_backspace = false
[sync]
# Enable sync v2 by default
# This ensures that sync v2 is enabled for new installs only
# In a later release it will become the default across the board
records = true
[preview]
## which preview strategy to use to calculate the preview height (respects max_preview_height).
## possible values: auto, static
## auto: length of the selected command.
## static: length of the longest command stored in the history.
## fixed: use max_preview_height as fixed height.
# strategy = "auto"
[daemon]
## Enables using the daemon to sync. Requires the daemon to be running in the background. Start it with `atuin daemon`
# enabled = false
## How often the daemon should sync in seconds
# sync_frequency = 300
## The path to the unix socket used by the daemon (on unix systems)
## linux/mac: ~/.local/share/atuin/atuin.sock
## windows: Not Supported
# socket_path = "~/.local/share/atuin/atuin.sock"
## Use systemd socket activation rather than opening the given path (the path must still be correct for the client)
## linux: false
## mac/windows: Not Supported
# systemd_socket = false
## The port that should be used for TCP on non unix systems
# tcp_port = 8889
# [theme]
## Color theme to use for rendering in the terminal.
## There are some built-in themes, including the base theme ("default"),
## "autumn" and "marine". You can add your own themes to the "./themes" subdirectory of your
## Atuin config (or ATUIN_THEME_DIR, if provided) as TOML files whose keys should be one or
## more of AlertInfo, AlertWarn, AlertError, Annotation, Base, Guidance, Important, and
## the string values as lowercase entries from this list:
## https://ogeon.github.io/docs/palette/master/palette/named/index.html
## If you provide a custom theme file, it should be called "NAME.toml" and the theme below
## should be the stem, i.e. `theme = "NAME"` for your chosen NAME.
# name = "autumn"
## Whether the theme manager should output normal or extra information to help fix themes.
## Boolean, true or false. If unset, left up to the theme manager.
# debug = true
[search]
## The list of enabled filter modes, in order of priority.
## The "workspace" mode is skipped when not in a workspace or workspaces = false.
## Default filter mode can be overridden with the filter_mode setting.
# filters = [ "global", "host", "session", "session-preload", "workspace", "directory" ]
[tmux]
## Enable using atuin with tmux popup (requires tmux >= 3.2)
## When enabled and running inside tmux, Atuin will use a popup window for interactive search.
## Set to false to disable the popup.
## This can also be controlled with the ATUIN_TMUX_POPUP environment variable.
## Note: The tmux popup is currently supported in zsh, bash, and fish shells. This currently doesn't work with iTerm native tmux integration.
# enabled = false
## Width of the tmux popup window
## Can be a percentage, or integer (e.g. "100" means 100 characters wide)
# width = "80%"
## Height of the tmux popup window
## Can be a percentage, or integer (e.g. "100" means 100 lines tall)
# height = "60%"
[ui]
columns = ["exit", "duration", "time", "command"]
## Columns to display in the interactive search, from left to right.
## The selection indicator (" > ") is always shown first implicitly.
##
## Each column can be specified as a simple string (uses default width)
## or as an object with type, width, and expand:
## { type = "directory", width = 30, expand = true }
##
## Available column types (with default widths):
## duration (5) - Command execution duration (e.g., "123ms")
## time (8) - Relative time since execution (e.g., "59m ago")
## datetime (16) - Absolute timestamp (e.g., "2025-01-22 14:35")
## directory (20) - Working directory (truncated if too long)
## host (15) - Hostname where command was run
## user (10) - Username
## exit (3) - Exit code (colored by success/failure)
## command (*) - The command itself (expands by default)
##
## The "expand" option (default: true for command, false for others) makes a
## column fill remaining space. Only one column should have expand = true.
##
## Default:
# columns = ["duration", "time", "command"]
##
## Examples:
##
## Minimal - more space for commands:
# columns = ["duration", "command"]
##
## With wider directory column:
# columns = ["duration", { type = "directory", width = 30 }, "command"]
##
## Show host for multi-machine sync users:
# columns = ["duration", "time", "host", "command"]
##
## Show exit codes prominently:
# columns = ["exit", "duration", "command"]
##
## Make directory expand instead of command:
# columns = ["duration", "time", { type = "directory", expand = true }, { type = "command", expand = false }]

13
INSTALL/configs/bashrc Normal file
View File

@@ -0,0 +1,13 @@
# --- ensure VS Code flatpak / COSMIC Terminal sees host binaries ---------------
# Some tools live in /usr/local/bin on the host; prepend real locations before
# any commands that rely on them (starship, fastfetch, chafa, eza, ...).
export PATH="/usr/local/bin:/usr/bin:$PATH"
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# Lance zsh automatiquement (COSMIC Terminal ignore /etc/passwd)
exec zsh

8
INSTALL/configs/bat.conf Normal file
View File

@@ -0,0 +1,8 @@
# Thème
--theme="violet-chaton"
# Style : numéros de ligne + en-tête de fichier, sans la grille
--style="numbers,header"
# Toujours afficher les couleurs même en pipe
--color=always

245
INSTALL/configs/btop.conf Normal file
View File

@@ -0,0 +1,245 @@
#? Config file for btop v. 1.3.0
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
color_theme = "violet-chaton"
#* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = True
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = True
#* Set to true to force tty mode regardless if a real tty has been detected or not.
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
force_tty = False
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
#* Use whitespace " " as separator between different presets.
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = False
#* Rounded corners on boxes, is ignored if TTY mode is ON.
rounded_corners = True
#* Default symbols to use for graph creation, "braille", "block" or "tty".
#* "braille" offers the highest resolution but might not be included in all fonts.
#* "block" has half the resolution of braille but uses more common characters.
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
graph_symbol = "braille"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_cpu = "default"
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
graph_symbol_gpu = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_mem = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_net = "default"
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
shown_boxes = "cpu mem net proc"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 2000
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "name"
#* Reverse sorting order, True or False.
proc_reversed = False
#* Show processes as a tree.
proc_tree = False
#* Use the cpu graph colors in the process list.
proc_colors = True
#* Use a darkening gradient in the process list.
proc_gradient = True
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core = False
#* Show process memory as bytes instead of percent.
proc_mem_bytes = True
#* Show cpu graph for each process.
proc_cpu_graphs = True
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
proc_info_smaps = False
#* Show proc box on left side of screen instead of right.
proc_left = False
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = False
#* In tree-view, always accumulate child process resources in the parent process.
proc_aggregate = False
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_upper = "Auto"
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_lower = "Auto"
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
show_gpu_info = "Auto"
#* Toggles if the lower CPU graph should be inverted.
cpu_invert_lower = True
#* Set to True to completely disable the lower CPU graph.
cpu_single_graph = False
#* Show cpu box at bottom of screen instead of top.
cpu_bottom = False
#* Shows the system uptime in the CPU box.
show_uptime = True
#* Show cpu temperature.
check_temp = True
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
cpu_sensor = "Auto"
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
show_coretemp = True
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
#* Example: "4:0 5:1 6:3"
cpu_core_map = ""
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
temp_scale = "celsius"
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
base_10_sizes = False
#* Show CPU frequency.
show_cpu_freq = True
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
clock_format = "%X"
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
background_update = True
#* Custom cpu model name, empty string to disable.
custom_cpu_name = ""
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
disks_filter = ""
#* Show graphs instead of meters for memory values.
mem_graphs = True
#* Show mem box below net box instead of above.
mem_below_net = False
#* Count ZFS ARC in cached and available memory.
zfs_arc_cached = True
#* If swap memory should be shown in memory box.
show_swap = True
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
swap_disk = True
#* If mem box should be split to also show disks info.
show_disks = True
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True
#* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab = True
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
zfs_hide_datasets = False
#* Set to true to show available disk space for privileged users.
disk_free_priv = False
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
show_io_stat = True
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = False
#* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = False
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
#* Example: "/mnt/media:100 /:20 /boot:1".
io_graph_speeds = ""
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
net_download = 100
net_upload = 100
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto = True
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
net_sync = True
#* Starts with the Network Interface specified here.
net_iface = ""
#* Show battery stats in top right if battery is present.
show_battery = True
#* Which battery to use if multiple are present. "Auto" for auto detection.
selected_battery = "Auto"
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
log_level = "WARNING"
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
nvml_measure_pcie_speeds = True
#* Horizontally mirror the GPU graph.
gpu_mirror_graph = True
#* Custom gpu0 model name, empty string to disable.
custom_gpu_name0 = ""
#* Custom gpu1 model name, empty string to disable.
custom_gpu_name1 = ""
#* Custom gpu2 model name, empty string to disable.
custom_gpu_name2 = ""
#* Custom gpu3 model name, empty string to disable.
custom_gpu_name3 = ""
#* Custom gpu4 model name, empty string to disable.
custom_gpu_name4 = ""
#* Custom gpu5 model name, empty string to disable.
custom_gpu_name5 = ""

View File

@@ -0,0 +1,61 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"type": "none"
},
"display": {
"separator": " ➜ ",
"color": {
"keys": "magenta",
"title": "cyan"
}
},
"modules": [
"title",
"separator",
{"type": "os", "key": "󰣚 Système ", "keyColor": "magenta"},
{"type": "kernel", "key": " Kernel ", "keyColor": "magenta"},
{"type": "shell", "key": " Shell ", "keyColor": "magenta"},
{"type": "terminal", "key": " Terminal ", "keyColor": "magenta"},
{"type": "wm", "key": " Bureau ", "keyColor": "magenta"},
{"type": "packages", "key": "󰏖 Paquets ", "keyColor": "magenta"},
"break",
{"type": "cpu", "key": "󰻠 CPU ", "keyColor": "magenta"},
{
"type": "gpu",
"key": "󰍛 GPU ",
"keyColor": "magenta",
"hideTypes": ["Integrated"]
},
{
"type": "display",
"key": "󰹆 Écran ",
"keyColor": "magenta",
"format": "{width}x{height} @ {refresh-rate}Hz"
},
{"type": "memory", "key": "󰑭 Mémoire ", "keyColor": "magenta"},
{
"type": "disk",
"key": "󰋊 Disque ",
"keyColor": "magenta",
"folders": "/"
},
{"type": "processes", "key": "󰙲 Processus", "keyColor": "magenta"},
{"type": "uptime", "key": "󰅐 Uptime ", "keyColor": "magenta"},
"break",
{
"type": "media",
"key": " Musique ",
"keyColor": "magenta",
"format": "{artist} — {title}"
},
"break",
"colors"
]
}

58
INSTALL/configs/gitconfig Normal file
View File

@@ -0,0 +1,58 @@
[credential "https://github.com"]
helper =
helper = !/usr/bin/gh auth git-credential
[credential "https://gist.github.com"]
helper =
helper = !/usr/bin/gh auth git-credential
[core]
pager = delta
[interactive]
diffFilter = delta --color-only
[delta]
syntax-theme = violet-chaton
side-by-side = true
line-numbers = true
navigate = true
hyperlinks = true
# Lignes supprimées : fond rose sombre
minus-style = syntax "#3d1a2e"
minus-emph-style = syntax "#5a1a38"
# Lignes ajoutées : fond cyan sombre
plus-style = syntax "#0d2a35"
plus-emph-style = syntax "#0d3a48"
# Numéros de ligne
line-numbers-minus-style = "#ff79c6"
line-numbers-plus-style = "#8be9fd"
line-numbers-zero-style = "#6c7086"
line-numbers-left-format = " {nm} │"
line-numbers-right-format = " {np} │"
# En-tête de fichier
file-style = "bold #e79cfe"
file-decoration-style = "#3d2454 box"
file-added-label = "[+]"
file-removed-label = "[-]"
file-modified-label = "[~]"
file-renamed-label = "[»]"
# En-tête de hunk
hunk-header-style = "syntax #261537"
hunk-header-decoration-style = "#6c7086 box"
hunk-header-file-style = "bold #e79cfe"
hunk-header-line-number-style = "#7f849c"
# Commit
commit-decoration-style = "bold #ff79c6 box"
commit-style = "bold #f8f8f2"
[merge]
conflictstyle = diff3
[diff]
colorMoved = default

3
INSTALL/configs/glow.yml Normal file
View File

@@ -0,0 +1,3 @@
# Style : dark, notty, dracula, tokyo-night, pink
style: "dark"
pager: true

View File

@@ -0,0 +1,18 @@
gui:
theme:
activeBorderColor: ['#ff79c6', 'bold'] # pink — fenêtre active
inactiveBorderColor: ['#6c7086'] # muted — fenêtre inactive
optionsTextColor: ['#e79cfe'] # purple
selectedLineBgColor: ['#3d2454'] # bg-high
selectedRangeBgColor: ['#3d2454']
cherryPickedCommitBgColor: ['#3d2454']
cherryPickedCommitFgColor: ['#8be9fd'] # cyan
unstagedChangesColor: ['#f38ba8'] # danger
defaultFgColor: ['#f8f8f2'] # text
searchingActiveBorderColor: ['#8be9fd', 'bold'] # cyan
nerdFontsVersion: '3'
border: rounded
git:
pagers:
- colorArg: always
pager: delta

View File

@@ -0,0 +1,172 @@
"$schema" = 'https://starship.rs/config-schema.json'
command_timeout = 1000
add_newline = true
# ── Format ────────────────────────────────────────────────────────────────────
# Ligne 1 : infos → durée | mémoire | heure
# Ligne 2 :
format = """
$os $username$hostname$directory$git_branch$git_status$git_state$git_commit\
$python$nodejs$rust$golang$java$docker_context$package\
$fill\
$cmd_duration$memory_usage$time
$status$character"""
# ── Système ───────────────────────────────────────────────────────────────────
[os]
disabled = false
style = "bold #ff79c6"
format = "[$symbol]($style)"
[os.symbols]
Pop = " "
Ubuntu = " "
Debian = " "
Arch = " "
Fedora = " "
Kali = " "
Manjaro = " "
Mint = " "
NixOS = " "
openSUSE = " "
Raspbian = " "
Redhat = " "
RedHatEnterprise = " "
RockyLinux = " "
AlmaLinux = " "
CentOS = " "
Alpine = " "
Android = " "
FreeBSD = " "
Macos = " "
Windows = "󰍲 "
Unknown = " "
[username]
style_user = "#9399b2"
style_root = "bold #f38ba8"
format = "[$user]($style)"
show_always = true
[hostname]
style = "#7f849c"
format = "[@$hostname]($style) "
ssh_only = false
ssh_symbol = "󰣀 "
# ── Navigation ────────────────────────────────────────────────────────────────
[directory]
style = "bold #e79cfe"
read_only = " 󰌾"
read_only_style = "#f38ba8"
truncate_to_repo = false
truncation_length = 4
truncation_symbol = "…/"
format = "[ $path]($style)[$read_only]($read_only_style) "
# ── Git ───────────────────────────────────────────────────────────────────────
[git_branch]
symbol = " "
style = "bold #ff79c6"
format = "[$symbol$branch]($style) "
[git_status]
style = "#8be9fd"
format = "([$all_status$ahead_behind]($style) )"
ahead = "⇡$count"
behind = "⇣$count"
diverged = "⇕⇡$ahead_count⇣$behind_count"
untracked = "?$count"
stashed = "󰏗 $count"
modified = "!$count"
staged = "+$count"
renamed = "»$count"
deleted = "✘$count"
conflicted = "=$count"
[git_state]
style = "#f9e2af"
format = '\([$state( $progress_current/$progress_total)]($style)\) '
[git_commit]
style = "#6c7086"
format = '[\($hash$tag\)]($style) '
tag_symbol = " 󰓼 "
only_detached = true
# ── Langages ──────────────────────────────────────────────────────────────────
[python]
symbol = " "
style = "#f9e2af"
format = "[$symbol$version]($style) "
[nodejs]
symbol = " "
style = "#a6e3a1"
format = "[$symbol$version]($style) "
[rust]
symbol = " "
style = "#ff79c6"
format = "[$symbol$version]($style) "
[golang]
symbol = " "
style = "#8be9fd"
format = "[$symbol$version]($style) "
[java]
symbol = " "
style = "#f38ba8"
format = "[$symbol$version]($style) "
[docker_context]
symbol = " "
style = "#8be9fd"
format = "[$symbol$context]($style) "
only_with_files = true
[package]
symbol = "󰏗 "
style = "#e79cfe"
format = "[$symbol$version]($style) "
display_private = false
# ── Droite (après $fill) ─────────────────────────────────────────────────────
[fill]
symbol = " "
[cmd_duration]
format = "[󱎫 $duration]($style) "
style = "#7f849c"
min_time = 2000
[memory_usage]
disabled = false
threshold = 0
symbol = "󰑭 "
style = "#9399b2"
format = "[$symbol$ram]($style) "
[time]
disabled = false
style = "bold #6c7086"
format = "[ $time]($style)"
time_format = "%H:%M"
# ── Ligne 2 ───────────────────────────────────────────────────────────────────
[status]
disabled = false
style = "#ff79c6"
format = "[$symbol$status ]($style)"
symbol = "✘ "
[character]
success_symbol = "[](bold #8be9fd)"
error_symbol = "[](bold #ff79c6)"

21
INSTALL/configs/yazi.toml Normal file
View File

@@ -0,0 +1,21 @@
[manager]
ratio = [1, 3, 4] # proportions : parents | dossier | preview
sort_by = "natural"
sort_sensitive = false
sort_hidden = false
show_hidden = false
show_symlink = true
[preview]
tab_size = 2
max_width = 600
max_height = 900
[opener]
edit = [{ run = 'nano "$@"', block = true }]
[open]
rules = [
{ mime = "text/*", use = "edit" },
{ mime = "image/*", use = "open" },
]

120
INSTALL/configs/zshrc Normal file
View File

@@ -0,0 +1,120 @@
# ── zinit ─────────────────────────────────────────────────────────────────────
if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then
print -P "%F{33} %F{220}Installing zinit…%f"
command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit"
command git clone https://github.com/zdharma-continuum/zinit "$HOME/.local/share/zinit/zinit.git"
fi
source "$HOME/.local/share/zinit/zinit.git/zinit.zsh"
autoload -Uz _zinit
(( ${+_comps} )) && _comps[zinit]=_zinit
# ── Plugins ───────────────────────────────────────────────────────────────────
zinit light zsh-users/zsh-autosuggestions
zinit light zsh-users/zsh-syntax-highlighting
zinit light zsh-users/zsh-completions
# ── PATH ──────────────────────────────────────────────────────────────────────
export PATH="/usr/local/bin:$HOME/.local/bin:/usr/bin:$HOME/.atuin/bin:$PATH"
# ── Historique ────────────────────────────────────────────────────────────────
HISTSIZE=10000
HISTFILESIZE=20000
HISTFILE=~/.zsh_history
setopt HIST_IGNORE_DUPS
setopt HIST_IGNORE_SPACE
setopt SHARE_HISTORY
setopt APPEND_HISTORY
# ── Options zsh ───────────────────────────────────────────────────────────────
setopt AUTO_CD # cd en tapant juste le nom du dossier
setopt CORRECT # correction de typos
setopt GLOB_DOTS # inclure fichiers cachés dans les globs
setopt NO_BEEP # silence
# ── Completion ────────────────────────────────────────────────────────────────
autoload -Uz compinit && compinit
zstyle ':completion:*' menu select
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
zstyle ':completion:*' group-name ''
zstyle ':completion:*:descriptions' format '%F{#e79cfe}── %d ──%f'
# ── Couleurs grep ─────────────────────────────────────────────────────────────
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
# ── eza (remplace ls) ─────────────────────────────────────────────────────────
alias ls='eza --icons --color=always --group-directories-first'
alias ll='eza -l --icons --git --group-directories-first'
alias lt='eza --tree --icons'
export LS_COLORS="$(bash ~/.local/share/violet-chaton/violet-chaton-ls-colors.sh)"
# ── bat (remplace cat) ────────────────────────────────────────────────────────
alias bat='batcat'
alias cat='batcat --paging=never'
export MANPAGER="sh -c 'col -bx | batcat -l man -p'"
# ── fd (remplace find) ────────────────────────────────────────────────────────
alias fd='fdfind'
# ── Nouveaux outils ───────────────────────────────────────────────────────────
alias lg='lazygit' # git TUI
alias rg='rg --color=always' # ripgrep avec couleurs
alias disk='ncdu' # analyse disque
alias man='tldr' # man pages simplifiées
alias pipes='pipes.sh' # animation pipes
fuck() { eval "$(thefuck --alias 2>/dev/null)"; fuck "$@"; } # init paresseux
# ── fzf ───────────────────────────────────────────────────────────────────────
[ -f /usr/share/doc/fzf/examples/key-bindings.zsh ] && source /usr/share/doc/fzf/examples/key-bindings.zsh
[ -f /usr/share/doc/fzf/examples/completion.zsh ] && source /usr/share/doc/fzf/examples/completion.zsh
# Raccourcis fzf personnalisés
bindkey -r '^T' # libère Ctrl+T
bindkey -r '\ec' # libère Alt+C
bindkey '^G' fzf-file-widget # Ctrl+G → chercher un fichier
bindkey '^F' fzf-cd-widget # Ctrl+F → chercher un dossier
export FZF_DEFAULT_COMMAND='fdfind --type f --hidden --follow --exclude .git --exclude .cache --search-path $HOME'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
export FZF_ALT_C_COMMAND='fdfind --type d --hidden --follow --exclude .git --exclude .cache --search-path $HOME'
export FZF_DEFAULT_OPTS="
--height 40% --layout=reverse --border rounded --info=hidden
--preview 'batcat --color=always --style=plain --line-range=:80 {}'
--preview-window 'right:50%:wrap'
--color=bg+:#3d2454,bg:#341c4a,spinner:#ff79c6,hl:#8be9fd
--color=fg:#f8f8f2,header:#ff79c6,info:#e79cfe,pointer:#ff79c6
--color=marker:#a6e3a1,fg+:#f8f8f2,prompt:#e79cfe,hl+:#8be9fd"
# ── zoxide (remplace cd) ──────────────────────────────────────────────────────
eval "$(zoxide init zsh --cmd cd)"
# ── Fastfetch ─────────────────────────────────────────────────────────────────
alias fetch='fastfetch --config ~/.config/fastfetch/config.jsonc --raw <(chafa --size 44x22 --symbols vhalf --color-space rgb "$HOME/.config/fastfetch/violet-chaton-logo.png") --logo-width 52'
fetch
# ── zsh-autosuggestions ───────────────────────────────────────────────────────
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#6c7086"
ZSH_AUTOSUGGEST_STRATEGY=(history completion)
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=20
bindkey '^ ' autosuggest-accept # Ctrl+Space pour accepter la suggestion
# ── zsh-syntax-highlighting (couleurs violet-chaton) ─────────────────────────
ZSH_HIGHLIGHT_STYLES[command]='fg=#8be9fd'
ZSH_HIGHLIGHT_STYLES[builtin]='fg=#ff79c6'
ZSH_HIGHLIGHT_STYLES[alias]='fg=#e79cfe'
ZSH_HIGHLIGHT_STYLES[function]='fg=#8be9fd'
ZSH_HIGHLIGHT_STYLES[string]='fg=#e79cfe'
ZSH_HIGHLIGHT_STYLES[path]='fg=#f8f8f2,underline'
ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=#f38ba8,bold'
ZSH_HIGHLIGHT_STYLES[reserved-word]='fg=#ff79c6'
ZSH_HIGHLIGHT_STYLES[comment]='fg=#6c7086,italic'
ZSH_HIGHLIGHT_STYLES[globbing]='fg=#f9e2af'
ZSH_HIGHLIGHT_STYLES[history-expansion]='fg=#f9e2af'
# ── atuin (remplace Ctrl+R) ───────────────────────────────────────────────────
[[ -f ~/.atuin/bin/env ]] && source ~/.atuin/bin/env
command -v atuin &>/dev/null && eval "$(atuin init zsh --disable-up-arrow)"
# ── starship ──────────────────────────────────────────────────────────────────
command -v starship &>/dev/null && eval "$(starship init zsh)"