cheat / snap

Snap recipe for cheat
Other
12 stars 4 forks source link

Add Snap package Interface so it can use XDG .config/cheat/conf.yml location #8

Open finchd opened 4 years ago

finchd commented 4 years ago

Is your feature request related to a problem? Please describe. It isn't currently possible to use the Snap package with the standard conf.yml file location:

$ export CHEAT_CONFIG_PATH=~/.config/cheat/conf.yml
$ cheat init
failed to load config: could not read config file: open /home/finchd/.config/cheat/conf.yml: permission denied

This is a security feature of snaps, that they can't access the user homedir. Instead the config (and community cheatsheets) are installed to: ~/snap/cheat/common/.config/cheat/conf.yml Which is difficult to find later, difficult to include in a dotfiles repo, etc

Describe the solution you'd like Similar to lucagrulla/cw, use a Snap Interface. With cw, you can run sudo snap connect cw-sh:dot-aws-config-credentials after installing the snap, to give it access to ~/.aws/credentials for each snap user.

A Snap Interface for cheat could be called 'dot-cheat-config' and give the package access to reach ~/.config/cheat/* to store cheatsheets and the conf.yml in.

Describe alternatives you've considered Running cheat init without exporting CHEAT_CONFIG_PATH and letting it write to ~/snap/cheat/ works, and does echo out the location of the new conf.yml so the user can find the config the first time. This isn't a major showstopper by any means, but seems like a reasonable packaging addition.

Additional context

Version Info:

$ cheat -v
3.8.0
$ snap --version
snap 2.44.2+20.04
snapd 2.44.2+20.04
series 16
ubuntu 20.04
kernel 5.4.0-21-generic
bernermic commented 4 years ago

Hi @finchd, thanks for reporting - this is correct, but with the personal-files Interface the user is required to connect to that interface manually before initializing cheat the first time.

I could add this as a separate option, so it is possible to use dotfiles in the home directory, but to make this the default is in my opinion conflicting with users which only want to see cheatsheets.

I will think on how to include this option and let you know :)

chrisallenlane commented 3 years ago

FYI, I've transferred this issue to the snap repository, given that it does not pertain to the cheat executable itself.