Skip to content

Organize your dotfiles .. Just cooler than anyone else!

Notifications You must be signed in to change notification settings

Smarcy/connect_the_dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Connect The Dotfiles (CTD)

Disclaimer

This software is just a hobby project. I created it mainly for my own use because I wanted to be able to organize my dotfiles comfortably exactly the way I wish to. Also I like Nim. I did not reinvent the wheel in any way. Use this piece of software at your own risk.

If you do not read carefully before you type, you may mess up your system irreversibly.

This software does create symlinks on your machine and even, if wanted, delete files. Thus, think before you type. Even better: study the source code.

I am not responsible for any erased, deleted or not recoverable file in any way.

Functionality

  • Gather all your configuration files in a single directory
    • It is recommended to make that specific directory version controlled (e.g. Git)
  • Let CTD automatically create links at the needed location
  • If you set up a new system and already have certain configuration files, or other mandatory files, you may just let CTD create its directories, copy those files there and let CTD create links at their destined location. All you need to transfer from one system to another, assuming your dotfiles are in a repository, is the so called Storagefile, which indicates, where the symlinks should be created for each file. Since the Storagefile is just plain text, you can even write it yourself! So just import your repo into DotfileLocation and get started!

Installation

  • Install Nim (I recommend choosenim)
  • Clone this repository
  • Run nimble rr in the connect_the_dotfiles/ directory
  • This will create and run a binary in the bin/ directory
    • You can also run nimble r to create the binary without immediately running it
  • Start the binary or pass parameters to it (--help for usage guide)

Info

Relevant files & directories:

  • ~/.config/ctd/
  • ~/.config/ctd/data.txt
  • ~/.config/ctd/dotfiles/ (You want this to be a Git Repo)
  • ~/.config/ctd/backups/

OS Support

Since CTD is using symlinks and mechanics that do not really exist on Windows in this way it is aimed for Linux-based operating systems (I do not know enough about macOS to say anything about compatibility at this point).

It was explicitly tested on my home machine which runs Manjaro on Kernel version 5.4.169 on a Lenovo ThinkPad L480 right now.

Future [ Ideas | Directions | TODOs ]

  • Let user choose all relevant directory locations (ProgDir, DotfileDir, BackupDir, Storagefile)
  • Let user cleanup DotfilesLocation using Storagefile
  • Modularize the project away from a single monolith file

About

Organize your dotfiles .. Just cooler than anyone else!

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages