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 initto 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.nvimbootstrapping). - 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
varssection.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc063ef1a5481f0a27cb5c38f64dadedea9a6321de9dbe068559698aa61acd93
|
|
| MD5 |
98439ef99acbbdb69ebd8a5d2b9abc80
|
|
| BLAKE2b-256 |
381b1f033280caed26eaaee75689756db3869f1790845fb7e901a133e2fed076
|
Provenance
The following attestation bundles were made for freckle-0.2.2.tar.gz:
Publisher:
publish.yml on peterprescott/freckle
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
freckle-0.2.2.tar.gz -
Subject digest:
fc063ef1a5481f0a27cb5c38f64dadedea9a6321de9dbe068559698aa61acd93 - Sigstore transparency entry: 854150129
- Sigstore integration time:
-
Permalink:
peterprescott/freckle@fcbd6034b610a657606510004d4478c84368fead -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/peterprescott
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fcbd6034b610a657606510004d4478c84368fead -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d1d0475cd360959c6b54388f5974f985d51c27387400a91f3ef3c319240a8da
|
|
| MD5 |
dd66f066de422599430af2f304e8dfdf
|
|
| BLAKE2b-256 |
a735ea78397bd12b6c7a0dd83b43a152305b943c1ec8e791bb2ba300ffaacf80
|
Provenance
The following attestation bundles were made for freckle-0.2.2-py3-none-any.whl:
Publisher:
publish.yml on peterprescott/freckle
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
freckle-0.2.2-py3-none-any.whl -
Subject digest:
0d1d0475cd360959c6b54388f5974f985d51c27387400a91f3ef3c319240a8da - Sigstore transparency entry: 854150144
- Sigstore integration time:
-
Permalink:
peterprescott/freckle@fcbd6034b610a657606510004d4478c84368fead -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/peterprescott
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fcbd6034b610a657606510004d4478c84368fead -
Trigger Event:
release
-
Statement type: