Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/waldirborbajr/glink

glink - GOLang symlink manager
https://github.com/waldirborbajr/glink

Last synced: about 2 months ago
JSON representation

glink - GOLang symlink manager

Awesome Lists containing this project

README

        



glink - GOLang symlink manager



tests


goreport




**BETA:** This project is in active development. Please check out the issues and contribute if you're interested in helping out.

## glink
`tl;dr:` `glink`, a.k.a GOlang Symbolic Link (symlink), is an open-source software built-in with the main aim of being a personal alternative to **GNU Stow**.

As `GNU Stow`, `glink` is a symlink farm manager which takes distinct packages of software and/or data located in separate directories on the filesystem, and makes them appear to be installed in the same place.

With `glink` it is eeasy to track and manage configuration files in the user's home directory, especially when coupled with version control systems.

## How to install

### Homebrew

To install glink, run the following [homebrew](https://brew.sh/) command:

```sh
brew install waldirborbajr/glink/glink
```

### Go

Alternatively, you can install glink using Go's go install command:

```sh
go install github.com/waldirborbajr/glink@latest
```

This will download and install the latest version of glink. Make sure that your Go environment is properly set up.

**Note:** Do you want this on another package manager? [Create an issue](https://github.com/waldirborbajr/glink/issues/new) and let me know!

## How to use

The main goal of `glink` is to be as simple as that, `easy peasy lemon squeezy`, with few commands and straight to the target.

```sh
# To create a link to $HOMR
glink l

# To force overwrite existing link : **TODO** not implemented
glink f -f

# To remove (kill) all symblinks : **TODO** not implemented
glink k

# To remove a specific symblinks : **TODO** not implemented
glink r symlink-name

# To print all symlink created : **TODO** not implemented
glink p
```

## .glink-ignore`

You can add files/directories to ignore list, so when execute `glink` the content will no be linked.

```sh
touch .glink-ignore
```

## Contributing to glink

If you are interested in contributing to `glink`, we would love to have your help! You can start by checking out the [ open issues ](https://github.com/waldirborbajr/glink/issues) on our GitHub repository to see if there is anything you can help with. You can also suggest new features or feel free to create a new feature by opening a new issue.

To contribute code to `glink`, you will need to fork the repository and create a new branch for your changes. Once you have made your changes, you can submit a pull request for them to be reviewed and merged into the main codebase.

## Contributors



Made with [contrib.rocks](https://contrib.rocks).