FG42/README.org

109 lines
4.3 KiB
Org Mode
Raw Permalink Normal View History

2021-10-17 13:20:02 +01:00
* Future Gadgets 42
2024-04-10 22:39:33 +01:00
*FG42* is an Emacs based editor that utilizes [[https://nixos.org/][Nix]], and shipped preconfigured. While it
is the Emacs that you love :heart:, 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.
2021-10-17 13:20:02 +01:00
2022-01-26 11:05:39 +00:00
** Requirements
2024-04-10 22:39:33 +01:00
The only requirement to install *FG42*, is [[https://nixos.org/][Nix]]. If you don't use Nix, try it today.
It's amazing.
2021-10-17 13:20:02 +01:00
2024-04-10 22:39:33 +01:00
** Installation
If you're using Nix (and not NixOS), then you can install *FG42* like:
2021-10-17 13:20:02 +01:00
#+BEGIN_SRC bash
2024-04-10 22:39:33 +01:00
# 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#"
2021-10-17 13:20:02 +01:00
#+END_SRC
2024-04-10 22:39:33 +01:00
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.
2021-10-17 13:20:02 +01:00
2024-04-10 22:39:33 +01:00
#+BEGIN_SRC nix
{
description = "Exmaple flake";
2021-10-17 13:20:02 +01:00
2024-04-10 22:39:33 +01:00
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
....
};
}
#+END_SRC
2021-10-17 13:20:02 +01:00
2024-04-10 22:39:33 +01:00
** Configuration
FG42 comes pre-configured, but if you need to add your own configuration you can
do it in =~/.fg42.el=.
** Flags
2021-10-17 13:20:02 +01:00
TBD
** Debugging
2024-04-10 22:39:33 +01:00
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 [[https://github.com/dimitri/el-get][el-get]], then [[https://github.com/cask/cask][Cask]], [[https://github.com/emacs-eldev/eldev][ElDev]] and finally we
landed on [[https://github.com/radian-software/straight.el][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 ":shrug: But it works on my computer".
2021-10-17 13:20:02 +01:00
2024-04-10 22:39:33 +01:00
*** what's with the name?
2021-10-17 13:20:02 +01:00
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*.
2024-04-10 22:39:33 +01:00
*** Why we moved from Github ?
2021-10-17 13:20:02 +01:00
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 [[https://en.wikipedia.org/wiki/Halloween_documents][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 [[docs/site/pages/contributors.org][Contributors]].
If you're interested in *FG42* and wants to contribute to the project please follow
the [[docs/site/pages/how-to-contribute.org][How to Contribute Guitd]]. Also please read our [[docs/site/pages/code-of-conduct.org][Code of Conduct]] as well.
2021-10-17 13:20:02 +01:00
* License
FG42 is free software; you can redistribute it and/or modify
2021-10-17 13:20:02 +01:00
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,
2021-10-17 13:20:02 +01:00
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
2021-10-17 13:20:02 +01:00
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
2021-10-17 13:20:02 +01:00
under the term of GNU FDL.
2024-02-18 16:08:02 +00:00
Copyright (C) 2010-2024 Sameer Rahmani <lxsameer@gnu.org>