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.2.2.tar.gz (19.3 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.2.2-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for freckle-0.2.2.tar.gz
Algorithm Hash digest
SHA256 fc063ef1a5481f0a27cb5c38f64dadedea9a6321de9dbe068559698aa61acd93
MD5 98439ef99acbbdb69ebd8a5d2b9abc80
BLAKE2b-256 381b1f033280caed26eaaee75689756db3869f1790845fb7e901a133e2fed076

See more details on using hashes here.

Provenance

The following attestation bundles were made for freckle-0.2.2.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.2.2-py3-none-any.whl.

File metadata

  • Download URL: freckle-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 23.9 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.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0d1d0475cd360959c6b54388f5974f985d51c27387400a91f3ef3c319240a8da
MD5 dd66f066de422599430af2f304e8dfdf
BLAKE2b-256 a735ea78397bd12b6c7a0dd83b43a152305b943c1ec8e791bb2ba300ffaacf80

See more details on using hashes here.

Provenance

The following attestation bundles were made for freckle-0.2.2-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