Skip to content

Releases: RaphGL/Tuckr

Tuckr 0.10.0

30 Oct 22:47
Compare
Choose a tag to compare

New addition

With this release, profiles have been added. Making Tuckr support more use cases.
To learn more about why profiles might be needed, check the profiles page on the wiki.

Breaking change

In this release the commands that were previously ls-hooks, ls-secrets have been all merged into a single command.
Now there's only an ls command that takes hooks, secrets or profiles as its argument.

Their output has also been improved, ls hooks in specific, now prints a nice informative table.

Fixes

  • Fixed faulty symlinking on windows
  • Fixed how the program detects conditional groups
  • Fixed secrets refusing to work on valid targets (courtesy of @raphaelahrens)
  • Fixed dotfiles lookup path not prioritizing config_dir
  • Fixed wildcard adding invalid conditional groups (courtesy of @SirZenith)
  • Fixed pushing directories not working

I would also like to thank @Jasha10 / @jasha-hrp for noticing a bunch of issues and reporting them so I could keep making the tool even better :)

Tuckr 0.9.1

13 Aug 12:49
Compare
Choose a tag to compare

What's changed

  • previous release broke pop and push, but are now working as intended
  • improved error messages, reducing the amount of panics encountered and instead having some more understandable errors

New command

With this release a new command has been added called groupis. With the previous strategy for symlinking simply running ls -l one would see where the origin of the symlink was, but that is no longer the case. A non symlinked file doesn't necessarily mean it's not from one's dotfiles (though you could keep going to the parent path until you found a symlink, that's tedious).

So with tuckr groupis you can easily know what group a file belongs to, it also can be "chained" with the rm, set, etc commands.
Here's some examples:

Check what group a file belongs to

$ tuckr groupis my_config.py
groupname

Remove the group a file belongs to

$ tuckr rm $(tuckr groupis my_config.py)

Remove everything besides the group the file belongs to

$ tuckr rm \* -e $(tuckr groupis my_config.py)

You can use it to feed to any command that takes a group as input.

Full Changelog: 0.9.0...0.9.1

Tuckr 0.9.0

27 Jul 21:10
Compare
Choose a tag to compare

This release is potentiallly a breaking change for some. Hooks and Secrets remain unchanged but symlinking has changed strategy from a simple symlink from dotfiles path to $HOME to shallow symlinking, thus getting more in line with what stow itself does and providing a better user experience.

I recommend doing the following:
before upgrading run

$ tuckr rm \*

and after upgrading run

$ tuckr add \*

This ensures that all your dotfiles are converted to the new symlinking strategy.

What's changed

  • Fixed conflict resolution command not working
  • Fixed globbing causing error when provided alongside group names
  • Files can now be symlinked into any directory due to shallow symlinking, instead of just doing nothing silently
  • Improved status reporting for specific groups and you're now able to know whether a dotfile is symlinking elsewhere or if it's in conflict
  • Invalid groups now give an error instead of failing silently

Full Changelog: 0.8.1...0.9.0

Tuckr 0.8.1

07 Jul 14:57
Compare
Choose a tag to compare

What's changed

  • Improved error messages
  • Added push and pop commands for Configs
  • ls-hooks and ls-secrets now use the system's default file listing utility

Full Changelog: 0.8.0...0.8.1

Tuckr 0.8.0

27 Mar 17:31
Compare
Choose a tag to compare

What's changed

  • Added ls-hooks and ls-secrets commands, making it easier to know what are the available hooks and secrets
  • Added conditional groups
  • Improved symlink status reports
  • Fixed symlinking not working on non unix systems
  • FIxed validation not working on windows

Conditional groups

Tuckr now supports conditional groups. Conditional groups allows files to only be deployed on specific systems. They're just regular group directories suffixed with the preferred platform (e.g. vscode_windows, vscode_unix, vscode_macos). Tuckr will treat them as if they were a part of the original unsuffixed group.

You can learn more about the state of all associated groups by running tuckr status nvim.

Full Changelog: 0.7.1...0.8.0

Tuckr 0.7.1

17 Feb 16:09
Compare
Choose a tag to compare

What's changed

  • Improved error messages for status and decrypt commands
  • Improved error codes. Status now will return 0 if all dotfiles are symlinked and 1 otherwise

Full Changelog: 0.7.0...0.7.1

Tuckr 0.7.0

06 Feb 12:46
Compare
Choose a tag to compare

What's changed

  • Programs are now called group for better consistency.
  • Now one can check statuses for individual groups and know what individual files are in conflict for each group

Full Changelog: 0.6.1...0.7.0

Tuckr 0.6.1

26 Jan 16:27
Compare
Choose a tag to compare

What's changed

  • Added more command aliases
  • Made exit codes consistent, facilitating scripting with tuckr
  • Added missing flags to secrets

Full Changelog: 0.6.0...0.6.1

Tuckr 0.6.0

17 Jan 17:08
Compare
Choose a tag to compare

This release finally introduces encrypted files through secrets. Secrets follow the same file structure convention used by Hooks and Configs.

Full Changelog: 0.5.2...0.6.0

Tuckr 0.5.2

17 Dec 20:12
Compare
Choose a tag to compare

What's changed

  • Encrypts is now called Secrets to fit the naming scheming with Configs and Hooks
  • Added aliases for the add (a) and status (s) commands
  • Refactored code

Full Changelog: 0.5.1...0.5.2