Re: Streamlining dev environment startup

2015-12-11 Thread Webdev Tory Anderson
Ah, very good. I see that in the new Luminus templates, and look forward to 
trying it. 

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Streamlining dev environment startup

2015-12-11 Thread Dmitri
The recommended way to manage components in Luminus is using the mount 
library (https://github.com/tolitius/mount), it's much less intrusive than 
Component in my opinion and provides most of the same benefits without 
requiring you to structure your application around it. The latest version 
of mount has both Clojure and ClojureScript support as well. It's now 
included in the template by default in recent versions.

On Thursday, December 3, 2015 at 5:24:48 AM UTC-5, Sven Richter wrote:
>
> It definitly is compatible. It just takes some manual work. Like I said, I 
> started myself with the luminus template and implement components + other 
> stuff into it. 
> You can definitly do it and I also recommend it for the sole reason that a 
> change to the routes in compojure will lead to a restart of the repl. You 
> can circumvent that by reloading the code base. 
> It may have changed in the last two years, but then I am not up to date.
>
> Best Regards,
> Sven
>
> Am Mittwoch, 2. Dezember 2015 22:05:58 UTC+1 schrieb Webdev Tory Anderson:
>>
>> Maybe I spoke too soon when mentioning incompatibility between Luminus 
>> and Reloaded. I look forward to taking a closer look at your work!
>>
>> On Wednesday, December 2, 2015 at 1:49:20 AM UTC-7, Sven Richter wrote:
>>>
>>> Hi,
>>>
>>> I based a template on luminus myself and added some stuff. It also 
>>> contains predefined components so you don't have to add it yourself.
>>> You can look how its done here: 
>>> https://github.com/sveri/closp/tree/master/resources/leiningen/new/closp/clj/components
>>>
>>> Best Regards,
>>> Sven
>>>
>>> Am Dienstag, 1. Dezember 2015 17:43:41 UTC+1 schrieb Colin Yates:

 The general idea is to use the ‘reloaded’ pattern, so rather than `lein 
 run` you would have a function which starts and stop the system. You still 
 need to run figwheel and mongo (yay for document databases) as separate 
 processes, although I tend to do those in straight terminals rather than 
 emacs shells as they live longer than my emacs does.

 You can find more about the reloaded pattern and a prescripted approach 
 to structuring your app here: https://github.com/stuartsierra/component
 .

 I think it is fairly common to have:
  - your major building blocks as components
  - a specific dev namespace which is only on the :dev profile
  - fns in that namespace to start/stop components or the entire system

 There are some libraries which build on the component library: 
 https://github.com/danielsz/system for example.

 HTH.

 On 1 Dec 2015, at 16:26, Webdev Tory Anderson  
 wrote:

 I recently read something hinting at ways of streamlining the startup 
 process for the dev environment, so I'm hoping you good folks can give me 
 some tips. I'm developing a web app in Linux, Clojurescript/Clojure 
 (incidentally using the Luminus architecture). I use emacs (that part's 
 non-negotiable; sorry). The cumbersome startup process I usually have goes 
 like this:

 M-x shell
> mongod # start the mongo daemon
>
> M-x shell
> lein run # start the app and server
>
> M-x shell
> lein figwheel #start CLJS development
>
> (open a .clj file)
> C-c M-c  # (cider-connect)
> # insert localhost, port num, which proj. to connect to
>
>
 This is usually bearable since I only have to do it once or twice a 
 week, but it's definitely the sort of redundancy that would be nice to 
 eliminate. The "lein run" is good to have foregrounded because I can see 
 timbre statements and cleanly reboot when necessary. Figwheel, at the 
 moment, has to be foregrounded because that's where the figwheel prompt 
 ends up (I'd love to have that in Cider somehow, though). 

 Any recommendations on how to chop some of these steps off?



 -- 
 You received this message because you are subscribed to the Google
 Groups "Clojure" group.
 To post to this group, send email to clo...@googlegroups.com
 Note that posts from new members are moderated - please be patient with 
 your first post.
 To unsubscribe from this group, send email to
 clojure+u...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google 
 Groups "Clojure" group.
 To unsubscribe from this group and stop receiving emails from it, send 
 an email to clojure+u...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.




-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To 

Re: Streamlining dev environment startup

2015-12-03 Thread Sven Richter
It definitly is compatible. It just takes some manual work. Like I said, I 
started myself with the luminus template and implement components + other 
stuff into it. 
You can definitly do it and I also recommend it for the sole reason that a 
change to the routes in compojure will lead to a restart of the repl. You 
can circumvent that by reloading the code base. 
It may have changed in the last two years, but then I am not up to date.

Best Regards,
Sven

Am Mittwoch, 2. Dezember 2015 22:05:58 UTC+1 schrieb Webdev Tory Anderson:
>
> Maybe I spoke too soon when mentioning incompatibility between Luminus and 
> Reloaded. I look forward to taking a closer look at your work!
>
> On Wednesday, December 2, 2015 at 1:49:20 AM UTC-7, Sven Richter wrote:
>>
>> Hi,
>>
>> I based a template on luminus myself and added some stuff. It also 
>> contains predefined components so you don't have to add it yourself.
>> You can look how its done here: 
>> https://github.com/sveri/closp/tree/master/resources/leiningen/new/closp/clj/components
>>
>> Best Regards,
>> Sven
>>
>> Am Dienstag, 1. Dezember 2015 17:43:41 UTC+1 schrieb Colin Yates:
>>>
>>> The general idea is to use the ‘reloaded’ pattern, so rather than `lein 
>>> run` you would have a function which starts and stop the system. You still 
>>> need to run figwheel and mongo (yay for document databases) as separate 
>>> processes, although I tend to do those in straight terminals rather than 
>>> emacs shells as they live longer than my emacs does.
>>>
>>> You can find more about the reloaded pattern and a prescripted approach 
>>> to structuring your app here: https://github.com/stuartsierra/component.
>>>
>>> I think it is fairly common to have:
>>>  - your major building blocks as components
>>>  - a specific dev namespace which is only on the :dev profile
>>>  - fns in that namespace to start/stop components or the entire system
>>>
>>> There are some libraries which build on the component library: 
>>> https://github.com/danielsz/system for example.
>>>
>>> HTH.
>>>
>>> On 1 Dec 2015, at 16:26, Webdev Tory Anderson  
>>> wrote:
>>>
>>> I recently read something hinting at ways of streamlining the startup 
>>> process for the dev environment, so I'm hoping you good folks can give me 
>>> some tips. I'm developing a web app in Linux, Clojurescript/Clojure 
>>> (incidentally using the Luminus architecture). I use emacs (that part's 
>>> non-negotiable; sorry). The cumbersome startup process I usually have goes 
>>> like this:
>>>
>>> M-x shell
 mongod # start the mongo daemon

 M-x shell
 lein run # start the app and server

 M-x shell
 lein figwheel #start CLJS development

 (open a .clj file)
 C-c M-c  # (cider-connect)
 # insert localhost, port num, which proj. to connect to


>>> This is usually bearable since I only have to do it once or twice a 
>>> week, but it's definitely the sort of redundancy that would be nice to 
>>> eliminate. The "lein run" is good to have foregrounded because I can see 
>>> timbre statements and cleanly reboot when necessary. Figwheel, at the 
>>> moment, has to be foregrounded because that's where the figwheel prompt 
>>> ends up (I'd love to have that in Cider somehow, though). 
>>>
>>> Any recommendations on how to chop some of these steps off?
>>>
>>>
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@googlegroups.com
>>> Note that posts from new members are moderated - please be patient with 
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+u...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to clojure+u...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Streamlining dev environment startup

2015-12-02 Thread Sven Richter
Hi,

I based a template on luminus myself and added some stuff. It also contains 
predefined components so you don't have to add it yourself.
You can look how its done here: 
https://github.com/sveri/closp/tree/master/resources/leiningen/new/closp/clj/components

Best Regards,
Sven

Am Dienstag, 1. Dezember 2015 17:43:41 UTC+1 schrieb Colin Yates:
>
> The general idea is to use the ‘reloaded’ pattern, so rather than `lein 
> run` you would have a function which starts and stop the system. You still 
> need to run figwheel and mongo (yay for document databases) as separate 
> processes, although I tend to do those in straight terminals rather than 
> emacs shells as they live longer than my emacs does.
>
> You can find more about the reloaded pattern and a prescripted approach to 
> structuring your app here: https://github.com/stuartsierra/component.
>
> I think it is fairly common to have:
>  - your major building blocks as components
>  - a specific dev namespace which is only on the :dev profile
>  - fns in that namespace to start/stop components or the entire system
>
> There are some libraries which build on the component library: 
> https://github.com/danielsz/system for example.
>
> HTH.
>
> On 1 Dec 2015, at 16:26, Webdev Tory Anderson  > wrote:
>
> I recently read something hinting at ways of streamlining the startup 
> process for the dev environment, so I'm hoping you good folks can give me 
> some tips. I'm developing a web app in Linux, Clojurescript/Clojure 
> (incidentally using the Luminus architecture). I use emacs (that part's 
> non-negotiable; sorry). The cumbersome startup process I usually have goes 
> like this:
>
> M-x shell
>> mongod # start the mongo daemon
>>
>> M-x shell
>> lein run # start the app and server
>>
>> M-x shell
>> lein figwheel #start CLJS development
>>
>> (open a .clj file)
>> C-c M-c  # (cider-connect)
>> # insert localhost, port num, which proj. to connect to
>>
>>
> This is usually bearable since I only have to do it once or twice a week, 
> but it's definitely the sort of redundancy that would be nice to eliminate. 
> The "lein run" is good to have foregrounded because I can see timbre 
> statements and cleanly reboot when necessary. Figwheel, at the moment, has 
> to be foregrounded because that's where the figwheel prompt ends up (I'd 
> love to have that in Cider somehow, though). 
>
> Any recommendations on how to chop some of these steps off?
>
>
>
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@googlegroups.com 
> Note that posts from new members are moderated - please be patient with 
> your first post.
> To unsubscribe from this group, send email to
> clojure+u...@googlegroups.com 
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to clojure+u...@googlegroups.com .
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Streamlining dev environment startup

2015-12-02 Thread Webdev Tory Anderson
Thanks for the pointers to the Reloaded pattern I've been hearing about. It 
looks like it may not be easily compatible with Luminus, which would need 
to be rewritten to match the pattern, but could be a great tool for my next 
projects. 

On Tuesday, December 1, 2015 at 9:43:41 AM UTC-7, Colin Yates wrote:
>
> The general idea is to use the ‘reloaded’ pattern, so rather than `lein 
> run` you would have a function which starts and stop the system. You still 
> need to run figwheel and mongo (yay for document databases) as separate 
> processes, although I tend to do those in straight terminals rather than 
> emacs shells as they live longer than my emacs does.
>
> You can find more about the reloaded pattern and a prescripted approach to 
> structuring your app here: https://github.com/stuartsierra/component.
>
> I think it is fairly common to have:
>  - your major building blocks as components
>  - a specific dev namespace which is only on the :dev profile
>  - fns in that namespace to start/stop components or the entire system
>
> There are some libraries which build on the component library: 
> https://github.com/danielsz/system for example.
>
> HTH.
>
> On 1 Dec 2015, at 16:26, Webdev Tory Anderson  > wrote:
>
> I recently read something hinting at ways of streamlining the startup 
> process for the dev environment, so I'm hoping you good folks can give me 
> some tips. I'm developing a web app in Linux, Clojurescript/Clojure 
> (incidentally using the Luminus architecture). I use emacs (that part's 
> non-negotiable; sorry). The cumbersome startup process I usually have goes 
> like this:
>
> M-x shell
>> mongod # start the mongo daemon
>>
>> M-x shell
>> lein run # start the app and server
>>
>> M-x shell
>> lein figwheel #start CLJS development
>>
>> (open a .clj file)
>> C-c M-c  # (cider-connect)
>> # insert localhost, port num, which proj. to connect to
>>
>>
> This is usually bearable since I only have to do it once or twice a week, 
> but it's definitely the sort of redundancy that would be nice to eliminate. 
> The "lein run" is good to have foregrounded because I can see timbre 
> statements and cleanly reboot when necessary. Figwheel, at the moment, has 
> to be foregrounded because that's where the figwheel prompt ends up (I'd 
> love to have that in Cider somehow, though). 
>
> Any recommendations on how to chop some of these steps off?
>
>
>
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@googlegroups.com 
> Note that posts from new members are moderated - please be patient with 
> your first post.
> To unsubscribe from this group, send email to
> clojure+u...@googlegroups.com 
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to clojure+u...@googlegroups.com .
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Streamlining dev environment startup

2015-12-02 Thread Webdev Tory Anderson
Maybe I spoke too soon when mentioning incompatibility between Luminus and 
Reloaded. I look forward to taking a closer look at your work!

On Wednesday, December 2, 2015 at 1:49:20 AM UTC-7, Sven Richter wrote:
>
> Hi,
>
> I based a template on luminus myself and added some stuff. It also 
> contains predefined components so you don't have to add it yourself.
> You can look how its done here: 
> https://github.com/sveri/closp/tree/master/resources/leiningen/new/closp/clj/components
>
> Best Regards,
> Sven
>
> Am Dienstag, 1. Dezember 2015 17:43:41 UTC+1 schrieb Colin Yates:
>>
>> The general idea is to use the ‘reloaded’ pattern, so rather than `lein 
>> run` you would have a function which starts and stop the system. You still 
>> need to run figwheel and mongo (yay for document databases) as separate 
>> processes, although I tend to do those in straight terminals rather than 
>> emacs shells as they live longer than my emacs does.
>>
>> You can find more about the reloaded pattern and a prescripted approach 
>> to structuring your app here: https://github.com/stuartsierra/component.
>>
>> I think it is fairly common to have:
>>  - your major building blocks as components
>>  - a specific dev namespace which is only on the :dev profile
>>  - fns in that namespace to start/stop components or the entire system
>>
>> There are some libraries which build on the component library: 
>> https://github.com/danielsz/system for example.
>>
>> HTH.
>>
>> On 1 Dec 2015, at 16:26, Webdev Tory Anderson  
>> wrote:
>>
>> I recently read something hinting at ways of streamlining the startup 
>> process for the dev environment, so I'm hoping you good folks can give me 
>> some tips. I'm developing a web app in Linux, Clojurescript/Clojure 
>> (incidentally using the Luminus architecture). I use emacs (that part's 
>> non-negotiable; sorry). The cumbersome startup process I usually have goes 
>> like this:
>>
>> M-x shell
>>> mongod # start the mongo daemon
>>>
>>> M-x shell
>>> lein run # start the app and server
>>>
>>> M-x shell
>>> lein figwheel #start CLJS development
>>>
>>> (open a .clj file)
>>> C-c M-c  # (cider-connect)
>>> # insert localhost, port num, which proj. to connect to
>>>
>>>
>> This is usually bearable since I only have to do it once or twice a week, 
>> but it's definitely the sort of redundancy that would be nice to eliminate. 
>> The "lein run" is good to have foregrounded because I can see timbre 
>> statements and cleanly reboot when necessary. Figwheel, at the moment, has 
>> to be foregrounded because that's where the figwheel prompt ends up (I'd 
>> love to have that in Cider somehow, though). 
>>
>> Any recommendations on how to chop some of these steps off?
>>
>>
>>
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@googlegroups.com
>> Note that posts from new members are moderated - please be patient with 
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+u...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to clojure+u...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Streamlining dev environment startup

2015-12-01 Thread Linus Ericsson
You can hardcode the nrepl-server port with :repl-options {:port 4001} as 
seen at [1].

When thinking about it, maybe you could script tmux or similar to show all 
running terminals at once, like shown in [2].

[1] 
https://github.com/technomancy/leiningen/blob/master/sample.project.clj#L354
[2] 
http://stackoverflow.com/questions/5447278/bash-scripts-with-tmux-to-launch-a-4-paned-window

I will try out the tmux thing myself :)

/Linus

On Tuesday, December 1, 2015 at 5:32:06 PM UTC+1, Webdev Tory Anderson 
wrote:
>
> I recently read something hinting at ways of streamlining the startup 
> process for the dev environment, so I'm hoping you good folks can give me 
> some tips. I'm developing a web app in Linux, Clojurescript/Clojure 
> (incidentally using the Luminus architecture). I use emacs (that part's 
> non-negotiable; sorry). The cumbersome startup process I usually have goes 
> like this:
>
> M-x shell
>> mongod # start the mongo daemon
>>
>> M-x shell
>> lein run # start the app and server
>>
>> M-x shell
>> lein figwheel #start CLJS development
>>
>> (open a .clj file)
>> C-c M-c  # (cider-connect)
>> # insert localhost, port num, which proj. to connect to
>>
>>
> This is usually bearable since I only have to do it once or twice a week, 
> but it's definitely the sort of redundancy that would be nice to eliminate. 
> The "lein run" is good to have foregrounded because I can see timbre 
> statements and cleanly reboot when necessary. Figwheel, at the moment, has 
> to be foregrounded because that's where the figwheel prompt ends up (I'd 
> love to have that in Cider somehow, though). 
>
> Any recommendations on how to chop some of these steps off?
>
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Streamlining dev environment startup

2015-12-01 Thread Webdev Tory Anderson
I recently read something hinting at ways of streamlining the startup 
process for the dev environment, so I'm hoping you good folks can give me 
some tips. I'm developing a web app in Linux, Clojurescript/Clojure 
(incidentally using the Luminus architecture). I use emacs (that part's 
non-negotiable; sorry). The cumbersome startup process I usually have goes 
like this:

M-x shell
> mongod # start the mongo daemon
>
> M-x shell
> lein run # start the app and server
>
> M-x shell
> lein figwheel #start CLJS development
>
> (open a .clj file)
> C-c M-c  # (cider-connect)
> # insert localhost, port num, which proj. to connect to
>
>
This is usually bearable since I only have to do it once or twice a week, 
but it's definitely the sort of redundancy that would be nice to eliminate. 
The "lein run" is good to have foregrounded because I can see timbre 
statements and cleanly reboot when necessary. Figwheel, at the moment, has 
to be foregrounded because that's where the figwheel prompt ends up (I'd 
love to have that in Cider somehow, though). 

Any recommendations on how to chop some of these steps off?


-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Streamlining dev environment startup

2015-12-01 Thread Colin Yates
The general idea is to use the ‘reloaded’ pattern, so rather than `lein run` 
you would have a function which starts and stop the system. You still need to 
run figwheel and mongo (yay for document databases) as separate processes, 
although I tend to do those in straight terminals rather than emacs shells as 
they live longer than my emacs does.

You can find more about the reloaded pattern and a prescripted approach to 
structuring your app here: https://github.com/stuartsierra/component 
.

I think it is fairly common to have:
 - your major building blocks as components
 - a specific dev namespace which is only on the :dev profile
 - fns in that namespace to start/stop components or the entire system

There are some libraries which build on the component library: 
https://github.com/danielsz/system  for 
example.

HTH.

> On 1 Dec 2015, at 16:26, Webdev Tory Anderson  wrote:
> 
> I recently read something hinting at ways of streamlining the startup process 
> for the dev environment, so I'm hoping you good folks can give me some tips. 
> I'm developing a web app in Linux, Clojurescript/Clojure (incidentally using 
> the Luminus architecture). I use emacs (that part's non-negotiable; sorry). 
> The cumbersome startup process I usually have goes like this:
> 
> M-x shell
> mongod # start the mongo daemon
> 
> M-x shell
> lein run # start the app and server
> 
> M-x shell
> lein figwheel #start CLJS development
> 
> (open a .clj file)
> C-c M-c  # (cider-connect)
> # insert localhost, port num, which proj. to connect to
> 
> 
> This is usually bearable since I only have to do it once or twice a week, but 
> it's definitely the sort of redundancy that would be nice to eliminate. The 
> "lein run" is good to have foregrounded because I can see timbre statements 
> and cleanly reboot when necessary. Figwheel, at the moment, has to be 
> foregrounded because that's where the figwheel prompt ends up (I'd love to 
> have that in Cider somehow, though). 
> 
> Any recommendations on how to chop some of these steps off?
> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en 
> 
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to clojure+unsubscr...@googlegroups.com 
> .
> For more options, visit https://groups.google.com/d/optout 
> .

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.