@sebastienrousseau/dotfiles 0.2.466 β†’ 0.2.469

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/README.md +19 -15
  2. package/dist/Makefile +126 -43
  3. package/dist/bin/backup.js.map +1 -1
  4. package/dist/bin/constants.d.ts +2 -2
  5. package/dist/bin/constants.d.ts.map +1 -1
  6. package/dist/bin/constants.js +1 -1
  7. package/dist/bin/dotfiles.d.ts +2 -2
  8. package/dist/bin/dotfiles.d.ts.map +1 -1
  9. package/dist/bin/dotfiles.js +1 -2
  10. package/dist/bin/dotfiles.js.map +1 -1
  11. package/dist/bin/download.d.ts +2 -2
  12. package/dist/bin/download.d.ts.map +1 -1
  13. package/dist/bin/download.js +1 -2
  14. package/dist/bin/download.js.map +1 -1
  15. package/dist/bin/index.js +1 -1
  16. package/dist/bin/index.js.map +1 -1
  17. package/dist/filesizes.txt +161 -161
  18. package/dist/lib/README.md +83 -5
  19. package/dist/lib/aliases/README.md +49 -43
  20. package/dist/lib/aliases/archives/README.md +126 -37
  21. package/dist/lib/aliases/archives/archives.aliases.sh +112 -152
  22. package/dist/lib/aliases/cd/README.md +138 -55
  23. package/dist/lib/aliases/cd/cd.aliases.sh +45 -33
  24. package/dist/lib/aliases/chmod/README.md +151 -96
  25. package/dist/lib/aliases/chmod/chmod.aliases.sh +103 -69
  26. package/dist/lib/aliases/clear/README.md +8 -4
  27. package/dist/lib/aliases/clear/clear.aliases.sh +57 -28
  28. package/dist/lib/aliases/configuration/README.md +8 -4
  29. package/dist/lib/aliases/configuration/configuration.aliases.sh +53 -30
  30. package/dist/lib/aliases/default/README.md +8 -4
  31. package/dist/lib/aliases/default/default.aliases.sh +99 -86
  32. package/dist/lib/aliases/dig/README.md +8 -4
  33. package/dist/lib/aliases/dig/dig.aliases.sh +4 -4
  34. package/dist/lib/aliases/disk-usage/README.md +8 -4
  35. package/dist/lib/aliases/disk-usage/du.aliases.sh +2 -2
  36. package/dist/lib/aliases/editor/README.md +8 -4
  37. package/dist/lib/aliases/editor/editor.aliases.sh +4 -4
  38. package/dist/lib/aliases/find/README.md +8 -4
  39. package/dist/lib/aliases/find/find.aliases.sh +4 -4
  40. package/dist/lib/aliases/gcloud/README.md +8 -4
  41. package/dist/lib/aliases/gcloud/gcloud.aliases.sh +4 -4
  42. package/dist/lib/aliases/git/README.md +8 -4
  43. package/dist/lib/aliases/git/git.aliases.sh +3 -3
  44. package/dist/lib/aliases/gnu/README.md +8 -4
  45. package/dist/lib/aliases/gnu/gnucoreutils-aliases.sh +2 -2
  46. package/dist/lib/aliases/heroku/README.md +8 -4
  47. package/dist/lib/aliases/heroku/heroku.aliases.sh +3 -3
  48. package/dist/lib/aliases/interactive/README.md +29 -17
  49. package/dist/lib/aliases/interactive/interactive.aliases.sh +15 -18
  50. package/dist/lib/aliases/list/README.md +118 -25
  51. package/dist/lib/aliases/list/list.aliases.sh +130 -84
  52. package/dist/lib/aliases/macOS/README.md +8 -4
  53. package/dist/lib/aliases/macOS/macos.aliases.sh +3 -3
  54. package/dist/lib/aliases/make/README.md +8 -4
  55. package/dist/lib/aliases/make/make.aliases.sh +3 -3
  56. package/dist/lib/aliases/mkdir/README.md +8 -4
  57. package/dist/lib/aliases/mkdir/mkdir.aliases.sh +3 -3
  58. package/dist/lib/aliases/npm/README.md +8 -4
  59. package/dist/lib/aliases/npm/npm.aliases.sh +3 -3
  60. package/dist/lib/aliases/permission/README.md +8 -4
  61. package/dist/lib/aliases/permission/permission.aliases.sh +3 -3
  62. package/dist/lib/aliases/pnpm/README.md +8 -4
  63. package/dist/lib/aliases/pnpm/pnpm.aliases.sh +3 -3
  64. package/dist/lib/aliases/ps/README.md +8 -4
  65. package/dist/lib/aliases/ps/ps.aliases.sh +3 -3
  66. package/dist/lib/aliases/python/python.aliases.sh +141 -0
  67. package/dist/lib/aliases/rsync/README.md +8 -4
  68. package/dist/lib/aliases/rsync/rsync.aliases.sh +3 -3
  69. package/dist/lib/aliases/rust/README.md +171 -46
  70. package/dist/lib/aliases/rust/rust.aliases.sh +109 -117
  71. package/dist/lib/aliases/subversion/README.md +8 -4
  72. package/dist/lib/aliases/subversion/subversion.aliases.sh +3 -3
  73. package/dist/lib/aliases/sudo/README.md +8 -4
  74. package/dist/lib/aliases/sudo/sudo.aliases.sh +3 -3
  75. package/dist/lib/aliases/tmux/README.md +8 -4
  76. package/dist/lib/aliases/tmux/tmux.aliases.sh +3 -3
  77. package/dist/lib/aliases/update/README.md +8 -4
  78. package/dist/lib/aliases/update/update.aliases.sh +307 -66
  79. package/dist/lib/aliases/uuid/README.md +8 -4
  80. package/dist/lib/aliases/uuid/uuid.aliases.sh +3 -3
  81. package/dist/lib/aliases/wget/README.md +8 -4
  82. package/dist/lib/aliases/wget/wget.aliases.sh +3 -3
  83. package/dist/lib/aliases.sh +42 -12
  84. package/dist/lib/configurations/README.md +8 -4
  85. package/dist/lib/configurations/bash/bashrc +163 -35
  86. package/dist/lib/configurations/curl/curlrc +3 -6
  87. package/dist/lib/configurations/default/color.sh +3 -3
  88. package/dist/lib/configurations/default/constants.sh +4 -4
  89. package/dist/lib/configurations/default/editor.sh +3 -3
  90. package/dist/lib/configurations/default/prompt.sh +20 -11
  91. package/dist/lib/configurations/input/inputrc +3 -3
  92. package/dist/lib/configurations/nano/nanorc +3 -3
  93. package/dist/lib/configurations/profile/profile +3 -3
  94. package/dist/lib/configurations/prompt/prompt.sh +81 -0
  95. package/dist/lib/configurations/tmux/default +3 -3
  96. package/dist/lib/configurations/tmux/display +3 -3
  97. package/dist/lib/configurations/tmux/linux +3 -3
  98. package/dist/lib/configurations/tmux/navigation +3 -3
  99. package/dist/lib/configurations/tmux/panes +3 -3
  100. package/dist/lib/configurations/tmux/theme +4 -4
  101. package/dist/lib/configurations/tmux/tmux +3 -3
  102. package/dist/lib/configurations/vim/vimrc +191 -71
  103. package/dist/lib/configurations/wget/wgetrc +3 -3
  104. package/dist/lib/configurations/zsh/zshrc +11 -12
  105. package/dist/lib/configurations.sh +39 -9
  106. package/dist/lib/functions/README.md +73 -55
  107. package/dist/lib/functions/apihealth.sh +277 -0
  108. package/dist/lib/functions/apilatency.sh +157 -0
  109. package/dist/lib/functions/apiload.sh +165 -0
  110. package/dist/lib/functions/backup.sh +143 -0
  111. package/dist/lib/functions/cdls.sh +52 -6
  112. package/dist/lib/functions/curlheader.sh +66 -10
  113. package/dist/lib/functions/curlstatus.sh +64 -7
  114. package/dist/lib/functions/curltime.sh +56 -14
  115. package/dist/lib/functions/encode64.sh +87 -7
  116. package/dist/lib/functions/environment.sh +65 -25
  117. package/dist/lib/functions/extract.sh +79 -27
  118. package/dist/lib/functions/freespace.sh +55 -9
  119. package/dist/lib/functions/genpwd.sh +93 -29
  120. package/dist/lib/functions/goto.sh +59 -8
  121. package/dist/lib/functions/hexdump.sh +96 -0
  122. package/dist/lib/functions/hiddenfiles.sh +77 -0
  123. package/dist/lib/functions/hostinfo.sh +92 -21
  124. package/dist/lib/functions/hstats.sh +69 -5
  125. package/dist/lib/functions/httpdebug.sh +109 -5
  126. package/dist/lib/functions/kebabcase.sh +61 -0
  127. package/dist/lib/functions/keygen.sh +188 -25
  128. package/dist/lib/functions/last.sh +106 -5
  129. package/dist/lib/functions/logout.sh +114 -6
  130. package/dist/lib/functions/lowercase.sh +49 -17
  131. package/dist/lib/functions/matrix.sh +205 -30
  132. package/dist/lib/functions/mount_read_only.sh +3 -3
  133. package/dist/lib/functions/myproc.sh +3 -3
  134. package/dist/lib/functions/prependpath.sh +3 -3
  135. package/dist/lib/functions/ql.sh +3 -3
  136. package/dist/lib/functions/rd.sh +3 -3
  137. package/dist/lib/functions/remove_disk.sh +3 -3
  138. package/dist/lib/functions/ren.sh +68 -8
  139. package/dist/lib/functions/sentencecase.sh +63 -0
  140. package/dist/lib/functions/showhiddenfiles.sh +3 -3
  141. package/dist/lib/functions/size.sh +6 -5
  142. package/dist/lib/functions/snakecase.sh +61 -0
  143. package/dist/lib/functions/stopwatch.sh +3 -3
  144. package/dist/lib/functions/sysinfo.sh +145 -0
  145. package/dist/lib/functions/titlecase.sh +65 -0
  146. package/dist/lib/functions/uppercase.sh +51 -19
  147. package/dist/lib/functions/view-source.sh +3 -3
  148. package/dist/lib/functions/vscode.sh +3 -3
  149. package/dist/lib/functions/whoisport.sh +3 -3
  150. package/dist/lib/functions/zipf.sh +3 -3
  151. package/dist/lib/functions.sh +41 -10
  152. package/dist/lib/history.sh +68 -83
  153. package/dist/lib/paths/README.md +52 -0
  154. package/dist/lib/paths/custom.paths.sh +40 -0
  155. package/dist/lib/paths/default.paths.sh +37 -0
  156. package/dist/lib/paths.sh +40 -11
  157. package/dist/scripts/backup.sh +3 -3
  158. package/dist/scripts/banner.sh +3 -3
  159. package/dist/scripts/build.sh +3 -3
  160. package/dist/scripts/clean.sh +3 -3
  161. package/dist/scripts/compile.sh +3 -3
  162. package/dist/scripts/copy.sh +3 -3
  163. package/dist/scripts/dotfiles.sh +3 -3
  164. package/dist/scripts/download.sh +3 -3
  165. package/dist/scripts/help.sh +3 -3
  166. package/dist/scripts/ssh.sh +3 -3
  167. package/dist/scripts/unpack.sh +3 -3
  168. package/package.json +10 -9
  169. package/dist/lib/aliases/jekyll/README.md +0 -37
  170. package/dist/lib/aliases/jekyll/jekyll.aliases.sh +0 -54
  171. package/dist/lib/configurations/tmux/vi +0 -9
  172. package/dist/lib/functions/filehead.sh +0 -4
  173. package/dist/lib/functions/hidehiddenfiles.sh +0 -14
  174. package/dist/lib/paths/ant/ant.paths.sh +0 -15
  175. package/dist/lib/paths/default/default.paths.sh +0 -19
  176. package/dist/lib/paths/homebrew/homebrew.paths.sh +0 -27
  177. package/dist/lib/paths/java/java.paths.sh +0 -19
  178. package/dist/lib/paths/maven/maven.paths.sh +0 -18
  179. package/dist/lib/paths/node/node.paths.sh +0 -15
  180. package/dist/lib/paths/nvm/nvm.paths.sh +0 -23
  181. package/dist/lib/paths/pnpm/pnpm.paths.sh +0 -15
  182. package/dist/lib/paths/python/python.paths.sh +0 -36
  183. package/dist/lib/paths/ruby/ruby.paths.sh +0 -25
  184. package/dist/lib/paths/tmux/tmux.paths.sh +0 -12
@@ -1,105 +1,90 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.466) - <https://dotfiles.io>
4
- # Made with β™₯ in London, UK by @wwdseb
5
- # Copyright (c) 2015-2023. All rights reserved
6
- # License: MIT
3
+ ################################################################################
4
+ # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚
7
5
  # Script: history.sh
8
- # Version: 0.2.466
6
+ # Version: 0.2.469
7
+ # Author: Sebastien Rousseau
8
+ # Copyright (c) 2015-2025. All rights reserved
9
+ # Description: Script to manage shell history configuration and display
9
10
  # Website: https://dotfiles.io
11
+ # License: MIT
12
+ ################################################################################
13
+
14
+ # Function: dotfiles_history
15
+ #
16
+ # Description:
17
+ # Manages shell history configuration and display.
18
+ #
19
+ # Options:
20
+ # -c Clears the history file and removes duplicates.
21
+ # -l Lists history events. Accepts arguments similar to `fc` command.
22
+ #
23
+ # Further Reading:
24
+ # Zsh History Documentation: https://www.zsh.org/mla/users/2007/msg00366.html
25
+ # Bash History Builtins Documentation: https://www.gnu.org/software/bash/manual/html_node/Bash-Builtins.html#Bash-Builtins
10
26
 
11
- # History wrapper
12
- function dotfiles_history {
13
- local clear_flag list_flag
14
- zparseopts -E c=clear_flag l=list_flag
27
+ dotfiles_history() {
28
+ local clear_flag="" list_flag=""
29
+
30
+ if [[ -n "${ZSH_VERSION:-}" ]]; then
31
+ zparseopts -E c=clear_flag l=list_flag || true
32
+ else
33
+ clear_flag=$( [[ "$1" == "-c" ]] && echo "1" || echo "" )
34
+ list_flag=$( [[ "$1" == "-l" ]] && echo "1" || echo "" )
35
+ fi
15
36
 
16
37
  if [[ -n ${clear_flag} ]]; then
17
- # If -c flag is provided, clobber the history file and remove duplicates
18
38
  fc -W
19
39
  fc -R
20
- echo "%F{magenta}History file deleted and duplicates removed. Reload the session to see its effects.%f" >&2
40
+ echo "History file deleted and duplicates removed. Reload the session to see its effects." >&2
21
41
  elif [[ -n ${list_flag} ]] || [[ $# -ne 0 ]]; then
22
- # If -l flag is provided or arguments are passed, run as if calling `fc` directly
42
+ local fc_output
23
43
  fc_output=$(builtin fc "$@")
24
44
  printf '%s\n' "$(tput setaf 5)$(tput sgr0)$(tput setaf 2)$(echo "${fc_output//$'\e'/$(tput setaf 2)}" | sed -E "s/^([[:space:]]*[0-9]+)/$(tput setaf 2)\1$(tput sgr0)/")" || true
25
45
  else
26
- # Otherwise, ensure the history file has no duplicates and show all history events starting from 1
27
- fc -W # Remove duplicates from the history file
46
+ fc -W
47
+ local fc_output
28
48
  fc_output=$(builtin fc -li 1)
29
49
  printf '%s\n' "$(tput setaf 5)$(tput sgr0)$(tput setaf 2)$(echo "${fc_output//$'\e'/$(tput setaf 2)}" | sed -E "s/^([[:space:]]*[0-9]+)/$(tput setaf 2)\1$(tput sgr0)/")" || true
30
50
  fi
31
51
  }
32
52
 
33
- # Timestamp format
34
- case "${HIST_STAMPS:-}" in
35
- "mm/dd/yyyy") alias history='dotfiles_history -f' ;;
36
- "dd.mm.yyyy") alias history='dotfiles_history -E' ;;
37
- "yyyy-mm-dd") alias history='dotfiles_history -i' ;;
38
- "") alias history='dotfiles_history' ;;
39
- *) alias history='dotfiles_history -t ${HIST_STAMPS}' ;;
40
- esac
53
+ # Function: configure_history
54
+ #
55
+ # Description:
56
+ # Configures shell history settings and aliases.
57
+ #
58
+ # Further Reading:
59
+ # Zsh Options Documentation: https://zsh.sourceforge.io/Doc/Release/Options.html
60
+ # Bash shopt Documentation: https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html
41
61
 
42
- export HISTFILE="${HOME}/.zsh_history" # History file
43
- export HISTCONTROL="ignoreboth" # Ignore duplicate commands and commands that start with a space
44
- export HISTSIZE="10000" # Number of commands to save in memory
45
- export SAVEHIST="1000" # Number of commands to save on disk
62
+ configure_history() {
63
+ fc -W
46
64
 
47
- if [[ -n "${ZSH_VERSION:-}" ]]; then
48
- # echo "Running shell is zsh"
49
- # Specifying some history options
50
- setopt always_to_end # Move cursor to the end of a completed word.
51
- setopt append_history # Sessions will append their history list to the history file, rather than replace it.
52
- setopt auto_cd # cd to a directory if it's given without a command.
53
- setopt auto_list # Automatically list choices on ambiguous completion.
54
- setopt auto_menu # Show completion menu on a successive tab press.
55
- setopt auto_param_keys # Automatically complements parentheses
56
- setopt auto_param_slash # If completed parameter is a directory, add a trailing slash.
57
- setopt auto_pushd # Automatically push when cd
58
- setopt auto_resume # Resume if you execute the same command name as the suspended process
59
- setopt bang_hist # Perform textual history expansion
60
- setopt complete_in_word # Complete from both ends of a word.
61
- setopt correct # Enable command correction prompts
62
- setopt extended_history # Save each command’s beginning timestamp (in seconds since the epoch) and the duration (in seconds) to the history file.
63
- setopt hist_beep # Beep in ZLE when a widget attempts to access a history entry which isn’t there.
64
- setopt hist_expire_dups_first # Cause the oldest history event that has a duplicate to be lost before losing a unique event from the list.
65
- setopt hist_ignore_space # Remove command lines from the history list when the first character on the line is a space, or when one of the expanded aliases contains a leading space.
66
- setopt hist_no_store # Remove the history (fc -l) command from the history list when invoked.
67
- setopt hist_reduce_blanks # Remove superfluous blanks from each command line being added to the history list.
68
- setopt hist_save_no_dups # When writing out the history file, older commands that duplicate newer ones are omitted.
69
- setopt hist_verify # Whenever the user enters a line with history expansion, don’t execute the line directly; instead, perform history expansion and reload the line into the editing buffer.
70
- setopt list_packed # Display with complementary candidates packed
71
- setopt list_types # Mark the file type in the completion candidate list
72
- setopt pushd_ignore_dups # Don’t push multiple copies of the same directory onto the directory stack.
73
- setopt share_history # Imports new commands from the history file, and also causes the typed commands to be appended to the history file
74
- setopt transient_rprompt # Display the right prompt only when the cursor is on the rightmost column.
65
+ alias h='dotfiles_history'
66
+ alias history='dotfiles_history'
67
+ }
75
68
 
76
- elif [[ -n "${BASH_VERSION}" ]]; then
77
- # echo "Running shell is bash"
78
- # Shopt settings
79
- shopt -s autocd # autocd - automatically cd to a directory when it is the only argument to a command
80
- shopt -s cdspell # cdspell - spell check the path when changing directories.
81
- shopt -s checkhash # checkhash - check hash table for commands before running them.
82
- shopt -s checkjobs # checkjobs - check for stopped jobs after each command and report them to the user.
83
- shopt -s checkwinsize # checkwinsize - check the window size after each command and, if necessary, update the values of LINES and COLUMNS.
84
- shopt -s cmdhist # cmdhist - save multi-line commands as one entry in history.
85
- shopt -s dirspell # dirspell - spell check the path when changing directories.
86
- shopt -s dotglob # dotglob - include dotfiles in globbing.
87
- shopt -s extglob # extglob - extended globbing.
88
- shopt -s globstar # globstar - allow ** to match multiple directories.
89
- shopt -s histappend # histappend - append to the history file, don't overwrite it.
90
- shopt -s histverify # histverify - verify commands from history before executing them.
91
- shopt -s hostcomplete # hostcomplete - complete hostnames when using the ssh command.
92
- shopt -s lithist # lithist - save multi-line commands as one entry in history.
93
- shopt -s huponexit # huponexit - send SIGHUP to jobs when the shell exits.
94
- shopt -s no_empty_cmd_completion # no_empty_cmd_completion - don't complete empty commands.
95
- shopt -s nocaseglob # nocaseglob - case insensitive globbing.
96
- shopt -s nocasematch # nocasematch - case insensitive matching.
97
- shopt -s nullglob # nullglob - if no matches are found, the pattern expands to nothing.
98
- shopt -s progcomp # progcomp - programmable completion.
99
- shopt -s promptvars # promptvars - allow prompt strings to contain shell variables.
100
- shopt -s sourcepath # sourcepath - search the PATH for the directory containing a sourced script before using the current directory.
69
+ # Apply shell-specific configurations
70
+ apply_shell_configurations() {
71
+ if [[ -n "${ZSH_VERSION:-}" ]]; then
72
+ setopt hist_ignore_space hist_no_store hist_reduce_blanks hist_expire_dups_first hist_save_no_dups append_history
73
+ export HISTFILE="${HOME}/.zsh_history"
74
+ export HISTSIZE="10000"
75
+ export SAVEHIST="1000"
76
+ elif [[ -n "${BASH_VERSION}" ]]; then
77
+ export HISTFILE="${HOME}/.bash_history"
78
+ export HISTCONTROL="ignoreboth"
79
+ export HISTSIZE="10000"
80
+ shopt -s histappend histverify nocaseglob dotglob
81
+ else
82
+ echo "Unsupported shell: ${SHELL}" >&2
83
+ exit 1
84
+ fi
85
+ }
101
86
 
102
- else
103
- echo "Unsupported shell: ${SHELL}"
104
- exit 1
105
- fi
87
+ # Main Execution
88
+ # ---------------------------------------------------------
89
+ configure_history
90
+ apply_shell_configurations
@@ -0,0 +1,52 @@
1
+ <img
2
+ src="https://kura.pro/dotfiles/v2/images/logos/dotfiles.svg"
3
+ alt="dotfiles logo"
4
+ width="66"
5
+ align="right"
6
+ />
7
+
8
+ # Dotfiles Path Configuration Scripts
9
+
10
+ Simply designed to fit your shell life 🐚
11
+
12
+ ![Dotfiles banner][banner]
13
+
14
+ This repository includes two scripts designed to manage and customize the system `PATH` variable for enhanced environment configuration. The scripts are organized and detailed below.
15
+
16
+ ## πŸ”‘ Scripts List
17
+
18
+ <!-- markdownlint-disable MD013-->
19
+
20
+ ### Path Configuration
21
+
22
+ | Script | Description | Usage |
23
+ | :---------------- | :----------------------------------------------- | :----------------------------- |
24
+ | `custom.paths.sh` | Configure custom paths for frameworks and tools. | `source custom.paths.sh` |
25
+ | `default.paths.sh`| Set default paths for common system utilities. | `source default.paths.sh` |
26
+
27
+ ### Features
28
+
29
+ #### `custom.paths.sh`
30
+
31
+ - **System Paths:** Adds essential directories like `/usr/local/bin`, `/usr/bin`, etc.
32
+ - **Frameworks & Applications:** Adds paths for frameworks like Apple binaries, TeX Live, Cargo, Go, and Node.js.
33
+ - **Application-Specific Paths:** Configures paths for tools like Topaz Photo AI, Little Snitch, and iTerm.
34
+ - **Deduplication:** Ensures no duplicate entries in the `PATH` variable.
35
+
36
+ #### `default.paths.sh`
37
+
38
+ - **System Paths:** Sets up basic system directories like `/usr/local/bin`, `/usr/local/sbin`, `/usr/bin`, etc.
39
+ - **Homebrew Paths:** Includes paths for Homebrew binaries and sbin.
40
+ - **Ruby Paths:** Adds paths for Ruby binaries and gem directories, checking installation methods.
41
+
42
+ ### Usage
43
+
44
+ | Command | Description |
45
+ | :-------------------------- | :------------------------------ |
46
+ | `source custom.paths.sh` | Apply custom path configuration.|
47
+ | `source default.paths.sh` | Apply default path configuration.|
48
+ | `echo $PATH` | Verify the current `PATH`. |
49
+
50
+ <!-- markdownlint-enable MD013-->
51
+
52
+ [banner]: https://kura.pro/dotfiles/v2/images/titles/title-dotfiles.svg
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.469) - <https://dotfiles.io>
4
+ # Made with β™₯ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
+ # License: MIT
7
+
8
+ ## πŸ…ΏπŸ…°πŸ†ƒπŸ…·πŸ†‚
9
+
10
+ # System paths
11
+ # Adding essential system directories to PATH
12
+ export PATH="/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/sbin:${PATH}"
13
+
14
+ # Frameworks and Applications
15
+ # Add Apple binaries and TeX Live to PATH
16
+ export PATH="/Library/Apple/usr/bin:/Library/TeX/texbin:${PATH}"
17
+
18
+ # Add Cargo binaries to PATH (check version with: cargo --version)
19
+ export PATH="${HOME}/.cargo/bin:${PATH}"
20
+
21
+ # Add Go binaries to PATH (check version with: go version)
22
+ export PATH="${HOME}/go/bin:${PATH}"
23
+
24
+ # Add Node.js global modules binaries to PATH (check version with: node --version)
25
+ export PATH="${HOME}/.node_modules/bin:${PATH}"
26
+
27
+ # Application-specific paths
28
+ export PATH="/Applications/Topaz\ Photo\ AI.app/Contents/Resources/bin:/Applications/Little\ Snitch.app/Contents/Components:/Applications/iTerm.app/Contents/Resources/utilities:${PATH}"
29
+
30
+ # Deduplicate PATH entries
31
+ deduplicate_path() {
32
+ PATH=$(echo "$PATH" | awk -v RS=':' '!seen[$0]++ {ORS=(NR>1?":":"")} {print}')
33
+ export PATH
34
+ }
35
+
36
+ # Call the deduplication function
37
+ PATH=$(echo "$PATH" | awk -v RS=':' '!seen[$0]++ {ORS=(NR>1?":":"")} {print}')
38
+ export PATH
39
+
40
+ deduplicate_path
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.469) - <https://dotfiles.io>
4
+ # Made with β™₯ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
+ # License: MIT
7
+
8
+ ## πŸ…ΏπŸ…°πŸ†ƒπŸ…·πŸ†‚
9
+
10
+ ### Add 'PATH' entries.
11
+
12
+ # System paths
13
+ export PATH=/usr/local/bin:"${PATH}"
14
+ export PATH=/usr/local/sbin:"${PATH}"
15
+ export PATH=/usr/bin:"${PATH}"
16
+ export PATH=/bin:"${PATH}"
17
+ export PATH=/sbin:"${PATH}"
18
+
19
+ # Homebrew paths
20
+ export PATH=/opt/homebrew/bin:"${PATH}"
21
+ export PATH=/opt/homebrew/sbin:"${PATH}"
22
+
23
+ # Ruby paths
24
+
25
+ # Add Ruby homebrew binaries to PATH (check version with: ruby --version)
26
+ if command -v /opt/homebrew/opt/ruby/bin/ruby >/dev/null; then
27
+ export PATH="/opt/homebrew/opt/ruby/bin/:${PATH}"
28
+ elif command -v /usr/bin/ruby >/dev/null; then
29
+ export PATH="/usr/bin/:${PATH}"
30
+ fi
31
+
32
+ # Add Ruby gem binaries to PATH (check version with: gem --version)
33
+ export PATH="${HOME}/.gem/ruby/bin:${PATH}"
34
+
35
+
36
+
37
+
package/dist/lib/paths.sh CHANGED
@@ -1,17 +1,46 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.466) - <https://dotfiles.io>
4
- # Made with β™₯ in London, UK by @wwdseb
5
- # Copyright (c) 2015-2023. All rights reserved
6
- # License: MIT
3
+ ################################################################################
4
+ # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚
7
5
  # Script: paths.sh
8
- # Version: 0.2.466
6
+ # Version: 0.2.469
7
+ # Author: Sebastien Rousseau
8
+ # Copyright (c) 2015-2025. All rights reserved
9
+ # Description: Script to load custom paths
9
10
  # Website: https://dotfiles.io
11
+ # License: MIT
12
+ ################################################################################
13
+
14
+ # Function: load_paths
15
+ #
16
+ # Description:
17
+ # Loads all the paths from the specified directory.
18
+ #
19
+ # Arguments:
20
+ # None
21
+ #
22
+ # Further Reading:
23
+ # ShellCheck Documentation: https://github.com/koalaman/shellcheck
24
+
25
+ load_paths() {
26
+ local paths_dir="${HOME}/.dotfiles/lib/paths"
10
27
 
11
- ## πŸ…ΏπŸ…°πŸ†ƒπŸ…·πŸ†‚
28
+ # Check if the directory exists
29
+ if [[ -d "$paths_dir" ]]; then
30
+ for path_file in "$paths_dir"/*.sh; do
31
+ if [[ -f "$path_file" ]]; then
32
+ # shellcheck source=/dev/null
33
+ source "$path_file" || {
34
+ echo "Error: Failed to source $path_file" >&2
35
+ return 1
36
+ }
37
+ fi
38
+ done
39
+ else
40
+ echo "Warning: Paths directory $paths_dir does not exist." >&2
41
+ fi
42
+ }
12
43
 
13
- # Load custom executable paths.
14
- for file in "${HOME}"/.dotfiles/lib/paths/[!.#]*/*.sh; do
15
- # shellcheck source=/dev/null
16
- . "${file}"
17
- done
44
+ # Main Execution
45
+ # ---------------------------------------------------------
46
+ load_paths
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.466) - <https://dotfiles.io>
4
- # Made with β™₯ in London, UK by @wwdseb
5
- # Copyright (c) 2015-2023. All rights reserved
3
+ # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.469) - <https://dotfiles.io>
4
+ # Made with β™₯ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
6
  # License: MIT
7
7
 
8
8
  ## πŸ†…πŸ…°πŸ†πŸ…ΈπŸ…°πŸ…±πŸ…»πŸ…΄πŸ†‚ - Set Dotfiles variable.
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.466) - <https://dotfiles.io>
4
- # Made with β™₯ in London, UK by @wwdseb
5
- # Copyright (c) 2015-2023. All rights reserved
3
+ # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.469) - <https://dotfiles.io>
4
+ # Made with β™₯ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
6
  # License: MIT
7
7
 
8
8
  ## πŸ…±πŸ…°πŸ…½πŸ…½πŸ…΄πŸ† - Display banner.
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.466) - <https://dotfiles.io>
4
- # Made with β™₯ in London, UK by @wwdseb
5
- # Copyright (c) 2015-2023. All rights reserved
3
+ # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.469) - <https://dotfiles.io>
4
+ # Made with β™₯ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
6
  # License: MIT
7
7
 
8
8
  # shellcheck disable=SC1091
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.466) - <https://dotfiles.io>
4
- # Made with β™₯ in London, UK by @wwdseb
5
- # Copyright (c) 2015-2023. All rights reserved
3
+ # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.469) - <https://dotfiles.io>
4
+ # Made with β™₯ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
6
  # License: MIT
7
7
 
8
8
  ## πŸ…²πŸ…»πŸ…΄πŸ…°πŸ…½ - Clean up.
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.466) - <https://dotfiles.io>
4
- # Made with β™₯ in London, UK by @wwdseb
5
- # Copyright (c) 2015-2023. All rights reserved
3
+ # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.469) - <https://dotfiles.io>
4
+ # Made with β™₯ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
6
  # License: MIT
7
7
 
8
8
  ## πŸ…²πŸ…ΎπŸ…ΌπŸ…ΏπŸ…ΈπŸ…»πŸ…΄ πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ - Compile dotfiles.
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.466) - <https://dotfiles.io>
4
- # Made with β™₯ in London, UK by @wwdseb
5
- # Copyright (c) 2015-2023. All rights reserved
3
+ # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.469) - <https://dotfiles.io>
4
+ # Made with β™₯ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
6
  # License: MIT
7
7
 
8
8
  ## πŸ…²πŸ…ΎπŸ…ΏπŸ†ˆ - Copy the dotfiles on your system.
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.466) - <https://dotfiles.io>
4
- # Made with β™₯ in London, UK by @wwdseb
5
- # Copyright (c) 2015-2023. All rights reserved
3
+ # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.469) - <https://dotfiles.io>
4
+ # Made with β™₯ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
6
  # License: MIT
7
7
 
8
8
  ## πŸ…ΈπŸ…ΌπŸ…ΏπŸ…ΎπŸ†πŸ†ƒπŸ†‚ - Importing constants and functions.
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.466) - <https://dotfiles.io>
4
- # Made with β™₯ in London, UK by @wwdseb
5
- # Copyright (c) 2015-2023. All rights reserved
3
+ # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.469) - <https://dotfiles.io>
4
+ # Made with β™₯ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
6
  # License: MIT
7
7
 
8
8
  ## πŸ†…πŸ…°πŸ†πŸ…ΈπŸ…°πŸ…±πŸ…»πŸ…΄πŸ†‚ - Set Dotfiles variable.
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.466) - <https://dotfiles.io>
4
- # Made with β™₯ in London, UK by @wwdseb
5
- # Copyright (c) 2015-2023. All rights reserved
3
+ # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.469) - <https://dotfiles.io>
4
+ # Made with β™₯ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
6
  # License: MIT
7
7
 
8
8
  ## πŸ†…πŸ…°πŸ†πŸ…ΈπŸ…°πŸ…±πŸ…»πŸ…΄πŸ†‚ - Set Dotfiles variable.
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.466) - <https://dotfiles.io>
4
- # Made with β™₯ in London, UK by @wwdseb
5
- # Copyright (c) 2015-2023. All rights reserved
3
+ # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.469) - <https://dotfiles.io>
4
+ # Made with β™₯ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
6
  # License: MIT
7
7
 
8
8
  ## πŸ†‚πŸ†‚πŸ…· - Generate a new SSH key and add it to the ssh-agent
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.466) - <https://dotfiles.io>
4
- # Made with β™₯ in London, UK by @wwdseb
5
- # Copyright (c) 2015-2023. All rights reserved
3
+ # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.469) - <https://dotfiles.io>
4
+ # Made with β™₯ in London, UK by Sebastien Rousseau
5
+ # Copyright (c) 2015-2025. All rights reserved
6
6
  # License: MIT
7
7
 
8
8
  ## πŸ†…πŸ…°πŸ†πŸ…ΈπŸ…°πŸ…±πŸ…»πŸ…΄πŸ†‚ - Set Dotfiles variable.
package/package.json CHANGED
@@ -26,14 +26,15 @@
26
26
  ],
27
27
  "description": "Dotfiles - A set of macOS / Linux and Windows configuration files - Simply designed to fit your shell life.",
28
28
  "devDependencies": {
29
- "@types/node": "^18.16.1",
30
- "compressing": "^1.9.0",
31
- "filesizes": "^0.1.2",
32
- "fs-extra": "11.1.1",
33
- "husky": "^8.0.3",
29
+ "@types/node": "22.10.2",
30
+ "compressing": "1.10.1",
31
+ "filesizes": "0.1.2",
32
+ "fs-extra": "11.2.0",
33
+ "husky": "9.1.7",
34
34
  "jsmin": "^1.0.1",
35
- "rimraf": "^5.0.0",
36
- "typescript": "^5.0.4"
35
+ "rimraf": "6.0.1",
36
+ "typescript": "5.7.2",
37
+ "winston": "3.17.0"
37
38
  },
38
39
  "directories": {
39
40
  "bin": "./bin",
@@ -41,7 +42,7 @@
41
42
  "scripts": "./scripts"
42
43
  },
43
44
  "engines": {
44
- "node": "^12.20.0 || ^14.13.1 || >=20.0.0"
45
+ "node": "^23.4.0"
45
46
  },
46
47
  "files": [
47
48
  "dist/"
@@ -71,7 +72,7 @@
71
72
  "url": "git@github.com:sebastienrousseau/dotfiles.git"
72
73
  },
73
74
  "types": "./dist/bin/index.d.ts",
74
- "version": "0.2.466",
75
+ "version": "0.2.469",
75
76
  "scripts": {
76
77
  "build": "pnpm run backup && pnpm run copy && pnpm run assemble",
77
78
  "backup": "chmod 755 \"./scripts/backup.sh\" && sh ./scripts/backup.sh backup",
@@ -1,37 +0,0 @@
1
- <!-- markdownlint-disable MD033 MD041 -->
2
-
3
- <img src="https://kura.pro/dotfiles/v2/images/logos/dotfiles.svg"
4
- alt="dotfiles logo" width="261" align="right" />
5
-
6
- <!-- markdownlint-enable MD033 MD041 -->
7
-
8
- # Dotfiles (v0.2.466)
9
-
10
- Simply designed to fit your shell life 🐚
11
-
12
- ![Dotfiles banner][banner]
13
-
14
- ## πŸ…ΉπŸ…΄πŸ…ΊπŸ†ˆπŸ…»πŸ…» πŸ…°πŸ…»πŸ…ΈπŸ…°πŸ†‚πŸ…΄πŸ†‚
15
-
16
- This code provides a set of aliases for
17
- [Jekyll](https://jekyllrb.com/).
18
-
19
- ### 1. Jekyll Core aliases
20
-
21
- #### 1.1 Jekyll development aliases
22
-
23
- - `jkb` Performs a one off build your site to ./_site
24
- - `jkc` Removes all generated files: destination folder, metadata file,
25
- Sass and Jekyll caches
26
- - `jkd` Does a development build of the site to '_site' and runs a local
27
- development server
28
- - `jkl` Does a development build of the site to '_site' and runs a local
29
- development server
30
- - `jko` Open local development server
31
-
32
- #### 1.2 Jekyll release aliases
33
-
34
- - `jkp` Does a production build of the site to '_site' and runs a local
35
- development server
36
-
37
- [banner]: https://kura.pro/dotfiles/v2/images/titles/title-dotfiles.svg
@@ -1,54 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.466) - <https://dotfiles.io>
4
- # Made with β™₯ in London, UK by @wwdseb
5
- # Copyright (c) 2015-2023. All rights reserved
6
- # License: MIT
7
-
8
- # πŸ…ΉπŸ…΄πŸ…ΊπŸ†ˆπŸ…»πŸ…» πŸ…°πŸ…»πŸ…ΈπŸ…°πŸ†‚πŸ…΄πŸ†‚
9
- if command -v jekyll &>/dev/null; then
10
- # Sections:
11
- #
12
- # 1. Jekyll Core aliases.
13
- # 1.1 Jekyll development aliases.
14
- # 1.2 Jekyll release aliases.
15
- #
16
- # Made with β™₯ in London, UK by @wwdseb
17
- # Copyright (c) 2015-2023. All rights reserved
18
- # Licensed under the MIT license
19
- #
20
-
21
- ## ------------------------------------------------------------------
22
- ## 1. Jekyll Core aliases.
23
- ## ------------------------------------------------------------------
24
-
25
- ## ------------------------------------------------------------------
26
- ## 1.1 Jekyll development aliases.
27
- ## ------------------------------------------------------------------
28
-
29
- # jkb: Performs a one off build your site to ./_site.
30
- alias jkb='JEKYLL_ENV=development bundle exec jekyll build'
31
-
32
- # jkc: Removes all generated files: destination folder, metadata file,
33
- # Sass and Jekyll caches.
34
- alias jkc='JEKYLL_ENV=development bundle exec jekyll clean'
35
-
36
- # jkd: Does a development build of the site to '_site' and runs a
37
- # local development server.
38
- alias jkd='JEKYLL_ENV=development bundle exec jekyll serve --watch --trace'
39
-
40
- # jkl: Does a development build of the site to '_site' and runs a
41
- # local development server.
42
- alias jkl='JEKYLL_ENV=development bundle exec jekyll serve --livereload'
43
-
44
- # jko: Open local development server.
45
- alias jko="open http://localhost:4000/"
46
-
47
- ## ------------------------------------------------------------------
48
- ## 1.2 Jekyll release aliases.
49
- ## ------------------------------------------------------------------
50
-
51
- # jkp: Does a production build of the site to '_site' and runs a local
52
- # development server.
53
- alias jkp='JEKYLL_ENV=production bundle exec jekyll serve --watch --trace'
54
- fi
@@ -1,9 +0,0 @@
1
- # πŸ…³πŸ…ΎπŸ†ƒπŸ…΅πŸ…ΈπŸ…»πŸ…΄πŸ†‚ (v0.2.466) - <https://dotfiles.io>
2
-
3
- # Made with β™₯ in London, UK by @wwdseb
4
-
5
- # Copyright (c) 2015-2023. All rights reserved
6
-
7
- # License: MIT
8
-
9
- ## πŸ†…πŸ…Έ