diff --git a/home/breakerbox.nix b/home/breakerbox.nix index a876ae5..d61385e 100644 --- a/home/breakerbox.nix +++ b/home/breakerbox.nix @@ -26,6 +26,7 @@ in ./programs/gdb.nix ./programs/gh-dash.nix ./programs/gh.nix + ./programs/ghci.nix ./programs/git ./programs/gpg.nix ./programs/home-manager.nix @@ -106,6 +107,7 @@ in programs.gdb.enable = true; programs.gh-dash.enable = true; programs.gh.enable = true; + programs.ghci.enable = true; programs.git.enable = true; programs.gpg.enable = true; programs.helix.enable = true; diff --git a/home/home.nix b/home/home.nix index b8ba87e..97f5733 100644 --- a/home/home.nix +++ b/home/home.nix @@ -57,12 +57,6 @@ in { profilePath = ".config/X11/xprofile"; }; - xdg.configFile = { - "ghc/ghci.conf".text = '' - :set prompt "${extendedLib.termColors.front.magenta "[GHCi]λ"} " - ''; - }; - news.display = "silent"; fonts.fontconfig.enable = mkForce true; diff --git a/home/programs/ghci.nix b/home/programs/ghci.nix new file mode 100644 index 0000000..cb342f9 --- /dev/null +++ b/home/programs/ghci.nix @@ -0,0 +1,22 @@ +{ config, lib, pkgs, extendedLib, ... }: +let + cfg = config.programs.ghci; +in +{ + options.programs.ghci = { + enable = lib.mkEnableOption "ghci, interactive haskell shell"; + + package = lib.mkPackageOption pkgs "ghc" { }; + }; + + config = lib.mkIf cfg.enable { + home.packages = [ cfg.package ]; + + # Personal config + xdg.configFile = { + "ghc/ghci.conf".text = '' + :set prompt "${extendedLib.termColors.front.magenta "[GHCi]λ"} " + ''; + }; + }; +}