Skip to main content

Keep track of all your dot(file)s. A dotfiles manager with tool installation.

Project description

freckle

Keep track of all your dot(file)s.

A dotfiles manager with tool installation for Linux and macOS.

Overview

Freckle automates the "bare repo" strategy for dotfiles with intelligent conflict resolution, automatic backups, and cross-platform package management.

Features

  • Interactive Setup: Run freckle init to configure your repository.
  • Bare Repo Management: Safely check out dotfiles into your home directory, backing up conflicts automatically.
  • Core Trio Support: Automated setup for Zsh (default shell), Tmux, and Neovim (with lazy.nvim bootstrapping).
  • Platform Aware: Supports Debian-based Linux (apt) and macOS (homebrew).
  • Flexible Templating: Use {local_user} or custom variables in your configuration.

Installation

uv tool install freckle

Or install from source:

uv pip install .

Usage

1. Initialize

First-time users should run the initialization command to set up their dotfiles repository:

freckle init

This will create a ~/.freckle.yaml file with your settings.

2. Run

Execute the sync sequence:

freckle run

3. Check Status

See the current state of your dotfiles and tools:

freckle status

4. Add Files

Track new files in your dotfiles repository:

freckle add .vimrc
freckle run --backup

Configuration (~/.freckle.yaml)

You can customize the tool's behavior in your configuration file.

Variables

  • {local_user}: Automatically replaced with your system username.
  • Custom variables: Define your own in the vars section.

Example

vars:
  git_user: "peterprescott"
  git_host: "github.com"

dotfiles:
  repo_url: "https://{git_host}/{git_user}/dotfiles.git"
  branch: "main"
  dir: "/home/{local_user}/.dotfiles"

modules:
  - dotfiles
  - zsh
  - tmux
  - nvim

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

freckle-0.3.0.tar.gz (26.5 kB view details)

Uploaded Source

Built Distribution

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

freckle-0.3.0-py3-none-any.whl (35.4 kB view details)

Uploaded Python 3

File details

Details for the file freckle-0.3.0.tar.gz.

File metadata

  • Download URL: freckle-0.3.0.tar.gz
  • Upload date:
  • Size: 26.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for freckle-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2c65b8ffef5efa3570337d0c6bcfe396576095013a36d1389f81dac3c369949a
MD5 a83e52e3e706e6f42f3646adf8aa9491
BLAKE2b-256 1f9db0afd29489c620dc66a2b9f94253e85326480bddff74f3ceffd72334b07f

See more details on using hashes here.

Provenance

The following attestation bundles were made for freckle-0.3.0.tar.gz:

Publisher: publish.yml on peterprescott/freckle

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file freckle-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: freckle-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 35.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for freckle-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ddae69f7cca2493a43726ba2880947b7b7c7b1ab66f3d7613bae9f73b013a326
MD5 bfb95717127b269ac1844f572ce9330c
BLAKE2b-256 56ce24a83988cb39967f3120d08dd67a2e27fad32be5119ff9483c4acf4389c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for freckle-0.3.0-py3-none-any.whl:

Publisher: publish.yml on peterprescott/freckle

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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