#link #symlink #management #dotfiles

app lnkr

Linking stuff based on a config file

5 releases

0.1.4 Jul 25, 2023
0.1.3 Jul 18, 2023
0.1.2 Jul 13, 2023
0.1.1 Jul 12, 2023
0.1.0 Jul 10, 2023

#95 in Configuration

25 downloads per month

MIT license

243 lines

lnkr 🪝

lnkr is a powerful tool that allows you to symlink files and directories based on a simple configuration file. Say goodbye to manually creating symbolic links and let lnkr handle it for you!


To install lnkr, use the following command:

cargo install lnkr


lnkr uses a configuration file to define the symlinks. Here's an example configuration from a lnkr.yaml:

  - os: [linux]
    destination: ~/.config
      - name: helix
        path: ./helix
        force: true

In the above example, we have a symlink configuration for Linux. The destination specifies where the symlink should be created, and the items array contains the individual symlinks to be created. Each item has a name and a path. The optional force parameter can be set to true to overwrite existing files or directories.

lnkr will only create symlinks whose link groups' os key matches the current operating system. For example, if you have a link group with os [linux, macos] and your current operating system is Linux, lnkr will create the symlinks specified within that group.

You can specify the target operating system by using one or more of the following values in the os field:

  • linux
  • macos
  • ios
  • freebsd
  • dragonfly
  • netbsd
  • openbsd
  • solaris
  • android
  • windows

Symlinks will be created by the following logic:

<destination>/<name> -> <path>


To symlink your files and directories using lnkr, follow these steps:

  1. Open your terminal and navigate to the directory containing your lnkr.yaml.

  2. Run the following command:


That's it! lnkr will symlink your files and directories, saving you valuable time and effort.


~107K SLoC