Comments (4)
I do not mind the discussion at all, but I'll admit the broad scope of your questions put me off answering for longer that I would have thought.
You ask several fair questions.
I think that once a package is on Elpa/Melpa following all the guidelines then it's the distribution responsibility to make it compatible don't you think?
I do not. Distribution authors and maintainers are free to do as they please with the code, which is clearly stated in the license. The responsibility to make anything work always rests on the end user. Most Emacs distributions have a set of packages they rely on, and maybe some opt-ins they support. Anything beyond that and I would assume you're on your own. Which doesn't imply you will get no help to make xxx.el work, but in the end, it's your problem.
Sounds a good idea to adapt a package to a big distro if that's means that more people would be able to know and use nano! And nano isn't on a package repository like Elpa or Melpa, but just sounds a little strange to me to see a package maintainer changing the package for it to fit other people (distros) standards.
Using nano as a library inside another Emacs distro, or inside a user-authored conf, is still very much supported. When that's the case, feel free to not care about nano.el
at all - as things stand, if you are using nano as a library, nano.el
is a tutorial for how you can integrate nano modules into your conf.
On the other hand, if you want to use nano as a minimal distribution of sorts, then having support for personal/
based configuration makes sense. This way you can install nano directly into .emacs.d
and get started right away.
The purpose of this proposal is not to fit nano to other people standards, but to smooth up the "nano as a distribution" use case. You don't have to use it yourself, but some people - including myself - may find it handy.
You talk about people that wouldn't need to deal with elisp to begin with, but then said that they could add elisp snippets to the personal/ directory. Isn't that to deal with elisp?
My phrasing was probably weird on this. Emphasis on to begin with. Coming back to "nano as a distribution", you don't have to jump into elisp right away. Follow the instructions, start Emacs, and get stuff done. You can jump into elisp whenever you're ready. Contrast with "use nano as a library", and then knowing elisp is suddenly a pre-requisite for using nano. It doesn't have to be this way.
Maybe would be the case to clarify a little more what's nano purpose, is it to be a "library" or is it to be a "framework" as you've said? Is it to be a theme/package or a distro?
Why not both ? It's small enough to support both use cases.
from nano-emacs.
Thanks for taking your time to answer, and sorry for the long questions.
I end up deleting the post a few hours after because I thought it was not a contribution to the issue.
Hopefully Github Discussions will thrive some day for talkative people like me. :P
from nano-emacs.
I'm not familiar with prelude, but I don't see how the actual implementation doesn't allow personal configuration, both for this and issue #18 . Maybe I just don't understand correctly what you need.
In my initi.el I have:
;;; Nano Emacs
(add-to-list 'load-path "~/.emacs.d/nano-emacs")
(require 'nano-layout)
(require 'nano-theme-light)
(require 'nano-modeline)
;;; Custom Style
;; "Correct" nano-emacs design
(add-to-list 'load-path "~/.emacs.d/personal/")
(load-library "custom-style")
In this custom-style.el
I can change anything I want, like the font size, fringe, faces... Since I use Emacs for daily code I had to change the font-faces for my preferences and some other minor details for compatibility with some minor-modes.
You can just put a if
/when
detecting if emacs is as gui or terminal to load or not nano-emacs or any customization you want, you could even create a personal-gui
, and personal-terminal
files for different customization. There is no need to change nano code for this. But that's just my opinion.
(if (display-graphic-p)
(progn
;; if graphic
(your)
(code))
;; else (optional)
(your)
(code))
from nano-emacs.
Prelude, Doom and other Emacs distributions claim the emacs.d
folder so to speak.
In your examples, you are maintaining your own emacs.d, from which you use nano and whatever else you fancy. This is fine, and it's probably the best way to go about it for persons who don't mind doing some casual emacs-lisp. It is also the only way to go about it if you are already using another Emacs distribution.
To paraphrase, this is 'using nano as a library'; a leaf in your configuration tree.
OTOH, other people do not want to deal with elisp to begin with. To them, we could say git checkout https://github.com/rougier/nano-emacs ~/.emacs.d && ln -s ~/.emacs.d/nano.el ~/.emacs.d/init.el
then start Emacs. You can git pull
whenever to update. You can add elisp snippets to your personal/
directory as needs arise. This mode of operation is 'using nano as a framework'; the trunk of your configuration tree.
In the "checked out" mode of operation, editing nano files means re-merging your edits on updates. Having a personal directory enables the user to add whatever without conflicting with nano-emacs.
On the subject of issue 18, since you brought it up, I meant customization through the use of custom mode. In current form, Custom will not allow you to customize the faces, which is the point of the issue there. Customizing the faces programmatically using (set-face-attribute ..
is indeed possible, but it is not what the issue is bout.
from nano-emacs.
Related Issues (20)
- Contrast difference for agenda tasks that are overdue and scheduled today HOT 13
- [Bug] Error "Invalid face" bookmark-menu-heading - causes ivy minibuffer on some commands to throw error (+ other packages) HOT 4
- [Bug] Org-mode headings in source code blocks override indentation and formatting from src code block HOT 4
- [Feature Request] Ability to change code syntax highlighting theme inside nano HOT 1
- Changing the default to Nano Dark? HOT 8
- Hide nano-modeline HOT 2
- Nano Writer Mode HOT 1
- frame/windows layout change when opening minibuffer
- Different `display-buffer` behaviour HOT 1
- nano-mu4e updates for newer mu? HOT 1
- No bookmark-menu-heading in Emacs 29.0.91 HOT 4
- ELPA version of nano-modeline is missing deps (nano-faces?) HOT 10
- We eagerly await evil-mode support!
- nano-modeline breaks on html files HOT 3
- Writer mode : add a custom to define the default font family HOT 2
- Wrong number of arguments HOT 2
- cursor stays visible in first window when switching to the second window HOT 2
- Add custom variables for optional packages HOT 1
- Weird emacs freezing with nano-modeline.el HOT 2
- (^^)(^^)(^^)(^^)(^^) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nano-emacs.