Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
finchd opened this issue Apr 5, 2020 · 2 comments

Comments

@finchd
Copy link

finchd commented Apr 5, 2020

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
Copy link
Collaborator

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 chrisallenlane transferred this issue from cheat/cheat Nov 3, 2020
@chrisallenlane
Copy link
Member

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants