Skip to content

aravguptaaa/dotlink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DotLink - A Cross-Platform Dotfile Manager

License: MIT

DotLink is a lightweight, robust command-line interface (CLI) tool built with Node.js to streamline the management of dotfiles by creating symbolic links from a central directory.

This project was developed as a practical demonstration of modern software engineering principles, showcasing expertise in JavaScript development, Linux environment management, and open-source packaging.


🚀 Key Features & Skills Demonstrated

  • Modern JavaScript (Node.js):
    Built entirely with modern asynchronous JavaScript, showcasing strong programming fundamentals.

  • Cross-Platform:
    Fully functional on macOS, Windows (via WSL), and native Linux environments.

  • Packaged for npm:
    Published to the npm registry for global installation, demonstrating proficiency with Node.js ecosystem and package management.

  • Debian Package for Ubuntu:
    (Goes above and beyond standard development)
    A .deb package was built using Docker within an isolated Ubuntu environment — proving hands-on experience with Linux systems and Debian packaging (dpkg-deb).

  • Clean, Focused Design:
    Adheres to the Unix philosophy of doing one thing well — managing symbolic links efficiently and reliably.

  • Open Source:
    Hosted on GitHub with clear documentation and an MIT license, demonstrating commitment to open-source best practices.


🧩 Installation

There are three ways to install DotLink — each demonstrating a different software distribution method.


1. From npm (Recommended)

The easiest and most portable way to install DotLink.

npm install -g @avgpt/dotlink

2. On Debian/Ubuntu (using the .deb package)
To showcase Linux packaging expertise, a .deb file is available for Debian-based systems.

Download the dotlink-1.0_amd64.deb file from the Releases section of this repository.

Install it using dpkg:

sudo dpkg -i dotlink-1.0_amd64.deb
3. From Source (for Developers)
If you want to contribute or modify the tool, install it directly from source:

# Clone the repository
git clone https://github.com/aravguptaaa/dotlink.git

# Navigate into the project directory
cd dotlink

# Install dependencies
npm install

# Create a global link to make the command available system-wide
npm link
⚙️ Usage
Inside your project directory, create a folder named dotfiles.

Place all your configuration files (e.g., .bashrc, .vimrc, .gitconfig) inside this dotfiles directory.

Use DotLink to create symbolic links for each file you wish to manage.

# Example: Create a symbolic link for .bashrc
dotlink link .bashrc

# Example: Create a symbolic link for .vimrc
dotlink link .vimrc
DotLink will automatically create symbolic links from:


.../dotlink/dotfiles/.bashrc → ~/.bashrc
🧠 Technology Stack
Component	Technology
Core	Node.js
CLI Framework	Commander.js
Build/Test Environment	Docker, Ubuntu
Packaging	npm, dpkg (Debian Package Tools)

📜 License
This project is licensed under the MIT License.
See the LICENSE file for details.

🏷️ Next Step: GitHub Release Setup
To make your project look even more professional:

Go to your dotlink repository on GitHub.
Click "Releases" on the right sidebar.
Click "Create a new release".
Tag version: v1.0.0
Release title: v1.0.0
Attach your .deb file (dotlink-1.0_amd64.deb).
Click "Publish release".

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors