<leons>
Since some days I'm trying to make Emacs my OS, hence I'd like to use eshell ^^
<leons>
However, I'm having a hard time finding a nix-shell -p $PACKAGE equivalent for quickly trying out an executable of a package
<leons>
Is there some way to get a similar behavior with eshell?
<alexarice[m]>
Does anyone else find that the first *.nix file they open in emacs loads very slowly?
<bqv[m]>
`nix-shell -p $PACKAGE --run "command with args"` works fine for me
<bqv[m]>
i think i did have to fiddle with some env vars to get nix up to speed
<bqv[m]>
alexarice: that's probably a nix-mode loading or something
<leons>
qy: Yeah, that works but I'd prefer some kind of interactive session
<alexarice[m]>
qy: Seems very slow for me, I might have an investigate
<bqv[m]>
Leon: you could probably hack something together to run the nix-shell and steal the $PATH and anything else relevant from it, and set those in your eshell
<bqv[m]>
but i wouldn't imagine it would be worth the hassle
<leons>
yeah, probably not :/
<adisbladis>
leons: Supposedly nix-mode has something for that
<adisbladis>
condition-case: Symbol’s value as variable is void: woman-manpath
<alexarice[m]>
hmm, it seems nix-mode is definitely causing the slowing down, though even if I put "demand" in the use-package config, it still takes time to load when first openede
<leons>
adisbladis: It does! I was only searching for interactive commands. Crashes for me too, "nix-store" command not found. Weird stuff
<leons>
Fixable by tweaking the variable, now have the same error as you
<bqv[m]>
mine says `Your system () does not match .drv’s build system (x86_64-linux)`
<bqv[m]>
excellent, three different errors for the same thing
<leons>
Amazing
<bqv[m]>
but at least it's consistent in not working
<bqv[m]>
for what it's worth, i avoid eshell like the plague because it's so easy to lock up your emacs with it
<bqv[m]>
vterm is much more reliable
<bqv[m]>
and you can also interact with emacs from within it anyway
<leons>
qy: I didn't know about vterm. I used ansi-term the last couple of weeks, but wasn't satisfied with SSH support, also running ncurses apps really stressed out the CPU
<adisbladis>
leons: Do you have a nice eshell config?
<adisbladis>
vterm is <3
<leons>
I mean, SSH in eshell is really frickin cool
<leons>
No, just using the defaults for now
<adisbladis>
But it's not quite as integrated as eshell (of course)
<leons>
So i fixed the `woman-manpath`, currently stuck at `Man-header-file-path` and decided to give up and try vterm insteaad
<alexarice[m]>
what makes vterm good with emacs?
<adisbladis>
alexarice[m]: It works?
<adisbladis>
I mean, it's a fully compliant terminal emulator inside emacs
<alexarice[m]>
oh it's inside emacs
<adisbladis>
All the software I've tried (even curses) just works
<adisbladis>
It's somewhat nicely integrated, you can navigate output, copy text & such
<adisbladis>
I never got fish to work inside any other emacs terminal thingy
<leons>
adisbladis: Do you have to switch to line mode prior copying?
<adisbladis>
leons: You mean exwm line mode? No, you dont.
<leons>
No, I mean line mode as in term-mode
<bqv[m]>
those are not the same category of thing
<adisbladis>
leons: You have to switch to vterm-copy-mode
<adisbladis>
C-t
<bqv[m]>
i normally just use the mouse, tbh...
<adisbladis>
Heathen! :O
<leons>
Okay, yeah makes sense
<bqv[m]>
heh
<leons>
What's this mouse?
<bqv[m]>
i'm in exwm so it's convenient enough
<adisbladis>
Haha, I wonder how many ppl in this channel are using exwm :>
<leons>
Does one really wanna use exwm though? Still not sure, I'm hearing a lot of people complain about everything locking up constantly :/
<adisbladis>
I know of at least 6
<leons>
i3 works fine for me currently, but thinking about switching
<bqv[m]>
it only locks up if you do dumb things, or use eshell
<adisbladis>
leons: I'm a couple of years (~2) in now
<leons>
qy: That would be a "yes" and a "yes" from me :)
<adisbladis>
I can't imagine anything else
<bqv[m]>
i've learnt my lesson of trying to bring everything i do into emacs. some things just work better outside emacs, and that way they can't lock it up
<adisbladis>
All other WMs are toys in comparisons
<bqv[m]>
agreed
<adisbladis>
Though I have to admit that I still do java (android) in android studio
<adisbladis>
Running inside exwm :>
<bqv[m]>
oh, oh no
<adisbladis>
bqv[m]: It's alright. I don't do a whole lot of android any more.
<leons>
Can't you point the android studio thingie to open files using emacsclient?
<bqv[m]>
emacs within x windows within emacs
<leons>
Thats what I'm doing with the 30GB monster software, that is Vivado
<leons>
qy: No, I mean clicking on the file in Vivado opens up my emacs buffer using the server socket
<bqv[m]>
to be fair, i used to use vim in vterm in emacs. then i created a find-file alias to open it using emacsclient
<bqv[m]>
still haven't got used to using it all the time though
<adisbladis>
My tmate sessions are _amazing_
<bqv[m]>
i open something in vim and get confused why pasting isn't working properly
<adisbladis>
Emacs running a terminal running an emacs session
<adisbladis>
Yo dawg
<bqv[m]>
oh no
<bqv[m]>
hey i wanna try that, what happens if i switch to the vterm buffer currently hosting an emacsclient frame, in that vterm buffer
<leons>
oh, c'mon: `vterm-mode: Wrong number of arguments: #<module function Fvterm_new from /nix/store/04biah3wgyxzlihy1m0fdzdv6i087gf4-emacs-packages-deps/share/emacs/site-lisp/elpa/vterm-20200107.1419/vterm-module.so>, 4`
<bqv[m]>
<bqv[m] "hey i wanna try that, what happe"> So, as it happens, this kills the emacs
<adisbladis>
Never managed to get emacs running properly in vterm
<adisbladis>
I use urxvt for that
<adisbladis>
So I can enter char-mode
<bqv[m]>
Gonna have to ssh in and reboot now…
<leons>
Okay, using native binaries from nixpkgs with elisp from current MELPA doesnt work well. What's your solution in this case? Just delete the entire elpa cache?
<leons>
I mean it works but feels like brute force
<leons>
Oh wow, vterm works really really well
<bqv[m]>
Yeah!
<leons>
Honestly compared to term-mode and the likes it's a pleasure to use. It can even handle the fish command previews properly while pasting. wow
<leons>
Since I'm already distracting you, what do you use to switch between project contexts? I'd like to have basically a named set of buffers, for instance "work", "nixos" and the likes. Including keeping the layout. I'm already using ivy-push-view but that doesn't categorize buffers