67 lines
2.0 KiB
Nix
67 lines
2.0 KiB
Nix
# Fg42 - Emacs Editor for advance users
|
|
#
|
|
# Copyright (c) 2010-2024 Sameer Rahmani <lxsameer@gnu.org>
|
|
#
|
|
# This program 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, version 2.
|
|
#
|
|
# This program 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, see <http://www.gnu.org/licenses/>.
|
|
{
|
|
description = "FG42 - Emacs Editor for advance users";
|
|
|
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/442d407992384ed9c0e6d352de75b69079904e4e";
|
|
inputs.emacs-overlay.url = "github:nix-community/emacs-overlay/0f7f3b39157419f3035a2dad39fbaf8a4ba0448d";
|
|
inputs.flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
outputs = { self, nixpkgs, ... }@inputs:
|
|
inputs.flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
overlays = [ inputs.emacs-overlay.overlays.package ];
|
|
};
|
|
|
|
lemacs = pkgs.emacs29.override {
|
|
# Gtk causes a flickering issue on WM mode
|
|
withGTK3 = false;
|
|
toolkit = "lucid";
|
|
};
|
|
|
|
elispDepsFile = ./lisp/fg42/deps.el;
|
|
|
|
elispPkgs = pkgs.callPackage ./nix/deps.nix {
|
|
inherit elispDepsFile;
|
|
};
|
|
|
|
ourPackages = pkgs.callPackage ./nix/packages.nix {};
|
|
|
|
fg42 = pkgs.callPackage ./nix/fg42.nix {
|
|
inherit elispPkgs ourPackages nixpkgs;
|
|
srcDir = ./.;
|
|
emacs = lemacs;
|
|
};
|
|
|
|
in {
|
|
inherit pkgs;
|
|
|
|
packages.default = fg42;
|
|
packages.${system}.default = fg42;
|
|
|
|
devShells.default = pkgs.mkShell {
|
|
nativeBuildInputs = [ fg42 pkgs.fish ];
|
|
buildInputs = [ fg42 ];
|
|
shellHook = ''
|
|
fish && exit
|
|
'';
|
|
};
|
|
}
|
|
);
|
|
}
|