The ultimate editor for true believers
转到文件
Sameer Rahmani 26c1a6074d
Disable buffer switch preview on WM mode
2024-04-12 10:17:50 +01:00
docs Remoe all the v3 modules 2024-04-10 22:45:24 +01:00
lisp Disable buffer switch preview on WM mode 2024-04-12 10:17:50 +01:00
nix Reformat all the nix files using nixpkgs-fmt 2024-04-11 20:09:57 +01:00
share Fix the missing Fira Mono font 2024-03-27 23:50:44 +00:00
snippets Setup a basic eglot,company configuration for cpp 2024-03-23 22:37:54 +00:00
.gitignore Finish up the first working flake to build FG42 2024-02-20 14:53:50 +00:00
.gitlab-ci.yml Merge branch 'master' into v3 2020-11-11 12:37:44 +00:00
CHANGELOG Update the Changlog to include FBT changes 2020-04-16 22:46:33 +01:00
COPYING COPYING added 2010-12-23 16:57:44 +03:30
README.org Update the readme for v4 2024-04-10 22:39:33 +01:00
flake.lock Fix the modeline view to reposition on resize 2024-04-11 15:39:22 +01:00
flake.nix Redesign the WM mode modeline 2024-04-11 22:14:25 +01:00

README.org

Future Gadgets 42

FG42 is an Emacs based editor that utilizes Nix, and shipped preconfigured. While it is the Emacs that you love ❤️, it breaks the tradition by not using any of Emace's package managers (More on that later). It provides a self-contained program and contains all the runtime dependencies including Emacs itself.

Requirements

The only requirement to install FG42, is Nix. If you don't use Nix, try it today. It's amazing.

Installation

If you're using Nix (and not NixOS), then you can install FG42 like:

  # Install emacs, make and texinfo
  $ nix profile install "git+https://devheroes.codes/FG42/FG42#"

  # Or via nix build like:
  nix build "git+https://devheroes.codes/FG42/FG42#"

If you're using NixOS or HomeManager you can use FG42 as an input to your flake. If your not using flakes, I'm pretty sure you know what you are doing so I leave it to your experience.

  {
    description = "Exmaple flake";

    inputs = {
      fg42.url = "git+https://devheroes.codes/FG42/FG42";
    };

    outputs = { self, fg42, ... } @ inputs:
      let
        # I just use linux and currently only x86_64
        system = "x86_64-linux";

        # Grab the default package of FG42
        fg42 = fg42.outputs.packages.${system}.default;
      in {
        # Now you can use the 'fg42' package in your package list
        ....
      };
  }

Configuration

FG42 comes pre-configured, but if you need to add your own configuration you can do it in ~/.fg42.el.

Flags

TBD

Debugging

Debugging is OFF by default in FG42. You can turn it on by setting the FG42_DEBUG environment variable to 1.

FAQ

Why Nix? Have you tried Emacsian package manager?

Yes we tried many of them. We started by a manual solution that the name fpkg remains as remembrance of that effort. We moved to el-get, then Cask, ElDev and finally we landed on straight.el on V3. But none of the provided the stability that we need.

But on V4 (Current version), We've change the approach by disabling all the package managers (don't worry you can still use them if you want to) and used Nix to manage everything. Both elisp dependencies and system dependencies. This way we get reproducible builds that gives us stability and reliability. Also we get to pin every single dependency version even Emacs itself. So no more "🤷 But it works on my computer".

what's with the name?

I'm a huge fan of [Steins Gate](https://en.wikipedia.org/wiki/Steins;Gate) anime and I follow its naming convensions on Future Gadgets 42.

Why we moved from Github ?

We're not happy with Microsoft buying Github and we don't trust a company like Microsoft because of their history and their strategies (For more information take a look at Halloween documents. So we decided to move to Devheroes as an alternative and we are happy here so far.

Contribute

FG42 made possible by the effort of the community of Contributors.

If you're interested in FG42 and wants to contribute to the project please follow the How to Contribute Guitd. Also please read our Code of Conduct as well.

License

FG42 is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version.

FG42 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

All the documents of FG42 that locate in 'doc' directories release under the term of GNU FDL.

Copyright (C) 2010-2024 Sameer Rahmani <lxsameer@gnu.org>