{ pkgs, inputs, ... }: { imports = with inputs; [ nix-index-database.hmModules.nix-index catppuccin.homeManagerModules.catppuccin chaotic.homeManagerModules.default nix-colors.homeManagerModules.default ]; snowfallorg.user = { enable = true; name = "marshall"; }; home = { packages = with pkgs; [ alejandra bit cargo-edit cargo-udeps cmake duf eternal-terminal grc huniq hurl igrep keybase keychain monolith nix-output-monitor nix-prefetch-scripts nixd nodePackages_latest.nodejs nurl pinentry_mac pkg-config pnpm rm-improved rnr slack stylua tailspin tokei typst typst-live typstfmt unrar unzip upx vgrep wget xcp xh ] ++ (with inputs; [nixvim.packages.${pkgs.system}.default]); stateVersion = "24.05"; }; programs = { bacon.enable = true; btop.enable = true; bun.enable = true; gpg.enable = true; skim.enable = false; tealdeer.enable = false; wezterm.extraConfig = builtins.readFile ./wezterm.lua; emacs.package = with pkgs; emacs29-pgtk.overrideAttrs (old: { patches = (old.patches or []) ++ [ # Fix OS window role (needed for window managers like yabai) (fetchpatch { url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/fix-window-role.patch"; sha256 = "0c41rgpi19vr9ai740g09lka3nkjk48ppqyqdnncjrkfgvm2710z"; }) # Use poll instead of select to get file descriptors (fetchpatch { url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-29/poll.patch"; sha256 = "0j26n6yma4n5wh4klikza6bjnzrmz6zihgcsdx36pn3vbfnaqbh5"; }) # Enable rounded window with no decoration (fetchpatch { url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-29/round-undecorated-frame.patch"; sha256 = "0x187xvjakm2730d1wcqbz2sny07238mabh5d97fah4qal7zhlbl"; }) # Make Emacs aware of OS-level light/dark mode (fetchpatch { url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/system-appearance.patch"; sha256 = "14ndp2fqqc95s70fwhpxq58y8qqj4gzvvffp77snm2xk76c1bvnn"; }) ]; }); git = { extraConfig.credential.helper = "osxkeychain"; signing.key = "874E22DF2F9DFCB5"; }; }; }