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.1.tar.gz (19.0 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.1-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: freckle-0.2.1.tar.gz
  • Upload date:
  • Size: 19.0 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.1.tar.gz
Algorithm Hash digest
SHA256 bc02351a5bb9e20e5990302c88a327a762400c81ebee9ed421a959fbc7fab976
MD5 61fdd8225119703df7e170e76c1d70d3
BLAKE2b-256 eda50e4570db62938ed73c9aea2ab3c75bf9629574e5e0a108481e8d879d9288

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: freckle-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 23.6 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0ececbfda17da353444d40098536063991b2ba0645ad8bfe77562fe533cc1479
MD5 4f67103972791b2e9d7ee63f718259c1
BLAKE2b-256 02d9bdda1e9ebc37e0206641ac6b845409ceacd433ebe50c7c2a623fcd46e0e7

See more details on using hashes here.

Provenance

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