Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

cfgcaddy

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cfgcaddy

A cli for managing user's config files

  • 0.1.8
  • PyPI
  • Socket score

Maintainers
1

Config Caddy

Travis CI PyPI version

Config Caddy is a tool used for managing your configuration files.

One way to version your configuration files is to keep them in a git repository. This has several drawbacks, among them, git requires the files it manages to be located within a single file tree. You can overcome this limitation by using symbolic links. The links point from locations in your filesystem such as /etc/someconfig.confto files within the git repository like $HOME/tstapler/dotfiles/someconfig.conf.

Config Caddy creates symlinks to your dotfiles directory, so you don't have to. Each time you add a new file to your dotfiles repo, run cfgcaddy link to generate symlinks. By default cfgcaddy will create links from files in the dotfiles repo to their relative location in your home directory. cfgcaddy will also read from a configuration file. This allows the user to ignore certain files and create more complex linking relationships.

Usage

  1. Install using pip

pip install cfgcaddy

  1. Generate or import a configuration file for cfgcaddy
cfgcaddy init --help

Usage: cfgcaddy init [OPTIONS] SRC_DIRECTORY DEST_DIRECTORY

  Create or import a caddy config

Options:
  -c, --config PATH  The path to your cfgcaddy.yml
  --help             Show this message and exit.

cfgcaddy init $HOME/dotfiles $HOME
  1. Run the linker
cfgcaddy link

Configuration File Format

cfgcaddy uses a configuration file to store important information about your configuration. The .cfgcaddy.yml consists of several parts. A preferences section which contains information like where your dotfiles are located and where you want them linked to, A links section where you can specify more complex symlinks, and an ignore section where you specify files you do not want managed by cfgcaddy.

Config files for cfgcaddy are stored in your home directory by default. $HOME/.cfgcaddy.yml

A sample .cfgcaddy.yml which leverages most features can be found here

Development

  1. Clone the repository

git clone https://github.com/tstapler/cfgcaddy

  1. Install cfgcaddy as an editable package

pip install --editable ./cfgcaddy

  1. ??????

  2. Profit

Motivation/Prior Art

I'm an automation fiend, this tool grew out of a personal need to manage my configurations across multiple machines and operating systems. It fits my needs and I'll add features as I need them (Like Windows support). PRs are always welcome :)

Here are several projects that I've drawn inspiration from:

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc