tuh8888 / chezmoi.el Goto Github PK
View Code? Open in Web Editor NEWAn emacs package for interacting with chezmoi.
License: GNU Affero General Public License v3.0
An emacs package for interacting with chezmoi.
License: GNU Affero General Public License v3.0
I've got an issue with trying to use chezmoi inside emacs, where it isn't able to get a password into the underlying op
command line:
Enter the password for [email protected] at my.1password.com: [ERROR] 2022/09/22 15:38:49 operation not supported by device
chezmoi: template: github-token:1:4: executing "github-token" at <onepasswordItemFields "Github">: error calling onepasswordItemFields: /usr/local/bin/op signin --raw: exit status 1
Not sure if this effects anything else but when .chezmoiroot is set to anything other than than default it opens a file at the wrong location.
to reproduce;
initalise a repo in the default location (~/.local/share/chezmoi/)
add .chezmoiroot file with the a new root location
add a file to (eg alacritty) chezmoi
edit file with emacs in chezmoi and 'M-x chezmoi-open-other'
file will open with the .chezmoiroot as a prefix to the path.
echo 'home' > ~/.local/share/chezmoi/.chezmoiroot
chezmoi add ~/.config/alacritty/alacritty.yml
chezmoi edit
# in emacs, open alacritty file which will be located under the new root 'home'
M-x chezmoi-open-other
# it opens a file at location ~/home/.config/alacritty/alacritty.yml
showing the location it opens with the other file function:
showing the location in the repo chezmoi uses
showing the new root location change by the .chezmoiroot file.
I see that you've done some refactoring in the last merge. It seems that after the refactor, the extensions/
directory is not packaged with the package on Melpa. I've attached a screenshot of the file contents of the tar I just downloaded from Melpa. I have created a PR to fix the packaging here melpa/melpa#8676. Feel free to merge if it looks alright. This is my first time working with Melpa recipes. :)
This might be more a request to test corfu and see make a checklist for what's needed for chezmoi.el
integration.
After the latest update I get an error when running chezmoi-magit-status
: "chezmoi-source-file: Wrong type argument: stringp, nil"
I am using emacs 29...
Hi!
While looking over recent MELPA PRs (melpa/melpa#8676) I noticed that your package includes Company- and Cape-specific completion backends. I suggest that you instead provide a plain Capf which does not depend on Cape, by not relying on Cape internals. This Capf can be used with both Corfu and Company. You avoid the Cape and Company dependencies and reduce maintenance effort this way.
when using "chezmoi-find" the mode does not get inherited from target-file.
A fix that worked for me, was changing
Line 280 in 0b25d31
(let ((target-file file))
Thanks for the package. It makes managing chezmoi dotfiles much easier.
One thing that is a bit tricky is dealing with files that are encrypted. I imagine this might be ideally split off to a partially separate package to support age encrypted files.
Then I suppose what chezmoi.el could do is:
This is a relatively minor thing since 99.9% of my files are not encrypted, but once in a while it would come in very useful.
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
file-name-nondirectory(nil)
chezmoi-find("~/.local/etc/supervisord-devtools.conf")
chezmoi-ediff("~/.local/etc/supervisord-devtools.conf")
funcall-interactively(chezmoi-ediff "~/.local/etc/supervisord-devtools.conf")
call-interactively(chezmoi-ediff record nil)
command-execute(chezmoi-ediff record)
execute-extended-command(nil "chezmoi-ediff" nil)
funcall-interactively(execute-extended-command nil "chezmoi-ediff" nil)
call-interactively(execute-extended-command nil nil)
command-execute(execute-extended-command)
I can't actually figure out why this is happening, but I am completely unable to chezmoi-ediff
any file.
GNU Emacs 28.0.91 (build 1, x86_64-apple-darwin21.2.0, NS appkit-2113.20 Version 12.1 (Build 21C52)) of 2022-01-13
I'm happy to add any info that might help here, or try out possible fixes.
Thanks for making this!
I have run_once_
and run_onchange_
scripts that I'd like access to through chezmoi-find
, but at the moment they don't seem to show up so I have to navigate to them manually. Is this simply a feature that has not yet been implemented or should I look further into my setup?
Line 82 in ce4f245
I'm getting
Error in private config: config.el, (void-function chezmoi--unchezmoi-source-file-name)
now that this is here. I suspect it's leftover debugging.
Hi, I just started looking into using chezmoi to manage configurations and it's awesome that there's an emacs package for it :)
I was just thinking while setting things up that it would be nice to have a chezmoi-add
function that will take a list of existing files to add to the source dir, or prompt for a file when called interactively. I can just use chezmoi add
in a shell, but I prefer to be able to do things with emacs functions if I can!
I am getting the following error when i try to run (use-package chezmoi)
Error (use-package): chezmoi/:catch: Loading file /usr/share/emacs/27.2/lisp/window.elc failed to provide feature ‘window’
Emacs version is 27.2
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.