Coder Social home page Coder Social logo

Comments (6)

purcell avatar purcell commented on May 20, 2024

Thanks for taking the time to get in touch. I'm happy if the config is helpful to you.

Regarding customising the config, I kinda figured people would just fork the repo and make changes inline, then either merge in my future changes using git, or rebase their local changes against my master branch.

It's easy enough to add further libs (possibly as git submodules) under ~/.emacs.d/site-lisp without risking conflicts. Equally, adding a line in init.el to load an extra init-mycustomstuff.el is unlikely to result in conflicts.

I confess that I haven't given much thought to providing a general extension mechanism for the config, because I'm not sure that I could provide one that covered all possible requirements. :-)

Regarding updating all the packages: now that almost all upstream dependencies are packaged up in Melpa, you can update them by simply running "M-x package-list-packages" then use "U" (in Emacs 24) to install all available upgrades.

Hope that helps,

-Steve

from emacs.d.

purcell avatar purcell commented on May 20, 2024

P.S. Even though I've closed this issue now, please feel free to add any further comments or suggestions!

from emacs.d.

priyadarshan avatar priyadarshan commented on May 20, 2024

Thank you for your fast reply!

The only thing that is not clear to me is how to shadow settings and possibly packages already included?

Regarding the settings (keybindings, variables, etc), would it be enough to load an extra init-custom.el as very last line in init.el? Or perhaps settings in .emacs would shadow everything else?

To shadow included packages, would it be enough to load a newer (or older) version after the default one is loaded?

By the way, I love Melpa. It feels so "right". I saw that you are a main contributor. Thank you so much for that, too!

priyadarshan

PS: Prelude does offer some kind of custom directory and custom init.el (https://github.com/bbatsov/prelude/blob/master/init.el) although I am not sure if that would work out with yours. A built-in mechanism like that would be very good for me, and I am sure for other users/enjoyers of your .emacs.d. Perhaps you could consider something similar in the future?

from emacs.d.

purcell avatar purcell commented on May 20, 2024

Okay, so every directory under ~/.emacs.d/site-lisp is added to the load-path, making it easy to add extra upstream or personal libraries. However, Elpa packages will always appear earlier in the load-path than others, so if you want to shadow any Elpa packages, you'd need to remove them from the list in init-elpa.el (and also uninstall them via the package-list-packages interface, if necessary).

I've added support for an optional "init-local.el", which will get loaded after the custom settings file. You can use it to cleanly add overrides and extra code.

Shadowing settings such as keybindings might require some "eval-after-load" magic, since I try to defer configuration until related packages are loaded.

I'm happy that you like Melpa. It seems like a step forward.

-Steve

from emacs.d.

priyadarshan avatar priyadarshan commented on May 20, 2024

Steve, I cannot believe it. I was saying just a few hours ago:

Perhaps you could consider something similar in the future?

It seems that the future is now :)

You made my day.

Thank you so much.

from emacs.d.

purcell avatar purcell commented on May 20, 2024

My pleasure. Have a great day.

from emacs.d.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.