All Projects → comtrya → comtrya

comtrya / comtrya

Licence: MIT License
Configuration Management for Localhost

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to comtrya

Pearl
Pearl is a lightweight package manager for automating reproducible environments between different systems (Linux and OSX). It can be used for dotfiles, plugins, programs and any form of code accessible via git.
Stars: ✭ 166 (+18.57%)
Mutual labels:  dotfiles, configuration-management
Beemo
🤖 Centralized configuration layer for dev tools. Beep boop.
Stars: ✭ 100 (-28.57%)
Mutual labels:  dotfiles, configuration-management
nixcfg
NixOS and Home-Manager configurations for all of my devices (desktop, Pinebook Pro, RPi4, cloud servers, etc). Like dotfiles, but way better. (née 'nixos-config')
Stars: ✭ 119 (-15%)
Mutual labels:  dotfiles
tmuxp-config
Configs for tmuxp (https://github.com/tony/tmuxp)
Stars: ✭ 24 (-82.86%)
Mutual labels:  dotfiles
MacOS-Dotfiles
No description or website provided.
Stars: ✭ 85 (-39.29%)
Mutual labels:  dotfiles
dotfiles
🏠 dotfiles for my macOS environment
Stars: ✭ 17 (-87.86%)
Mutual labels:  dotfiles
dotfiles
💻 @alias-mac does dotfiles
Stars: ✭ 13 (-90.71%)
Mutual labels:  dotfiles
dotfiles
My dotfiles for Arch Linux and macOS: Polybar, Neovim, ZSH, Alacritty, Git, and more 👨🏿‍💻
Stars: ✭ 13 (-90.71%)
Mutual labels:  dotfiles
DotThemes
Collection of my Themes (GTK, Xfce, Openbox)
Stars: ✭ 31 (-77.86%)
Mutual labels:  dotfiles
dotfiles
🗂 ~josh
Stars: ✭ 19 (-86.43%)
Mutual labels:  dotfiles
cc
💊 Golang Configuration Management for "Humans™?"
Stars: ✭ 32 (-77.14%)
Mutual labels:  configuration-management
dotfiles
Dotfiles & Developer Environment. Supports Ubuntu2004+, macOS Catalina+, Windows 10 w WSL
Stars: ✭ 30 (-78.57%)
Mutual labels:  dotfiles
code
~/code – tools distributed across all of my systems
Stars: ✭ 73 (-47.86%)
Mutual labels:  dotfiles
gops
配置管理,分布式定时任务
Stars: ✭ 45 (-67.86%)
Mutual labels:  configuration-management
nest-typed-config
Intuitive, type-safe configuration module for Nest framework ✨
Stars: ✭ 47 (-66.43%)
Mutual labels:  configuration-management
dotfiles
⛩️ My dotfiles on Artix Linux. Gruvbox | Neovim | tmux
Stars: ✭ 56 (-60%)
Mutual labels:  dotfiles
i3-dotfiles
My dotfiles used for i3 configuration
Stars: ✭ 20 (-85.71%)
Mutual labels:  dotfiles
configuration
My configs: OS setups, dotfiles, scripts and more.
Stars: ✭ 23 (-83.57%)
Mutual labels:  dotfiles
config-public
Linux/WSL config to optimize ergonomics, security, and productivity: vim/neovim, zsh, tmux, i3, emacs, vscode, ipython, jupyter, ranger, fzf, kitty, xkb, selfquant, firejail, systemd, etc
Stars: ✭ 14 (-90%)
Mutual labels:  dotfiles
dotfiles
Config files for wm and terminal apps
Stars: ✭ 15 (-89.29%)
Mutual labels:  dotfiles

Comtrya

Comtrya

This is better, yes?


License

Latest GitHub Release GitHub Actions Status Codecov

Discord


Want to learn how to use Comtrya? Check the docs.


About

Comtrya is a tool to help provision a fresh OS with the packages and configuration (dotfiles) you need to become productive again.

I'm a serial OS installer, I wipe the OS on my machines every, approx, 30 days. I've primarily relied on SaltStack to automate this, but I've grown frustrated with the mismatch between configuration management and personal provisioning.

I've also tried Ansible, Chef, Puppet, mgmt, and probably anything else you're about to suggest; they all have a flaw that makes it too cumbersome to adopt for the trivial use-case.

Installing

You'll find binaries over on the releases page.

If you're not feeling risk-averse, you can use this one-liner:

curl -fsSL https://get.comtrya.dev | sh

If this doesn't work for your OS and architecture, please open an issue and we'll do our best to support it.

Usage

# Run all manifests within a directory
comtrya <directory with manifests>

# --manifests, or -m, will run a subset of your manifests
comtrya . -m one,two,three

# Show command usage
comtrya --help

# Prints version information
comtrya --version

What's Next?

You should take a look at the issues page to see what's available to contribute. Below is a short list of the major features that are upcoming.

Better Output

Providing a --quiet or --summary option that restricts the output to the run time

Comtrya finished in 12.3s

Installed Packages: 12
Provisioned Files: 34

Async DAG

We're using petgraph to build out the graph, but we're not traversing it in a way that will allow us to concurrently execute manifests at the same depth. This is something I wish to sort out pretty soon.

Config

TODO: Allow manifest directory and variables to be configured in a Comtrya.yaml file. This will allow for comtrya with no arguments to function, as in the initial versions.

Package Provider Enhancements

Currently, we execute arbitrary packager install commands. The provider spec should be enriched to support:

  • List refresh
  • Upgrades
  • Version pinning

Integration tests

We are a bit light on tests at the moment, but we have started introducing some helpful plumbing in tests.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].