@quickcall/all-configs 0.0.0-stage → 1.0.0

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 (163) hide show
  1. package/README.md +15 -2
  2. package/bin/all-configs.js +44 -0
  3. package/package.json +20 -4
  4. package/runtime/allconfigs/__init__.py +1 -0
  5. package/runtime/allconfigs/__main__.py +42 -0
  6. package/runtime/allconfigs/__pycache__/__init__.cpython-312.pyc +0 -0
  7. package/runtime/allconfigs/__pycache__/__main__.cpython-312.pyc +0 -0
  8. package/runtime/allconfigs/__pycache__/modules.cpython-312.pyc +0 -0
  9. package/runtime/allconfigs/__pycache__/probe.cpython-312.pyc +0 -0
  10. package/runtime/allconfigs/__pycache__/runner.cpython-312.pyc +0 -0
  11. package/runtime/allconfigs/modules.py +221 -0
  12. package/runtime/allconfigs/probe.py +60 -0
  13. package/runtime/install.sh +74 -0
  14. package/runtime/lib/common.sh +147 -0
  15. package/runtime/lib/uninstall.sh +35 -0
  16. package/runtime/modules/aldente/install.sh +23 -0
  17. package/runtime/modules/aldente/module.toml +11 -0
  18. package/runtime/modules/aliases/aliases.sh +31 -0
  19. package/runtime/modules/aliases/install.sh +36 -0
  20. package/runtime/modules/aliases/module.toml +7 -0
  21. package/runtime/modules/aqua-voice/install.sh +23 -0
  22. package/runtime/modules/aqua-voice/module.toml +11 -0
  23. package/runtime/modules/betterdisplay/install.sh +23 -0
  24. package/runtime/modules/betterdisplay/module.toml +11 -0
  25. package/runtime/modules/bitwarden/install.sh +19 -0
  26. package/runtime/modules/bitwarden/module.toml +11 -0
  27. package/runtime/modules/browsers/install.sh +33 -0
  28. package/runtime/modules/browsers/module.toml +11 -0
  29. package/runtime/modules/bun/install.sh +72 -0
  30. package/runtime/modules/bun/module.toml +7 -0
  31. package/runtime/modules/caveman/install.sh +79 -0
  32. package/runtime/modules/caveman/module.toml +7 -0
  33. package/runtime/modules/claude/install.sh +22 -0
  34. package/runtime/modules/claude/module.toml +7 -0
  35. package/runtime/modules/codex/install.sh +20 -0
  36. package/runtime/modules/codex/module.toml +7 -0
  37. package/runtime/modules/docker/install.sh +19 -0
  38. package/runtime/modules/docker/module.toml +11 -0
  39. package/runtime/modules/external-skills/install.sh +30 -0
  40. package/runtime/modules/external-skills/module.toml +4 -0
  41. package/runtime/modules/ffmpeg/install.sh +13 -0
  42. package/runtime/modules/ffmpeg/module.toml +11 -0
  43. package/runtime/modules/fonts/install.sh +62 -0
  44. package/runtime/modules/fonts/module.toml +8 -0
  45. package/runtime/modules/ghostty/config +44 -0
  46. package/runtime/modules/ghostty/install.sh +64 -0
  47. package/runtime/modules/ghostty/module.toml +9 -0
  48. package/runtime/modules/ghostty/themes/ayu-dark +22 -0
  49. package/runtime/modules/ghostty/themes/catppuccin-frappe +23 -0
  50. package/runtime/modules/ghostty/themes/catppuccin-latte +23 -0
  51. package/runtime/modules/ghostty/themes/catppuccin-latte.conf +23 -0
  52. package/runtime/modules/ghostty/themes/catppuccin-macchiato +23 -0
  53. package/runtime/modules/ghostty/themes/catppuccin-mocha +23 -0
  54. package/runtime/modules/ghostty/themes/visual-studio-light +27 -0
  55. package/runtime/modules/ghostty/themes/vscode-light +24 -0
  56. package/runtime/modules/ghostty/themes/vscode-light-soft +24 -0
  57. package/runtime/modules/ghostty/xterm-ghostty.terminfo +81 -0
  58. package/runtime/modules/github/install.sh +101 -0
  59. package/runtime/modules/github/module.toml +8 -0
  60. package/runtime/modules/hf/install.sh +98 -0
  61. package/runtime/modules/hf/module.toml +7 -0
  62. package/runtime/modules/karabiner/README.md +146 -0
  63. package/runtime/modules/karabiner/agents.md +39 -0
  64. package/runtime/modules/karabiner/app_launchers.json +236 -0
  65. package/runtime/modules/karabiner/custom_delete_mapping.json +13 -0
  66. package/runtime/modules/karabiner/fn_to_control.json +9 -0
  67. package/runtime/modules/karabiner/install.sh +60 -0
  68. package/runtime/modules/karabiner/karabiner.json +866 -0
  69. package/runtime/modules/karabiner/keychron-modifier-swap.sh +80 -0
  70. package/runtime/modules/karabiner/module.toml +8 -0
  71. package/runtime/modules/karabiner/remap_caps_lock_shift_super.json +23 -0
  72. package/runtime/modules/karabiner/remap_escape_to_control.json +49 -0
  73. package/runtime/modules/karabiner/rename_caps_lock_to_super.json +23 -0
  74. package/runtime/modules/karabiner/right_shift_mouse_click.json +44 -0
  75. package/runtime/modules/karabiner/swap_esc_delete.json +10 -0
  76. package/runtime/modules/karabiner/troubleshooting.md +242 -0
  77. package/runtime/modules/karabiner/vim_arrow_keys.json +477 -0
  78. package/runtime/modules/keepingyouawake/install.sh +23 -0
  79. package/runtime/modules/keepingyouawake/module.toml +11 -0
  80. package/runtime/modules/keycastr/install.sh +23 -0
  81. package/runtime/modules/keycastr/module.toml +11 -0
  82. package/runtime/modules/multi-github/install.sh +179 -0
  83. package/runtime/modules/multi-github/module.toml +4 -0
  84. package/runtime/modules/ncdu/install.sh +13 -0
  85. package/runtime/modules/ncdu/module.toml +11 -0
  86. package/runtime/modules/node/install.sh +73 -0
  87. package/runtime/modules/node/module.toml +11 -0
  88. package/runtime/modules/nvim/.neoconf.json +15 -0
  89. package/runtime/modules/nvim/init.lua +2 -0
  90. package/runtime/modules/nvim/install.sh +142 -0
  91. package/runtime/modules/nvim/lazy-lock.json +35 -0
  92. package/runtime/modules/nvim/lazyvim.json +10 -0
  93. package/runtime/modules/nvim/lua/config/autocmds.lua +18 -0
  94. package/runtime/modules/nvim/lua/config/keymaps.lua +10 -0
  95. package/runtime/modules/nvim/lua/config/lazy.lua +53 -0
  96. package/runtime/modules/nvim/lua/config/options.lua +3 -0
  97. package/runtime/modules/nvim/lua/plugins/image.lua +9 -0
  98. package/runtime/modules/nvim/lua/plugins/markdown.lua +56 -0
  99. package/runtime/modules/nvim/lua/plugins/noice.lua +17 -0
  100. package/runtime/modules/nvim/lua/plugins/rose-pine.lua +16 -0
  101. package/runtime/modules/nvim/lua/plugins/snacks.lua +20 -0
  102. package/runtime/modules/nvim/module.toml +8 -0
  103. package/runtime/modules/nvim/stylua.toml +3 -0
  104. package/runtime/modules/p10k/install.sh +46 -0
  105. package/runtime/modules/p10k/module.toml +8 -0
  106. package/runtime/modules/p10k/p10k.zsh +1711 -0
  107. package/runtime/modules/pi/install.sh +77 -0
  108. package/runtime/modules/pi/module.toml +8 -0
  109. package/runtime/modules/pi/packages +5 -0
  110. package/runtime/modules/pi/settings.json +21 -0
  111. package/runtime/modules/presentify/install.sh +25 -0
  112. package/runtime/modules/presentify/module.toml +7 -0
  113. package/runtime/modules/rectangle/RectangleConfig.json +353 -0
  114. package/runtime/modules/rectangle/install.sh +64 -0
  115. package/runtime/modules/rectangle/module.toml +11 -0
  116. package/runtime/modules/shortcat/install.sh +19 -0
  117. package/runtime/modules/shortcat/module.toml +11 -0
  118. package/runtime/modules/skills/install.sh +25 -0
  119. package/runtime/modules/skills/module.toml +4 -0
  120. package/runtime/modules/skills/skills-lock.json +35 -0
  121. package/runtime/modules/slack/install.sh +23 -0
  122. package/runtime/modules/slack/module.toml +11 -0
  123. package/runtime/modules/spotify/install.sh +23 -0
  124. package/runtime/modules/spotify/module.toml +11 -0
  125. package/runtime/modules/ssh-keygen/install.sh +130 -0
  126. package/runtime/modules/ssh-keygen/module.toml +4 -0
  127. package/runtime/modules/statusline/install.sh +69 -0
  128. package/runtime/modules/statusline/module.toml +7 -0
  129. package/runtime/modules/statusline/statusline.sh +168 -0
  130. package/runtime/modules/statusline/turn-counter.sh +11 -0
  131. package/runtime/modules/superfile/cheatsheet.md +127 -0
  132. package/runtime/modules/superfile/config.toml +181 -0
  133. package/runtime/modules/superfile/hotkeys.toml +96 -0
  134. package/runtime/modules/superfile/install.sh +73 -0
  135. package/runtime/modules/superfile/module.toml +7 -0
  136. package/runtime/modules/tailscale/install.sh +29 -0
  137. package/runtime/modules/tailscale/module.toml +11 -0
  138. package/runtime/modules/tinycast/install.sh +68 -0
  139. package/runtime/modules/tinycast/module.toml +7 -0
  140. package/runtime/modules/tinycast/settings.json +226 -0
  141. package/runtime/modules/tmux/.tmux.conf.local +168 -0
  142. package/runtime/modules/tmux/README.md +50 -0
  143. package/runtime/modules/tmux/install.sh +57 -0
  144. package/runtime/modules/tmux/installer.mjs +191 -0
  145. package/runtime/modules/tmux/module.toml +8 -0
  146. package/runtime/modules/tmux/shell-helpers.sh +20 -0
  147. package/runtime/modules/tmux/uninstall.sh +134 -0
  148. package/runtime/modules/uv/install.sh +72 -0
  149. package/runtime/modules/uv/module.toml +7 -0
  150. package/runtime/modules/vlc/install.sh +23 -0
  151. package/runtime/modules/vlc/module.toml +11 -0
  152. package/runtime/modules/vscode/install.sh +33 -0
  153. package/runtime/modules/vscode/keybindings.json +74 -0
  154. package/runtime/modules/vscode/module.toml +8 -0
  155. package/runtime/modules/vscode/settings.json +426 -0
  156. package/runtime/modules/vscode/tasks.json +1 -0
  157. package/runtime/modules/yt-dlp/install.sh +13 -0
  158. package/runtime/modules/yt-dlp/module.toml +11 -0
  159. package/runtime/modules/zed/install.sh +43 -0
  160. package/runtime/modules/zed/module.toml +8 -0
  161. package/runtime/modules/zed/settings.json +208 -0
  162. package/runtime/modules/zoxide/install.sh +41 -0
  163. package/runtime/modules/zoxide/module.toml +11 -0
@@ -0,0 +1,181 @@
1
+ ##############################################
2
+ # #
3
+ # Superfile Configuration #
4
+ # #
5
+ ##############################################
6
+
7
+ # This contains the root config file for superfile! More details can be found at
8
+ # https://superfile.dev/configure/superfile-config/.
9
+
10
+ ###############################################################################
11
+ # Defaults #
12
+ ###############################################################################
13
+
14
+ #-- File Editor
15
+ # Default: $EDITOR
16
+ editor = ""
17
+
18
+ #-- Directory Editor
19
+ #
20
+ dir_editor = ""
21
+
22
+ #-- Auto check for update
23
+ auto_check_update = true
24
+
25
+ #-- cd on quit
26
+ # Should we cd the shell to the last directory open in superfile when the
27
+ # program exits?
28
+ cd_on_quit = false
29
+
30
+ #-- File Preview
31
+ # Should we open a file preview by default whenever selection-hovering over a
32
+ # file?
33
+ default_open_file_preview = true
34
+
35
+ #-- Image Preview
36
+ # Should we open an image preview by default whenever selection-hovering over an
37
+ # image?
38
+ show_image_preview = true
39
+
40
+ #-- File Info Footer
41
+ # Should we display a footer in the file panel that provides more file information?
42
+ show_panel_footer_info = true
43
+
44
+ #-- Default Directory
45
+ # The initial path that the file panel should navigate to when superfile is
46
+ # opened. This setting understands relative paths such as ".", "..", etc.
47
+ default_directory = "."
48
+
49
+ #-- File Size Units
50
+ # true: SI decimal units of 1000 (kB, MB, GB).
51
+ # false: IEC binary units of 1024 (KiB, MiB, GiB).
52
+ file_size_use_si = false
53
+
54
+ #-- Default File Sort Type
55
+ # (0: Name, 1: Size, 2: Date Modified, 3: Type, 4: Natural).
56
+ # Natural sort treats numeric sequences as numbers (e.g., file2 before file10).
57
+ default_sort_type = 3
58
+
59
+ #-- Sort Order Reversing
60
+ # true: Descending.
61
+ # false: Ascending.
62
+ sort_order_reversed = false
63
+
64
+ #-- Case-Sensitive Sorting
65
+ # An uppercase "B" comes before a lowercase "a" if true.
66
+ case_sensitive_sort = false
67
+
68
+ #-- Exit Shell on Success
69
+ # Whether to exit the shell on successful command execution.
70
+ shell_close_on_success = false
71
+
72
+ #-- Page Scroll Size
73
+ # Number of lines to scroll for PgUp/PgDown keys (0: full page, default behavior).
74
+ page_scroll_size = 0
75
+
76
+ #-- Debug Mode
77
+ debug = false
78
+
79
+ #-- Ignore Missing Config Fields
80
+ # Whether to silence any warnings about missing config fields.
81
+ ignore_missing_fields = false
82
+
83
+ #-- File Panel Extra Columns Count
84
+ # Count of extra columns in file panel in addition to file name. When option equal 0 then feature is disabled.
85
+ file_panel_extra_columns = 0
86
+
87
+ #-- File name width in File Panel
88
+ # Percentage of file panel width allocated to file names (25-100). Higher values give more space to names, less to extra columns.
89
+ file_panel_name_percent = 40
90
+
91
+
92
+ ###############################################################################
93
+ # Styling #
94
+ ###############################################################################
95
+
96
+ #-- Theme
97
+ # Put your theme's name here!
98
+ theme = "catppuccin-mocha"
99
+
100
+ #-- Code Previewer
101
+ # Whether to use the builtin syntax highlighting with chroma or use bat. Values: "" for builtin chroma, "bat" for bat
102
+ code_previewer = "bat"
103
+
104
+ #-- Nerd Fonts Support
105
+ # Whether to enable support for Nerd Fonts symbols.
106
+ # Requires: Font patched with the Nerd Fonts patch.
107
+ nerdfont = true
108
+
109
+ #-- Show checkbox icons in select mode
110
+ # Requires: nerdfont = true
111
+ show_select_icons = true
112
+
113
+ #-- Transparent Background Support
114
+ # Set to true to enable background transparency.
115
+ # Requires: terminal support for colour transparency
116
+ transparent_background = false
117
+
118
+ #-- File Preview Panel Width
119
+ # Width of the file preview panel will be 1/n of the total width.
120
+ # Values recommended to be in 2–10.
121
+ # Default (0): Use the same width as file picker panel.
122
+ file_preview_width = 0
123
+
124
+ #-- File Preview Border
125
+ # Enable border around the file preview panel for better visual separation.
126
+ # Default: false (no border)
127
+ enable_file_preview_border = false
128
+
129
+ #-- Sidebar Width
130
+ # If you don't want to display the sidebar, you can input 0 directly.
131
+ # Values recommended to be in 5–20.
132
+ sidebar_width = 20
133
+
134
+ #-- Sidebar Section Order
135
+ # Order of sidebar sections (valid values: "home", "pinned", "disks")
136
+ # Only enabled sections will be displayed
137
+ sidebar_sections = ["home", "pinned", "disks"]
138
+
139
+ #-- Border
140
+ # Make sure to add strings that are exactly one character wide!
141
+ # Use ' ' for borderless.
142
+ border_top = '─'
143
+ border_bottom = '─'
144
+ border_left = '│'
145
+ border_right = '│'
146
+ border_top_left = '╭'
147
+ border_top_right = '╮'
148
+ border_bottom_left = '╰'
149
+ border_bottom_right = '╯'
150
+ border_middle_left = '├'
151
+ border_middle_right = '┤'
152
+
153
+ ###############################################################################
154
+ # Plugins #
155
+ ###############################################################################
156
+
157
+ # This section is for using plugins with superfile, external addons that extend
158
+ # the default capabilities of the program! More info can be found at
159
+ # https://superfile.dev/list/plugin-list/.
160
+
161
+ #-- Detailed Metadata
162
+ # Requires: exiftool
163
+ metadata = false
164
+
165
+ #-- MD5 Checksum Generation
166
+ # Requires: md5sum
167
+ enable_md5_checksum = false
168
+ #
169
+ #-- Zoxide Support - Smart directory navigation!
170
+ # Requires: zoxide
171
+ zoxide_support = true
172
+
173
+ #-- File opening rules
174
+ # Map file extensions to commands used to open them.
175
+ # The file path will be appended as the last argument.
176
+ # MUST BE IN THE VERY END OF THE FILE BECAUSE TOML CANNOT CLOSE TABLES
177
+ # Example:
178
+ # png = "feh"
179
+ # pdf = "zathura"
180
+ # conf = "nvim"
181
+ [open_with]
@@ -0,0 +1,96 @@
1
+ ##############################################
2
+ # #
3
+ # Superfile Configuration #
4
+ # #
5
+ ##############################################
6
+
7
+ # This contains the hotkey config file for superfile! More details can be found at
8
+ # https://superfile.dev/configure/custom-hotkeys/.
9
+
10
+ ###############################################################################
11
+ # Global hotkeys #
12
+ ###############################################################################
13
+
14
+ # Note: These hotkeys should be unique.
15
+
16
+ #-- Basic Actions
17
+ confirm = ['enter', 'right', 'l']
18
+ cd_quit = ['Q', '']
19
+ quit = ['q', 'esc']
20
+
21
+ #-- Navigation
22
+ list_down = ['down', 'j']
23
+ list_up = ['up', 'k']
24
+ page_down = ['pgdown','']
25
+ page_up = ['pgup','']
26
+
27
+ #-- File Panel Controls
28
+ close_file_panel = ['w', '']
29
+ create_new_file_panel = ['ctrl+n', '']
30
+ next_file_panel = ['tab', 'L']
31
+ open_sort_options_menu = ['o', '']
32
+ pinned_directory = ['P', '']
33
+ previous_file_panel = ['shift+left', 'H']
34
+ split_file_panel = ['N', '']
35
+ toggle_file_preview_panel = ['f', '']
36
+ toggle_reverse_sort = ['R', '']
37
+
38
+ #-- Focus Manipulation
39
+ focus_on_metadata = ['m', '']
40
+ focus_on_process_bar = ['p', '']
41
+ focus_on_sidebar = ['s', '']
42
+
43
+ #-- File/Dir Creation/Renaming
44
+ file_panel_item_create = ['n', '']
45
+ file_panel_item_rename = ['ctrl+r', '']
46
+
47
+ #-- Main File Operations
48
+ copy_items = ['ctrl+c', '']
49
+ cut_items = ['ctrl+x', '']
50
+ delete_items = ['ctrl+d', 'delete', '']
51
+ paste_items = ['ctrl+v', 'ctrl+w', '']
52
+ permanently_delete_items = ['D', '']
53
+
54
+ #-- Archive Manipulation
55
+ compress_file = ['ctrl+a', '']
56
+ extract_file = ['ctrl+e', '']
57
+
58
+ #-- Editor Actions
59
+ open_current_directory_with_editor = ['E', '']
60
+ open_file_with_editor = ['e', '']
61
+
62
+ #-- Other Actions
63
+ change_panel_mode = ['v', '']
64
+ copy_path = ['ctrl+p', '']
65
+ copy_present_working_directory = ['c', '']
66
+ open_command_line = [':', '']
67
+ open_help_menu = ['?', '']
68
+ open_spf_prompt = ['>', '']
69
+ open_zoxide = ['z', '']
70
+ toggle_dot_file = ['.', '']
71
+ toggle_footer = ['F', '']
72
+
73
+ ###############################################################################
74
+ # Typing hotkeys #
75
+ ###############################################################################
76
+
77
+ # Note: These hotkeys can override all hotkeys.
78
+
79
+ confirm_typing = ['enter', '']
80
+ cancel_typing = ['ctrl+c', 'esc']
81
+
82
+ ###############################################################################
83
+ # Mode-Specific Hotkeys #
84
+ ###############################################################################
85
+
86
+ # Note: These hotkeys can conflict with other modes, but not with global
87
+ # hotkeys.
88
+
89
+ #-- Normal Mode Actions
90
+ parent_directory = ['h', 'left', 'backspace']
91
+ search_bar = ['/', '']
92
+
93
+ #-- Selection Mode Actions
94
+ file_panel_select_mode_items_select_down = ['shift+down', 'J']
95
+ file_panel_select_mode_items_select_up = ['shift+up', 'K']
96
+ file_panel_select_all_items = ['A', '']
@@ -0,0 +1,73 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ ROOT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
6
+ source "$ROOT_DIR/lib/common.sh"
7
+
8
+ step "Installing superfile (spf)"
9
+
10
+ if command -v spf &> /dev/null; then
11
+ ok "superfile already installed ${D}$(spf --version 2>/dev/null | head -1)${R}"
12
+ else
13
+ if command -v brew &> /dev/null; then
14
+ brew_install_formula superfile
15
+ else
16
+ step "No Homebrew — using official installer"
17
+ bash -c "$(curl -sLo- https://superfile.dev/install.sh)"
18
+ fi
19
+ ok "superfile installed"
20
+ fi
21
+
22
+ # Config path differs per platform
23
+ if [[ "$PLATFORM" == "mac" ]]; then
24
+ SPF_DIR="$HOME/Library/Application Support/superfile"
25
+ else
26
+ SPF_DIR="$HOME/.config/superfile"
27
+ fi
28
+
29
+ # Run once to generate default config tree (skip if exists)
30
+ if [[ ! -d "$SPF_DIR" ]]; then
31
+ step "Generating default config"
32
+ spf --help &>/dev/null || true
33
+ mkdir -p "$SPF_DIR"
34
+ fi
35
+
36
+ step "Installing superfile config"
37
+ backup_file "$SPF_DIR/config.toml"
38
+ backup_file "$SPF_DIR/hotkeys.toml"
39
+ cp "$SCRIPT_DIR/config.toml" "$SPF_DIR/config.toml"
40
+ cp "$SCRIPT_DIR/hotkeys.toml" "$SPF_DIR/hotkeys.toml"
41
+ ok "config + hotkeys ${D}→ $SPF_DIR${R}"
42
+
43
+ # bat — syntax-highlighted file previews (code_previewer = "bat" in config)
44
+ if ! command -v bat &> /dev/null; then
45
+ step "Installing bat (preview highlighting)"
46
+ pkg_install bat || warn "bat install failed — previews fall back to builtin"
47
+ else
48
+ ok "bat present"
49
+ fi
50
+
51
+ # zoxide integration (optional but enabled in config)
52
+ if ! command -v zoxide &> /dev/null; then
53
+ warn "zoxide not found — 'z' jump disabled until installed (run: ./install.sh zoxide)"
54
+ else
55
+ ok "zoxide present ${D}(z jump enabled)${R}"
56
+ fi
57
+
58
+ step "Adding sf alias"
59
+ ALIASES_FILE="$HOME/.aliases"
60
+ if [[ ! -f "$ALIASES_FILE" ]]; then
61
+ [[ -f "$HOME/.zshrc" ]] && ALIASES_FILE="$HOME/.zshrc" || ALIASES_FILE="$HOME/.bashrc"
62
+ fi
63
+ if ! grep -Fq 'alias sf=' "$ALIASES_FILE" 2>/dev/null; then
64
+ printf '# superfile\nalias sf="spf"\n' >> "$ALIASES_FILE"
65
+ ok "alias sf ${D}→ $(basename "$ALIASES_FILE")${R}"
66
+ else
67
+ ok "alias sf already in $(basename "$ALIASES_FILE")"
68
+ fi
69
+
70
+ echo ""
71
+ echo -e " ${GRN}Done!${R} Run ${CYN}spf${R} to start — press ${CYN}?${R} for hotkeys"
72
+ echo -e " ${D}Cheat sheet: superfile/cheatsheet.md${R}"
73
+ echo ""
@@ -0,0 +1,7 @@
1
+ name = "superfile"
2
+ description = "superfile TUI file manager + vim-style config, zoxide jump"
3
+ platforms = ["mac", "linux"]
4
+ kind = "config"
5
+
6
+ [detect]
7
+ commands = ["spf"]
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ ROOT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
6
+ source "$ROOT_DIR/lib/common.sh"
7
+
8
+ step "Installing Tailscale"
9
+
10
+ if command -v tailscale &>/dev/null; then
11
+ ok "tailscale ${D}$(tailscale version 2>/dev/null | head -1 || command -v tailscale)${R}"
12
+ echo ""
13
+ echo -e " ${GRN}Done!${R} Run ${CYN}tailscale up${R} to authenticate"
14
+ echo ""
15
+ exit 0
16
+ fi
17
+
18
+ if [[ "$PLATFORM" == "mac" ]]; then
19
+ brew_install_cask tailscale
20
+ else
21
+ warn "tailscale not found — installing via official Linux installer"
22
+ curl -fsSL https://tailscale.com/install.sh | sudo bash
23
+ fi
24
+
25
+ ok "tailscale ${D}$(tailscale version 2>/dev/null | head -1 || command -v tailscale)${R}"
26
+
27
+ echo ""
28
+ echo -e " ${GRN}Done!${R} Run ${CYN}tailscale up${R} to authenticate"
29
+ echo ""
@@ -0,0 +1,11 @@
1
+ name = "tailscale"
2
+ description = "Tailscale mesh VPN"
3
+ platforms = ["mac"]
4
+ kind = "app"
5
+
6
+ [detect]
7
+ brew = ["tailscale"]
8
+ commands = ["tailscale"]
9
+
10
+ [uninstall]
11
+ brew = ["tailscale"]
@@ -0,0 +1,68 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5
+ ROOT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
6
+ source "$ROOT_DIR/lib/common.sh"
7
+
8
+ step "Installing Tinycast"
9
+
10
+ if [[ "$PLATFORM" != "mac" ]]; then
11
+ warn "Tinycast module currently supports macOS only"
12
+ exit 0
13
+ fi
14
+
15
+ if ! command -v brew &>/dev/null; then
16
+ fail "Homebrew not found; cannot install Tinycast"
17
+ exit 1
18
+ fi
19
+
20
+ # Third-party tap requires explicit trust first
21
+ step "Trusting + tapping abue-ammar/tinycast"
22
+ brew trust --tap abue-ammar/tinycast || warn "brew trust failed (may already be trusted)"
23
+ if ! brew tap | grep -q "^abue-ammar/tinycast$"; then
24
+ NONINTERACTIVE=1 CI=1 brew tap abue-ammar/tinycast
25
+ fi
26
+ ok "tap ready"
27
+
28
+ # Pick the right cask for this macOS version / arch:
29
+ # tinycast — macOS 26+ (Tahoe), arm64
30
+ # tinycast-sequoia — macOS 15, arm64
31
+ # tinycast-universal — Intel (any supported macOS)
32
+ step "Installing cask"
33
+ macos_major="$(sw_vers -productVersion | cut -d. -f1)"
34
+ arch_name="$(uname -m)"
35
+ if [[ "$arch_name" == "arm64" && "$macos_major" -ge 26 ]]; then
36
+ cask="abue-ammar/tinycast/tinycast"
37
+ elif [[ "$arch_name" == "arm64" ]]; then
38
+ cask="abue-ammar/tinycast/tinycast-sequoia"
39
+ else
40
+ cask="abue-ammar/tinycast/tinycast-universal"
41
+ fi
42
+ ok "selected cask ${D}$cask${R} (macOS $macos_major, $arch_name)"
43
+
44
+ if brew_cask_installed "${cask##*/}"; then
45
+ ok "tinycast already installed"
46
+ else
47
+ NONINTERACTIVE=1 CI=1 brew install --cask "$cask"
48
+ ok "tinycast installed"
49
+ fi
50
+
51
+ # ─── Config ───
52
+
53
+ step "Linking settings"
54
+ CONFIG_DIR="$HOME/.config/tinycast"
55
+ mkdir -p "$CONFIG_DIR"
56
+ DEST="$CONFIG_DIR/settings.json"
57
+
58
+ if [[ -L "$DEST" && "$(readlink "$DEST")" == "$SCRIPT_DIR/settings.json" ]]; then
59
+ ok "settings.json already linked"
60
+ else
61
+ [[ -f "$DEST" && ! -L "$DEST" ]] && { cp "$DEST" "$DEST.backup.$(date +%Y%m%d_%H%M%S)"; warn "existing settings backed up"; }
62
+ ln -sfn "$SCRIPT_DIR/settings.json" "$DEST"
63
+ ok "settings.json ${D}→ $DEST (symlinked)${R}"
64
+ fi
65
+
66
+ echo ""
67
+ echo -e " ${GRN}Done!${R} Open Tinycast to apply settings"
68
+ echo ""
@@ -0,0 +1,7 @@
1
+ name = "tinycast"
2
+ description = "Tinycast launcher (tap abue-ammar/tinycast) + managed settings"
3
+ platforms = ["mac"]
4
+ kind = "config"
5
+
6
+ [detect]
7
+ paths = ["~/.config/tinycast/settings.json"]