From 6fa9b974ece2b0f71ffff54acb049a920f1f5d10 Mon Sep 17 00:00:00 2001
From: Myned <dev@bjork.tech>
Date: Fri, 10 Jan 2025 16:00:21 -0600
Subject: [PATCH] ghostty: add minimal option for terminfo

Signed-off-by: Myned <dev@bjork.tech>
---
 configuration.nix                   |  3 +++
 options/custom/programs/default.nix |  2 +-
 options/custom/programs/ghostty.nix |  6 +++++-
 profiles/sbc/default.nix            |  6 +++++-
 profiles/server/default.nix         | 12 ++++++++----
 5 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/configuration.nix b/configuration.nix
index b8d02e3..66e58c8 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -65,6 +65,9 @@
           # https://github.com/NixOS/nixpkgs/pull/369808
           freerdp3 = dcsunset.freerdp3;
 
+          # TODO: Remove when on stable
+          ghostty = unstable.ghostty;
+
           ### Development
           #// ciscoPacketTracer8 = local.ciscoPacketTracer8;
         }
diff --git a/options/custom/programs/default.nix b/options/custom/programs/default.nix
index fa62c8b..86ee3bb 100644
--- a/options/custom/programs/default.nix
+++ b/options/custom/programs/default.nix
@@ -10,6 +10,7 @@ with lib; {
       direnv.enable = true;
       fastfetch.enable = true;
       fish.enable = true;
+      ghostty.enable = true;
       git.enable = true;
       htop.enable = true;
       man.enable = true;
@@ -32,7 +33,6 @@ with lib; {
       dconf.enable = true;
       firefox.enable = true;
       #// foot.enable = true;
-      ghostty.enable = true;
       #// gnome-terminal.enable = true;
       #// kdeconnect.enable = true;
       kitty.enable = true;
diff --git a/options/custom/programs/ghostty.nix b/options/custom/programs/ghostty.nix
index f7ead97..db2c147 100644
--- a/options/custom/programs/ghostty.nix
+++ b/options/custom/programs/ghostty.nix
@@ -1,6 +1,7 @@
 {
   config,
   lib,
+  pkgs,
   ...
 }:
 with lib; let
@@ -8,10 +9,13 @@ with lib; let
 in {
   options.custom.programs.ghostty = {
     enable = mkOption {default = false;};
+    minimal = mkOption {default = false;};
   };
 
   config = mkIf cfg.enable {
-    home-manager.sharedModules = [
+    environment.systemPackages = mkIf cfg.minimal [pkgs.ghostty]; # Terminfo
+
+    home-manager.sharedModules = mkIf (!cfg.minimal) [
       {
         # https://ghostty.org/
         programs.ghostty = {
diff --git a/profiles/sbc/default.nix b/profiles/sbc/default.nix
index 7ffaec1..cfcdc39 100644
--- a/profiles/sbc/default.nix
+++ b/profiles/sbc/default.nix
@@ -1,7 +1,11 @@
 {config, ...}: {
   custom = {
     profile = "sbc";
-    programs.fastfetch.greet = true;
+
+    programs = {
+      fastfetch.greet = true;
+      ghostty.minimal = true;
+    };
 
     containers = {
       enable = true;
diff --git a/profiles/server/default.nix b/profiles/server/default.nix
index e78d0b7..50a983e 100644
--- a/profiles/server/default.nix
+++ b/profiles/server/default.nix
@@ -1,7 +1,11 @@
 {config, ...}: {
   custom = {
     profile = "server";
-    programs.fastfetch.greet = true;
+
+    programs = {
+      fastfetch.greet = true;
+      ghostty.minimal = true;
+    };
 
     containers = {
       enable = true;
@@ -14,10 +18,10 @@
       #// headscale.enable = true;
       mastodon.enable = true;
       netbox.enable = true;
-      nextcloud.enable = true;
+      #// nextcloud.enable = true;
       owncast.enable = true;
-      redlib.enable = true;
-      searxng.enable = true;
+      #// redlib.enable = true;
+      #// searxng.enable = true;
     };
 
     services = {