ajout atuin
This commit is contained in:
parent
c5bef5dcd0
commit
4bdcc16092
18 changed files with 577 additions and 126 deletions
371
atuin/.config/atuin/config.toml
Normal file
371
atuin/.config/atuin/config.toml
Normal file
|
|
@ -0,0 +1,371 @@
|
||||||
|
## 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 = "compact"
|
||||||
|
|
||||||
|
## the maximum number of lines the interface should take up
|
||||||
|
## set it to 0 to always go full screen
|
||||||
|
inline_height = 20
|
||||||
|
|
||||||
|
## 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}"
|
||||||
|
|
||||||
|
## Defaults to true. If enabled, strip trailing spaces and tabs from commands
|
||||||
|
## before saving them to history.
|
||||||
|
## Escaped trailing spaces (for example `printf foo\\ `) are preserved.
|
||||||
|
# strip_trailing_whitespace = true
|
||||||
|
|
||||||
|
## 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.
|
||||||
|
# enabled = false
|
||||||
|
|
||||||
|
## Automatically start and manage the daemon when needed.
|
||||||
|
## Not compatible with `systemd_socket = true`.
|
||||||
|
# autostart = 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"
|
||||||
|
|
||||||
|
## The daemon pidfile used for lifecycle management.
|
||||||
|
## Defaults to the Atuin data directory.
|
||||||
|
# pidfile_path = "~/.local/share/atuin/atuin-daemon.pid"
|
||||||
|
|
||||||
|
## 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 = "catppuccin"
|
||||||
|
|
||||||
|
## 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 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 }]
|
||||||
12
atuin/.config/atuin/themes/catppuccin.toml
Normal file
12
atuin/.config/atuin/themes/catppuccin.toml
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
[theme]
|
||||||
|
name = "catppuccin-mocha-lavender"
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
AlertInfo = "#a6e3a1"
|
||||||
|
AlertWarn = "#fab387"
|
||||||
|
AlertError = "#f38ba8"
|
||||||
|
Annotation = "#b4befe"
|
||||||
|
Base = "#cdd6f4"
|
||||||
|
Guidance = "#9399b2"
|
||||||
|
Important = "#f38ba8"
|
||||||
|
Title = "#b4befe"
|
||||||
|
|
@ -1 +1 @@
|
||||||
1779574356:success:suspend_resume
|
1779784526:success:suspend_resume
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
2009713
|
4230
|
||||||
|
|
@ -37,4 +37,4 @@ exec-once=wl-paste --type text --watch cliphist store
|
||||||
exec-once=wl-paste --type image --watch cliphist store
|
exec-once=wl-paste --type image --watch cliphist store
|
||||||
|
|
||||||
# Idle
|
# Idle
|
||||||
exec-once=swayidle -w timeout 300 'swaylock -f -c 000000' timeout 301 'systemctl suspend' before-sleep 'swaylock -f -c 000000'
|
exec-once=swayidle -w timeout 300 'swaylock -f -c 000000' timeout 360 'systemctl suspend' before-sleep 'swaylock -f -c 000000'
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,12 @@
|
||||||
##############################
|
##############################
|
||||||
|
|
||||||
# Tag 1 : shell / terminaux / Perplexity
|
# Tag 1 : shell / terminaux / Perplexity
|
||||||
windowrule=tags:1,scroller_proportion:1,appid:kitty-1
|
windowrule=tags:1,2,scroller_proportion:0.5,appid:kitty-1
|
||||||
# windowrule=tags:1,scroller_proportion:0.5,appid:perplexity
|
# windowrule=tags:1,scroller_proportion:0.5,appid:perplexity
|
||||||
# windowrule=tags:1,scroller_proportion:0.5,appid:kitty-2
|
# windowrule=tags:1,scroller_proportion:0.5,appid:kitty-2
|
||||||
|
|
||||||
# Tag 2 : web
|
# Tag 2 : web
|
||||||
windowrule=tags:2,scroller_proportion:0.8,appid:chromium
|
windowrule=tags:2,scroller_proportion:0.5,appid:chromium
|
||||||
windowrule=tags:2,appid:firefox
|
windowrule=tags:2,appid:firefox
|
||||||
|
|
||||||
# Tag 6 : web
|
# Tag 6 : web
|
||||||
|
|
|
||||||
|
|
@ -42,10 +42,10 @@ zoom_initial_ratio=0.4
|
||||||
zoom_end_ratio=0.8
|
zoom_end_ratio=0.8
|
||||||
fadein_begin_opacity=0.5
|
fadein_begin_opacity=0.5
|
||||||
fadeout_begin_opacity=0.8
|
fadeout_begin_opacity=0.8
|
||||||
animation_duration_move=500
|
animation_duration_move=250
|
||||||
animation_duration_open=400
|
animation_duration_open=220
|
||||||
animation_duration_tag=350
|
animation_duration_tag=100
|
||||||
animation_duration_close=800
|
animation_duration_close=180
|
||||||
animation_duration_focus=0
|
animation_duration_focus=0
|
||||||
animation_curve_open=0.46,1.0,0.29,1
|
animation_curve_open=0.46,1.0,0.29,1
|
||||||
animation_curve_move=0.46,1.0,0.29,1
|
animation_curve_move=0.46,1.0,0.29,1
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,7 @@ vim.filetype.add({
|
||||||
})
|
})
|
||||||
|
|
||||||
-- require
|
-- require
|
||||||
|
require("config.filetypes")
|
||||||
-- Keymaps (fichier séparé)
|
-- Keymaps (fichier séparé)
|
||||||
require("config.maps")
|
require("config.maps")
|
||||||
|
|
||||||
|
|
@ -70,4 +71,48 @@ require("config.markdown")
|
||||||
-- Mason/LSP
|
-- Mason/LSP
|
||||||
require("mason-lspconfig").setup()
|
require("mason-lspconfig").setup()
|
||||||
|
|
||||||
|
local Terminal = require("toggleterm.terminal").Terminal
|
||||||
|
|
||||||
|
local function get_devcontainer()
|
||||||
|
local project = vim.fn.getcwd()
|
||||||
|
|
||||||
|
local handle = io.popen(
|
||||||
|
'docker ps -q --filter "label=devcontainer.local_folder='
|
||||||
|
.. project
|
||||||
|
.. '"'
|
||||||
|
)
|
||||||
|
|
||||||
|
if not handle then
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
local container = handle:read("*a"):gsub("%s+", "")
|
||||||
|
handle:close()
|
||||||
|
|
||||||
|
if container == "" then
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
return container
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>dt", function()
|
||||||
|
local container = get_devcontainer()
|
||||||
|
|
||||||
|
if not container then
|
||||||
|
vim.notify("Aucun devcontainer actif", vim.log.levels.ERROR)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local docker_term = Terminal:new({
|
||||||
|
cmd = "docker exec -it -u vscode -w /workspace " .. container .. " zsh",
|
||||||
|
direction = "float",
|
||||||
|
hidden = true,
|
||||||
|
})
|
||||||
|
|
||||||
|
docker_term:toggle()
|
||||||
|
end, {
|
||||||
|
desc = "Docker terminal",
|
||||||
|
})
|
||||||
|
|
||||||
vim.cmd.colorscheme "catppuccin-mocha"
|
vim.cmd.colorscheme "catppuccin-mocha"
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,10 @@
|
||||||
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
|
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "dd3f588bacbeb041be6facf1742e42097f62165d" },
|
|
||||||
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "131a558e13f9f28b15cd235557150ccb23f89286" },
|
"lualine.nvim": { "branch": "master", "commit": "131a558e13f9f28b15cd235557150ccb23f89286" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "7b01e2974a47d489bb92f47a41e4c0088ea8f86e" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "7b01e2974a47d489bb92f47a41e4c0088ea8f86e" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "bb639d4bf385a4d89f478b83af4d770be05ab7eb" },
|
"mason.nvim": { "branch": "main", "commit": "bb639d4bf385a4d89f478b83af4d770be05ab7eb" },
|
||||||
"mini.icons": { "branch": "main", "commit": "520995f1d75da0e4cc901ee95080b1ff2bc46b94" },
|
|
||||||
"mini.map": { "branch": "stable", "commit": "234eaf5cbcaee320d87e96465fbb534aa05b301e" },
|
|
||||||
"mini.starter": { "branch": "main", "commit": "a7d8b353cf120fee32bb5d88e7a9de5eaec746e7" },
|
"mini.starter": { "branch": "main", "commit": "a7d8b353cf120fee32bb5d88e7a9de5eaec746e7" },
|
||||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "ebd66767191714e008ce73b769518a763ff31bdc" },
|
"neo-tree.nvim": { "branch": "v3.x", "commit": "ebd66767191714e008ce73b769518a763ff31bdc" },
|
||||||
"neowiki.nvim": { "branch": "main", "commit": "85dddf6057b07d4d6772b2f90e754a18e958a865" },
|
"neowiki.nvim": { "branch": "main", "commit": "85dddf6057b07d4d6772b2f90e754a18e958a865" },
|
||||||
|
|
@ -34,6 +31,7 @@
|
||||||
"rustaceanvim": { "branch": "main", "commit": "e9c5aaba16fead831379d5f44617547a90b913c7" },
|
"rustaceanvim": { "branch": "main", "commit": "e9c5aaba16fead831379d5f44617547a90b913c7" },
|
||||||
"telescope-file-browser.nvim": { "branch": "master", "commit": "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e" },
|
"telescope-file-browser.nvim": { "branch": "master", "commit": "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e" },
|
||||||
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||||
|
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
|
||||||
"vim-fugitive": { "branch": "master", "commit": "3b753cf8c6a4dcde6edee8827d464ba9b8c4a6f0" },
|
"vim-fugitive": { "branch": "master", "commit": "3b753cf8c6a4dcde6edee8827d464ba9b8c4a6f0" },
|
||||||
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,5 @@
|
||||||
local ts = require("nvim-treesitter.parsers")
|
|
||||||
ts.filetype_to_parsername.swayconfig = "i3"
|
|
||||||
|
|
||||||
vim.filetype.add({
|
vim.filetype.add({
|
||||||
pattern = {
|
extension = {
|
||||||
[".*/sway/config.*"] = "swayconfig",
|
h = "c",
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -1,42 +1,34 @@
|
||||||
local map = vim.keymap.set
|
local map = vim.keymap.set
|
||||||
|
local opts = { noremap = true, silent = true }
|
||||||
|
|
||||||
-- Recherche
|
-- Recherche
|
||||||
map("n", "<leader>h", "<cmd>nohlsearch<cr>", { desc = "Clear hlsearch" })
|
map("n", "<leader>h", "<cmd>nohlsearch<cr>", { desc = "Clear hlsearch" })
|
||||||
|
|
||||||
-- neo-tree
|
-- neo-tree
|
||||||
vim.keymap.set("n", "<C-n>", "<cmd>Neotree toggle<CR>", { silent = true, desc = "Explorer" })
|
map("n", "<C-n>", "<cmd>Neotree toggle<CR>", { silent = true, desc = "Explorer" })
|
||||||
|
|
||||||
local telescope = require("telescope.builtin")
|
local telescope = require("telescope.builtin")
|
||||||
|
|
||||||
-- Fuzzy find files
|
-- Telescope
|
||||||
vim.keymap.set("n", "<leader>ff", telescope.find_files, { desc = "Find files" })
|
map("n", "<leader>ff", telescope.find_files, { desc = "Find files" })
|
||||||
|
map("n", "<leader>fg", telescope.live_grep, { desc = "Live grep" })
|
||||||
-- Live grep
|
map("n", "<leader>fb", telescope.buffers, { desc = "Find buffers" })
|
||||||
vim.keymap.set("n", "<leader>fg", telescope.live_grep, { desc = "Live grep" })
|
map("n", "<leader>fh", telescope.help_tags, { desc = "Find help" })
|
||||||
|
|
||||||
-- Buffers
|
|
||||||
vim.keymap.set("n", "<leader>fb", telescope.buffers, { desc = "Find buffers" })
|
|
||||||
|
|
||||||
-- Help tags
|
|
||||||
vim.keymap.set("n", "<leader>fh", telescope.help_tags, { desc = "Find help" })
|
|
||||||
|
|
||||||
-- LSP
|
-- LSP
|
||||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
|
map("n", "gd", vim.lsp.buf.definition, opts)
|
||||||
vim.keymap.set("n", "gr", vim.lsp.buf.references, opts)
|
map("n", "gr", vim.lsp.buf.references, opts)
|
||||||
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
|
map("n", "K", vim.lsp.buf.hover, opts)
|
||||||
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts)
|
map("n", "<leader>rn", vim.lsp.buf.rename, opts)
|
||||||
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, opts)
|
map("n", "<leader>ca", vim.lsp.buf.code_action, opts)
|
||||||
vim.keymap.set("n", "<leader>d", vim.diagnostic.open_float, opts)
|
map("n", "<leader>d", vim.diagnostic.open_float, opts)
|
||||||
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts)
|
map("n", "[d", vim.diagnostic.goto_prev, opts)
|
||||||
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts)
|
map("n", "]d", vim.diagnostic.goto_next, opts)
|
||||||
|
|
||||||
-- Indenter en mode Visuel avec Tab / Shift-Tab
|
|
||||||
vim.keymap.set("v", "<Tab>", ">gv", { desc = "Indent selection" })
|
|
||||||
vim.keymap.set("v", "<S-Tab>", "<gv", { desc = "Unindent selection" })
|
|
||||||
|
|
||||||
require("which-key").add({
|
require("which-key").add({
|
||||||
-- mappings sans <leader>
|
-- mappings sans <leader>
|
||||||
{ "f", group = "find" },
|
{ "<leader>f", group = "find" },
|
||||||
{ "ff", "<cmd>Telescope find_files<cr>", desc = "Find files" },
|
{ "ff", "<cmd>Telescope find_files<cr>", desc = "Find files" },
|
||||||
{ "fg", "<cmd>Telescope live_grep<cr>", desc = "Live grep" },
|
{ "fg", "<cmd>Telescope live_grep<cr>", desc = "Live grep" },
|
||||||
{ "fb", "<cmd>Telescope buffers<cr>", desc = "Buffers" },
|
{ "fb", "<cmd>Telescope buffers<cr>", desc = "Buffers" },
|
||||||
|
|
@ -49,13 +41,63 @@ require("which-key").add({
|
||||||
{ "<leader>f", group = "file" },
|
{ "<leader>f", group = "file" },
|
||||||
{ "<leader>ff", "<cmd>Telescope find_files<cr>", desc = "Find files" },
|
{ "<leader>ff", "<cmd>Telescope find_files<cr>", desc = "Find files" },
|
||||||
{ "<leader>fg", "<cmd>Telescope live_grep<cr>", desc = "Live grep" },
|
{ "<leader>fg", "<cmd>Telescope live_grep<cr>", desc = "Live grep" },
|
||||||
|
|
||||||
--Git
|
|
||||||
{ "<leader>g", group = "Git"},
|
|
||||||
{ "<leader>gs", "<cmd>Git status<cr>", desc = "Git status" },
|
|
||||||
{ "<leader>ga", "<cmd>Git add .<cr>", desc = "Git add all" },
|
|
||||||
{ "<leader>gc", "<cmd>Git commit<cr>", desc = "Git commit" },
|
|
||||||
{ "<leader>gp", "<cmd>Git push<cr>", desc = "Git push" },
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
vim.keymap.set("x", "<Tab>", ">gv", { desc = "Indent selection" })
|
||||||
|
vim.keymap.set("x", "<S-Tab>", "<gv", { desc = "Unindent selection" })
|
||||||
|
|
||||||
|
local function devcontainer()
|
||||||
|
local container = vim.fn.getenv("DEVCONTAINER_ID")
|
||||||
|
|
||||||
|
if container == vim.NIL or container == nil or container == "" then
|
||||||
|
vim.notify("Aucun DEVCONTAINER_ID trouvé", vim.log.levels.ERROR)
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
return tostring(container)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function docker_cmd(cmd)
|
||||||
|
local container = devcontainer()
|
||||||
|
if not container then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.cmd("write")
|
||||||
|
vim.cmd("terminal docker exec -it -u vscode " .. container .. " zsh -lc '" .. cmd .. "'")
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<F5>", function()
|
||||||
|
local file = vim.fn.expand("%")
|
||||||
|
local out = vim.fn.expand("%:r")
|
||||||
|
|
||||||
|
docker_cmd("gcc -Wall -Wextra -std=c17 -g " .. file .. " -o " .. out)
|
||||||
|
end, { desc = "GCC compile current file" })
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<F6>", function()
|
||||||
|
local out = vim.fn.expand("%:r")
|
||||||
|
docker_cmd("./" .. out)
|
||||||
|
end, { desc = "Run current program" })
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<F7>", function()
|
||||||
|
local out = vim.fn.expand("%:r")
|
||||||
|
docker_cmd("gdb ./" .. out)
|
||||||
|
end, { desc = "Debug with GDB" })
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<F8>", function()
|
||||||
|
local out = vim.fn.expand("%:r")
|
||||||
|
docker_cmd("valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes ./" .. out)
|
||||||
|
end, { desc = "Run Valgrind" })
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>cb", function()
|
||||||
|
docker_cmd(
|
||||||
|
"cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON && cmake --build build --parallel")
|
||||||
|
end, { desc = "CMake build" })
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>cc", function()
|
||||||
|
docker_cmd("cmake --build build --target clean")
|
||||||
|
end, { desc = "CMake clean" })
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>cp", function()
|
||||||
|
docker_cmd("cppcheck --enable=all --std=c17 --suppress=missingIncludeSystem -I include src")
|
||||||
|
end, { desc = "Cppcheck project" })
|
||||||
|
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"lewis6991/gitsigns.nvim",
|
|
||||||
opts = {
|
|
||||||
current_line_blame = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
-- lua/plugins/mini-icons.lua
|
|
||||||
return {
|
|
||||||
"nvim-mini/mini.icons",
|
|
||||||
lazy = true, -- ou enlève lazy si tu veux partout
|
|
||||||
opts = {
|
|
||||||
-- style = "glyph", -- icônes Nerd Font (par défaut)
|
|
||||||
-- style = "ascii", -- si ton terminal n’a pas de Nerd Font
|
|
||||||
},
|
|
||||||
config = function(_, opts)
|
|
||||||
require("mini.icons").setup(opts)
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"echasnovski/mini.map",
|
|
||||||
branch = "stable",
|
|
||||||
config = function()
|
|
||||||
local map = require("mini.map")
|
|
||||||
|
|
||||||
map.setup({
|
|
||||||
symbols = {
|
|
||||||
encode = map.gen_encode_symbols.dot("4x2"),
|
|
||||||
},
|
|
||||||
integrations = {
|
|
||||||
map.gen_integration.builtin_search(),
|
|
||||||
map.gen_integration.diagnostic(),
|
|
||||||
map.gen_integration.gitsigns(),
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
-- PAS d'ouverture auto : bloc autocmd commenté
|
|
||||||
|
|
||||||
-- <leader>p : toggle minimap
|
|
||||||
vim.keymap.set("n", "<leader>p", function()
|
|
||||||
map.toggle()
|
|
||||||
end, {
|
|
||||||
desc = "Toggle minimap",
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -8,4 +8,3 @@ return {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
---@type LazySpec
|
--@type LazySpec
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"MeanderingProgrammer/render-markdown.nvim",
|
"MeanderingProgrammer/render-markdown.nvim",
|
||||||
|
|
|
||||||
7
nvim/.config/nvim/lua/plugins/toggleterm.lua
Normal file
7
nvim/.config/nvim/lua/plugins/toggleterm.lua
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
return {
|
||||||
|
"akinsho/toggleterm.nvim",
|
||||||
|
version = "*",
|
||||||
|
config = function()
|
||||||
|
require("toggleterm").setup()
|
||||||
|
end,
|
||||||
|
}
|
||||||
44
zsh/.zshrc
44
zsh/.zshrc
|
|
@ -89,12 +89,18 @@ zstyle ':completion:*' menu select
|
||||||
# Starship prompt
|
# Starship prompt
|
||||||
# =========================
|
# =========================
|
||||||
export STARSHIP_CONFIG="$HOME/.config/starship.toml"
|
export STARSHIP_CONFIG="$HOME/.config/starship.toml"
|
||||||
eval "$(starship init zsh)"
|
command -v starship >/dev/null && eval "$(starship init zsh)"
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# Atuin
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
eval "$(atuin init zsh)"
|
||||||
|
|
||||||
# =========================
|
# =========================
|
||||||
# Fzf + zoxide
|
# Fzf + zoxide
|
||||||
# =========================
|
# =========================
|
||||||
export FZF_DEFAULT_COMMAND="
|
command -v bat >/dev/null && export FZF_DEFAULT_OPTS="
|
||||||
fd
|
fd
|
||||||
--type f
|
--type f
|
||||||
--hidden
|
--hidden
|
||||||
|
|
@ -127,8 +133,8 @@ export FZF_DEFAULT_OPTS="
|
||||||
[ -r /usr/share/fzf/key-bindings.zsh ] && source /usr/share/fzf/key-bindings.zsh
|
[ -r /usr/share/fzf/key-bindings.zsh ] && source /usr/share/fzf/key-bindings.zsh
|
||||||
[ -r /usr/share/fzf/completion.zsh ] && source /usr/share/fzf/completion.zsh
|
[ -r /usr/share/fzf/completion.zsh ] && source /usr/share/fzf/completion.zsh
|
||||||
|
|
||||||
eval "$(zoxide init zsh)"
|
command -v zoxide >/dev/null && eval "$(zoxide init zsh)"
|
||||||
eval "$(fzf --zsh)"
|
command -v fzf >/dev/null && eval "$(fzf --zsh)"
|
||||||
|
|
||||||
# =========================
|
# =========================
|
||||||
# Aliases de base
|
# Aliases de base
|
||||||
|
|
@ -159,7 +165,7 @@ alias grep='grep --color=auto'
|
||||||
alias rg='rg --hidden --smart-case'
|
alias rg='rg --hidden --smart-case'
|
||||||
|
|
||||||
# Eza
|
# Eza
|
||||||
alias ls='eza'
|
command -v eza >/dev/null && alias ls='eza'
|
||||||
alias ll='eza -lha --git'
|
alias ll='eza -lha --git'
|
||||||
alias la='eza -la'
|
alias la='eza -la'
|
||||||
alias lt='eza -T'
|
alias lt='eza -T'
|
||||||
|
|
@ -188,7 +194,16 @@ alias pR='sudo pacman -Rns'
|
||||||
alias pQ='pacman -Q'
|
alias pQ='pacman -Q'
|
||||||
alias pSs='pacman -Ss'
|
alias pSs='pacman -Ss'
|
||||||
alias pSyu='sudo pacman -Syu'
|
alias pSyu='sudo pacman -Syu'
|
||||||
alias orphans='sudo pacman -Rns $(pacman -Qtdq)'
|
orphans() {
|
||||||
|
local pkgs
|
||||||
|
pkgs="$(pacman -Qtdq 2>/dev/null)"
|
||||||
|
|
||||||
|
if [[ -n "$pkgs" ]]; then
|
||||||
|
sudo pacman -Rns $pkgs
|
||||||
|
else
|
||||||
|
echo "Aucun paquet orphelin"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
update() {
|
update() {
|
||||||
sudo -v || return 1
|
sudo -v || return 1
|
||||||
|
|
@ -253,8 +268,10 @@ psgrep() {
|
||||||
# =========================
|
# =========================
|
||||||
|
|
||||||
export PATH="$PYENV_ROOT/bin:$PATH"
|
export PATH="$PYENV_ROOT/bin:$PATH"
|
||||||
|
if command -v pyenv >/dev/null; then
|
||||||
eval "$(pyenv init --path)"
|
eval "$(pyenv init --path)"
|
||||||
eval "$(pyenv init -)"
|
eval "$(pyenv init -)"
|
||||||
|
fi
|
||||||
|
|
||||||
va() {
|
va() {
|
||||||
if [[ -f "venv/bin/activate" ]]; then
|
if [[ -f "venv/bin/activate" ]]; then
|
||||||
|
|
@ -275,6 +292,21 @@ alias vrm='rm -rf venv .venv'
|
||||||
alias vreq='pip install -r requirements.txt'
|
alias vreq='pip install -r requirements.txt'
|
||||||
alias vfreeze='pip freeze > requirements.txt'
|
alias vfreeze='pip freeze > requirements.txt'
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# Python / virtualenv / pyenv
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
# Alias pour la compilation C
|
||||||
|
alias gcc-debug='gcc -Wall -Wextra -g -std=c17'
|
||||||
|
alias gcc-release='gcc -Wall -Wextra -O2 -std=c17'
|
||||||
|
alias gcc-strict='gcc -Wall -Wextra -Werror -pedantic -std=c17'
|
||||||
|
|
||||||
|
# Alias pour Valgrind
|
||||||
|
alias valgrind-check='valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes'
|
||||||
|
|
||||||
|
# Alias pour le nettoyage (limité au répertoire courant, non récursif)
|
||||||
|
alias clean-exe='find . -maxdepth 1 -type f -executable -not -name "*.sh" -delete'
|
||||||
|
|
||||||
# =========================
|
# =========================
|
||||||
# Ansible
|
# Ansible
|
||||||
# =========================
|
# =========================
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue