@sebastienrousseau/dotfiles 0.2.469 → 0.2.499

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 (221) hide show
  1. package/docs/ARCHITECTURE.md +62 -0
  2. package/docs/COMPLIANCE.md +47 -0
  3. package/docs/COPYRIGHT +6 -0
  4. package/docs/OPERATIONS.md +103 -0
  5. package/docs/PLAN.md +161 -0
  6. package/docs/PR_DESCRIPTION.md +150 -0
  7. package/docs/ROADMAP.md +148 -0
  8. package/docs/ROADMAP_legacy.md +556 -0
  9. package/docs/SECURITY_CHECKLIST.md +25 -0
  10. package/docs/TASK.md +99 -0
  11. package/docs/WALKTHROUGH.md +46 -0
  12. package/package.json +64 -76
  13. package/scripts/backup.sh +142 -0
  14. package/{dist/scripts → scripts}/banner.sh +1 -1
  15. package/scripts/benchmark.sh +20 -0
  16. package/{dist/scripts → scripts}/build.sh +1 -1
  17. package/{dist/scripts → scripts}/clean.sh +1 -1
  18. package/{dist/scripts → scripts}/compile.sh +1 -1
  19. package/{dist/scripts → scripts}/copy.sh +1 -1
  20. package/scripts/detect-collisions.py +84 -0
  21. package/scripts/doctor.sh +79 -0
  22. package/{dist/scripts → scripts}/dotfiles.sh +1 -1
  23. package/{dist/scripts → scripts}/download.sh +1 -1
  24. package/{dist/scripts → scripts}/help.sh +1 -1
  25. package/scripts/lock-configs.sh +57 -0
  26. package/scripts/package.sh +46 -0
  27. package/{dist/scripts → scripts}/ssh.sh +1 -1
  28. package/scripts/teleport.sh +23 -0
  29. package/scripts/test-aliases.sh +25 -0
  30. package/scripts/test_smoke.sh +88 -0
  31. package/{dist/scripts → scripts}/unpack.sh +1 -1
  32. package/scripts/verify_state.sh +60 -0
  33. package/templates/projects/go/README.md +3 -0
  34. package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +7 -0
  35. package/templates/projects/go/go.mod +3 -0
  36. package/templates/projects/node/README.md +3 -0
  37. package/templates/projects/node/package.json +10 -0
  38. package/templates/projects/node/src/index.js +2 -0
  39. package/templates/projects/python/README.md +3 -0
  40. package/templates/projects/python/pyproject.toml +10 -0
  41. package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
  42. package/templates/projects/python/tests/test_basic.py +2 -0
  43. package/LICENSE +0 -1283
  44. package/README.md +0 -398
  45. package/dist/Makefile +0 -140
  46. package/dist/bin/backup.d.ts +0 -3
  47. package/dist/bin/backup.d.ts.map +0 -1
  48. package/dist/bin/backup.js +0 -4
  49. package/dist/bin/backup.js.map +0 -1
  50. package/dist/bin/constants.d.ts +0 -7
  51. package/dist/bin/constants.d.ts.map +0 -1
  52. package/dist/bin/constants.js +0 -2
  53. package/dist/bin/constants.js.map +0 -1
  54. package/dist/bin/copy.d.ts +0 -3
  55. package/dist/bin/copy.d.ts.map +0 -1
  56. package/dist/bin/copy.js +0 -3
  57. package/dist/bin/copy.js.map +0 -1
  58. package/dist/bin/dotfiles.d.ts +0 -3
  59. package/dist/bin/dotfiles.d.ts.map +0 -1
  60. package/dist/bin/dotfiles.js +0 -2
  61. package/dist/bin/dotfiles.js.map +0 -1
  62. package/dist/bin/download.d.ts +0 -3
  63. package/dist/bin/download.d.ts.map +0 -1
  64. package/dist/bin/download.js +0 -2
  65. package/dist/bin/download.js.map +0 -1
  66. package/dist/bin/index.d.ts +0 -2
  67. package/dist/bin/index.d.ts.map +0 -1
  68. package/dist/bin/index.js +0 -1
  69. package/dist/bin/index.js.map +0 -1
  70. package/dist/bin/transfer.d.ts +0 -3
  71. package/dist/bin/transfer.d.ts.map +0 -1
  72. package/dist/bin/transfer.js +0 -4
  73. package/dist/bin/transfer.js.map +0 -1
  74. package/dist/bin/unpack.d.ts +0 -3
  75. package/dist/bin/unpack.d.ts.map +0 -1
  76. package/dist/bin/unpack.js +0 -3
  77. package/dist/bin/unpack.js.map +0 -1
  78. package/dist/filesizes.txt +0 -382
  79. package/dist/lib/README.md +0 -86
  80. package/dist/lib/aliases/README.md +0 -57
  81. package/dist/lib/aliases/archives/README.md +0 -145
  82. package/dist/lib/aliases/archives/archives.aliases.sh +0 -114
  83. package/dist/lib/aliases/cd/README.md +0 -146
  84. package/dist/lib/aliases/cd/cd.aliases.sh +0 -51
  85. package/dist/lib/aliases/chmod/README.md +0 -160
  86. package/dist/lib/aliases/chmod/chmod.aliases.sh +0 -107
  87. package/dist/lib/aliases/clear/README.md +0 -37
  88. package/dist/lib/aliases/clear/clear.aliases.sh +0 -71
  89. package/dist/lib/aliases/configuration/README.md +0 -39
  90. package/dist/lib/aliases/configuration/configuration.aliases.sh +0 -70
  91. package/dist/lib/aliases/default/README.md +0 -40
  92. package/dist/lib/aliases/default/default.aliases.sh +0 -139
  93. package/dist/lib/aliases/dig/README.md +0 -37
  94. package/dist/lib/aliases/dig/dig.aliases.sh +0 -43
  95. package/dist/lib/aliases/disk-usage/README.md +0 -36
  96. package/dist/lib/aliases/disk-usage/du.aliases.sh +0 -84
  97. package/dist/lib/aliases/editor/README.md +0 -53
  98. package/dist/lib/aliases/editor/editor.aliases.sh +0 -26
  99. package/dist/lib/aliases/find/README.md +0 -46
  100. package/dist/lib/aliases/find/find.aliases.sh +0 -60
  101. package/dist/lib/aliases/gcloud/README.md +0 -63
  102. package/dist/lib/aliases/gcloud/gcloud.aliases.sh +0 -335
  103. package/dist/lib/aliases/git/README.md +0 -153
  104. package/dist/lib/aliases/git/git.aliases.sh +0 -544
  105. package/dist/lib/aliases/gnu/README.md +0 -89
  106. package/dist/lib/aliases/gnu/gnucoreutils-aliases.sh +0 -150
  107. package/dist/lib/aliases/heroku/README.md +0 -430
  108. package/dist/lib/aliases/heroku/heroku.aliases.sh +0 -1053
  109. package/dist/lib/aliases/interactive/README.md +0 -55
  110. package/dist/lib/aliases/interactive/interactive.aliases.sh +0 -50
  111. package/dist/lib/aliases/list/README.md +0 -131
  112. package/dist/lib/aliases/list/list.aliases.sh +0 -132
  113. package/dist/lib/aliases/macOS/README.md +0 -42
  114. package/dist/lib/aliases/macOS/macos.aliases.sh +0 -65
  115. package/dist/lib/aliases/make/README.md +0 -32
  116. package/dist/lib/aliases/make/make.aliases.sh +0 -35
  117. package/dist/lib/aliases/mkdir/README.md +0 -30
  118. package/dist/lib/aliases/mkdir/mkdir.aliases.sh +0 -29
  119. package/dist/lib/aliases/npm/README.md +0 -41
  120. package/dist/lib/aliases/npm/npm.aliases.sh +0 -61
  121. package/dist/lib/aliases/permission/README.md +0 -47
  122. package/dist/lib/aliases/permission/permission.aliases.sh +0 -73
  123. package/dist/lib/aliases/pnpm/README.md +0 -53
  124. package/dist/lib/aliases/pnpm/pnpm.aliases.sh +0 -76
  125. package/dist/lib/aliases/ps/README.md +0 -29
  126. package/dist/lib/aliases/ps/ps.aliases.sh +0 -20
  127. package/dist/lib/aliases/python/python.aliases.sh +0 -141
  128. package/dist/lib/aliases/rsync/README.md +0 -25
  129. package/dist/lib/aliases/rsync/rsync.aliases.sh +0 -17
  130. package/dist/lib/aliases/rust/README.md +0 -182
  131. package/dist/lib/aliases/rust/rust.aliases.sh +0 -119
  132. package/dist/lib/aliases/subversion/README.md +0 -66
  133. package/dist/lib/aliases/subversion/subversion.aliases.sh +0 -47
  134. package/dist/lib/aliases/sudo/README.md +0 -27
  135. package/dist/lib/aliases/sudo/sudo.aliases.sh +0 -20
  136. package/dist/lib/aliases/tmux/README.md +0 -31
  137. package/dist/lib/aliases/tmux/tmux.aliases.sh +0 -36
  138. package/dist/lib/aliases/update/README.md +0 -38
  139. package/dist/lib/aliases/update/update.aliases.sh +0 -310
  140. package/dist/lib/aliases/uuid/README.md +0 -24
  141. package/dist/lib/aliases/uuid/uuid.aliases.sh +0 -19
  142. package/dist/lib/aliases/wget/README.md +0 -27
  143. package/dist/lib/aliases/wget/wget.aliases.sh +0 -22
  144. package/dist/lib/aliases.sh +0 -50
  145. package/dist/lib/configurations/README.md +0 -18
  146. package/dist/lib/configurations/bash/bashrc +0 -167
  147. package/dist/lib/configurations/curl/cacert.pem +0 -3460
  148. package/dist/lib/configurations/curl/curlrc +0 -53
  149. package/dist/lib/configurations/default/color.sh +0 -24
  150. package/dist/lib/configurations/default/constants.sh +0 -43
  151. package/dist/lib/configurations/default/editor.sh +0 -18
  152. package/dist/lib/configurations/default/prompt.sh +0 -48
  153. package/dist/lib/configurations/gem/gemrc +0 -9
  154. package/dist/lib/configurations/input/inputrc +0 -23
  155. package/dist/lib/configurations/jshint/jshintrc +0 -37
  156. package/dist/lib/configurations/nano/nanorc +0 -35
  157. package/dist/lib/configurations/profile/profile +0 -37
  158. package/dist/lib/configurations/prompt/prompt.sh +0 -81
  159. package/dist/lib/configurations/tmux/default +0 -18
  160. package/dist/lib/configurations/tmux/display +0 -30
  161. package/dist/lib/configurations/tmux/linux +0 -18
  162. package/dist/lib/configurations/tmux/navigation +0 -30
  163. package/dist/lib/configurations/tmux/panes +0 -10
  164. package/dist/lib/configurations/tmux/theme +0 -29
  165. package/dist/lib/configurations/tmux/tmux +0 -21
  166. package/dist/lib/configurations/vim/vimrc +0 -193
  167. package/dist/lib/configurations/wget/wgetrc +0 -40
  168. package/dist/lib/configurations/zsh/zshrc +0 -50
  169. package/dist/lib/configurations.sh +0 -45
  170. package/dist/lib/functions/README.md +0 -92
  171. package/dist/lib/functions/apihealth.sh +0 -277
  172. package/dist/lib/functions/apilatency.sh +0 -157
  173. package/dist/lib/functions/apiload.sh +0 -165
  174. package/dist/lib/functions/backup.sh +0 -143
  175. package/dist/lib/functions/cdls.sh +0 -60
  176. package/dist/lib/functions/curlheader.sh +0 -78
  177. package/dist/lib/functions/curlstatus.sh +0 -74
  178. package/dist/lib/functions/curltime.sh +0 -75
  179. package/dist/lib/functions/encode64.sh +0 -107
  180. package/dist/lib/functions/environment.sh +0 -78
  181. package/dist/lib/functions/extract.sh +0 -86
  182. package/dist/lib/functions/freespace.sh +0 -67
  183. package/dist/lib/functions/genpwd.sh +0 -105
  184. package/dist/lib/functions/goto.sh +0 -67
  185. package/dist/lib/functions/hexdump.sh +0 -96
  186. package/dist/lib/functions/hiddenfiles.sh +0 -77
  187. package/dist/lib/functions/hostinfo.sh +0 -98
  188. package/dist/lib/functions/hstats.sh +0 -75
  189. package/dist/lib/functions/httpdebug.sh +0 -113
  190. package/dist/lib/functions/kebabcase.sh +0 -61
  191. package/dist/lib/functions/keygen.sh +0 -194
  192. package/dist/lib/functions/last.sh +0 -112
  193. package/dist/lib/functions/logout.sh +0 -120
  194. package/dist/lib/functions/lowercase.sh +0 -61
  195. package/dist/lib/functions/matrix.sh +0 -216
  196. package/dist/lib/functions/mount_read_only.sh +0 -11
  197. package/dist/lib/functions/myproc.sh +0 -9
  198. package/dist/lib/functions/prependpath.sh +0 -21
  199. package/dist/lib/functions/ql.sh +0 -9
  200. package/dist/lib/functions/rd.sh +0 -17
  201. package/dist/lib/functions/remove_disk.sh +0 -11
  202. package/dist/lib/functions/ren.sh +0 -73
  203. package/dist/lib/functions/sentencecase.sh +0 -63
  204. package/dist/lib/functions/showhiddenfiles.sh +0 -14
  205. package/dist/lib/functions/size.sh +0 -16
  206. package/dist/lib/functions/snakecase.sh +0 -61
  207. package/dist/lib/functions/stopwatch.sh +0 -15
  208. package/dist/lib/functions/sysinfo.sh +0 -145
  209. package/dist/lib/functions/titlecase.sh +0 -65
  210. package/dist/lib/functions/uppercase.sh +0 -61
  211. package/dist/lib/functions/view-source.sh +0 -9
  212. package/dist/lib/functions/vscode.sh +0 -32
  213. package/dist/lib/functions/whoisport.sh +0 -14
  214. package/dist/lib/functions/zipf.sh +0 -16
  215. package/dist/lib/functions.sh +0 -46
  216. package/dist/lib/history.sh +0 -90
  217. package/dist/lib/paths/README.md +0 -52
  218. package/dist/lib/paths/custom.paths.sh +0 -40
  219. package/dist/lib/paths/default.paths.sh +0 -37
  220. package/dist/lib/paths.sh +0 -46
  221. package/dist/scripts/backup.sh +0 -95
@@ -1,216 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- ################################################################################
4
- # 🅳🅾🆃🅵🅸🅻🅴🆂 - Matrix Effect Generator (matrix)
5
- # Made with ♥ by Sebastien Rousseau
6
- # License: MIT
7
- #
8
- # Description:
9
- # matrix is a utility function to generate Matrix-style effects in the terminal
10
- # with customizable colors. It supports multiple color themes and a rainbow
11
- # effect option.
12
- #
13
- ################################################################################
14
-
15
- # Define colors
16
- MATRIX_GREEN='\033[38;5;46m' # Green (#00FF00)
17
- MATRIX_PURPLE='\033[38;5;55m' # Purple (#2D1681)
18
- MATRIX_RED='\033[38;5;196m' # Red (#EB0000)
19
- MATRIX_BLUE='\033[38;5;33m' # Blue (#007ACC)
20
- MATRIX_WHITE='\033[38;5;15m' # White (#FFFFFF)
21
- MATRIX_YELLOW='\033[38;5;226m' # Yellow
22
- RESET_COLOR='\033[0m'
23
-
24
- VERSION="1.0.0"
25
-
26
- # Logging functions
27
- log_info() {
28
- echo "[INFO] $*"
29
- }
30
-
31
- log_warning() {
32
- echo "[WARNING] $*" >&2
33
- }
34
-
35
- log_error() {
36
- echo "[ERROR] $*" >&2
37
- exit 1
38
- }
39
-
40
- show_help() {
41
- cat << 'EOH'
42
- 🅳🅾🆃🅵🅸🅻🅴🆂 - Matrix Effect Generator (matrix)
43
-
44
- Description:
45
- Generate Matrix-style effects in the terminal with customizable colors.
46
- Supports multiple color themes and a rainbow effect option.
47
-
48
- Usage:
49
- matrix [options]
50
- matrix --help
51
-
52
- Options:
53
- --color <name> Select color theme:
54
- green - Classic green (default)
55
- purple - Purple (#2D1681)
56
- red - Red (#EB0000)
57
- blue - Blue (#007ACC)
58
- white - White (#FFFFFF)
59
- yellow - Yellow
60
- --rainbow Enable rainbow color effect
61
- --slow Reduce animation speed
62
- --fast Increase animation speed
63
- --help Display this help menu and exit
64
- --version Display version information and exit
65
-
66
- Examples:
67
- matrix
68
- # Classic green Matrix effect
69
-
70
- matrix --color purple
71
- # Purple Matrix effect
72
-
73
- matrix --rainbow
74
- # Rainbow color effect
75
-
76
- matrix --color blue --slow
77
- # Slow blue Matrix effect
78
-
79
- Notes:
80
- - Press Ctrl+C to exit
81
- - Animation speed can be adjusted with --slow or --fast
82
- - Terminal size is automatically detected
83
- - Minimum terminal size required: 20x10
84
- - Colors can be customized by modifying the color variables
85
- EOH
86
- }
87
-
88
- show_version() {
89
- echo "Matrix Effect Generator v${VERSION}"
90
- }
91
-
92
- cleanup() {
93
- printf '\e[?25h' # Show cursor
94
- tput rmcup # Restore screen
95
- tput cnorm # Show cursor
96
- clear
97
- exit 0
98
- }
99
-
100
- matrix() {
101
- # Check for help and version flags before parsing options
102
- if [[ "$1" == "--help" ]]; then
103
- show_help
104
- return 0
105
- elif [[ "$1" == "--version" ]]; then
106
- show_version
107
- return 0
108
- fi
109
-
110
- # Check terminal size
111
- if [[ "${LINES:-0}" -lt 10 || "${COLUMNS:-0}" -lt 20 ]]; then
112
- log_error "Terminal window too small. Minimum size: 20x10"
113
- fi
114
-
115
- # Default settings
116
- local color="$MATRIX_GREEN"
117
- local speed=0.05
118
- local rainbow=false
119
-
120
- # Parse options
121
- while [[ $# -gt 0 ]]; do
122
- case "$1" in
123
- --color)
124
- case "$2" in
125
- green) color="$MATRIX_GREEN" ;;
126
- purple) color="$MATRIX_PURPLE" ;;
127
- red) color="$MATRIX_RED" ;;
128
- blue) color="$MATRIX_BLUE" ;;
129
- white) color="$MATRIX_WHITE" ;;
130
- yellow) color="$MATRIX_YELLOW" ;;
131
- *) log_error "Invalid color: '$2'. Use 'matrix --help' for available colors." ;;
132
- esac
133
- shift 2
134
- ;;
135
- --rainbow)
136
- rainbow=true
137
- shift
138
- ;;
139
- --slow)
140
- speed=0.1
141
- shift
142
- ;;
143
- --fast)
144
- speed=0.02
145
- shift
146
- ;;
147
- --help)
148
- show_help
149
- return 0
150
- ;;
151
- --version)
152
- show_version
153
- return 0
154
- ;;
155
- *)
156
- log_error "Unknown option: '$1'. Use 'matrix --help' for usage information."
157
- ;;
158
- esac
159
- done
160
-
161
- # Save screen state and hide cursor
162
- tput smcup
163
- printf '\e[?25l'
164
- printf '\e[1;40m'
165
- clear
166
-
167
- # Trap cleanup for exit signals
168
- trap cleanup INT TERM EXIT
169
-
170
- if $rainbow; then
171
- # Rainbow effect
172
- while true; do
173
- echo "${LINES:-40} ${COLUMNS:-80} $((RANDOM % COLUMNS)) $((RANDOM % 72))"
174
- sleep "$speed"
175
- done | awk -v reset="$RESET_COLOR" '
176
- {
177
- letters="日ハミヒーウシナミニサワツオリアホテマケメエカキムユラセネスタヌヘ";
178
- c=$4;
179
- if (c <= 0 || c > length(letters)) next;
180
- letter=substr(letters, c, 1);
181
- a[$3] = 0;
182
- for (x in a) {
183
- o = a[x];
184
- a[x] = a[x] + 1;
185
- random_color = "\033[38;5;" int(rand() * 255) "m";
186
- if (o > 0 && x > 0) {
187
- printf "\033[%s;%sH%s%s%s", o, x, random_color, letter, reset;
188
- printf "\033[%s;%sH%s%s%s", a[x], x, reset, letter, reset;
189
- }
190
- if (a[x] >= $1) a[x] = 0;
191
- }
192
- }'
193
- else
194
- # Single color effect
195
- while true; do
196
- echo "${LINES:-40} ${COLUMNS:-80} $((RANDOM % COLUMNS)) $((RANDOM % 72))"
197
- sleep "$speed"
198
- done | awk -v color="$color" -v reset="$RESET_COLOR" '
199
- {
200
- letters="日ハミヒーウシナミニサワツオリアホテマケメエカキムユラセネスタヌヘ";
201
- c=$4;
202
- if (c <= 0 || c > length(letters)) next;
203
- letter=substr(letters, c, 1);
204
- a[$3] = 0;
205
- for (x in a) {
206
- o = a[x];
207
- a[x] = a[x] + 1;
208
- if (o > 0 && x > 0) {
209
- printf "\033[%s;%sH%s%s%s", o, x, color, letter, reset;
210
- printf "\033[%s;%sH%s%s%s", a[x], x, reset, letter, reset;
211
- }
212
- if (a[x] >= $1) a[x] = 0;
213
- }
214
- }'
215
- fi
216
- }
@@ -1,11 +0,0 @@
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
- # mount_read_only: Function to mount a read-only disk image as read-write
9
- mount_read_only() {
10
- hdiutil attach "$1" -shadow /tmp/"$1".shadow -noverify
11
- }
@@ -1,9 +0,0 @@
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
- # myproc: Function to list processes owned by an user
9
- myproc() { ps "$@" -u "${USER}" -o pid,%cpu,%mem,start,time,command; }
@@ -1,21 +0,0 @@
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
- # 1.0 Setting PATH environments.
10
- # ----------------------------------------------------------------------------
11
-
12
- ## ----------------------------------------------------------------------------
13
- ## 1.1 Prepend $PATH without duplicates.
14
- ## ----------------------------------------------------------------------------
15
-
16
- # prependpath: Prepend $PATH without duplicates
17
- prependpath() {
18
- if ! echo "${PATH}" | tr ":" "\n" | grep -qx "$1"; then
19
- PATH="$1:${PATH}"
20
- fi
21
- }
@@ -1,9 +0,0 @@
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
- # ql: Function to open any file in MacOS Quicklook Preview
9
- ql() { qlmanage -p "$*" >&/dev/null; }
@@ -1,17 +0,0 @@
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
- # rd: Function to remove a directory and its files
9
- rd() {
10
- if [[ "$#" != 1 ]]; then
11
- echo "[ERROR] Please add one argument" >&2
12
- return 1
13
- fi
14
- echo "[INFO] The operation completed successfully, directory listing of $1:"
15
- rm -rf "$1" || exit
16
- ls -lh
17
- }
@@ -1,11 +0,0 @@
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
- # remove_disk: spin down unneeded disk
9
- remove_disk() {
10
- diskutil eject "$1"
11
- }
@@ -1,73 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- ################################################################################
4
- # 🅳🅾🆃🅵🅸🅻🅴🆂 - File Extension Renamer (ren)
5
- # Made with ♥ by Sebastien Rousseau
6
- # License: MIT
7
- #
8
- # Description:
9
- # ren is a utility function to rename file extensions in the current directory.
10
- # It supports batch renaming with confirmation.
11
- #
12
- # Usage:
13
- # ren OLD_EXT NEW_EXT
14
- #
15
- # Example:
16
- # ren txt md # Rename all .txt files to .md
17
- #
18
- ################################################################################
19
-
20
- ren() {
21
- # Check if we have both arguments
22
- if [[ $# -ne 2 ]]; then
23
- echo "[ERROR] Usage: ren OLD_EXT NEW_EXT" >&2
24
- return 1
25
- fi
26
-
27
- local old_ext="$1"
28
- local new_ext="$2"
29
- local count=0
30
-
31
- # First check if any matching files exist
32
- for file in *."$old_ext"; do
33
- # Skip if no matches found
34
- [[ -e "$file" ]] || {
35
- echo "[WARNING] No files found with extension .$old_ext"
36
- return 0
37
- }
38
- ((count++))
39
- break
40
- done
41
-
42
- # Show what we're about to do
43
- echo "[INFO] Found files with .$old_ext extension. Converting to .$new_ext"
44
- echo "[INFO] The following files will be renamed:"
45
- for file in *."$old_ext"; do
46
- echo " $file → ${file%."$old_ext"}.$new_ext"
47
- done
48
-
49
- # Ask for confirmation
50
- echo -n "Proceed with rename? [y/N] "
51
- read -r response
52
- if [[ ! "${response}" =~ ^[Yy]$ ]]; then
53
- echo "[INFO] Operation cancelled"
54
- return 0
55
- fi
56
-
57
- # Perform the rename
58
- local success=0
59
- local failed=0
60
- for file in *."$old_ext"; do
61
- if mv "$file" "${file%."$old_ext"}.$new_ext"; then
62
- echo "[SUCCESS] Renamed: $file → ${file%."$old_ext"}.$new_ext"
63
- ((success++))
64
- else
65
- echo "[ERROR] Failed to rename: $file" >&2
66
- ((failed++))
67
- fi
68
- done
69
-
70
- # Show summary
71
- echo "----------------------------------------"
72
- echo "[COMPLETE] Successfully renamed: $success, Failed: $failed"
73
- }
@@ -1,63 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- ################################################################################
4
- # 🅳🅾🆃🅵🅸🅻🅴🆂 - Cross-Platform Sentencecase Utility (sentencecase)
5
- # Made with ♥ by Sebastien Rousseau
6
- # License: MIT
7
- #
8
- # Description:
9
- # sentencecase converts file or directory names to sentence case. It capitalizes
10
- # the first character of the first word, while the rest of the characters are
11
- # lowercased. This is different from title case, as only the very first letter
12
- # is capitalized.
13
- #
14
- # Usage:
15
- # sentencecase <file_or_directory> [<file_or_directory> ...]
16
- #
17
- # Arguments:
18
- # <file_or_directory> One or more file or directory paths to rename
19
- # to sentence case.
20
- #
21
- # Notes:
22
- # - Already sentence case files are skipped.
23
- # - Non-existent paths will produce an error message.
24
- # - Complex scenarios (multiple words, punctuation) are handled by simply
25
- # making all letters lowercase except the first character.
26
- #
27
- ################################################################################
28
-
29
- sentencecase() {
30
- if [[ "$#" -lt 1 ]]; then
31
- echo "[ERROR] Please provide at least one file or directory to convert to sentence case." >&2
32
- return 1
33
- fi
34
-
35
- for file in "$@"; do
36
- if [[ ! -e "$file" ]]; then
37
- echo "[ERROR] The file or directory '$file' does not exist." >&2
38
- continue
39
- fi
40
-
41
- dirname=$(dirname "$file")
42
- filename=$(basename "$file")
43
-
44
- # Convert filename to lowercase
45
- lc_filename=$(printf "%s" "$filename" | tr '[:upper:]' '[:lower:]')
46
-
47
- # Capitalize only the first character
48
- sc_filename="$(printf "%s" "${lc_filename:0:1}" | tr '[:lower:]' '[:upper:]')${lc_filename:1}"
49
-
50
- # If already sentence case, skip
51
- if [[ "$filename" == "$sc_filename" ]]; then
52
- echo "[INFO] '$file' is already in sentence case."
53
- continue
54
- fi
55
-
56
- newname="${dirname}/${sc_filename}"
57
- if mv "$file" "$newname"; then
58
- echo "[INFO] Renamed '$file' to '$newname'."
59
- else
60
- echo "[ERROR] Failed to rename '$file'." >&2
61
- fi
62
- done
63
- }
@@ -1,14 +0,0 @@
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
- # Show hidden system and dotfile files
9
- showhiddenfiles() {
10
- defaults write com.apple.Finder AppleShowAllFiles YES
11
- osascript -e 'tell application "Finder" to quit'
12
- sleep 0.25
13
- osascript -e 'tell application "Finder" to activate'
14
- }
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # 🅳🅾🆃🅵🅸🅻🅴🆂 - size
4
- # Made with ♥ by Sebastien Rousseau
5
- # Copyright (c) 2015-2025. All rights reserved
6
- # License: MIT
7
-
8
- # size: Function to check a file size
9
- size() {
10
- if [[ "$#" != 1 ]]; then
11
- echo "[ERROR] Please add one argument (file or directory)" >&2
12
- return 1
13
- fi
14
-
15
- stat -f '[INFO] Directory total size: %z bytes' "$1"
16
- }
@@ -1,61 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- ################################################################################
4
- # 🅳🅾🆃🅵🅸🅻🅴🆂 - Cross-Platform Snakecase Utility (snakecase)
5
- # Made with ♥ by Sebastien Rousseau
6
- # License: MIT
7
- #
8
- # Description:
9
- # snakecase converts file or directory names to snake_case. All letters
10
- # are lowercase and spaces or other non-alphanumeric characters are replaced
11
- # by underscores.
12
- #
13
- # Usage:
14
- # snakecase <file_or_directory> [<file_or_directory> ...]
15
- #
16
- # Arguments:
17
- # <file_or_directory> One or more file or directory paths to rename
18
- # to snake_case.
19
- #
20
- # Notes:
21
- # - Already snake_case files are skipped.
22
- # - Non-existent paths will produce an error message.
23
- # - Special characters (other than alphanumeric and '.') are replaced
24
- # with underscores.
25
- #
26
- ################################################################################
27
-
28
- snakecase() {
29
- if [[ "$#" -lt 1 ]]; then
30
- echo "[ERROR] Please provide at least one file or directory to convert to snake_case." >&2
31
- return 1
32
- fi
33
-
34
- for file in "$@"; do
35
- if [[ ! -e "$file" ]]; then
36
- echo "[ERROR] The file or directory '$file' does not exist." >&2
37
- continue
38
- fi
39
-
40
- dirname=$(dirname "$file")
41
- filename=$(basename "$file")
42
-
43
- # Convert to lowercase and replace non-alphanumeric chars (except '.') with underscores
44
- sc_filename=$(printf "%s" "$filename" \
45
- | tr '[:upper:]' '[:lower:]' \
46
- | sed 's/[^[:alnum:].]/_/g')
47
-
48
- # If already snake_case, skip
49
- if [[ "$filename" == "$sc_filename" ]]; then
50
- echo "[INFO] '$file' is already in snake_case."
51
- continue
52
- fi
53
-
54
- newname="${dirname}/${sc_filename}"
55
- if mv "$file" "$newname"; then
56
- echo "[INFO] Renamed '$file' to '$newname'."
57
- else
58
- echo "[ERROR] Failed to rename '$file'." >&2
59
- fi
60
- done
61
- }
@@ -1,15 +0,0 @@
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
- # stopwatch: Function for a stopwatch
9
- stopwatch() {
10
- date1=$(gdate +%s)
11
- while true; do
12
- echo -ne "$(gdate -u --date @$(($(date +%s) - date1)) +%H:%M:%S || true)\r"
13
- sleep 0.1
14
- done
15
- }
@@ -1,145 +0,0 @@
1
- #!/usr/bin/env bash
2
- ################################################################################
3
- # 🅳🅾🆃🅵🅸🅻🅴🆂 - sysinfo
4
- # Made with ♥ by Sebastien Rousseau
5
- # License: MIT
6
- #
7
- # sysinfo - A minimal system information script with emoji OS icons.
8
- #
9
- # This script displays basic system information in a style similar to neofetch,
10
- # but simpler. It attempts to detect OS, CPU, GPU, memory, etc.
11
- #
12
- # Usage:
13
- # sysinfo
14
- #
15
- ################################################################################
16
-
17
- #-------------------------------#
18
- # Color Variables #
19
- #-------------------------------#
20
- GREEN='\033[0;32m'
21
- RESET='\033[0m'
22
-
23
- #######################################
24
- # Detect platform and choose an emoji.
25
- #######################################
26
- case "$(uname -s)" in
27
- Darwin)
28
- emoji="🍎"
29
- ;;
30
- Linux)
31
- emoji="🐧"
32
- ;;
33
- CYGWIN*|MINGW*|MSYS*)
34
- emoji="🪟"
35
- ;;
36
- *)
37
- emoji="🖥"
38
- ;;
39
- esac
40
-
41
- hostname=$(hostname)
42
-
43
- #######################################
44
- # Collect system information depending on OS.
45
- #######################################
46
- if [[ "$(uname -s)" = "Darwin" ]]; then
47
- hw_info=$(system_profiler SPHardwareDataType)
48
- disp_info=$(system_profiler SPDisplaysDataType)
49
-
50
- model_name=$(echo "${hw_info}" | awk -F': ' '/Model Name/{print $2}')
51
- model_id=$(echo "${hw_info}" | awk -F': ' '/Model Identifier/{print $2}')
52
- chip=$(echo "${hw_info}" | awk -F': ' '/Chip/{print $2}')
53
- total_cores=$(echo "${hw_info}" | awk -F': ' '/Total Number of Cores/{print $2}')
54
- mem=$(echo "${hw_info}" | awk -F': ' '/Memory/{print $2}')
55
-
56
- os="macOS $(sw_vers -productVersion)"
57
- kernel=$(uname -r)
58
- uptime=$(uptime | sed 's/.*up //' | sed 's/, .*//')
59
- cpu="$chip ($total_cores cores)"
60
- gpu=$(echo "${disp_info}" | awk -F': ' '/Chipset Model/ {print $2; exit}')
61
- resolution=$(echo "${disp_info}" | awk -F': ' '/Resolution/{print $2}' | head -n1)
62
- shell=$(basename "${SHELL}")
63
-
64
- terminal=${TERM_PROGRAM:-"${TERM}"}
65
- memory="${mem}"
66
-
67
- elif [[ "$(uname -s)" = "Linux" ]]; then
68
- # OS
69
- if [ -f /etc/os-release ]; then
70
- os=$(awk -F= '/^PRETTY_NAME/{print $2}' /etc/os-release 2>/dev/null | tr -d \")
71
- else
72
- os=$(uname -s)
73
- fi
74
-
75
- kernel=$(uname -r)
76
- uptime=$(uptime -p | sed 's/up //')
77
- shell=$(basename "${SHELL}")
78
- terminal=${TERM:-"Unknown"}
79
-
80
- # CPU (check if lscpu is available)
81
- if command -v lscpu >/dev/null 2>&1; then
82
- cpu=$(lscpu 2>/dev/null | awk -F': +' '/Model name/ {print $2; exit}')
83
- else
84
- cpu="Unknown CPU"
85
- fi
86
-
87
- # GPU (check if lspci is available)
88
- if command -v lspci >/dev/null 2>&1; then
89
- gpu=$(lspci 2>/dev/null | grep -E "VGA|3D" | sed -E "s/.*: (.*)/\1/" | head -n1)
90
- else
91
- gpu="Unknown GPU"
92
- fi
93
-
94
- # Memory
95
- mem_total_kb=$(grep MemTotal /proc/meminfo 2>/dev/null | awk '{print $2}')
96
- if [ -n "${mem_total_kb:-}" ]; then
97
- memory=$(awk "BEGIN {printf \"%.1fGiB\",$mem_total_kb/1024/1024}")
98
- else
99
- memory="Unknown"
100
- fi
101
-
102
- # Resolution (check if xrandr is available)
103
- if command -v xrandr >/dev/null 2>&1; then
104
- resolution=$(xrandr --current 2>/dev/null | awk '/\*/{print $1; exit}')
105
- else
106
- resolution="Unknown"
107
- fi
108
-
109
- model_name=""
110
- model_id=""
111
-
112
- else
113
- # Fallback
114
- os=$(uname -s)
115
- kernel=$(uname -r)
116
- uptime="Unknown"
117
- cpu="Unknown"
118
- gpu="Unknown"
119
- shell=$(basename "${SHELL}")
120
- terminal=${TERM:-"Unknown"}
121
- memory="Unknown"
122
- resolution="Unknown"
123
- model_name=""
124
- model_id=""
125
- fi
126
-
127
- #######################################
128
- # Print system information.
129
- #######################################
130
- sysinfo() {
131
- printf "%s %s\n" "${emoji}" "${hostname}"
132
- echo "------------------"
133
- echo "${GREEN}OS:${RESET} ${os}"
134
- echo "${GREEN}Kernel:${RESET} ${kernel}"
135
- echo "${GREEN}Uptime:${RESET} ${uptime}"
136
- echo "${GREEN}CPU:${RESET} ${cpu}"
137
- echo "${GREEN}GPU:${RESET} ${gpu}"
138
- echo "${GREEN}Memory:${RESET} ${memory}"
139
- echo "${GREEN}Shell:${RESET} ${shell}"
140
- echo "${GREEN}Terminal:${RESET} ${terminal}"
141
- echo "${GREEN}Resolution:${RESET} ${resolution}"
142
- if [[ -n "${model_name}" ]] && [[ -n "${model_id}" ]]; then
143
- echo "Model: ${model_name} (${model_id})"
144
- fi
145
- }