Emacs: Difference between revisions
Revamped the page |
remove empty links, redundent links, and improper formatting |
||
| Line 4: | Line 4: | ||
| paradigm = Functional, meta, reflective | | paradigm = Functional, meta, reflective | ||
| family = Lisp | | family = Lisp | ||
| designed_by = | | designed_by = Richard Stallman, Guy L. Steele, Jr. | ||
| developer = [ | | developer = [https://www.gnu.org/ GNU Project] | ||
| first_appeared = 1985; 40 years ago | | first_appeared = 1985; 40 years ago | ||
| stable_release = | | stable_release = 30.1 / 23 February 2025 | ||
| os = Cross-platform | | os = Cross-platform | ||
| license = [ | | license = [https://www.gnu.org/licenses/gpl.html GNU General Public License] | ||
| filename_extensions = .el, .elc, .eln | | filename_extensions = .el, .elc, .eln | ||
| website = [https://www.gnu.org/software/emacs gnu.org/emacs] | | website = [https://www.gnu.org/software/emacs gnu.org/emacs] | ||
}} | }}<strong>Emacs</strong> is a free and open-source text editor known for its exceptional extensibility and adaptability. It can be customized into anything from a simple editor to a full development environment or productivity tool. Emacs features built-in self-documentation, syntax-aware editing, and a vast ecosystem of community-developed packages.<ref>https://www.gnu.org/software/emacs/</ref> | ||
For an easier introduction, [https://doomemacs.org Doom Emacs] offers a pre-configured Emacs framework with modern defaults and features like IDE tools, note-taking, and task management. | For an easier introduction, [https://doomemacs.org Doom Emacs] offers a pre-configured Emacs framework with modern defaults and features like IDE tools, note-taking, and task management. | ||
There is an official Matrix room for Nix/Emacs: [https://matrix.to/#/#emacs:nixos.org #emacs:nixos.org]. | There is an official Matrix room for Nix/Emacs: [https://matrix.to/#/#emacs:nixos.org #emacs:nixos.org]. | ||
| Line 23: | Line 23: | ||
To temporarily use Emacs in a shell environment without modifying your system configuration, you can run: | To temporarily use Emacs in a shell environment without modifying your system configuration, you can run: | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="console"> | ||
nix-shell -p emacs | $ nix-shell -p emacs | ||
</syntaxhighlight> | </syntaxhighlight> | ||
This makes the Emacs editor available in your current shell. You can then launch Emacs by typing | This makes the Emacs editor available in your current shell. You can then launch Emacs by typing <code>emacs</code>. | ||
==== System setup ==== | ==== System setup ==== | ||
To install Emacs system-wide, making it available to all users, add the following to your | To install Emacs system-wide, making it available to all users, add the following to your configuration: | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
# Example for /etc/nixos/configuration.nix | # Example for /etc/nixos/configuration.nix | ||
| Line 283: | Line 283: | ||
====== Without flakes ====== | ====== Without flakes ====== | ||
For installing one of the unstable branches of Emacs, add the following lines to | For installing one of the unstable branches of Emacs, add the following lines to your configuration file: | ||
{{file|configuration.nix|nix|<nowiki> | {{file|configuration.nix|nix|<nowiki> | ||
{ | { | ||
| Line 330: | Line 330: | ||
==== Plasma taskbar grouping ==== | ==== Plasma taskbar grouping ==== | ||
To fix/workaround [[Plasma]] grouping Emacs incorrectly (confusing emacs.desktop with emacsclient.desktop), perform the following: | To fix/workaround [[KDE|Plasma]] grouping Emacs incorrectly (confusing emacs.desktop with emacsclient.desktop), perform the following: | ||
* Open Emacs | * Open Emacs | ||
| Line 361: | Line 361: | ||
* [https://search.nixos.org/options?channel=unstable&query=services.emacs NixOS options for Emacs services] – System-level Emacs configuration. | * [https://search.nixos.org/options?channel=unstable&query=services.emacs NixOS options for Emacs services] – System-level Emacs configuration. | ||
* [https://discourse.nixos.org/search?q=emacs Emacs discussions on NixOS Discourse] – Community tips, troubleshooting, and use cases. | * [https://discourse.nixos.org/search?q=emacs Emacs discussions on NixOS Discourse] – Community tips, troubleshooting, and use cases. | ||
* [ | * [https://doomemacs.org Doom Emacs] – A popular Emacs configuration framework. | ||
* [https://github.com/nix-community/emacs-overlay Emacs Overlay on Nixpkgs] – For nightly builds and additional Emacs packages. | * [https://github.com/nix-community/emacs-overlay Emacs Overlay on Nixpkgs] – For nightly builds and additional Emacs packages. | ||
== References == | == References == | ||