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.3.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.3-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: freckle-0.2.3.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.3.tar.gz
Algorithm Hash digest
SHA256 b1fdc3dc03cac81be3546bbd10ca5b7f9802d366b159afd306ac04910b93d034
MD5 bdcb7a9a352734be74ea1435b563ff2e
BLAKE2b-256 05e91642e59ad40791a5f24de02c82b28bbee6d2206683fb68a728f951f3f43a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: freckle-0.2.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6ebf61270bb8a18ab76af3d5a5c228cd49109c1f3f3340fb50b018543409c7df
MD5 8bdbafb2c2cfe938bee83511f4ae376c
BLAKE2b-256 0b53f8863f50b11ca3d199220d350977405ef0a46d6c0435b5c5d8985823dd1a

See more details on using hashes here.

Provenance

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