diff --git a/_sources/generated.json b/_sources/generated.json index 9b79711..257518a 100644 --- a/_sources/generated.json +++ b/_sources/generated.json @@ -19,6 +19,21 @@ }, "version": "ec991b80ba7d4dda7a962167b036efc5c2d79419" }, + "fix-window-role": { + "cargoLocks": null, + "date": null, + "extract": null, + "name": "fix-window-role", + "passthru": null, + "pinned": false, + "src": { + "name": null, + "sha256": "sha256-H4Qj6n5uZsmsbdjjexGZctqhJk3gAXKiSnmnEO/LgTA=", + "type": "url", + "url": "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/fix-window-role.patch" + }, + "version": "latest" + }, "git-abbr": { "cargoLocks": null, "date": "2023-06-19", @@ -79,6 +94,21 @@ }, "version": "0155b16f102957ec0c734a90979245dc1073f979" }, + "poll": { + "cargoLocks": null, + "date": null, + "extract": null, + "name": "poll", + "passthru": null, + "pinned": false, + "src": { + "name": null, + "sha256": "sha256-Weh2+C5v2ORYO8JFYzntpPmJyGseFqArByZwLpX2CCU=", + "type": "url", + "url": "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-30/poll.patch" + }, + "version": "latest" + }, "replay-fish": { "cargoLocks": null, "date": "2024-07-01", @@ -99,6 +129,36 @@ }, "version": "d2ecacd3fe7126e822ce8918389f3ad93b14c86c" }, + "round-undecorated-frame": { + "cargoLocks": null, + "date": null, + "extract": null, + "name": "round-undecorated-frame", + "passthru": null, + "pinned": false, + "src": { + "name": null, + "sha256": "sha256-dFH4D1WYQOVOagUuVdEQB3irxV+Y8dDAOKJOJXc/KHQ=", + "type": "url", + "url": "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-30/round-undecorated-frame.patch" + }, + "version": "latest" + }, + "system-appearance": { + "cargoLocks": null, + "date": null, + "extract": null, + "name": "system-appearance", + "passthru": null, + "pinned": false, + "src": { + "name": null, + "sha256": "sha256-nrPOgGQAJb/5brrrWJNDARY2jWNJ9OsMtO+LPVhHfbY=", + "type": "url", + "url": "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-30/system-appearance.patch" + }, + "version": "latest" + }, "wttr": { "cargoLocks": null, "date": "2016-05-23", diff --git a/_sources/generated.nix b/_sources/generated.nix index 7ab5cb6..5a66199 100644 --- a/_sources/generated.nix +++ b/_sources/generated.nix @@ -1,6 +1,8 @@ # This file was generated by nvfetcher, please do not modify it manually. -{ fetchgit, fetchurl, fetchFromGitHub, dockerTools }: { + fetchurl, + fetchFromGitHub, +}: { bang-bang = { pname = "bang-bang"; version = "ec991b80ba7d4dda7a962167b036efc5c2d79419"; @@ -13,6 +15,14 @@ }; date = "2023-07-23"; }; + fix-window-role = { + pname = "fix-window-role"; + version = "latest"; + src = fetchurl { + url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/fix-window-role.patch"; + sha256 = "sha256-H4Qj6n5uZsmsbdjjexGZctqhJk3gAXKiSnmnEO/LgTA="; + }; + }; git-abbr = { pname = "git-abbr"; version = "dc590a5b9d9d2095f95f7d90608b48e55bea0b0e"; @@ -49,6 +59,14 @@ }; date = "2018-10-22"; }; + poll = { + pname = "poll"; + version = "latest"; + src = fetchurl { + url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-30/poll.patch"; + sha256 = "sha256-Weh2+C5v2ORYO8JFYzntpPmJyGseFqArByZwLpX2CCU="; + }; + }; replay-fish = { pname = "replay-fish"; version = "d2ecacd3fe7126e822ce8918389f3ad93b14c86c"; @@ -61,6 +79,22 @@ }; date = "2024-07-01"; }; + round-undecorated-frame = { + pname = "round-undecorated-frame"; + version = "latest"; + src = fetchurl { + url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-30/round-undecorated-frame.patch"; + sha256 = "sha256-dFH4D1WYQOVOagUuVdEQB3irxV+Y8dDAOKJOJXc/KHQ="; + }; + }; + system-appearance = { + pname = "system-appearance"; + version = "latest"; + src = fetchurl { + url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-30/system-appearance.patch"; + sha256 = "sha256-nrPOgGQAJb/5brrrWJNDARY2jWNJ9OsMtO+LPVhHfbY="; + }; + }; wttr = { pname = "wttr"; version = "7500e382e6b29a463edc57598217ce0cfaf8c90c"; diff --git a/flake.in.nix b/flake.in.nix index 79a9c61..71b9e8a 100644 --- a/flake.in.nix +++ b/flake.in.nix @@ -94,7 +94,7 @@ alejandra git lua-language-server - nvfetcher + #nvfetcher statix (writeScriptBin "build" "nix fmt && ${snowfallorg.flake}/bin/flake switch") diff --git a/flake.lock b/flake.lock index 62f9eef..3b3162c 100644 --- a/flake.lock +++ b/flake.lock @@ -93,11 +93,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1729599319, - "narHash": "sha256-e/4JPcIRte5zkwqmGFrFo3763e0iHURX6N0apz4jbI0=", + "lastModified": 1730295330, + "narHash": "sha256-FDh9s6P9hCMcqAqaOhTThy8DgoBz7LhM+BXB4Cd1OEA=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "1b86b304c8eb1437d9337a760e7f930826fc4d6d", + "rev": "13eccbadb02c31fc69dd3cb5a560258cc3ca164d", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1729992957, - "narHash": "sha256-0jULWsdTdHaV6rQe/aY3sqzydswd00IOgjdxkEQEva8=", + "lastModified": 1730252199, + "narHash": "sha256-Rby/q7Ui77XHWZKNe0fPNVp5s3/mH1Fjh+2WzD9xkeg=", "owner": "lilyinstarlight", "repo": "nixos-cosmic", - "rev": "5ec4c2f99d7ac9c51b209989492657d426a9fdcc", + "rev": "ad9d5f38364a7810112486ee39a84e8b0cc8d754", "type": "github" }, "original": { @@ -178,11 +178,11 @@ ] }, "locked": { - "lastModified": 1729982130, - "narHash": "sha256-HmLLQbX07rYD0RXPxbf3kJtUo66XvEIX9Y+N5QHQ9aY=", + "lastModified": 1730184279, + "narHash": "sha256-6OB+WWR6gnaWiqSS28aMJypKeK7Pjc2Wm6L0MtOrTuA=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "2eb472230a5400c81d9008014888b4bff23bcf44", + "rev": "b379bd4d872d159e5189053ce9a4adf86d56db4b", "type": "github" }, "original": { @@ -896,11 +896,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1730054738, - "narHash": "sha256-6ep48rTU19hX84dF3MxJJZ4g+Xh8MswTcZYFf12t7Mg=", + "lastModified": 1730282458, + "narHash": "sha256-J7DTSBuWRtcWy8ivmj8fXl5ovQLCH3t+Y6o+EQkRk5U=", "ref": "refs/heads/main", - "rev": "5d4b54b01286c10d4b6bf402a772b5938b054ce6", - "revCount": 5383, + "rev": "5f721dce36651232ae245d872c17dfa3aae5cc6c", + "revCount": 5391, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -928,11 +928,11 @@ ] }, "locked": { - "lastModified": 1729596320, - "narHash": "sha256-sBPr6O2Ad916f+L7biAjmJVx4TLDITC4joKgeOT47V8=", + "lastModified": 1730125534, + "narHash": "sha256-qa2NrX6R98otWuSd7PjS591HDqxcnK+hDziBm5s+cTo=", "owner": "hyprwm", "repo": "hyprland-plugins", - "rev": "4d7f0b5d8b952f31f7d2e29af22ab0a55ca5c219", + "rev": "81bda675eedd83d16d471a83f1168f7acdb03c24", "type": "github" }, "original": { @@ -1254,11 +1254,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1729691686, - "narHash": "sha256-BAuPWW+9fa1moZTU+jFh+1cUtmsuF8asgzFwejM4wac=", + "lastModified": 1730137625, + "narHash": "sha256-9z8oOgFZiaguj+bbi3k4QhAD6JabWrnv7fscC/mt0KE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "32e940c7c420600ef0d1ef396dc63b04ee9cad37", + "rev": "64b80bfb316b57cdb8919a9110ef63393d74382a", "type": "github" }, "original": { @@ -1379,9 +1379,10 @@ }, "nixpkgs_15": { "locked": { - "lastModified": 0, + "lastModified": 1729880355, "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", "path": "/nix/store/wb6agba4kfsxpbnb5hzlq58vkjzvbsk6-source", + "rev": "18536bf04cd71abd345f9579158841376fdd0c5a", "type": "path" }, "original": { @@ -1405,9 +1406,10 @@ }, "nixpkgs_17": { "locked": { - "lastModified": 0, + "lastModified": 1729880355, "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", "path": "/nix/store/wb6agba4kfsxpbnb5hzlq58vkjzvbsk6-source", + "rev": "18536bf04cd71abd345f9579158841376fdd0c5a", "type": "path" }, "original": { @@ -1433,11 +1435,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1729413321, - "narHash": "sha256-I4tuhRpZFa6Fu6dcH9Dlo5LlH17peT79vx1y1SpeKt0=", + "lastModified": 1729880355, + "narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1997e4aa514312c1af7e2bda7fad1644e778ff26", + "rev": "18536bf04cd71abd345f9579158841376fdd0c5a", "type": "github" }, "original": { @@ -1719,11 +1721,11 @@ ] }, "locked": { - "lastModified": 1729909612, - "narHash": "sha256-eXqxxbOagphPfjPptSlv0pQONB3fH15CQ4G8uCu1BW4=", + "lastModified": 1730169013, + "narHash": "sha256-rvgF03ODu1uEYbdEsloN4fQrJ+k1NOv/7MJvCpHHnBk=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "17cadbc36da05e75197d082decb382a5f4208e30", + "rev": "92eb1268cc19609f2fe24311b871f37bf3dc5afd", "type": "github" }, "original": { @@ -2029,11 +2031,11 @@ "nixpkgs": "nixpkgs_13" }, "locked": { - "lastModified": 1730025913, - "narHash": "sha256-Y9NtFmP8ciLyRsopcCx1tyoaaStKeq+EndwtGCgww7I=", + "lastModified": 1730120726, + "narHash": "sha256-LqHYIxMrl/1p3/kvm2ir925tZ8DkI0KA10djk8wecSk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "bae131e525cc8718da22fbeb8d8c7c43c4ea502a", + "rev": "9ef337e492a5555d8e17a51c911ff1f02635be15", "type": "github" }, "original": { @@ -2146,11 +2148,11 @@ "nixpkgs": "nixpkgs_18" }, "locked": { - "lastModified": 1729387354, - "narHash": "sha256-8XBETtCoMPBWu5JGxR45a1JVKsSICYKZ7nNAk/l1bF0=", + "lastModified": 1730078377, + "narHash": "sha256-OJL1P1rLD+O6BgITFJC/oapu6o+twvDsY6gBDmGR5nw=", "owner": "fufexan", "repo": "zen-browser-flake", - "rev": "94fa2a852b261fe733bd3d1d70f452625370761b", + "rev": "6c22931e60beb805276a9eb31701047e6cb6afb2", "type": "github" }, "original": { diff --git a/homes/aarch64-darwin/marshall@canis/default.nix b/homes/aarch64-darwin/marshall@canis/default.nix index 228367a..43803ac 100644 --- a/homes/aarch64-darwin/marshall@canis/default.nix +++ b/homes/aarch64-darwin/marshall@canis/default.nix @@ -24,6 +24,7 @@ cargo-udeps cmake duf + emacs-lsp-booster eternal-terminal grc huniq @@ -34,6 +35,7 @@ nix-output-monitor nix-prefetch-scripts nil + nixd nodePackages_latest.nodejs nurl pinentry_mac @@ -55,6 +57,25 @@ xcp xh + (emacs30-pgtk.overrideAttrs (old: let + sources = import ../../../_sources/generated.nix {inherit (pkgs) fetchurl fetchFromGitHub;}; + + getPatch = name: sources.${name}.src; + in { + patches = + (old.patches or []) + ++ [ + # Fix OS window role (needed for window managers like yabai) + (getPatch "fix-window-role") + # Use poll instead of select to get file descriptors + (getPatch "poll") + # Enable rounded window with no decoration + (getPatch "round-undecorated-frame") + # Make Emacs aware of OS-level light/dark mode + (getPatch "system-appearance") + ]; + })) + (python312.withPackages (pkgs: with pkgs; [ epc diff --git a/homes/aarch64-darwin/marshall@canis/wezterm.lua b/homes/aarch64-darwin/marshall@canis/wezterm.lua index 460012b..c96993a 100644 --- a/homes/aarch64-darwin/marshall@canis/wezterm.lua +++ b/homes/aarch64-darwin/marshall@canis/wezterm.lua @@ -115,7 +115,7 @@ local config = { cursor_blink_rate = 500, default_cursor_style = 'BlinkingBar', enable_scroll_bar = false, - font = wezterm.font('Maple Mono NF'), + font = wezterm.font('PragmataPro Mono Liga'), font_size = 14, front_end = 'WebGpu', hide_tab_bar_if_only_one_tab = true, diff --git a/homes/x86_64-linux/marshall@navis/default.nix b/homes/x86_64-linux/marshall@navis/default.nix index ca13052..5d394cf 100644 --- a/homes/x86_64-linux/marshall@navis/default.nix +++ b/homes/x86_64-linux/marshall@navis/default.nix @@ -3,9 +3,7 @@ pkgs, inputs, ... -}: let - sources = import ../../../_sources/generated.nix {inherit (pkgs) fetchFromGitHub;}; -in { +}: { imports = with inputs; [ catppuccin.homeManagerModules.catppuccin chaotic.homeManagerModules.default diff --git a/modules/home/shell/fish.nix b/modules/home/shell/fish.nix index 932d2ab..487bc50 100644 --- a/modules/home/shell/fish.nix +++ b/modules/home/shell/fish.nix @@ -7,7 +7,7 @@ with pkgs; { name = sources.pname; }; - sources = import ../../../_sources/generated.nix {inherit (pkgs) fetchFromGitHub;}; + sources = import ../../../_sources/generated.nix {inherit (pkgs) fetchurl fetchFromGitHub;}; extraPlugins = lib.attrsets.mapAttrsToList (_: value: mkFishPlugin value) sources; @@ -36,6 +36,7 @@ with pkgs; { macchina end + bind --erase \ct fish_add_path /opt/homebrew/bin fish_add_path /Users/marshall/.nix-profile/bin ''; diff --git a/nvfetcher.toml b/nvfetcher.toml index 168b9c6..deaf4db 100644 --- a/nvfetcher.toml +++ b/nvfetcher.toml @@ -21,3 +21,19 @@ fetch.github = "oh-my-fish/plugin-gityaw" [bang-bang] src.git = "https://github.com/oh-my-fish/plugin-bang-bang" fetch.github = "oh-my-fish/plugin-bang-bang" + +[fix-window-role] +src.manual = "latest" +fetch.url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/fix-window-role.patch" + +[poll] +src.manual = "latest" +fetch.url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-30/poll.patch" + +[round-undecorated-frame] +src.manual = "latest" +fetch.url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-30/round-undecorated-frame.patch" + +[system-appearance] +src.manual = "latest" +fetch.url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-30/system-appearance.patch" diff --git a/systems/aarch64-darwin/canis/default.nix b/systems/aarch64-darwin/canis/default.nix index 211a1eb..2b4a511 100644 --- a/systems/aarch64-darwin/canis/default.nix +++ b/systems/aarch64-darwin/canis/default.nix @@ -7,7 +7,6 @@ environment.variables.FLAKE = "/Users/marshall/nix-config"; fonts.packages = with pkgs; ([ - etBook font-awesome inter maple-mono @@ -78,10 +77,12 @@ nixpkgs.config.allowUnfree = true; - programs.fish.enable = true; - programs.gnupg.agent = { - enable = true; - enableSSHSupport = true; + programs = { + fish.enable = true; + gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; }; security.pam.enableSudoTouchIdAuth = true;