Skip to main content

macOS Configuration Tools

Project description

macOS Configuration Tools (mct)

A personal collection of CLI tools for managing macOS settings through a simple, intuitive interface.

Features

Currently implemented:

General

  • Check version: mct --version or mct -v - Display the installed version

Dock Management

  • Set dock size: mct dock size <value> (32-128)
  • Show current dock size: mct dock size
  • Auto-hide controls:
    • mct dock hide - Enable auto-hide
    • mct dock show - Disable auto-hide
  • Size lock controls:
    • mct dock lock - Lock dock size
    • mct dock unlock - Unlock dock size
  • Reset options:
    • mct dock reset -s - Reset size to default (64)
    • mct dock reset -h - Reset auto-hide to default (disabled)
    • mct dock reset -l - Reset size lock to default (unlocked)
    • mct dock reset -a - Reset all dock settings

Keyboard Management

  • Key repeat controls:
    • mct keyboard hold - Enable press-and-hold for accented characters
    • mct keyboard repeat - Enable key repeat (disables accents)
  • Reset options:
    • mct keyboard reset -h - Reset key hold to default (enabled)
    • mct keyboard reset -a - Reset all keyboard settings

System Management

  • Touch ID for sudo:
    • mct system touchid - Enable Touch ID authentication for sudo with interactive backup management
    • mct system reset -t - Reset Touch ID sudo configuration from backup
    • mct system reset -a - Reset all system settings to defaults

Planned features:

  • Configuration file support (~/.config/mct/config.toml) for:
    • Setting default values for commands
    • Storing preferred configurations
    • Batch applying multiple settings at once
    • Example configuration:
      [dock]
      default_size = 48
      auto_hide = true
      size_locked = false
      
      [keyboard]
      key_hold = true
      
      [system]
      touch_id_sudo = true
      
  • More dock management options
  • System preferences management
  • And more...

Installation

Using Homebrew (recommended)

# Add the tap repository
brew tap ocolunga/mct-cli

# Install mct-cli
brew install mct-cli

Using pip

pip install mct-cli

Using uv

uv tool install mct-cli

From source

git clone https://github.com/ocolunga/mct.git
cd mct
uv sync
uv run mct --help

Usage Examples

# Show help
mct --help
mct dock --help
mct keyboard --help
mct system --help

# Check version
mct --version

# Dock Examples
mct dock size 48          # Set dock size to 48
mct dock size            # Show current dock size
mct dock hide           # Enable auto-hide
mct dock show           # Disable auto-hide
mct dock lock           # Lock dock size
mct dock unlock         # Unlock dock size
mct dock reset -s -h    # Reset both size and auto-hide

# Keyboard Examples
mct keyboard hold      # Enable press-and-hold for accents
mct keyboard repeat    # Enable key repeat (disable accents)
mct keyboard reset -a  # Reset all keyboard settings

# System Examples
mct system touchid           # Enable Touch ID for sudo with interactive backup
mct system reset -t         # Reset Touch ID sudo configuration from backup
mct system reset -a         # Reset all system settings to defaults

Note: Some commands may require restarting applications to take effect.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mct_cli-0.2.9.tar.gz (28.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mct_cli-0.2.9-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file mct_cli-0.2.9.tar.gz.

File metadata

  • Download URL: mct_cli-0.2.9.tar.gz
  • Upload date:
  • Size: 28.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mct_cli-0.2.9.tar.gz
Algorithm Hash digest
SHA256 ecac0929dd332bdf9fe21164ea001bdd4e264931497f43b32a04a297db0ff827
MD5 5b816c5f5862302611d781c2a2aa2082
BLAKE2b-256 bb943a595571dc68e0bd18c656637b7dc0253f5225a9fa2d820088a03f323da9

See more details on using hashes here.

File details

Details for the file mct_cli-0.2.9-py3-none-any.whl.

File metadata

  • Download URL: mct_cli-0.2.9-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mct_cli-0.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 51a7c451f746f3c64f44291fcf64edf9b62be96be10e4dba827b6e79b5113e2b
MD5 2d7a5d4575667e5c29f46ef77fc168de
BLAKE2b-256 d8f056f6beea391ee33e815bf30c49e2209e2d7225a812ab41030e4e0afd8ed8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page