dotfiles/nix/module/home-manager.nix
2024-08-29 09:22:04 +02:00

185 lines
4.1 KiB
Nix

{email}: {pkgs, ...}: {
home.file.".emacs.d/early-init.el".source = ../config/emacs/early-init.el;
home.file.".emacs.d/tree-sitter/libtree-sitter-swift.dylib".source = ../config/emacs/tree-sitter/libtree-sitter-swift.dylib;
home.file.".clojure/deps.edn".source = ../config/clojure/deps.edn;
home.language = {
base = "en_US.utf8";
numeric = "de_DE.utf8";
time = "de_DE.utf8";
measurement = "de_DE.utf8";
};
home.packages = with pkgs; [
bottom
babashka
cascadia-code
clj-kondo
cmake
coreutils
curl
fira-code
gnupg
htop
imagemagick
iosevka-comfy.comfy
iosevka-comfy.comfy-motion-duo
jq
kubectl
noto-fonts
nixd
pass
python312Packages.flake8
python312Packages.isort
python312Packages.rope
python312Packages.pyflakes
python312Packages.python-lsp-server
python312Packages.pyls-isort
python312Packages.python-lsp-black
python312Packages.pylsp-rope
ripgrep
tailscale
texliveMedium
tree
wget
];
home.stateVersion = "24.05";
home.sessionVariables = {
PAGER = "less";
CLICOLOR = 1;
EDITOR = "emacs";
LOGSEQ_DIR = "~/Logseq/Me/";
};
programs = {
direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
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
clj-refactor
clojure-mode
consult
corfu
diff-hl
dockerfile-mode
ef-themes
envrc
exec-path-from-shell
flycheck
flycheck-clj-kondo
flycheck-swiftlint
gptel
git-link
graphql-mode
helpful
htmlize
js2-mode
json-mode
ligature
lsp-mode
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
ox-reveal
pulsar
rainbow-delimiters
rainbow-mode
restclient
smartparens
so-long
swift-mode
(trivialBuild {
pname = "swift-ts-mode";
version = "main-07-05-2024";
src = pkgs.fetchFromGitHub {
owner = "rechsteiner";
repo = "swift-ts-mode";
rev = "5e198d306bd4d49e4dddab39195fe99e1caf8892";
hash = "sha256-c7AAFuaDbufMpzJtJ2PbRRXFJmo1y4L50T0idzxrvao=";
};
})
super-save
terraform-mode
treesit-auto
yaml-mode
vterm
fontaine
magit
magit-todos
marginalia
modus-themes
nix-mode
vertico
]);
package = pkgs.emacs29;
};
git = {
enable = true;
userName = "Tobias Ostner";
userEmail = email;
extraConfig = {
core.editor = "emacsclient -c -a ''";
init.defaultBranch = "main";
pull.rebase = true;
rebase.updateRefs = true;
};
};
kitty = {
enable = true;
extraConfig = ''
${builtins.readFile ../config/kitty/kitty.conf}
${builtins.readFile ../config/kitty/dracula.conf}
'';
};
starship = {
enable = true;
enableZshIntegration = true;
settings = {
gcloud.disabled = true;
aws.disabled = true;
hostname.style = "bold green";
};
};
zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
initExtra = builtins.readFile ../config/zsh/zshrc;
syntaxHighlighting.enable = true;
shellAliases = {
ls = "ls --color=auto -F";
emacs = "emacsclient -c -a ''";
};
};
};
xdg.configFile."aerospace/aerospace.toml".text = builtins.readFile ../config/aerospace/aerospace.toml;
}