Add documentation for all scripts: bootstrap_setup, buildnote, most_recent_note, notetaker, kaggle_manager, promodoro, promodoro_menu, setup_crontab, add_ipykernel, get_app_id, setup_macos_dock
This commit is contained in:
parent
b22ea85e9e
commit
74719361ee
11 changed files with 545 additions and 0 deletions
59
docs/add_ipykernel/Usage.md
Normal file
59
docs/add_ipykernel/Usage.md
Normal file
|
|
@ -0,0 +1,59 @@
|
||||||
|
## [add_ipykernel](../../scripts/add_ipykernel)
|
||||||
|
|
||||||
|
Adds Python virtual environments as Jupyter ipykernel options.
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
This script automates the creation and registration of Python environments as Jupyter kernels. It supports both conda and pip virtual environments.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./add_ipykernel.sh ENV_NAME [--create] [--verbose] [pkg1 pkg2 ...]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Arguments
|
||||||
|
|
||||||
|
- `ENV_NAME`: Name of the environment/kernel to create or use
|
||||||
|
- `--create`: Create a new environment if it doesn't exist
|
||||||
|
- `--verbose`: Enable detailed output
|
||||||
|
- `pkg1 pkg2 ...`: Additional packages to install
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Create new conda environment and register as kernel
|
||||||
|
./add_ipykernel.sh ds_env --create python=3.11 pandas
|
||||||
|
|
||||||
|
# Use existing environment
|
||||||
|
./add_ipykernel.sh ds_env --verbose
|
||||||
|
|
||||||
|
# Create pip venv with specific packages
|
||||||
|
./add_ipykernel.sh myproject --create numpy scipy matplotlib
|
||||||
|
```
|
||||||
|
|
||||||
|
## Package Manager Detection
|
||||||
|
|
||||||
|
The script automatically detects the appropriate package manager:
|
||||||
|
|
||||||
|
- **conda**: Used if environment exists in conda or if `environment.yml`/`conda.yaml` is present
|
||||||
|
- **pip**: Used if `requirements.txt` or `pyproject.toml` exists, or if already in a virtual environment
|
||||||
|
|
||||||
|
## What It Does
|
||||||
|
|
||||||
|
1. Detects package manager (conda or pip)
|
||||||
|
2. Creates environment if `--create` flag is used
|
||||||
|
3. Activates the environment
|
||||||
|
4. Installs `ipykernel` if not present
|
||||||
|
5. Registers the environment as a Jupyter kernel with display name `Python (ENV_NAME)`
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- conda (for conda environments) OR python3 with venv (for pip environments)
|
||||||
|
- Jupyter installed (for kernel registration)
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- Kernels are registered in user space (`--user` flag)
|
||||||
|
- After registration, the kernel appears in Jupyter as "Python (ENV_NAME)"
|
||||||
|
- If environment already exists, just registers it without modifying packages
|
||||||
54
docs/bootstrap_setup/Usage.md
Normal file
54
docs/bootstrap_setup/Usage.md
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
## [bootstrap_setup](../../scripts/bootstrap_setup)
|
||||||
|
|
||||||
|
Bootstraps a new development machine by installing essential tools and setting up the development environment.
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
This script automates the initial setup of a new development machine by:
|
||||||
|
- Installing essential tools (git, stow, curl)
|
||||||
|
- Installing package manager (Homebrew on macOS)
|
||||||
|
- Cloning the dotfiles repository
|
||||||
|
- Setting up development scripts
|
||||||
|
|
||||||
|
**Platform Support:** macOS (Homebrew), Linux (apt)
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./bootstrap_setup.sh [--dry-run]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Options
|
||||||
|
|
||||||
|
- `--dry-run`: Enable dry run mode. Commands will be echoed but not executed.
|
||||||
|
|
||||||
|
## What It Does
|
||||||
|
|
||||||
|
1. **Installs essential tools:**
|
||||||
|
- Linux: `apt update && apt install -y git stow curl`
|
||||||
|
- macOS: Installs Xcode Command Line Tools, Homebrew, then `brew install stow git curl`
|
||||||
|
|
||||||
|
2. **Clones dotfiles repository:**
|
||||||
|
- Clones `https://github.com/jfrays/dotfiles.git` to `~/.dotfiles`
|
||||||
|
- Runs the dotfiles setup script
|
||||||
|
|
||||||
|
3. **Sets up development scripts:**
|
||||||
|
- Creates `~/.local/bin/scripts` directory
|
||||||
|
- Clones scripts repository to the scripts directory
|
||||||
|
- Runs `setup_dev_env.sh` to complete the environment setup
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Run the bootstrap normally
|
||||||
|
./bootstrap_setup.sh
|
||||||
|
|
||||||
|
# Preview what would happen without making changes
|
||||||
|
./bootstrap_setup.sh --dry-run
|
||||||
|
```
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- The script uses `set -e` to exit immediately if any command fails
|
||||||
|
- Ensure you have sudo access on Linux systems
|
||||||
|
- On macOS, you may need to approve Xcode license after command line tools installation
|
||||||
55
docs/buildnote/Usage.md
Normal file
55
docs/buildnote/Usage.md
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
## [buildnote](../../scripts/buildnote)
|
||||||
|
|
||||||
|
Converts markdown notes to PDF using pandoc with xelatex engine.
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
This script generates professionally formatted PDF documents from markdown files. It uses pandoc with the xelatex PDF engine and applies syntax highlighting, custom fonts, and margins.
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
- pandoc
|
||||||
|
- xelatex (TeX Live)
|
||||||
|
- DejaVu fonts (DejaVuSerif, DejaVuSans, DejaVuSansMono)
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./buildnote.sh <input_file> <output_file>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Arguments
|
||||||
|
|
||||||
|
- `input_file`: Path to the markdown file to convert
|
||||||
|
- `output_file`: Path for the generated PDF file
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **PDF Engine**: xelatex for Unicode and custom font support
|
||||||
|
- **Syntax Highlighting**: pygments style for code blocks
|
||||||
|
- **Fonts**:
|
||||||
|
- Main: DejaVuSerif (with Bold, Italic, BoldItalic variants)
|
||||||
|
- Sans: DejaVuSans
|
||||||
|
- Mono: DejaVuSansMono
|
||||||
|
- **Margins**: 1 inch on all sides
|
||||||
|
- **Links**: NavyBlue color for URLs
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Convert a markdown note to PDF
|
||||||
|
./buildnote.sh notes.md output.pdf
|
||||||
|
|
||||||
|
# The script runs in background and prints the output path
|
||||||
|
./buildnote.sh ~/notes/daily.md ~/notes/daily.pdf
|
||||||
|
```
|
||||||
|
|
||||||
|
## Integration with Neovim
|
||||||
|
|
||||||
|
The script is designed to work with Neovim. It prints the output file path on the last line, which can be captured by editor integrations.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- The conversion runs in the background (using `&`)
|
||||||
|
- Ensure all dependencies are installed before running
|
||||||
|
- The script validates that the input file exists before processing
|
||||||
62
docs/get_app_id/Usage.md
Normal file
62
docs/get_app_id/Usage.md
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
## [get_app_id](../../scripts/get_app_id)
|
||||||
|
|
||||||
|
Retrieves macOS application bundle identifiers.
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
This script extracts the code-signing identifier (bundle ID) from macOS application bundles. Useful for automation, scripting, and identifying applications programmatically.
|
||||||
|
|
||||||
|
## Platform
|
||||||
|
|
||||||
|
**macOS only** - Uses `codesign` command which is macOS-specific
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./get_app_id.sh [app_name|app_path]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Arguments
|
||||||
|
|
||||||
|
- `app_name`: Name of the app (e.g., "Safari" or "Safari.app")
|
||||||
|
- `app_path`: Full path to the .app bundle (e.g., "/Applications/Safari.app")
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Interactive mode - select from all applications using fzf
|
||||||
|
./get_app_id.sh
|
||||||
|
|
||||||
|
# Get bundle ID by app name
|
||||||
|
./get_app_id.sh Safari
|
||||||
|
|
||||||
|
# Get bundle ID by full path
|
||||||
|
./get_app_id.sh /Applications/Safari.app
|
||||||
|
|
||||||
|
# Output: com.apple.Safari
|
||||||
|
```
|
||||||
|
|
||||||
|
## Interactive Mode
|
||||||
|
|
||||||
|
When run without arguments, the script:
|
||||||
|
1. Lists all applications in `/Applications`
|
||||||
|
2. Opens an fzf picker with live preview showing the bundle ID
|
||||||
|
3. Returns the selected app's identifier
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- macOS with `codesign` command (included in Xcode Command Line Tools)
|
||||||
|
- fzf (for interactive mode): `brew install fzf`
|
||||||
|
|
||||||
|
## How It Works
|
||||||
|
|
||||||
|
The script extracts the identifier from the code signature using:
|
||||||
|
```bash
|
||||||
|
codesign -dr - "/Applications/AppName.app" | grep identifier
|
||||||
|
```
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- Apps must be code-signed to have a bundle identifier
|
||||||
|
- Some apps may not have code signatures (returns error)
|
||||||
|
- The interactive preview shows "No code signature found" for unsigned apps
|
||||||
63
docs/kaggle_manager/Usage.md
Normal file
63
docs/kaggle_manager/Usage.md
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
## [kaggle_manager](../../scripts/kaggle_manager)
|
||||||
|
|
||||||
|
Manages Kaggle datasets and notebooks via the Kaggle API.
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
This script provides command-line access to Kaggle functionality including:
|
||||||
|
- Downloading datasets
|
||||||
|
- Fetching notebooks
|
||||||
|
- Submitting competition entries
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
You must have a `kaggle.json` file at `~/.kaggle/kaggle.json` containing your Kaggle credentials:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"username": "your_username",
|
||||||
|
"key": "your_api_key"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./kaggle_manager.sh [options]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Options
|
||||||
|
|
||||||
|
- `-d, --dataset <name>`: Download a dataset (format: `username/dataset-name`)
|
||||||
|
- `-n, --notebook <name>`: Download a notebook (format: `username/notebook-name`)
|
||||||
|
- `-s, --submit <file>`: Submit a notebook file to a competition
|
||||||
|
- `-c, --competition <name>`: Specify competition name for submission
|
||||||
|
- `-g, --git`: Add and commit changes to Git after operation
|
||||||
|
- `-v, --verbose`: Enable verbose output
|
||||||
|
- `-h, --help`: Display help message
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Download a dataset
|
||||||
|
./kaggle_manager.sh -d "zillow/zecon"
|
||||||
|
|
||||||
|
# Download a notebook
|
||||||
|
./kaggle_manager.sh -n "jfraeys/my-notebook"
|
||||||
|
|
||||||
|
# Submit to competition
|
||||||
|
./kaggle_manager.sh -s submission.csv -c "titanic"
|
||||||
|
|
||||||
|
# Download with Git commit
|
||||||
|
./kaggle_manager.sh -d "zillow/zecon" -g
|
||||||
|
```
|
||||||
|
|
||||||
|
## Directory Structure
|
||||||
|
|
||||||
|
- Datasets: Stored in `data/raw/`
|
||||||
|
- Notebooks: Stored in `notebooks/`
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- The script uses curl to interact with the Kaggle API
|
||||||
|
- Credentials are extracted from kaggle.json using jq
|
||||||
|
- Git commits use the message: "Added dataset or notebook"
|
||||||
29
docs/most_recent_note/Usage.md
Normal file
29
docs/most_recent_note/Usage.md
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
## [most_recent_note](../../scripts/most_recent_note)
|
||||||
|
|
||||||
|
Opens the most recently created PDF note from the Google Drive notes folder.
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
This script finds the most recently modified PDF file in `~/Google Drive/My Drive/notes/pdf` and opens it with zathura PDF viewer.
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
- zathura (PDF viewer)
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./most_recent_note.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
## How It Works
|
||||||
|
|
||||||
|
1. Searches for all PDF files in `~/Google Drive/My Drive/notes/pdf`
|
||||||
|
2. Sorts them by modification time (newest first)
|
||||||
|
3. Opens the most recent PDF with zathura
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- Requires Google Drive to be synced to the local machine
|
||||||
|
- Assumes notes are stored in the specific path: `~/Google Drive/My Drive/notes/pdf`
|
||||||
|
- zathura must be installed and available in PATH
|
||||||
44
docs/notetaker/Usage.md
Normal file
44
docs/notetaker/Usage.md
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
## [notetaker](../../scripts/notetaker)
|
||||||
|
|
||||||
|
Creates and opens daily markdown notes with YAML frontmatter in Neovim.
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
This script automates the creation of daily notes by:
|
||||||
|
- Creating a markdown file for the current date if it doesn't exist
|
||||||
|
- Adding YAML frontmatter with title, author, and date
|
||||||
|
- Opening the file in Neovim with automatic timestamp insertion
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./notetaker.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
## File Location
|
||||||
|
|
||||||
|
Notes are stored in: `~/Google Drive/My Drive/notes/src/note-YYYY-MM-DD.md`
|
||||||
|
|
||||||
|
## YAML Frontmatter
|
||||||
|
|
||||||
|
New notes are created with the following frontmatter:
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
title: "Notes"
|
||||||
|
author: "Jeremie Fraeys"
|
||||||
|
date: YYYY-MM-DD
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
## Neovim Integration
|
||||||
|
|
||||||
|
When opening the note, Neovim is configured to:
|
||||||
|
- Jump to the end of the file
|
||||||
|
- Insert a timestamped subtitle (e.g., `## 14:30`)
|
||||||
|
- Enter insert mode ready for typing
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- Google Drive sync is required for notes to be backed up
|
||||||
|
- The script creates the note file if it doesn't exist, or opens the existing one
|
||||||
|
- Requires Neovim to be installed and available in PATH
|
||||||
29
docs/promodoro/Usage.md
Normal file
29
docs/promodoro/Usage.md
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
## [promodoro](../../scripts/promodoro)
|
||||||
|
|
||||||
|
Pomodoro timer script for productivity tracking.
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
A simple Pomodoro timer implementation that helps track work sessions using the Pomodoro Technique - alternating focused work periods with short breaks.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./promodoro.sh [options]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Customizable work and break durations
|
||||||
|
- Visual/audible notifications when sessions end
|
||||||
|
- Tracks completed pomodoros
|
||||||
|
- Session logging
|
||||||
|
|
||||||
|
## Integration
|
||||||
|
|
||||||
|
Use with `promodoro_menu.sh` for an interactive menu interface.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- Designed to run in terminal or tmux status bar
|
||||||
|
- Can be customized for different work/break ratios
|
||||||
29
docs/promodoro_menu/Usage.md
Normal file
29
docs/promodoro_menu/Usage.md
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
## [promodoro_menu](../../scripts/promodoro_menu)
|
||||||
|
|
||||||
|
Interactive menu interface for the Pomodoro timer.
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
Provides a user-friendly menu interface for controlling the Pomodoro timer, allowing easy start, stop, and configuration of work sessions.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./promodoro_menu.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Interactive menu for Pomodoro timer control
|
||||||
|
- Options to start/stop/reset timer
|
||||||
|
- Configuration of work and break durations
|
||||||
|
- Status display
|
||||||
|
|
||||||
|
## Integration
|
||||||
|
|
||||||
|
Works with `promodoro.sh` for the actual timing functionality.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- Provides a more user-friendly interface than the command-line timer
|
||||||
|
- Can be run in terminal or integrated with dmenu/rofi for desktop environments
|
||||||
63
docs/setup_crontab/Usage.md
Normal file
63
docs/setup_crontab/Usage.md
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
## [setup_crontab](../../scripts/setup_crontab)
|
||||||
|
|
||||||
|
Sets up automated cron jobs from a configuration file.
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
This script manages cron jobs by reading from `mycronjobs.txt` and merging them into the system crontab. It intelligently avoids duplicate entries and ensures the cron service is running.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./setup_crontab.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuration File
|
||||||
|
|
||||||
|
The script expects a cron job definition file at:
|
||||||
|
`~/.local/bin/mycronjobs.txt`
|
||||||
|
|
||||||
|
Example `mycronjobs.txt`:
|
||||||
|
```
|
||||||
|
# Daily backup at 2 AM
|
||||||
|
0 2 * * * /home/user/.local/bin/backup.sh
|
||||||
|
|
||||||
|
# Weekly cleanup on Sundays
|
||||||
|
0 0 * * 0 /home/user/.local/bin/cleanup.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Smart Merging**: Only adds new jobs, skips existing duplicates
|
||||||
|
- **Comments Support**: Lines starting with `#` are ignored
|
||||||
|
- **Service Management**: Automatically starts cron service on Linux
|
||||||
|
- **Cross-Platform**: Works on Linux (systemd) and macOS (launchd)
|
||||||
|
|
||||||
|
## Platform Behavior
|
||||||
|
|
||||||
|
### Linux
|
||||||
|
- Starts cron via `systemctl` if not running
|
||||||
|
- Uses standard crontab
|
||||||
|
|
||||||
|
### macOS
|
||||||
|
- Uses launchd (cron runs automatically)
|
||||||
|
- No additional service management needed
|
||||||
|
|
||||||
|
## Example Output
|
||||||
|
|
||||||
|
```
|
||||||
|
✅ Added 2 new cron job(s):
|
||||||
|
+ 0 2 * * * /home/user/.local/bin/backup.sh
|
||||||
|
+ 0 0 * * 0 /home/user/.local/bin/cleanup.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Or if jobs already exist:
|
||||||
|
```
|
||||||
|
ℹ️ No new cron jobs to add; all jobs already present.
|
||||||
|
```
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- The script uses `set -euo pipefail` for strict error handling
|
||||||
|
- Existing crontab entries are preserved
|
||||||
|
- Empty lines are ignored during processing
|
||||||
58
docs/setup_macos_dock/Usage.md
Normal file
58
docs/setup_macos_dock/Usage.md
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
## [setup_macos_dock](../../scripts/setup_macos_dock)
|
||||||
|
|
||||||
|
Configures macOS Dock settings and populates it with preferred applications.
|
||||||
|
|
||||||
|
## Platform
|
||||||
|
|
||||||
|
**macOS only** - Uses `defaults` and `dockutil`
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
This script automates the configuration of the macOS Dock by:
|
||||||
|
- Setting visual preferences (auto-hide, size, magnification)
|
||||||
|
- Removing all existing Dock items
|
||||||
|
- Adding a curated list of frequently used applications
|
||||||
|
- Restarting the Dock to apply changes
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./setup_macos_dock.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
## Dock Settings Applied
|
||||||
|
|
||||||
|
| Setting | Value | Description |
|
||||||
|
|---------|-------|-------------|
|
||||||
|
| autohide | true | Dock hides automatically |
|
||||||
|
| tilesize | 50 | Icon size (pixels) |
|
||||||
|
| largesize | 64 | Magnified icon size |
|
||||||
|
| magnification | false | Disable icon magnification |
|
||||||
|
| orientation | bottom | Dock position |
|
||||||
|
| mineffect | "" | Minimize effect (none) |
|
||||||
|
| NSAutomaticWindowAnimationsEnabled | false | Disable window animations |
|
||||||
|
|
||||||
|
## Default Applications
|
||||||
|
|
||||||
|
The script adds these apps to the Dock (in order):
|
||||||
|
1. Mail.app
|
||||||
|
2. Messages.app
|
||||||
|
3. WezTerm.app
|
||||||
|
4. Obsidian.app
|
||||||
|
5. Zen.app
|
||||||
|
6. System Settings.app
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- macOS
|
||||||
|
- dockutil: `brew install dockutil` (script auto-installs if missing)
|
||||||
|
|
||||||
|
## Warning
|
||||||
|
|
||||||
|
**This script removes ALL existing Dock items** before adding the preferred applications. Your current Dock configuration will be replaced.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- The Dock automatically restarts after configuration
|
||||||
|
- System Settings may be called "System Preferences" on older macOS versions
|
||||||
|
- Edit the script to customize the list of applications
|
||||||
Loading…
Reference in a new issue