{ 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 emacs-lsp-booster eternal-terminal grc huniq hurl keybase keychain monolith nix-output-monitor nix-prefetch-scripts nil nixd nodePackages_latest.nodejs nurl pinentry_mac pnpm rm-improved rnr slack stylua tailspin tokei typst typst-live typstfmt unrar unzip upx vgrep wget 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 orjson sexpdata six setuptools paramiko rapidfuzz ])) ] ++ (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; jujutsu = { enable = true; settings = { user = { email = "mars@pupbrained.xyz"; name = "Mars"; }; }; }; git = { extraConfig.credential.helper = "osxkeychain"; signing.key = "874E22DF2F9DFCB5"; }; }; }