diff --git a/flake.lock b/flake.lock index e00b7f8..e0308ba 100644 --- a/flake.lock +++ b/flake.lock @@ -120,6 +120,58 @@ "type": "github" } }, + "flake-utils": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "freetype2": { + "flake": false, + "locked": { + "lastModified": 1723459814, + "narHash": "sha256-4l90lDtpgm5xlh2m7ifrqNy373DTRTULRkAzicrM93c=", + "owner": "freetype", + "repo": "freetype", + "rev": "42608f77f20749dd6ddc9e0536788eaad70ea4b5", + "type": "github" + }, + "original": { + "owner": "freetype", + "ref": "VER-2-13-3", + "repo": "freetype", + "type": "github" + } + }, + "harfbuzz": { + "flake": false, + "locked": { + "lastModified": 1747068667, + "narHash": "sha256-VxN0lsFnW0vHnIXZ806Lg2NU0/ESnE6z249mXPhfas8=", + "owner": "harfbuzz", + "repo": "harfbuzz", + "rev": "33a3f8de60dcad7535f14f07d6710144548853ac", + "type": "github" + }, + "original": { + "owner": "harfbuzz", + "ref": "11.2.1", + "repo": "harfbuzz", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -214,6 +266,23 @@ "type": "github" } }, + "libpng": { + "flake": false, + "locked": { + "lastModified": 1726173884, + "narHash": "sha256-gBfHgGaqVYdmhWXoNKZzPyGzyw2rr3zp+DjWmfC41jk=", + "owner": "pnggroup", + "repo": "libpng", + "rev": "f5e92d76973a7a53f517579bc95d61483bf108c0", + "type": "github" + }, + "original": { + "owner": "pnggroup", + "ref": "v1.6.44", + "repo": "libpng", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1777796046, @@ -357,7 +426,8 @@ "sops-nix": "sops-nix", "tnvim": "tnvim", "tpanel": "tpanel", - "treefmt-nix": "treefmt-nix" + "treefmt-nix": "treefmt-nix", + "wezterm-flake": "wezterm-flake" } }, "rust-overlay": { @@ -381,6 +451,27 @@ "type": "github" } }, + "rust-overlay_2": { + "inputs": { + "nixpkgs": [ + "wezterm-flake", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1764470739, + "narHash": "sha256-sa9f81B1dWO16QtgDTWHX8DQbiHKzHndpaunY5EQtwE=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "3bfa664055e1a09c6aedab5533c5fc8d6ca5741a", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "sops-nix": { "inputs": { "nixpkgs": "nixpkgs_5" @@ -414,6 +505,21 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tnvim": { "inputs": { "nixpkgs": [ @@ -490,6 +596,52 @@ "repo": "flake-utils", "type": "github" } + }, + "wezterm-flake": { + "inputs": { + "flake-utils": "flake-utils", + "freetype2": "freetype2", + "harfbuzz": "harfbuzz", + "libpng": "libpng", + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": "rust-overlay_2", + "zlib": "zlib" + }, + "locked": { + "dir": "nix", + "lastModified": 1774954828, + "narHash": "sha256-F6qDnwdVlX/JJhM7XYkgU2QtBfN1EQ9UysP2xVKAA6I=", + "owner": "wez", + "repo": "wezterm", + "rev": "577474d89ee61aef4a48145cdec82a638d874751", + "type": "github" + }, + "original": { + "dir": "nix", + "owner": "wez", + "ref": "main", + "repo": "wezterm", + "type": "github" + } + }, + "zlib": { + "flake": false, + "locked": { + "lastModified": 1705948357, + "narHash": "sha256-TkPLWSN5QcPlL9D0kc/yhH0/puE9bFND24aj5NVDKYs=", + "owner": "madler", + "repo": "zlib", + "rev": "51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf", + "type": "github" + }, + "original": { + "owner": "madler", + "ref": "v1.3.1", + "repo": "zlib", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index fc4fc03..b788228 100644 --- a/flake.nix +++ b/flake.nix @@ -29,6 +29,11 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + wezterm-flake = { + url = "github:wez/wezterm/main?dir=nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + import-tree.url = "github:vic/import-tree"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.11-small"; diff --git a/modules/flake/overlays.nix b/modules/flake/overlays.nix index 0a25b85..5bc5ba4 100644 --- a/modules/flake/overlays.nix +++ b/modules/flake/overlays.nix @@ -1,6 +1,5 @@ { inputs, - withSystem, ... }: { @@ -9,6 +8,7 @@ tnvim = inputs.tnvim.packages.${prev.stdenv.hostPlatform.system}.default; tpanel = inputs.tpanel.packages.${prev.stdenv.hostPlatform.system}.default; ags = inputs.tpanel.packages.${prev.stdenv.hostPlatform.system}.ags.default; + wezterm-git = inputs.wezterm-flake.packages.${prev.stdenv.hostPlatform.system}.default; }; stable-packages = final: _prev: { diff --git a/modules/hm/desktop/wezterm.nix b/modules/hm/desktop/wezterm.nix new file mode 100644 index 0000000..4275b35 --- /dev/null +++ b/modules/hm/desktop/wezterm.nix @@ -0,0 +1,33 @@ +{ + flake.modules.homeManager.desktop = + { pkgs, ... }: + { + programs.wezterm = { + enable = true; + package = pkgs.wezterm-git; + enableZshIntegration = false; + + extraConfig = '' + local wezterm = require 'wezterm' + local config = {} + + config.check_for_updates = false + + config.window_close_confirmation = 'NeverPrompt' + config.color_scheme = 'Poimandres' + config.colors = { + background = "#0f0f0f" + } + config.enable_tab_bar = false + config.font = wezterm.font_with_fallback { + 'JetBrainsMono Nerd Font', + } + config.font_size = 12.0 + config.window_background_opacity = 1 + config.audible_bell = "Disabled" + + return config + ''; + }; + }; +} diff --git a/modules/nixos/core/substituters.nix b/modules/nixos/core/substituters.nix index ce3b620..104c1f0 100644 --- a/modules/nixos/core/substituters.nix +++ b/modules/nixos/core/substituters.nix @@ -12,6 +12,7 @@ "https://yazi.cachix.org" "https://nix-on-droid.cachix.org" "https://lan-mouse.cachix.org" + "https://wezterm.cachix.org" ]; trusted-substituters = [ "https://nix-on-droid.cachix.org" ]; trusted-public-keys = [ @@ -25,6 +26,7 @@ "yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k=" "nix-on-droid.cachix.org-1:56snoMJTXmDRC1Ei24CmKoUqvHJ9XCp+nidK7qkMQrU=" "lan-mouse.cachix.org-1:KlE2AEZUgkzNKM7BIzMQo8w9yJYqUpor1CAUNRY6OyM=" + "wezterm.cachix.org-1:kAbhjYUC9qvblTE+s7S+kl5XM1zVa4skO+E/1IDWdH0=" ]; }; };