Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(home-manager): add support for ghostty #446

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

natecox
Copy link

@natecox natecox commented Jan 3, 2025

Fixes #427

pkgs/sources.json Outdated Show resolved Hide resolved
modules/home-manager/ghostty.nix Show resolved Hide resolved
modules/home-manager/ghostty.nix Outdated Show resolved Hide resolved
modules/home-manager/ghostty.nix Show resolved Hide resolved
modules/home-manager/ghostty.nix Outdated Show resolved Hide resolved
@natecox natecox closed this Jan 3, 2025
@zakuciael
Copy link

Hi, is there any reason this PR was closed? Or if the author is no longer interested in implementing it, is it okay to make a new PR adding this module?

@natecox
Copy link
Author

natecox commented Jan 4, 2025

Hi, is there any reason this PR was closed? Or if the author is no longer interested in implementing it, is it okay to make a new PR adding this module?

Seemed like I was getting the runaround a bit on this without any real conversation happening to tell me why and I lost interest.

I’d be happy to pick this back up if a clear direction can be provided, I’m just not sure what to do with two reviewers asking for conflicting changes.

No hard feelings or anything, because text tends to present negatively.

@getchoo
Copy link
Member

getchoo commented Jan 4, 2025

We're sorry about that, genuinely

There have been a lot of large refactors recently, and its made us change the approach we use in applying ports to different programs. I'll admit I'm the one who pushed a lot of these changes, and I'm more familiar with the effects they have than @isabelroses. I should have communicated these better, as well as some of the new things to look out for; that's my bad

The issue that caused this difference in review -- Import from Derivation -- is one that has been a pretty hot topic recently, and it's no doubt because of this. I plan on writing an explainer in our docs so others aren't blind sided by this again, as it's not exactly easy to catch

I'd love to see this continued, and I'll make sure to answer any questions along the way

@natecox natecox reopened this Jan 4, 2025
@natecox
Copy link
Author

natecox commented Jan 4, 2025

All right, well I appreciate the context. Can you point out a port that is up to date that I can reference? I started with copying the kitty config (thinking it would make the port simple lol).

@natecox
Copy link
Author

natecox commented Jan 4, 2025

@getchoo I think I've resolved all the requests above.

Copy link
Member

@getchoo getchoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Otherwise this LGTM. I'll make sure to test it out soon since I know this is a popular app and port ;)

modules/home-manager/ghostty.nix Show resolved Hide resolved
modules/home-manager/ghostty.nix Outdated Show resolved Hide resolved
@getchoo
Copy link
Member

getchoo commented Jan 5, 2025

Can you point out a port that is up to date that I can reference?

Honestly, I think this is already a great example of how we want these modules to be handled now 😆

But for the future, some of my favorites are

With k9s and btop being the most similar to this one

The general idea is to place our port sources at the right path (or list exactly where they are) so that the program can read that at runtime. This is opposed to us reading these files at evaluation time in the modules to set options like programs.someThemeableApp.settings.hexColor = "#FFFFFF"; -- as even though Nix totally can do that, it causes some small but nasty issues

@getchoo getchoo added this to the 2.0.0 milestone Jan 5, 2025
Copy link
Member

@HeitorAugustoLN HeitorAugustoLN left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! I have a suggestion for making the module shorter, but it doesn't really change anything besides that

modules/home-manager/ghostty.nix Show resolved Hide resolved
• 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)
@getchoo
Copy link
Member

getchoo commented Jan 7, 2025

Tested on NixOS and all seems good!

CI did catch a new issue though: our tests against NixOS/home-manager stable fail to evaluate due to the programs.ghostty module from home-manager not being present in their 24.11 branch. It will need to be backported upstream (similar to the ghostty package) or slight hacks a neat workaround will need to be applied here to basically ignore the whole module on 24.11

Merging will be blocked by this sadly, but I'll make sure to take care of it personally since it'll probably require a good bit of effort

Thanks for your work, @natecox. I hope to ping you again soon with a merge :)

@getchoo getchoo added the blocked Waiting on external changes label Jan 7, 2025
@natecox
Copy link
Author

natecox commented Jan 7, 2025

oof, I didn't realize that it wasn't on the 24.11 branch; living on unstable bites again I guess.

@getchoo
Copy link
Member

getchoo commented Jan 8, 2025

@isabelroses isabelroses removed the blocked Waiting on external changes label Jan 9, 2025
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/20665c6efa83d71020c8730f26706258ba5c6b2a?narHash=sha256-CoBPRgkUex9Iz6qGSzi/BFVUQjndB0PmME2B6eEyeCs%3D' (2025-01-06)
  → 'github:nix-community/home-manager/d4aebb947a301b8da8654a804979a738c5c5da50?narHash=sha256-RyrX0WFXxFrYvzHNLTIyuk3NcNl3UBykuYru/P0zW5E%3D' (2025-01-09)
• 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)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8f3e1f807051e32d8c95cd12b9b421623850a34d?narHash=sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs%2BrI%3D' (2025-01-04)
  → 'github:NixOS/nixpkgs/bffc22eb12172e6db3c5dde9e3e5628f8e3e7912?narHash=sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc%2Bc2c%3D' (2025-01-08)
• Updated input 'nixpkgs-stable':
    'github:NixOS/nixpkgs/cbd8ec4de4469333c82ff40d057350c30e9f7d36?narHash=sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60%3D' (2025-01-05)
  → 'github:NixOS/nixpkgs/3f0a8ac25fb674611b98089ca3a5dd6480175751?narHash=sha256-JO%2BlFN2HsCwSLMUWXHeOad6QUxOuwe9UOAF/iSl1J4I%3D' (2025-01-06)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for Ghostty
6 participants