6.9 KiB
6.9 KiB
plaintext-everything
A curated list of awesome plain-text tools.
I like to keep everything under version control as plain-text. This is a list of utilities that allow you to do that.
Note: * denotes that the linked item is not a library or tool, but an article or blog post.
DNS
- clouddns (Cloudfront)
- namesync (Cloudflare)
- Terraform has providers for CloudFlare, UltraDNS, and PowerDNS
Configuration
- etckeeper. The Arch Wiki has a nice guide on usage.
- NixOS is a completely declarative OS that uses
nix
, the purely functional package manager - RANCID - RANCID monitors a device's configuration, including software and hardware (cards, serial numbers, etc) and uses a version-control-system to maintain history of changes.
- Oxidised - Oxidized is a network device configuration backup tool. It's a RANCID replacement!
- *Blog post about Oxidised
- In general, most configuration management software will keep everything in plain-text.
Terraform
Terraform lets you manage a lot of things in plain-text, including Cloud Assets, Databases, Networking, configuration for various Web services, your CI/CD configuration, and even your Google Calendar. A full list of providers is on the Terraform Registry.
Passwords
- *Question on StackOverflow
- *John Resig's blog post
- pass - Standard unix password manager (encrypt, then commit).
- ansible-vault - Encrypted storage for ansible.
- sops - Encrypts files for git.
Dotfiles
- *dotfiles.github.io - List of various dotfile resources, curated by github
- *Arch Wiki Guide on using version control for dotfiles
- gnu stow
Editors
- *http://www.terminally-incoherent.com/blog/2012/03/12/putting-your-vim-files-under-version-control/
- Editorconfig - Keep your coding styles in a .editorconfig file.
Media
- Git Large File Storage - Replaces large fileswith text pointers inside Git, while storing the file contents on a remote server. Maintained by github
Encrypted Storage
- *HN Thread for blackbox, with various alternatives suggested
- git-crypt - git-crypt enables transparent encryption and decryption of files in a git repository
- *Blog post on git-crypt
- transcrypt - transparently encrypt files within a git repository
- blackbox - use decryption keys per user, meaning that there is no single shared password
Designers
- pixelapse - Visual version control and collaboration workflow
- *Adobe Version Cue - Blog post explaining version control to designers
- kactus.io - Version control for designers (Sketch+Git for now)
- SnowFS - a fast, scalable version control file storage for graphic files. There is a commercial offering as well.
Music
- lilypond - version control for sheet music. Think Latex for sheet music
- tunemachine - Version control for spotify playlists.
Database
- *Jeff Atwood's blog post
Database Schema
Backups
- bup - Very efficient backup system based on the git packfile format, providing fast incremental saves and global deduplication (among and within files, including virtual machine images)
Writing
- Draft - Easy version control and collaboration for writers.
- Penflip - GitHub for collaborative writers.
- GitBook - Book publishing platform based on git and markdown.
Todo
- todo.txt - Pretty well known text file format with applications on many platforms.
- *Todo list in version control - Based on using notational velocity and tracking it in git.
Food
- Fork the Cookbook - GitHub for recipes
- diy.soylent - Soylent recipes can be tracked and include changelogs. They can also be forked.
Diagrams & Flowcharts
- Web Sequence Diagrams - Generates imagess from your plain text descriptions. Has an API for plugin support, so you can embed easily.
- Kanga Modelling - UML diagram generator in plain text. Written in .NET
- yuml.me - Class UML diagrams, described in plain text, and easily embeddable.
Finance
- *plain text accounting - umbrella site for the plain text accounting community.
- ledger - Ledger is a powerful, double-entry accounting system that is accessed from the UNIX command-line
- hledger - cross-platform accounting software for both power users and folks new to accounting.
- beancount - A double-entry bookkeeping computer language that lets you define financial transaction records in a text file, read them in memory, generate a variety of reports from them, and provides a web interface.