diff --git a/common/gui.nix b/common/gui.nix index 944a1404..e766e7d7 100644 --- a/common/gui.nix +++ b/common/gui.nix @@ -24,9 +24,9 @@ lib.attrsets.optionalAttrs device.hasGui { # "Applications/1Password.app".source = "${pkgs._1password-gui}/Applications/1Password.app"; # }; home.packages = with pkgs; - [ - ] + [] ++ lib.optionals pkgs.stdenv.isLinux [ + ghostty (mpv-unwrapped.wrapper {mpv = mpv-unwrapped.override {sixelSupport = true;};}) abaddon catppuccinThemes.gtk diff --git a/flake.lock b/flake.lock index da9277e7..1a494243 100644 --- a/flake.lock +++ b/flake.lock @@ -253,8 +253,8 @@ }, "crane_5": { "inputs": { - "flake-compat": "flake-compat_4", - "flake-utils": "flake-utils_5", + "flake-compat": "flake-compat_5", + "flake-utils": "flake-utils_6", "nixpkgs": [ "music-player", "nixpkgs" @@ -499,6 +499,22 @@ } }, "flake-compat_4": { + "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_5": { "flake": false, "locked": { "lastModified": 1673956053, @@ -514,7 +530,7 @@ "type": "github" } }, - "flake-compat_5": { + "flake-compat_6": { "locked": { "lastModified": 1696426674, "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", @@ -528,7 +544,7 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, - "flake-compat_6": { + "flake-compat_7": { "flake": false, "locked": { "lastModified": 1641205782, @@ -544,7 +560,7 @@ "type": "github" } }, - "flake-compat_7": { + "flake-compat_8": { "flake": false, "locked": { "lastModified": 1641205782, @@ -696,8 +712,23 @@ } }, "flake-utils_11": { + "locked": { + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_12": { "inputs": { - "systems": "systems_13" + "systems": "systems_14" }, "locked": { "lastModified": 1710146030, @@ -713,9 +744,9 @@ "type": "github" } }, - "flake-utils_12": { + "flake-utils_13": { "inputs": { - "systems": "systems_14" + "systems": "systems_15" }, "locked": { "lastModified": 1731533236, @@ -731,9 +762,9 @@ "type": "github" } }, - "flake-utils_13": { + "flake-utils_14": { "inputs": { - "systems": "systems_15" + "systems": "systems_16" }, "locked": { "lastModified": 1731533236, @@ -805,14 +836,14 @@ }, "flake-utils_5": { "inputs": { - "systems": "systems_9" + "systems": "systems_7" }, "locked": { - "lastModified": 1685518550, - "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "owner": "numtide", "repo": "flake-utils", - "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "type": "github" }, "original": { @@ -844,11 +875,11 @@ "systems": "systems_11" }, "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "lastModified": 1685518550, + "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", "owner": "numtide", "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", "type": "github" }, "original": { @@ -876,12 +907,15 @@ } }, "flake-utils_9": { + "inputs": { + "systems": "systems_13" + }, "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -890,6 +924,27 @@ "type": "github" } }, + "ghostty": { + "inputs": { + "flake-compat": "flake-compat_2", + "nixpkgs-stable": "nixpkgs-stable", + "nixpkgs-unstable": "nixpkgs-unstable", + "zig": "zig" + }, + "locked": { + "lastModified": 1736057491, + "narHash": "sha256-VTKk01nq122E0YuDcTS7tWFBlfOjnZQteHJkPU5F370=", + "owner": "ghostty-org", + "repo": "ghostty", + "rev": "7a27af8bfce9007e31be10aeafe7a968a66aa0b5", + "type": "github" + }, + "original": { + "owner": "ghostty-org", + "repo": "ghostty", + "type": "github" + } + }, "git-hooks": { "inputs": { "flake-compat": [ @@ -1144,7 +1199,7 @@ "nixpkgs" ], "pre-commit-hooks": "pre-commit-hooks", - "systems": "systems_7", + "systems": "systems_8", "xdph": "xdph" }, "locked": { @@ -1282,7 +1337,7 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_8" + "systems": "systems_9" }, "locked": { "lastModified": 1735497496, @@ -1452,7 +1507,7 @@ "lanzaboote": { "inputs": { "crane": "crane_4", - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_4", "flake-parts": "flake-parts_3", "nixpkgs": [ "nixpkgs" @@ -1479,7 +1534,7 @@ "advisory-db": "advisory-db_3", "crane": "crane_5", "fenix": "fenix", - "flake-utils": "flake-utils_6", + "flake-utils": "flake-utils_7", "nixpkgs": [ "nixpkgs" ] @@ -1775,16 +1830,16 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1730741070, - "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", - "owner": "NixOS", + "lastModified": 1733423277, + "narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", + "rev": "e36963a147267afc055f7cf65225958633e536bf", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-24.05", + "owner": "nixos", + "ref": "release-24.11", "repo": "nixpkgs", "type": "github" } @@ -1805,6 +1860,38 @@ "type": "github" } }, + "nixpkgs-stable_3": { + "locked": { + "lastModified": 1730741070, + "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "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_2": { "locked": { "lastModified": 1732937961, @@ -1902,7 +1989,7 @@ "nixvim": { "inputs": { "devshell": "devshell", - "flake-compat": "flake-compat_5", + "flake-compat": "flake-compat_6", "flake-parts": "flake-parts_4", "git-hooks": "git-hooks", "home-manager": "home-manager_2", @@ -1929,7 +2016,7 @@ }, "nno": { "inputs": { - "flake-utils": "flake-utils_8", + "flake-utils": "flake-utils_9", "neorg": "neorg", "neorg-telescope": "neorg-telescope", "nixpkgs": [ @@ -1954,8 +2041,8 @@ }, "norg": { "inputs": { - "flake-compat": "flake-compat_6", - "flake-utils": "flake-utils_9", + "flake-compat": "flake-compat_7", + "flake-utils": "flake-utils_10", "nixpkgs": "nixpkgs_5" }, "locked": { @@ -1975,8 +2062,8 @@ }, "norg-meta": { "inputs": { - "flake-compat": "flake-compat_7", - "flake-utils": "flake-utils_10", + "flake-compat": "flake-compat_8", + "flake-utils": "flake-utils_11", "nixpkgs": "nixpkgs_6" }, "locked": { @@ -2015,7 +2102,7 @@ }, "nuschtosSearch": { "inputs": { - "flake-utils": "flake-utils_7", + "flake-utils": "flake-utils_8", "ixx": "ixx", "nixpkgs": [ "nixvim", @@ -2038,7 +2125,7 @@ }, "onepassword-shell-plugins": { "inputs": { - "flake-utils": "flake-utils_11", + "flake-utils": "flake-utils_12", "nixpkgs": [ "nixpkgs" ] @@ -2091,13 +2178,13 @@ }, "pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "gitignore": "gitignore", "nixpkgs": [ "hyprland", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable" + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { "lastModified": 1734797603, @@ -2124,7 +2211,7 @@ "lanzaboote", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_2" + "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { "lastModified": 1731363552, @@ -2168,6 +2255,7 @@ "deploy-rs": "deploy-rs", "disko": "disko", "flake-utils": "flake-utils_4", + "ghostty": "ghostty", "guihua": "guihua", "home-manager": "home-manager", "hyprland": "hyprland", @@ -2516,6 +2604,21 @@ "type": "github" } }, + "systems_16": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "systems_2": { "locked": { "lastModified": 1681028828, @@ -2593,16 +2696,16 @@ }, "systems_7": { "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default-linux", + "repo": "default", "type": "github" } }, @@ -2623,16 +2726,16 @@ }, "systems_9": { "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default", + "repo": "default-linux", "type": "github" } }, @@ -2640,7 +2743,7 @@ "inputs": { "advisory-db": "advisory-db_4", "crane": "crane_6", - "flake-utils": "flake-utils_12", + "flake-utils": "flake-utils_13", "nix-github-actions": "nix-github-actions_3", "nixpkgs": [ "nixpkgs" @@ -2826,10 +2929,35 @@ "type": "github" } }, + "zig": { + "inputs": { + "flake-compat": [ + "ghostty" + ], + "flake-utils": "flake-utils_5", + "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" + } + }, "zjstatus": { "inputs": { "crane": "crane_7", - "flake-utils": "flake-utils_13", + "flake-utils": "flake-utils_14", "nixpkgs": [ "nixpkgs" ], diff --git a/flake.nix b/flake.nix index 38405803..75cfe08e 100644 --- a/flake.nix +++ b/flake.nix @@ -143,6 +143,9 @@ url = "github:uttarayan21/ddcbacklight"; inputs.nixpkgs.follows = "nixpkgs"; }; + ghostty = { + url = "github:ghostty-org/ghostty"; + }; }; outputs = { diff --git a/modules/default.nix b/modules/default.nix index f957feb7..125c63d1 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -7,6 +7,7 @@ ./goread.nix ./hyprpaper.nix ./aichat.nix + ./ghostty.nix # ./sketchybar.nix ]; } diff --git a/modules/ghostty.nix b/modules/ghostty.nix new file mode 100644 index 00000000..5b01cced --- /dev/null +++ b/modules/ghostty.nix @@ -0,0 +1,28 @@ +{ + pkgs, + config, + lib, + ... +}: +with lib; let + cfg = config.programs.ghostty; + # tomlFormat = pkgs.formats.toml {}; + inherit (lib.generatros) toKeyValue mkKeyValueDefault; +in { + options = { + programs.ghostty = { + enable = mkEnableOption "ghostty"; + package = mkPackageOption pkgs "ghostty" {}; + + settings = lib.mkOption { + type = tomlFormat.type; + description = "Options"; + }; + }; + }; + + config = { + xdg.configFile."ghostty/config".source = + tomlFormat.generate "config" cfg.settings; + }; +} diff --git a/overlays.nix b/overlays.nix index bbf1b579..55f88082 100644 --- a/overlays.nix +++ b/overlays.nix @@ -120,6 +120,7 @@ }; }; ddcbacklight = inputs.ddcbacklight.packages.${prev.system}.ddcbacklight; + ghostty = inputs.ghostty.packages.${prev.system}.default; }; anyrun-overlay = final: prev: { anyrun =