iqubic has quit [Remote host closed the connection]
iqubic has joined #nixos-emacs
<iqubic>
adisbladis: I'm running into errors. I just rebuilt my system with my new home manager config, and stuff isn't working.
<iqubic>
Like I logged in and emacs was successfully run, but then emacs gave me some errors.
<iqubic>
Warning (initialization): An error occurred while loading '/home/iqubic/.emacs':
<iqubic>
File is missing: Cannot open load file, no such file or directory, exwm
nix-build has joined #nixos-emacs
nix-build has quit [Remote host closed the connection]
{^_^} has joined #nixos-emacs
gchristensen has joined #nixos-emacs
gchristensen has left #nixos-emacs ["WeeChat 2.4"]
{^_^} is now known as Guest96999
nix-build has joined #nixos-emacs
Guest96999 has quit [Ping timeout: 248 seconds]
nix-build has quit [Remote host closed the connection]
{^_^} has joined #nixos-emacs
<iqubic>
jackdk: You wouldn't know much about adisbladis' exwm-overlay, would you?
<iqubic>
I'm running into errors. I just rebuilt my system with my new home manager config, and stuff isn't working.
<iqubic>
Like I logged in and emacs was run, but then emacs gave me some errors. Warning (initialization): An error occurred while loading '/home/iqubic/.emacs': File is missing: Cannot open load file, no such file or directory, exwm
<iqubic>
It starts up emacs, but then EXWM isn't found.
<iqubic>
And if comment out the import for emacs.nix, then emacs is never found.
<iqubic>
Warning (initialization): An error occurred while loading '/home/iqubic/.emacs':
<iqubic>
File is missing: Cannot open load file, no such file or directory, exwm
<iqubic>
Those last two lines are the emacs errors I get when I don't comment out the import for emacs.nix
<adisbladis>
I don't really know... It's hard to say without a lot more context
<iqubic>
What more context would you need?
<adisbladis>
Can you (require 'blah) anything you've installed through nix?
<iqubic>
Let me test this out.
<iqubic>
Yes I can
<iqubic>
I can require several other things installed via nix..
<iqubic>
It's just EXWM that fails
<iqubic>
adisbladis: I can't seem to get this to work at all.
<adisbladis>
I'd suggest at starting to look what the wrapper is doing
<adisbladis>
cat $(which emacs)
<iqubic>
Which wrapper?
<adisbladis>
The emacs wrapper created by emacsWithPackages
<adisbladis>
iqubic: cat $(which emacs)
<iqubic>
I see
<adisbladis>
You'll see a path like `/nix/store/94k05r6rh0dz5b39h4ms167rkbakgc9m-emacs-packages-deps/share/emacs/site-lisp/`
<adisbladis>
That's your emacs load path, then `find /nix/store/94k05r6rh0dz5b39h4ms167rkbakgc9m-emacs-packages-deps/share/emacs/site-lisp/` and see what's inside the path :)
<iqubic>
That tells me I have a symbolic link to emacs-26.1
<iqubic>
etu: It returns this "/nix/store/577c4y2f5z8mdcmgxqha0jri614wlnj8-emacs-26.1/bin/emacs: symbolic link to emacs-26.1"
<etu>
hmmm
<iqubic>
etu: Do you know what my issue is, and how to fix it?
<etu>
symbolic link confuses me
<iqubic>
Why?
<etu>
it wasn't neither of the outputs I expected
<etu>
iqubic: I have had issues with exwm when I first set it up because I made a double wrapper
<etu>
iqubic: So I expected it to be a binary or a shellscript
<etu>
iqubic: And if it were a shellscript it would have been double wrapped and overwrite environment variables
<etu>
I don't know why it is a symlink.
<etu>
Because it's not on my system
<iqubic>
So just for kicks, I ran `ls -la` on /nix/store/577c4y2f5z8mdcmgxqha0jri614wlnj8-emacs-26.1/bin/ and got this result: http://dpaste.com/1C67GTZ
<iqubic>
Would you like me to add my init.el to that gist?
<etu>
Do you have exwm in use-package in your init.el?
<iqubic>
No.
<adisbladis>
Oh, then that's it ! :D
<adisbladis>
Of course you'll need that too, that's how fromEmacsUsePackage knows what to pull in
<iqubic>
Except now home-manager fails to build
<etu>
You realize that use-package.nix parse your init.el to find out which packages you need by looking for use-package declarations and pull them in
<etu>
?
<iqubic>
I do.
<etu>
So if you don't have exwm as a use-package declaration in your init.el, it won't install exwm.
<etu>
There is one way around that though
<iqubic>
I'm now getting "error: opening file '/home/iqubic/.config/nixpkgs/repos/exwm.json': no such file or directory" when attempting to run "home-manager switch"
<iqubic>
So... one problem leads to another.
<adisbladis>
iqubic: It looks like you didn't pull down the whole overlay repo
<adisbladis>
etu: Would you mind pushing that to the overlay?
<etu>
adisbladis: Sure
<iqubic>
What does that do, exactly?
<etu>
iqubic: The same way as the things you already have, but it allows you to add additional packages that you don't have use-package declarations of
<iqubic>
Ah. I love that concept.
<iqubic>
And are we sure this is pulling the latest version of EXWM from github?
<etu>
yes
<iqubic>
Also, why do you need the json files?
<etu>
We have a bash-script that fetch the latest commits from a few repos from github
<iqubic>
I saw.
<etu>
and store the rev and hash in the json files
<iqubic>
Ah.
<etu>
then we parse those files with nix
<etu>
easy format to write -- easy format to parse
<iqubic>
Won't you need to update the json with each new commit to the EXWM repo?
<adisbladis>
iqubic: We run travis-ci nightly to pull down the latest exwm repo
<iqubic>
I'm going to log in to IRC on my laptop now. Be back soon.
iqubic has quit [Remote host closed the connection]
<adisbladis>
When the overlay is move to nix-community I'll make sure that we have much better getting started docs
iqubic has joined #nixos-emacs
<adisbladis>
iqubic: I just wrote `When the overlay is move to nix-community I'll make sure that we have much better getting started docs`
<adisbladis>
Well, right now we don't have any docs :)
<iqubic>
Error (use-package): auctex/:catch: Loading file /home/iqubic/.emacs.d/elpa/auctex-12.1.2/auctex.elc failed to provide feature ‘auctex’
<adisbladis>
iqubic: The nix expression happily ignores anything passed to use-package except the package name, so it's not related to the nix expression
<iqubic>
But why would "ensure" be a bad keyword?
<iqubic>
Oh, because I wrote this: "ensure :f)"
<iqubic>
LOL
<adisbladis>
^_^
<iqubic>
I feel like an idiot.
<iqubic>
Now, time to debug the auctex erro.
<iqubic>
Are we sure it's not a nix problem?
<adisbladis>
iqubic: Looks like that package was not even provided by nix.
<adisbladis>
I'd nuke ~/.emacs.d (make sure you don't have anything in there you'd like to keep first)
<etu>
rename if unsure :p
<iqubic>
adisbladis: You want me to nuke ~/.emacs.d?
<adisbladis>
What etu said :)
<adisbladis>
iqubic: It looks like you still have packages in ~/.emacs.d
<adisbladis>
Which you shouldn't when nix provides them
<iqubic>
Yeah, that's because I wrote (:ensure f) on all of my use-package blocks, which made use-package have to go fetch them.
<etu>
:ensure should only be nil, t, or package name afaik
<iqubic>
I know.
<iqubic>
I screwed up.
<etu>
and the use-package parser in nix doesn't read package names from :ensure
<etu>
:(
<iqubic>
I know it doesn't.
<iqubic>
Want to add a PR for that?
<iqubic>
Anyways, I'm going to relog. Be back soon.
iqubic has quit [Remote host closed the connection]
iqubic has joined #nixos-emacs
<iqubic>
Well, I just deleted my .emacs.d
<iqubic>
And now none of my packages are working
<iqubic>
Do I need to run `home-manager switch` again to rebuild the packages?
<iqubic>
Wait... Wait... Wait...
<etu>
home-manager doesn't put your packages in .emacs.d
<iqubic>
I just realized my error
<etu>
that's something emacs does for you
<iqubic>
I no longer have a config file in the place emacs expects it.
<iqubic>
The packages are all installed.
<iqubic>
I just don't have my config getting executed
<iqubic>
I feel dumb
iqubic has quit [Remote host closed the connection]
iqubic has joined #nixos-emacs
<iqubic>
If I want to update an emacs package, like, let's say, auctex, how would I do that?