nix-config/homes/aarch64-darwin/marshall@canis/default.nix
2024-10-30 11:59:39 -04:00

120 lines
2.5 KiB
Nix

{
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";
};
};
}