diff --git a/flake.lock b/flake.lock index 30a409ab..b2a19cff 100644 --- a/flake.lock +++ b/flake.lock @@ -160,7 +160,7 @@ "devenv": { "inputs": { "cachix": "cachix", - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_4", "nix": "nix_3", "nixpkgs": "nixpkgs_7", "pre-commit-hooks": "pre-commit-hooks_2" @@ -307,6 +307,22 @@ } }, "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1673956053, @@ -322,7 +338,7 @@ "type": "github" } }, - "flake-compat_3": { + "flake-compat_4": { "flake": false, "locked": { "lastModified": 1696426674, @@ -338,7 +354,7 @@ "type": "github" } }, - "flake-compat_4": { + "flake-compat_5": { "flake": false, "locked": { "lastModified": 1696426674, @@ -480,6 +496,24 @@ "inputs": { "systems": "systems_2" }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_3" + }, "locked": { "lastModified": 1731533236, "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", @@ -494,9 +528,9 @@ "type": "github" } }, - "flake-utils_2": { + "flake-utils_3": { "inputs": { - "systems": "systems_3" + "systems": "systems_4" }, "locked": { "lastModified": 1681202837, @@ -512,9 +546,9 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_4": { "inputs": { - "systems": "systems_4" + "systems": "systems_5" }, "locked": { "lastModified": 1689068808, @@ -530,7 +564,7 @@ "type": "github" } }, - "flake-utils_4": { + "flake-utils_5": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -545,6 +579,27 @@ "type": "github" } }, + "ghostty": { + "inputs": { + "flake-compat": "flake-compat", + "nixpkgs-stable": "nixpkgs-stable", + "nixpkgs-unstable": "nixpkgs-unstable", + "zig": "zig" + }, + "locked": { + "lastModified": 1738076396, + "narHash": "sha256-EHGwh2do2JEcYHxaXBq1H7z/S2FkbHEpnNWhvgAmpJ8=", + "owner": "ghostty-org", + "repo": "ghostty", + "rev": "603639ad44e82afbcd8cdb01d7050abf7c538e9b", + "type": "github" + }, + "original": { + "owner": "ghostty-org", + "repo": "ghostty", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -717,7 +772,7 @@ "lanzaboote": { "inputs": { "crane": "crane", - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-parts": "flake-parts_2", "nixpkgs": [ "nixpkgs" @@ -775,7 +830,7 @@ }, "nix": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "nixpkgs": [ "nur-ataraxiasjel", "devenv", @@ -1126,6 +1181,22 @@ } }, "nixpkgs-stable": { + "locked": { + "lastModified": 1733423277, + "narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "e36963a147267afc055f7cf65225958633e536bf", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "release-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_2": { "locked": { "lastModified": 1710695816, "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", @@ -1141,7 +1212,7 @@ "type": "github" } }, - "nixpkgs-stable_2": { + "nixpkgs-stable_3": { "locked": { "lastModified": 1737885640, "narHash": "sha256-GFzPxJzTd1rPIVD4IW+GwJlyGwBDV1Tj5FLYwDQQ9sM=", @@ -1157,7 +1228,7 @@ "type": "github" } }, - "nixpkgs-stable_3": { + "nixpkgs-stable_4": { "locked": { "lastModified": 1720386169, "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", @@ -1174,6 +1245,22 @@ } }, "nixpkgs-unstable": { + "locked": { + "lastModified": 1733229606, + "narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable_2": { "locked": { "lastModified": 1737885589, "narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=", @@ -1374,7 +1461,7 @@ }, "poetry2nix": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_4", "nix-github-actions": "nix-github-actions", "nixpkgs": [ "nur-ataraxiasjel", @@ -1423,7 +1510,7 @@ "devenv", "nix" ], - "flake-utils": "flake-utils_4", + "flake-utils": "flake-utils_5", "gitignore": [ "nur-ataraxiasjel", "devenv", @@ -1467,7 +1554,7 @@ "lanzaboote", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable" + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { "lastModified": 1717664902, @@ -1496,7 +1583,7 @@ "devenv", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_3" + "nixpkgs-stable": "nixpkgs-stable_4" }, "locked": { "lastModified": 1725513492, @@ -1514,7 +1601,7 @@ }, "pre-commit-hooks_3": { "inputs": { - "flake-compat": "flake-compat_4", + "flake-compat": "flake-compat_5", "gitignore": "gitignore_3", "nixpkgs": [ "nixpkgs" @@ -1540,6 +1627,7 @@ "anyrun": "anyrun", "disko": "disko", "doomemacs": "doomemacs", + "ghostty": "ghostty", "haumea": "haumea", "home-manager": "home-manager_2", "impermanence": "impermanence", @@ -1552,8 +1640,8 @@ "nixpak": "nixpak", "nixpkgs": "nixpkgs_3", "nixpkgs-darwin": "nixpkgs-darwin", - "nixpkgs-stable": "nixpkgs-stable_2", - "nixpkgs-unstable": "nixpkgs-unstable", + "nixpkgs-stable": "nixpkgs-stable_3", + "nixpkgs-unstable": "nixpkgs-unstable_2", "nuenv": "nuenv", "nur-ataraxiasjel": "nur-ataraxiasjel", "nur-ryan4yin": "nur-ryan4yin", @@ -1564,7 +1652,7 @@ }, "rust-overlay": { "inputs": { - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "nixpkgs": [ "lanzaboote", "nixpkgs" @@ -1586,7 +1674,7 @@ }, "rust-overlay_2": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "nixpkgs": [ "nuenv", "nixpkgs" @@ -1666,6 +1754,21 @@ "type": "github" } }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "umu": { "inputs": { "nixpkgs": [ @@ -1706,6 +1809,31 @@ "repo": "wallpapers", "type": "github" } + }, + "zig": { + "inputs": { + "flake-compat": [ + "ghostty" + ], + "flake-utils": "flake-utils", + "nixpkgs": [ + "ghostty", + "nixpkgs-stable" + ] + }, + "locked": { + "lastModified": 1717848532, + "narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=", + "owner": "mitchellh", + "repo": "zig-overlay", + "rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43", + "type": "github" + }, + "original": { + "owner": "mitchellh", + "repo": "zig-overlay", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index bdc8bf7d..1477a175 100644 --- a/flake.nix +++ b/flake.nix @@ -113,6 +113,10 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + ghostty = { + url = "github:ghostty-org/ghostty"; + }; + ######################## Some non-flake repositories ######################################### # doom-emacs is a configuration framework for GNU Emacs. diff --git a/home/base/gui/terminal/ghostty.nix b/home/base/gui/terminal/ghostty.nix new file mode 100644 index 00000000..7b12be35 --- /dev/null +++ b/home/base/gui/terminal/ghostty.nix @@ -0,0 +1,41 @@ +{ + pkgs, + ghostty, + ... +}: +########################################################### +# +# Ghostty Configuration +# +########################################################### +{ + programs.ghostty = { + enable = true; + package = + if pkgs.stdenv.isDarwin + then pkgs.emptyDirectory # pkgs.ghostty is currently broken on darwin + else pkgs.ghostty; # the stable version + # package = ghostty.packages.${pkgs.system}.default; # the latest version + enableBashIntegration = false; + installBatSyntax = false; + # installVimSyntax = true; + settings = { + theme = "catppuccin-mocha"; + + font-family = "JetBrains Mono"; + font-size = 13; + + background-opacity = 0.93; + # only supported on macOS; + background-blur-radius = 10; + scrollback-limit = 20000; + + # https://ghostty.org/docs/config/reference#command + # To resolve issues: + # 1. https://github.com/ryan4yin/nix-config/issues/26 + # 2. https://github.com/ryan4yin/nix-config/issues/8 + # Spawn a nushell in login mode via `bash` + command = "${pkgs.bash}/bin/bash --login -c 'nu --login --interactive'"; + }; + }; +} diff --git a/modules/darwin/apps.nix b/modules/darwin/apps.nix index 2f920b4c..35dfabdf 100644 --- a/modules/darwin/apps.nix +++ b/modules/darwin/apps.nix @@ -159,6 +159,7 @@ in { "visual-studio-code" "zed" # zed editor "aerospace" # an i3-like tiling window manager for macOS + "ghostty" # terminal emulator # https://joplinapp.org/help/ # "joplin" # note taking app