From cb21371f33bfa68ec842dcebd1faa5ca959d6bdd Mon Sep 17 00:00:00 2001 From: Nate Cox Date: Thu, 2 Jan 2025 11:46:12 -0800 Subject: [PATCH 1/5] feat(home-manager): add support for ghostty --- modules/home-manager/all-modules.nix | 1 + modules/home-manager/ghostty.nix | 25 +++++++++++++++++++++++++ modules/tests/home.nix | 1 + pkgs/sources.json | 4 ++++ 4 files changed, 31 insertions(+) create mode 100644 modules/home-manager/ghostty.nix diff --git a/modules/home-manager/all-modules.nix b/modules/home-manager/all-modules.nix index 81c0450f..5d78cd3b 100644 --- a/modules/home-manager/all-modules.nix +++ b/modules/home-manager/all-modules.nix @@ -17,6 +17,7 @@ ./fzf.nix ./gh-dash.nix ./gitui.nix + ./ghostty.nix ./glamour.nix ./gtk.nix ./helix.nix diff --git a/modules/home-manager/ghostty.nix b/modules/home-manager/ghostty.nix new file mode 100644 index 00000000..20612c14 --- /dev/null +++ b/modules/home-manager/ghostty.nix @@ -0,0 +1,25 @@ +{ catppuccinLib }: +{ config, lib, ... }: + +let + inherit (config.catppuccin) sources; + + cfg = config.catppuccin.ghostty; + themeName = "catppuccin-${cfg.flavor}"; + enable = cfg.enable && config.programs.ghostty.enable; +in +{ + options.catppuccin.ghostty = catppuccinLib.mkCatppuccinOption { name = "ghostty"; }; + + config = lib.mkIf enable { + xdg.configFile = { + "ghostty/themes/${themeName}".source = "${sources.ghostty}/${themeName}.conf"; + }; + + programs.ghostty = { + settings = { + theme = "light:${themeName},dark:${themeName}"; + }; + }; + }; +} diff --git a/modules/tests/home.nix b/modules/tests/home.nix index 99374e93..e0d9acfb 100644 --- a/modules/tests/home.nix +++ b/modules/tests/home.nix @@ -32,6 +32,7 @@ fuzzel.enable = true; fzf.enable = true; gh-dash.enable = true; + ghostty.enable = true; git = { enable = true; delta.enable = true; diff --git a/pkgs/sources.json b/pkgs/sources.json index 8c85881a..d8f38350 100644 --- a/pkgs/sources.json +++ b/pkgs/sources.json @@ -55,6 +55,10 @@ "hash": "sha256-fOCZxrEyWLi+VYnx3QYOP1R+VBhllhOlnO5/5Wg5aq4=", "rev": "acb1b1c22446e34781731ddbfb5e9bd699eccc74" }, + "ghostty": { + "hash": "sha256-YHHOGeXNlVdUdUXHQW4G+6Nl8xyHo2tuJ9b+/1LfGos=", + "rev": "1cb0c33770a411160cbe14b48b831455a2244ee3" + }, "gitui": { "hash": "sha256-CRxpEDShQcCEYtSXwLV5zFB8u0HVcudNcMruPyrnSEk=", "rev": "c7661f043cb6773a1fc96c336738c6399de3e617" From f7eb74e9be5a9b094c7e393f5817c2b2ea03c05c Mon Sep 17 00:00:00 2001 From: seth Date: Tue, 7 Jan 2025 05:26:57 -0500 Subject: [PATCH 2/5] chore: update flake.lock MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit • Updated input 'catppuccin-v1_2': 'https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.0/0193e5e0-33b7-7149-a362-bfe56b20f64e/source.tar.gz?narHash=sha256-Let3uJo4YDyfqbqaw66dpZxhJB2TrDyZWSFd5rpPLJA%3D' (2024-12-20) → 'https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.1/0193e646-1107-7f69-a402-f2a3988ecf1d/source.tar.gz?narHash=sha256-CFX4diEQHKvZYjnhf7TLg20m3ge1O4vqgplsk/Kuaek%3D' (2024-12-20) • Updated input 'home-manager': 'github:nix-community/home-manager/1395379a7a36e40f2a76e7b9936cc52950baa1be?narHash=sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI%3D' (2024-12-19) → 'github:nix-community/home-manager/20665c6efa83d71020c8730f26706258ba5c6b2a?narHash=sha256-CoBPRgkUex9Iz6qGSzi/BFVUQjndB0PmME2B6eEyeCs%3D' (2025-01-06) • Updated input 'home-manager-stable': 'github:nix-community/home-manager/80b0fdf483c5d1cb75aaad909bd390d48673857f?narHash=sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw%3D' (2024-12-16) → 'github:nix-community/home-manager/613691f285dad87694c2ba1c9e6298d04736292d?narHash=sha256-oJDtWPH1oJT34RJK1FSWjwX4qcGOBRkcNQPD0EbSfNM%3D' (2024-12-28) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/d3c42f187194c26d9f0309a8ecc469d6c878ce33?narHash=sha256-cHar1vqHOOyC7f1%2BtVycPoWTfKIaqkoe1Q6TnKzuti4%3D' (2024-12-17) → 'github:NixOS/nixpkgs/8f3e1f807051e32d8c95cd12b9b421623850a34d?narHash=sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs%2BrI%3D' (2025-01-04) • Updated input 'nixpkgs-stable': 'github:NixOS/nixpkgs/b47fd6fa00c6afca88b8ee46cfdb00e104f50bca?narHash=sha256-nbG9TijTMcfr%2Bau7ZVbKpAhMJzzE2nQBYmRvSdXUD8g%3D' (2024-12-19) → 'github:NixOS/nixpkgs/cbd8ec4de4469333c82ff40d057350c30e9f7d36?narHash=sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60%3D' (2025-01-05) • Updated input 'nuscht-search': 'github:NuschtOS/search/3051be7f403bff1d1d380e4612f0c70675b44fc9?narHash=sha256-Y47y%2BLesOCkJaLvj%2BdI/Oa6FAKj/T9sKVKDXLNsViPw%3D' (2024-12-09) → 'github:NuschtOS/search/836908e3bddd837ae0f13e215dd48767aee355f0?narHash=sha256-Iv59gMDZajNfezTO0Fw6LHE7uKAShxbvMidmZREit7c%3D' (2025-01-02) --- flake.lock | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/flake.lock b/flake.lock index 95ff8c77..acc3d9b5 100644 --- a/flake.lock +++ b/flake.lock @@ -16,12 +16,12 @@ }, "catppuccin-v1_2": { "locked": { - "lastModified": 1734728407, - "narHash": "sha256-Let3uJo4YDyfqbqaw66dpZxhJB2TrDyZWSFd5rpPLJA=", - "rev": "23ee86dbf4ed347878115a78971d43025362fab1", - "revCount": 341, + "lastModified": 1734734291, + "narHash": "sha256-CFX4diEQHKvZYjnhf7TLg20m3ge1O4vqgplsk/Kuaek=", + "rev": "1e4c3803b8da874ff75224ec8512cb173036bbd8", + "revCount": 344, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.0/0193e5e0-33b7-7149-a362-bfe56b20f64e/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.1/0193e646-1107-7f69-a402-f2a3988ecf1d/source.tar.gz" }, "original": { "type": "tarball", @@ -53,11 +53,11 @@ ] }, "locked": { - "lastModified": 1734622215, - "narHash": "sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI=", + "lastModified": 1736204492, + "narHash": "sha256-CoBPRgkUex9Iz6qGSzi/BFVUQjndB0PmME2B6eEyeCs=", "owner": "nix-community", "repo": "home-manager", - "rev": "1395379a7a36e40f2a76e7b9936cc52950baa1be", + "rev": "20665c6efa83d71020c8730f26706258ba5c6b2a", "type": "github" }, "original": { @@ -73,11 +73,11 @@ ] }, "locked": { - "lastModified": 1734366194, - "narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=", + "lastModified": 1735344290, + "narHash": "sha256-oJDtWPH1oJT34RJK1FSWjwX4qcGOBRkcNQPD0EbSfNM=", "owner": "nix-community", "repo": "home-manager", - "rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f", + "rev": "613691f285dad87694c2ba1c9e6298d04736292d", "type": "github" }, "original": { @@ -115,11 +115,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1734424634, - "narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=", + "lastModified": 1736012469, + "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33", + "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", "type": "github" }, "original": { @@ -131,11 +131,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1734600368, - "narHash": "sha256-nbG9TijTMcfr+au7ZVbKpAhMJzzE2nQBYmRvSdXUD8g=", + "lastModified": 1736061677, + "narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b47fd6fa00c6afca88b8ee46cfdb00e104f50bca", + "rev": "cbd8ec4de4469333c82ff40d057350c30e9f7d36", "type": "github" }, "original": { @@ -154,11 +154,11 @@ ] }, "locked": { - "lastModified": 1733773348, - "narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=", + "lastModified": 1735854821, + "narHash": "sha256-Iv59gMDZajNfezTO0Fw6LHE7uKAShxbvMidmZREit7c=", "owner": "NuschtOS", "repo": "search", - "rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9", + "rev": "836908e3bddd837ae0f13e215dd48767aee355f0", "type": "github" }, "original": { From 49da61b7ff382b3adc34e74c56459d986c1e0656 Mon Sep 17 00:00:00 2001 From: seth Date: Tue, 7 Jan 2025 05:27:59 -0500 Subject: [PATCH 3/5] fix(tests): disable ghostty on darwin --- modules/tests/darwin.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/tests/darwin.nix b/modules/tests/darwin.nix index a3ab0bd4..ca9794c1 100644 --- a/modules/tests/darwin.nix +++ b/modules/tests/darwin.nix @@ -25,6 +25,7 @@ chromium.enable = lib.mkVMOverride false; foot.enable = lib.mkVMOverride false; fuzzel.enable = lib.mkVMOverride false; + ghostty.enable = lib.mkVMOverride false; # TODO: Remove when Darwin support is added hyprlock.enable = lib.mkVMOverride false; imv.enable = lib.mkVMOverride false; mpv.enable = lib.mkVMOverride false; # NOTE: same as cava, but `mpv` fails to build currently From d48a86dd5679f39932ebb5dfeb0999f75ea0ac9a Mon Sep 17 00:00:00 2001 From: isabel Date: Thu, 9 Jan 2025 22:45:00 +0000 Subject: [PATCH 4/5] chore: update home-manager in flake.lock MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit • Updated input 'home-manager': 'github:nix-community/home-manager/20665c6efa83d71020c8730f26706258ba5c6b2a?narHash=sha256-CoBPRgkUex9Iz6qGSzi/BFVUQjndB0PmME2B6eEyeCs%3D' (2025-01-06) → 'github:nix-community/home-manager/2532b500c3ed2b8940e831039dcec5a5ea093afc?narHash=sha256-ZOaGwa%2BWnB7Zn3YXimqjmIugAnHePdXCmNu%2BAHkq808%3D' (2025-01-10) • Updated input 'home-manager-stable': 'github:nix-community/home-manager/613691f285dad87694c2ba1c9e6298d04736292d?narHash=sha256-oJDtWPH1oJT34RJK1FSWjwX4qcGOBRkcNQPD0EbSfNM%3D' (2024-12-28) → 'github:nix-community/home-manager/bd65bc3cde04c16755955630b344bc9e35272c56?narHash=sha256-dinzAqCjenWDxuy%2BMqUQq0I4zUSfaCvN9rzuCmgMZJY%3D' (2025-01-08) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index acc3d9b5..52f61a84 100644 --- a/flake.lock +++ b/flake.lock @@ -53,11 +53,11 @@ ] }, "locked": { - "lastModified": 1736204492, - "narHash": "sha256-CoBPRgkUex9Iz6qGSzi/BFVUQjndB0PmME2B6eEyeCs=", + "lastModified": 1736508663, + "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", "owner": "nix-community", "repo": "home-manager", - "rev": "20665c6efa83d71020c8730f26706258ba5c6b2a", + "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", "type": "github" }, "original": { @@ -73,11 +73,11 @@ ] }, "locked": { - "lastModified": 1735344290, - "narHash": "sha256-oJDtWPH1oJT34RJK1FSWjwX4qcGOBRkcNQPD0EbSfNM=", + "lastModified": 1736373539, + "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", "owner": "nix-community", "repo": "home-manager", - "rev": "613691f285dad87694c2ba1c9e6298d04736292d", + "rev": "bd65bc3cde04c16755955630b344bc9e35272c56", "type": "github" }, "original": { From 5478233d021d9b8738e3c3552133335a62fb5ece Mon Sep 17 00:00:00 2001 From: isabel Date: Fri, 10 Jan 2025 10:30:12 +0000 Subject: [PATCH 5/5] fix(tests): disable freetube on darwin https://github.com/catppuccin/nix/actions/runs/12699788388/job/35401733071?pr=446#step:5:4050 --- modules/tests/darwin.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/tests/darwin.nix b/modules/tests/darwin.nix index ca9794c1..b9917868 100644 --- a/modules/tests/darwin.nix +++ b/modules/tests/darwin.nix @@ -24,6 +24,7 @@ cava.enable = lib.mkVMOverride false; # NOTE: this may actually work on darwin, but the package is currently not supported chromium.enable = lib.mkVMOverride false; foot.enable = lib.mkVMOverride false; + freetube.enable = lib.mkVMOverride false; # NOTE: currently fails to build fuzzel.enable = lib.mkVMOverride false; ghostty.enable = lib.mkVMOverride false; # TODO: Remove when Darwin support is added hyprlock.enable = lib.mkVMOverride false;