dotfiles/nix/module/home-manager.nix
2024-05-12 21:09:21 +02:00

148 lines
2.9 KiB
Nix

{pkgs, ...}: {
home.file.".emacs.d/early-init.el".source = ../config/emacs/early-init.el;
home.packages = with pkgs; [
bottom
cmake
curl
gnupg
jq
kubectl
pass
ripgrep
rnix-lsp
tree
wget
];
home.stateVersion = "23.11";
home.sessionVariables = {
PAGER = "less";
CLICOLOR = 1;
EDITOR = "emacs";
LOGSEQ_DIR = "~/Logseq/Me/";
};
programs = {
alacritty = {
enable = true;
settings.font = {
size = 14;
normal.family = "Iosevka Comfy";
normal.style = "Regular";
};
settings.window = {
padding.x = 18;
padding.y = 18;
decorations = "Buttonless";
};
};
emacs = {
enable = true;
extraConfig = builtins.readFile ../config/emacs/init.el +
builtins.readFile ../config/emacs/lisp/utils.el;
extraPackages = epkgs: (with epkgs; [
ace-window
avy
cape
cider
clojure-mode
consult
corfu
diff-hl
dired-preview
dockerfile-mode
ef-themes
exec-path-from-shell
flycheck
flycheck-clj-kondo
flycheck-swiftlint
gptel
git-link
graphql-mode
helpful
js2-mode
json-mode
ligature
minions
multiple-cursors
nerd-icons
nerd-icons-completion
nerd-icons-corfu
nerd-icons-dired
nerd-icons-ibuffer
ob-restclient
ob-swift
olivetti
orderless
org
org-modern
ox-gfm
pulsar
rainbow-delimiters
rainbow-mode
restclient
smartparens
so-long
swift-mode
super-save
terraform-mode
yaml-mode
vterm
fontaine
magit
magit-todos
marginalia
modus-themes
nix-mode
vertico
]);
package = pkgs.emacs29;
};
git = {
enable = true;
userName = "Tobias Ostner";
userEmail = "tobias.ostner@gmail.com";
extraConfig = {
init.defaultBranch = "main";
pull.rebase = true;
};
};
kitty = {
enable = true;
font = {
size = 14;
name = "Iosevka Comfy";
};
extraConfig = builtins.readFile ../config/kitty/kitty.conf;
};
starship = {
enable = true;
enableZshIntegration = true;
settings = {
gcloud.disabled = true;
aws.disabled = true;
hostname.style = "bold green";
};
};
zsh = {
enable = true;
enableCompletion = true;
initExtra = ''
eval "$(/opt/homebrew/bin/brew shellenv)"
'';
syntaxHighlighting.enable = true;
shellAliases = {
ls = "ls --color=auto -F";
};
};
};
xdg.configFile."amethyst/amethyst.yml".text = builtins.readFile ../config/amethyst/amethyst.yml;
}