I now have a fair bit in my startup.jl
I am wondering if anyone else also has cool things.
What mine does:
- Load Revise and OhMyRepl.
- installing them if they are not already installed
- Update all packages
- It does this in a silenced worker processes, so as not to waste time
- it is supposed to remove that worker afterwards but I am not sure that it does
- My packages are now evergreen, like a webbrowser.
I used to do stuff with setting stacktrace colors to not uses bold, because bold was not differentiable from white on my old terminal emulator,
but it is on my new setup so I don’t have it anymore
# Setup OhMyREPL and Revise import Pkg let pkgs = ["Revise", "OhMyREPL"] for pkg in pkgs if Base.find_package(pkg) === nothing Pkg.add(pkg) end end end using Revise using OhMyREPL # Update all packages, but do so in a worker process import Distributed let pkg_worker = Distributed.addprocs(1)[end] Distributed.remotecall(pkg_worker) do redirect_stdout() # silence everything, only on this worker Pkg.update() # now remove this worker and say we are done remotecall(1) do eval(quote Distributed.rmprocs($(pkg_worker)) printstyled("\n Pkg.update() complete \n"; color=:light_black) end) end end end