Crates.io | atem-dots |
lib.rs | atem-dots |
version | |
source | src |
created_at | 2025-02-11 21:13:37.013348+00 |
updated_at | 2025-02-19 23:49:55.117237+00 |
description | A (dot)file manager |
homepage | |
repository | https://github.com/jullanggit/dots |
max_upload_size | |
id | 1552006 |
Cargo.toml error: | TOML parse error at line 20, column 1 | 20 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
A (dot)file manager using symlinks (intended for use in atem, but can also be used standalone).
Can be understood as a more powerful GNU Stow, which allows you to precisely control where in the file tree the symlink should be placed.
Dots operates on a file tree containing the paths you want to symlink.
The location of this file tree has to be set using the files_path
key in the config file (recommendation: {home}/.config/atem/files
)
The files_path
directory is split in multiple sub-directories, to allow for different files on different machines.
"{hostname}" can be used as a placeholder for the actual hostname (For example: {hostname}/etc/pacman.conf
).
As most other symlinks are against the same subdir, you can set a default_subdir
in the config file.
Then, you can just omit the default subdir. (For example: /etc/pacman.conf
)
"{home}" can be used as a placeholder for the home directory of the current user (For example: /{home}/.config/dots
).
All paths are in the format described above.
All commands (except remove, which doesn't care) can also take --copy as an argument for copying, instead of symlinking the file. This is meant for things that for some reason or another do not like being a symlink.
Note that paths added using --copy will not be detected by list, instead a list of items that should be on the system should be passed, which are then validated. Only paths that actually are on the system are printed back out.
list_paths
key{home}/.config/dots
list
searches throughlist
ignoreslist
should run as rootcargo +nightly install atem-dots