Re: Bug Re: Greater than, less than bug in emacs-lisp source block

2021-09-04 Thread Arthur Miller
Tim Cross  writes:

> John Kitchin  writes:
>
>> My previous solution seems like it stopped working for some reason. Here is 
>> a new version that "should" only change syntax
>> inside src-blocks, but not inside strings.
>>
>> It looks like this does not impact html blocks, or xml blocks.
>>
>> It is probably possible to make it mode specific if needed.
>>
>> (defun scimax-org-mode-<>-syntax-fix (start end)
>>   "Change syntax of characters ?< and ?> to symbol within source code 
>> blocks."
>>   ;; I think this gets run in a special edit buffer for src-blocks. For now I
>>   ;; only run this in the src blocks, so that outside the src-blocks these 
>> still
>>   ;; act like b=open/close brackets.
>>   (when (org-src-edit-buffer-p)
>> (let ((case-fold-search t))
>>   (goto-char start)
>>   ;; this "fixes" <>, {} and [] that fixes some issues in src blocks, but
>>   ;; makes some new issues, which is now you cannot use them as brackets.
>>   ;; this tries to be fancy and not change the syntax in strings.
>>   (while (re-search-forward "[[<{]\\|[]>}]" end t)
>> (unless (ppss-string-terminator (syntax-ppss (point)))
>>  (put-text-property (point) (1- (point))
>>  'syntax-table (string-to-syntax "_")))
>>
>> (defun scimax-fix-<>-syntax ()
>>   "Fix syntax of <> in code blocks.
>> This function should be added to `org-mode-hook' to make it work."
>>   (setq syntax-propertize-function 'scimax-org-mode-<>-syntax-fix)
>>   (syntax-propertize (point-max)))
>>
>> (add-hook 'org-mode-hook
>>  #'scimax-fix-<>-syntax)
>>
>> John
>>
>> ---
>> Professor John Kitchin (he/him/his)
>> Doherty Hall A207F
>> Department of Chemical Engineering
>> Carnegie Mellon University
>> Pittsburgh, PA 15213
>> 412-268-7803
>> @johnkitchin
>> http://kitchingroup.cheme.cmu.edu
>>
>> On Fri, Sep 3, 2021 at 9:47 AM Tim Cross  wrote:
>>
>>  I think what is happening here is that org is bumping up against
>>  fundamental design limitations of Emacs. In basic terms, much of Emacs'
>>  underlying design is based on an assumption that a file only has a
>>  single major mode. Org works hard to get around this limitation, but it
>>  comes with cost - usually either performance or complexity.
>>
>>  I think this could probably be characterised as a bug without a workable
>>  solution. While there are things youc an do, they all seem to have
>>  unwanted side effects. To what extent those side effect impact you
>>  depends on your use case (as John points out, if you have blocks of HTML
>>  or XML or JSX etc, changing the syntax table to make < and > 'normal'
>>  characters would fix the elisp issue, but break things in those source
>>  blocks.
>>
>>  So really, what we have is an issue without a clean solution. Best
>>  anyone can do is select one of the proposed work-arounds which has
>>  minimal impact on the user. Personally, I never edit source blocks
>>  except in the special edit mode, so don't really notice the problem with
>>  mismatched parens.
>>
>
> If this does work without unwanted side effects or negative performance
> impact, then it probably should be considered for inclusion in org as it
> seem pretty clean and straight-forward. 

I haven't tested the updated version of JK's proposal, but looking at the source
it seems to be a tad bit resource heavy. If it isn't a hassle for the OP to use
aliases like lt, gt or similar, I would suggest that either using macros or
simple defalias to rename those few functions, <,<=,> and >= is more resource
effective way. If code is tangled and byte compiled, macros will be expanded in
byte code, so effectively the runtime cost is almost none.

> I have to wonder why it hasn't
> given how long this issue has been known about?

That is a good question, maybe proper solution is very hard if not impossible?
Like you said, Emacs is really not meant to be used with several major modes
active as once. Seems like this is one of those places where it shows off.



Re: How to use Org with Python as an IDE?

2021-09-04 Thread edgar

I am very sorry for wasting your precious time. This was very simple

1. Install (some are optional) python-language-server  
jedi-language-server bash-language-server python-pylint  
python-pydocstyle ccls python-pyls-black

2. Clone https://github.com/joaotavora/eglot
3. Add this to your .init.el or .emacs

(require 'package)
(package-initialize)

(defun load-eglot-company ()
  "Loads `eglot' and `company'"
  (eglot-ensure)
  (company-mode))
(add-hook 'python-mode-hook 'load-eglot-company)

(use-package eglot
  :after prog-mode
  :load-path "~/.emacs.d/plugins/eglot"
  :config
  (add-hook 'c-mode-hook 'load-eglot-company)
  (add-hook 'c++-mode-hook 'load-eglot-company)
  (add-hook 'c-mode-common-hook 'load-eglot-company))


I can't believe that I can now be in the 21st century. Thanks to all  
the developers and the free software community!
Quoting href="mailto:ed...@openmail.cc;>ed...@openmail.cc:type="cite" style="border-left:2px solid  
blue;margin-left:2px;padding-left:12px;">Is there a current way to  
have Python (not iPython, Jupyter, Anaconda, Conda...) IDE in  
Emacs?


I sent the forwareded message to the Org (mode) list, because I am  
planning to use Org, but I am in a defeated state, and if I can get  
regular files with autocompletion, navigation and documentation, that  
would be great.


Thanks!

#+begin_src elisp
 (org-version)
#+end_src

#+RESULTS:
: 9.3.7

#+begin_src elisp
 (emacs-version)
#+end_src

#+RESULTS:
: GNU Emacs 27.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.27,  
cairo version 1.17.4)

: of 2021-03-26

| python-jedi| 0.18.0-2 |
| emacs-ctable| 0.1.2-3 |
| emacs-deferred   | 0.5.1-2 |
| emacs-epc | 0.1.1-4 |
| python-epc | 0.0.5-3 |
| python-black| 21.7b0-1 ||  
python-flake8-black | 0.2.2-1 |




-
This free account was provided by VFEmail.net - report spam to ab...@vfemail.net

ONLY AT VFEmail! - Use our Metadata Mitigator to keep your email out of the 
NSA's hands!
$24.95 ONETIME Lifetime accounts with Privacy Features!  
15GB disk! No bandwidth quotas!
Commercial and Bulk Mail Options!  



Fwd: How to use Org with Python as an IDE?

2021-09-04 Thread edgar
Is there a current way to have Python (not iPython, Jupyter, Anaconda,  
Conda...) IDE in Emacs?


I sent the forwareded message to the Org (mode) list, because I am  
planning to use Org, but I am in a defeated state, and if I can get  
regular files with autocompletion, navigation and documentation, that  
would be great.


Thanks!

#+begin_src elisp
  (org-version)
#+end_src

#+RESULTS:
: 9.3.7

#+begin_src elisp
  (emacs-version)
#+end_src

#+RESULTS:
: GNU Emacs 27.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.27,  
cairo version 1.17.4)

:  of 2021-03-26

| python-jedi | 0.18.0-2 |
| emacs-ctable|  0.1.2-3 |
| emacs-deferred  |  0.5.1-2 |
| emacs-epc   |  0.1.1-4 |
| python-epc  |  0.0.5-3 |
| python-black| 21.7b0-1 |
| python-flake8-black |  0.2.2-1 |




-
This free account was provided by VFEmail.net - report spam to ab...@vfemail.net

ONLY AT VFEmail! - Use our Metadata Mitigator to keep your email out of the 
NSA's hands!
$24.95 ONETIME Lifetime accounts with Privacy Features!  
15GB disk! No bandwidth quotas!

Commercial and Bulk Mail Options!  --- Begin Message ---

Hi!

* Brief

I want to use Emacs to program in Python and combine it with Org. I am  
unable to setup Gtags (my first option), Elpy nor Jedi. I would like  
to stay away from LSP, but I am willing to heed. What you see [[*What  
I have tried][below]] is to show that I really tried.


You should really read this as an Emacs Org file

Why do I write this to the Org community? Because I would like to have  
a solution which works with the best way of organising my life (Org  
and Org Babel). Thanks!


* What I want

I would like to
- be able to have a way to navigate through code similar to  
CEDET/Semantic (some key strokes, and go to the definition of  
something, change into appropriate files, go back, etc.).

- find symbols or tags
- get contextual help about the signature of functions and the like
- have code completion from the current project and system's libraries  
(it would be nice if I can refer to more than one project)


P.S. https://web.libera.chat/ does not let me connect (Tor not accepted?)
P.S.S. StackOverflow's CloudFlare did not let me register

* What I have tried
** Gtags
** Elpy

I think that the creator of Elpy got completely fed up and left the  
project (I could be wrong). The project is now a side-project of  
someone else. It used to work, except for some quirks in Org src  
buffers.


#+begin_src elisp
  ;; https://realpython.com/emacs-the-best-python-editor/
  ;; Install these first: (emacs) epc, deferred, ctable, jedi,
  ;; company, (python) sexpdata, epc, jedi, black
  (use-package elpy
;; :ensure elpy
:defer t ;:defer 1
:init
(advice-add 'python-mode :before 'elpy-enable)

:config
(setq elpy-rpc-python-command "python3"
  ;; For interactive shell
  python-shell-interpreter "python3"
  ;; Don't use the root of the project, open the shell
  ;; in current directory
  elpy-shell-use-project-root nil)

(defun custom-python-mode-hook ()
  (setq python-indent-offset 4)
  (setq tab-width 4)
  (setq indent-tabs-mode nil))
(add-hook 'python-mode-hook 'custom-python-mode-hook)

(define-key elpy-mode-map (kbd "C-c C-k") 'org-edit-src-abort)
(define-key elpy-mode-map (kbd "C-c K") 'elpy-shell-kill-all))
#+end_src

I don't know if I am supposed to be running a server ouuside Emacs  
(Jedi?), but I don't get any completion. Didn't even try to get  
documentation on-request. I don't have a virtual environment.


** Jedi alone

I get an error about some =libpython3.7m=

#+begin_src elisp
  (require 'jedi)
  (jedi:install-server)
#+end_src

#+RESULTS:
#+begin_example
#s(deferred (closure ((callback closure ((it . #0) t) (_) (progn  
(set-default 'jedi:server-command (jedi:-env-server-command  
(callback closure ((it . #0) t) (_) (progn (set-default  
'jedi:server-command (jedi:-env-server-command (d . #s(deferred  
(closure ((callback . #[128 "\302\300\303\301\"\"\207" [(lambda (msg  
output) (message "%s...Done" msg) (if python-environment--verbose  
(progn (message output ("Running: pip install --upgrade  
~/.emacs.d/elpa/jedi-core-0.2.8/") apply append] 6 "


(fn  ARGS2)"]) (callback . #[128 "\302\300\303\301\"\"\207"  
[(lambda (msg output) (message "%s...Done" msg) (if  
python-environment--verbose (progn (message output ("Running: pip  
install --upgrade ~/.emacs.d/elpa/jedi-core-0.2.8/") apply append] 6 "


(fn  ARGS2)"]) (d . #s(deferred (closure ((d . #8) (pd .  
#s(deferred deferred:default-callback deferred:default-errorback  
deferred:default-cancel #8 nil nil)) (args "install" "--upgrade"  
"~/.emacs.d/elpa/jedi-core-0.2.8/") (command .  
"~/.emacs.d/.python-environments/default/bin/pip") (f . start-process)  
cl-struct-deferred-tags t) (buf) (prog1 (save-current-buffer  
(set-buffer buf) 

Re: Bug Re: Greater than, less than bug in emacs-lisp source block

2021-09-04 Thread Tim Cross


John Kitchin  writes:

> My previous solution seems like it stopped working for some reason. Here is a 
> new version that "should" only change syntax
> inside src-blocks, but not inside strings.
>
> It looks like this does not impact html blocks, or xml blocks.
>
> It is probably possible to make it mode specific if needed.
>
> (defun scimax-org-mode-<>-syntax-fix (start end)
>   "Change syntax of characters ?< and ?> to symbol within source code blocks."
>   ;; I think this gets run in a special edit buffer for src-blocks. For now I
>   ;; only run this in the src blocks, so that outside the src-blocks these 
> still
>   ;; act like b=open/close brackets.
>   (when (org-src-edit-buffer-p)
> (let ((case-fold-search t))
>   (goto-char start)
>   ;; this "fixes" <>, {} and [] that fixes some issues in src blocks, but
>   ;; makes some new issues, which is now you cannot use them as brackets.
>   ;; this tries to be fancy and not change the syntax in strings.
>   (while (re-search-forward "[[<{]\\|[]>}]" end t)
> (unless (ppss-string-terminator (syntax-ppss (point)))
>  (put-text-property (point) (1- (point))
>  'syntax-table (string-to-syntax "_")))
>
> (defun scimax-fix-<>-syntax ()
>   "Fix syntax of <> in code blocks.
> This function should be added to `org-mode-hook' to make it work."
>   (setq syntax-propertize-function 'scimax-org-mode-<>-syntax-fix)
>   (syntax-propertize (point-max)))
>
> (add-hook 'org-mode-hook
>  #'scimax-fix-<>-syntax)
>
> John
>
> ---
> Professor John Kitchin (he/him/his)
> Doherty Hall A207F
> Department of Chemical Engineering
> Carnegie Mellon University
> Pittsburgh, PA 15213
> 412-268-7803
> @johnkitchin
> http://kitchingroup.cheme.cmu.edu
>
> On Fri, Sep 3, 2021 at 9:47 AM Tim Cross  wrote:
>
>  I think what is happening here is that org is bumping up against
>  fundamental design limitations of Emacs. In basic terms, much of Emacs'
>  underlying design is based on an assumption that a file only has a
>  single major mode. Org works hard to get around this limitation, but it
>  comes with cost - usually either performance or complexity.
>
>  I think this could probably be characterised as a bug without a workable
>  solution. While there are things youc an do, they all seem to have
>  unwanted side effects. To what extent those side effect impact you
>  depends on your use case (as John points out, if you have blocks of HTML
>  or XML or JSX etc, changing the syntax table to make < and > 'normal'
>  characters would fix the elisp issue, but break things in those source
>  blocks.
>
>  So really, what we have is an issue without a clean solution. Best
>  anyone can do is select one of the proposed work-arounds which has
>  minimal impact on the user. Personally, I never edit source blocks
>  except in the special edit mode, so don't really notice the problem with
>  mismatched parens.
>

If this does work without unwanted side effects or negative performance
impact, then it probably should be considered for inclusion in org as it
seem pretty clean and straight-forward. I have to wonder why it hasn't
given how long this issue has been known about?



emacs-jupyter does not send result form babel block

2021-09-04 Thread Rafael


I am using emacs-jupyter (https://github.com/nnicandro/emacs-jupyter),
and I have just noticed that results from a block are not sent to
another block. I think it has to do with this issue
https://github.com/nnicandro/emacs-jupyter/issues/222. Can somebody
suggest a workaround? (I actually want to use the output from a kernel
different from python, but since the problem happens also with the python
kernel I'm using it as an example).

  #+name: atest
  #+begin_src jupyter-python :session test
1+1
  #+end_src

  #+RESULTS: graphst
  : 2
  
  #+begin_src python :var adjs=atest
adjs
  #+end_src

  #+RESULTS
  : nil



Re: Org babel source blocks ignore buffer-local variables

2021-09-04 Thread Berry, Charles


> On Sep 4, 2021, at 5:30 AM, Dominik Schrempf  
> wrote:
> 
> Hello,
> 
> I use directory local environments with =envrc= [1], and run into trouble when
> using (Bash) Org Babel source code blocks. The buffer local environment seems 
> to
> be ignored (see the example at the bottom).
> 
> This seems to have been discussed in the course of a GitHub issue of
> =inheritenv= [2], which is pulled in by =envrc=. Also, on this mailing list,
> there was a short discussion [3].
> 
> Do you have any thoughts on this? Is there an easy way to make Org Babel 
> source
> blocks honor buffer local setups?
> 
> Thank you!
> Dominik
> 
> #+name: Scratch
> #+begin_src sh :exports both :results output verbatim
> function path () { echo "$PATH" | tr ':' '\n'; }
> path
> #+end_src
> 
> #+RESULTS: Scratch
> #+begin_example
> /home/dominik/Evolutionary-Biology/Scripts/nix-flakes
> /home/dominik/Evolutionary-Biology/Scripts
> /home/dominik/bin/nix-flakes
> /home/dominik/bin
> /run/wrappers/bin
> /home/dominik/.nix-profile/bin
> /etc/profiles/per-user/dominik/bin
> /nix/var/nix/profiles/default/bin
> /run/current-system/sw/bin
> /nix/store/3l9lddwxz1mayaxvw8iy50ygzzfh1s1b-emacs-27.2/libexec/emacs/27.2/x86_64-pc-linux-gnu
> #+end_example
> 
> The Emacs =exec-path= variable has the following value:
> 
> #+begin_quote
> exec-path is a variable defined in ‘C source code’.
> Its value is
> ("/nix/store/cnxncxyghj3gfpfvng6z4l8k4hfl48wq-ghc-8.10.6-with-packages/bin/" 
> "/nix/store/435paza0j48aa9vgvf6r2l12nrg4ld11-patchelf-0.12/bin/" 

[snip]

Indeed, ~exec-path~ and ~(getenv "PATH")~ can differ.

If you want to set PATH for a shell src block, you can do something like:

#+begin_src sh :results output verbatim :var PATH=(mapconcat 'identity 
exec-path ":")
  echo $PATH
#+end_src

HTH,

Chuck

  

How to use Org with Python as an IDE?

2021-09-04 Thread edgar

Hi!

* Brief

I want to use Emacs to program in Python and combine it with Org. I am  
unable to setup Gtags (my first option), Elpy nor Jedi. I would like  
to stay away from LSP, but I am willing to heed. What you see [[*What  
I have tried][below]] is to show that I really tried.


You should really read this as an Emacs Org file

Why do I write this to the Org community? Because I would like to have  
a solution which works with the best way of organising my life (Org  
and Org Babel). Thanks!


* What I want

I would like to
- be able to have a way to navigate through code similar to  
CEDET/Semantic (some key strokes, and go to the definition of  
something, change into appropriate files, go back, etc.).

- find symbols or tags
- get contextual help about the signature of functions and the like
- have code completion from the current project and system's libraries  
(it would be nice if I can refer to more than one project)


P.S. https://web.libera.chat/ does not let me connect (Tor not accepted?)
P.S.S. StackOverflow's CloudFlare did not let me register

* What I have tried
** Gtags
** Elpy

I think that the creator of Elpy got completely fed up and left the  
project (I could be wrong). The project is now a side-project of  
someone else. It used to work, except for some quirks in Org src  
buffers.


#+begin_src elisp
  ;; https://realpython.com/emacs-the-best-python-editor/
  ;; Install these first: (emacs) epc, deferred, ctable, jedi,
  ;; company, (python) sexpdata, epc, jedi, black
  (use-package elpy
;; :ensure elpy
:defer t ;:defer 1
:init
(advice-add 'python-mode :before 'elpy-enable)

:config
(setq elpy-rpc-python-command "python3"
  ;; For interactive shell
  python-shell-interpreter "python3"
  ;; Don't use the root of the project, open the shell
  ;; in current directory
  elpy-shell-use-project-root nil)

(defun custom-python-mode-hook ()
  (setq python-indent-offset 4)
  (setq tab-width 4)
  (setq indent-tabs-mode nil))
(add-hook 'python-mode-hook 'custom-python-mode-hook)

(define-key elpy-mode-map (kbd "C-c C-k") 'org-edit-src-abort)
(define-key elpy-mode-map (kbd "C-c K") 'elpy-shell-kill-all))
#+end_src

I don't know if I am supposed to be running a server ouuside Emacs  
(Jedi?), but I don't get any completion. Didn't even try to get  
documentation on-request. I don't have a virtual environment.


** Jedi alone

I get an error about some =libpython3.7m=

#+begin_src elisp
  (require 'jedi)
  (jedi:install-server)
#+end_src

#+RESULTS:
#+begin_example
#s(deferred (closure ((callback closure ((it . #0) t) (_) (progn  
(set-default 'jedi:server-command (jedi:-env-server-command  
(callback closure ((it . #0) t) (_) (progn (set-default  
'jedi:server-command (jedi:-env-server-command (d . #s(deferred  
(closure ((callback . #[128 "\302\300\303\301\"\"\207" [(lambda (msg  
output) (message "%s...Done" msg) (if python-environment--verbose  
(progn (message output ("Running: pip install --upgrade  
~/.emacs.d/elpa/jedi-core-0.2.8/") apply append] 6 "


(fn  ARGS2)"]) (callback . #[128 "\302\300\303\301\"\"\207"  
[(lambda (msg output) (message "%s...Done" msg) (if  
python-environment--verbose (progn (message output ("Running: pip  
install --upgrade ~/.emacs.d/elpa/jedi-core-0.2.8/") apply append] 6 "


(fn  ARGS2)"]) (d . #s(deferred (closure ((d . #8) (pd .  
#s(deferred deferred:default-callback deferred:default-errorback  
deferred:default-cancel #8 nil nil)) (args "install" "--upgrade"  
"~/.emacs.d/elpa/jedi-core-0.2.8/") (command .  
"~/.emacs.d/.python-environments/default/bin/pip") (f . start-process)  
cl-struct-deferred-tags t) (buf) (prog1 (save-current-buffer  
(set-buffer buf) (buffer-string)) (kill-buffer buf)))  
deferred:default-errorback (closure ((v . #8) (d . #8) (pd .  
#s(deferred deferred:default-callback deferred:default-errorback  
deferred:default-cancel #8 nil nil)) (args "install" "--upgrade"  
"~/.emacs.d/elpa/jedi-core-0.2.8/") (command .  
"~/.emacs.d/.python-environments/default/bin/pip") (f . start-process)  
cl-struct-deferred-tags t) (_x) (deferred:default-cancel d)  
(deferred:default-cancel pd)) #4 nil nil)) cl-struct-deferred-tags t)  
(x) (condition-case nil (progn (deferred:call-lambda callback x))  
(error nil)) x) (closure ((normal closure ((callback . #[128  
"\302\300\303\301\"\"\207" [(lambda (msg output) (message "%s...Done"  
msg) (if python-environment--verbose (progn (message output  
("Running: pip install --upgrade ~/.emacs.d/elpa/jedi-core-0.2.8/")  
apply append] 6 "


(fn  ARGS2)"]) (callback . #[128 "\302\300\303\301\"\"\207"  
[(lambda (msg output) (message "%s...Done" msg) (if  
python-environment--verbose (progn (message output ("Running: pip  
install --upgrade ~/.emacs.d/elpa/jedi-core-0.2.8/") apply append] 6 "


(fn  ARGS2)"]) (d . #s(deferred (closure ((d . #10) (pd .  
#s(deferred 

Org babel source blocks ignore buffer-local variables

2021-09-04 Thread Dominik Schrempf
Hello,

I use directory local environments with =envrc= [1], and run into trouble when
using (Bash) Org Babel source code blocks. The buffer local environment seems to
be ignored (see the example at the bottom).

This seems to have been discussed in the course of a GitHub issue of
=inheritenv= [2], which is pulled in by =envrc=. Also, on this mailing list,
there was a short discussion [3].

Do you have any thoughts on this? Is there an easy way to make Org Babel source
blocks honor buffer local setups?

Thank you!
Dominik

#+name: Scratch
#+begin_src sh :exports both :results output verbatim
function path () { echo "$PATH" | tr ':' '\n'; }
path
#+end_src

#+RESULTS: Scratch
#+begin_example
/home/dominik/Evolutionary-Biology/Scripts/nix-flakes
/home/dominik/Evolutionary-Biology/Scripts
/home/dominik/bin/nix-flakes
/home/dominik/bin
/run/wrappers/bin
/home/dominik/.nix-profile/bin
/etc/profiles/per-user/dominik/bin
/nix/var/nix/profiles/default/bin
/run/current-system/sw/bin
/nix/store/3l9lddwxz1mayaxvw8iy50ygzzfh1s1b-emacs-27.2/libexec/emacs/27.2/x86_64-pc-linux-gnu
#+end_example

The Emacs =exec-path= variable has the following value:

#+begin_quote
exec-path is a variable defined in ‘C source code’.
Its value is
("/nix/store/cnxncxyghj3gfpfvng6z4l8k4hfl48wq-ghc-8.10.6-with-packages/bin/" 
"/nix/store/435paza0j48aa9vgvf6r2l12nrg4ld11-patchelf-0.12/bin/" 
"/nix/store/4xs1xyj8728yvh9y5v6ji819kwgfy2fv-gcc-wrapper-10.3.0/bin/" 
"/nix/store/dlni53myj53kx20pi4yhm7p68lw17b07-gcc-10.3.0/bin/" 
"/nix/store/6z35qvn00xrjvaznv9kfy8xddbbdz4gl-glibc-2.33-47-bin/bin/" 
"/nix/store/1570w56jrkvr90w9x158vyb5vahnk18v-coreutils-8.32/bin/" 
"/nix/store/29bjq5hw1qglybp1a5f3ij9gxc2fyf94-binutils-wrapper-2.35.1/bin/" 
"/nix/store/v8imx1nvyz0hgvx9cbcmh6gp4ngw3ffj-binutils-2.35.1/bin/" 
"/nix/store/iz7bgfvjmwdz3vgmzryhfkqwbn8zr2jn-ncurses-6.2/bin/" 
"/nix/store/w07a7k61dw5gnsyxj3kgcq3shr76jax8-bash-interactive-4.4-p23/bin/" 
"/nix/store/xhxll8hx0x9szhlvvd8h1c35glszlj34-cabal-install-3.4.0.0/bin/" 
"/nix/store/gbxdjp9z1bjx1zl6icckw093yv0vn21r-haskell-language-server-1.2.0.0/bin/"
 "/nix/store/mx8v4f0hq8nff5ab7mcgmmbxn5rk6al4-aeson-pretty-0.8.8/bin/" 
"/nix/store/xygkar338ssrwqjcpmmbv1pkkpqc1yfy-ghc-8.10.6/bin/" 
"/nix/store/w16zhm17a73sn3sshqgpxjk3r265vb9l-ghcide-1.4.0.3/bin/" 
"/nix/store/isja3hvzjmmg7278mdsyyn0k4s7k6cf8-constraints-extras-0.3.1.0/bin/" 
"/nix/store/9kz9pwpgnq4miywf5bk97xpn4qqz1h2c-hie-bios-0.7.5/bin/" 
"/nix/store/wfpjw96bjc1kwx5spddwgpi8r4jrbc6b-hiedb-0.4.0.0/bin/" 
"/nix/store/il7l9fjr7r0sq00iy0jr6pcwcb97227p-shake-0.19.5/bin/" 
"/nix/store/9i7z6c6ydhkw1ch37hvpi6fywbfkyrm0-implicit-hie-0.1.2.6/bin/" 
"/nix/store/88kdasbl46rhfnz249dxnh5n9amr27pv-retrie-1.0.0.0/bin/" 
"/nix/store/i7djw6911qk0vkkxv5rsm2zh95arfmjp-brittany-0.13.1.2/bin/" 
"/nix/store/5mpyw1f5jamnvnhsawj147vyvwpw054s-floskell-0.10.5/bin/" 
"/nix/store/aj2q5q38wzlsl60vwcxirlc133p3i8hj-fourmolu-0.3.0.0/bin/" 
"/nix/store/mr0algmndmq73ybhnk3752ylhpnp7918-apply-refact-0.9.3.0/bin/" 
"/nix/store/k9h1adjqqwmq39iik3253cgxdd5drgz8-hlint-3.2.7/bin/" 
"/nix/store/rdjb7sx4clhzjfal0xhb41x1k62nchf0-cpphs-1.20.9.1/bin/" 
"/nix/store/wlh74ffhf19ychrcf65885jsx8xy5f8d-hscolour-1.24.4/bin/" 
"/nix/store/1lbb1bzjqcblb946av3703g76ng18jx1-ormolu-0.1.4.1-bin/bin/" 
"/nix/store/jvx2rcmbcrjpsvz4p8z5zll4gchmhl75-stylish-haskell-0.12.2.0/bin/" 
"/nix/store/h0yyp8i85y3cahd1wyxb0a0izxqz2gxj-stack-2.7.3/bin/" 
"/nix/store/62m5yxq7f9gz4xn3qlvkvkna237vz92k-hpack-0.34.4/bin/" 
"/nix/store/ki59g3c2y2ahpjja9hch3wxgl7gki5f3-mustache-2.3.1/bin/" 
"/nix/store/1wdm2g4mz9is77iihfkbycq3m8c2frrv-open-browser-0.2.1.0/bin/" 
"/nix/store/1570w56jrkvr90w9x158vyb5vahnk18v-coreutils-8.32/bin/" 
"/nix/store/ihxk2vlm0vi7c4j3gpm084kbxvz6v585-findutils-4.8.0/bin/" 
"/nix/store/kjx1mv85c5cgsrr4bwar22j7hbwj834m-diffutils-3.7/bin/" 
"/nix/store/gm2w08wwsa3vd500d8vq879s2lv65ldh-gnused-4.8/bin/" 
"/nix/store/v0slhpb2y3xa7gmv4q6gblkdk7n0f09j-gnugrep-3.6/bin/" 
"/nix/store/2wn093wbc6ps4brcsppxjd14vxvaa8a2-gawk-5.1.0/bin/" 
"/nix/store/5bxrjkyvqmzn1p897652y3lwa9fxagpw-gnutar-1.34/bin/" 
"/nix/store/liva1jnjdskrn57s42kfawr2zz66szzm-gzip-1.10/bin/" 
"/nix/store/ih2zkh2mbrx2c766ryk2i9hhlkly7snr-bzip2-1.0.6.0.2-bin/bin/" 
"/nix/store/pvkiiw0mp1yx0b21b7k105yywccychgh-gnumake-4.3/bin/" 
"/nix/store/dpjnjrqbgbm8a5wvi1hya01vd8wyvsq4-bash-4.4-p23/bin/" 
"/nix/store/aicl3kwfnaizk45aygm8bviqv7lk0a16-patch-2.7.6/bin/" 
"/nix/store/7jk6k46f56rszzc1bxi8mdrvcw53pym4-xz-5.2.5-bin/bin/" 
"/home/dominik/Evolutionary-Biology/Scripts/nix-flakes/" 
"/home/dominik/Evolutionary-Biology/Scripts/" "/home/dominik/bin/nix-flakes/" 
"/home/dominik/bin/" "/run/wrappers/bin/" "/home/dominik/.nix-profile/bin/" 
"/etc/profiles/per-user/dominik/bin/" "/nix/var/nix/profiles/default/bin/" 
"/run/current-system/sw/bin/" 
"/nix/store/3l9lddwxz1mayaxvw8iy50ygzzfh1s1b-emacs-27.2/libexec/emacs/27.2/x86_64-pc-linux-gnu/")
Original value was 
("/nix/store/cnxncxyghj3gfpfvng6z4l8k4hfl48wq-ghc-8.10.6-with-packages/bin"