238 lines
5.6 KiB
Nix
238 lines
5.6 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.".emacs.d/snippets".source = ../config/emacs/snippets;
|
|
|
|
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
|
|
cloc
|
|
cmake
|
|
coreutils
|
|
curl
|
|
fira-code
|
|
gnupg
|
|
htop
|
|
imagemagick
|
|
iosevka-comfy.comfy
|
|
iosevka-comfy.comfy-motion-duo
|
|
jq
|
|
kubectl
|
|
nixpkgs-fmt
|
|
nodejs
|
|
nodePackages.typescript-language-server
|
|
nodePackages.vscode-json-languageserver
|
|
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
|
|
tree
|
|
wget
|
|
];
|
|
|
|
home.stateVersion = "24.11";
|
|
|
|
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
|
|
apheleia
|
|
avy
|
|
cape
|
|
cider
|
|
clj-refactor
|
|
clojure-mode
|
|
(trivialBuild {
|
|
pname = "Combobulate";
|
|
version = "master-09-26-2024";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "mickeynp";
|
|
repo = "combobulate";
|
|
rev = "416b9e2225100c44c36e05e4adcfc2ee4048cefa";
|
|
hash = "sha256-UPoWwJPe2Ctm4XV+dt82rS0HatjQ1WSpewF/z64DNe4=";
|
|
};
|
|
})
|
|
consult
|
|
(trivialBuild {
|
|
pname = "copilot";
|
|
version = "master-09-25-2024";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "copilot-emacs";
|
|
repo = "copilot.el";
|
|
rev = "b5878d6a8c741138b5efbf4fe1c594f3fd69dbdd";
|
|
hash = "sha256-02ywlMPku1FIritZjjtxbQW6MmPvSwmRCrudYsUb8bU=";
|
|
};
|
|
packageRequires = [
|
|
editorconfig
|
|
dash
|
|
f
|
|
jsonrpc
|
|
];
|
|
})
|
|
corfu
|
|
diff-hl
|
|
dockerfile-mode
|
|
ef-themes
|
|
envrc
|
|
exec-path-from-shell
|
|
flycheck
|
|
flycheck-clj-kondo
|
|
flycheck-swiftlint
|
|
(trivialBuild {
|
|
pname = "gptel";
|
|
version = "master-09-29-2024";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "karthink";
|
|
repo = "gptel";
|
|
rev = "2b9398a7b3bb2a66f52a8d0b1fdc3f311b2c1a3d";
|
|
hash = "sha256-+CxSA9QmyKigbk8kB5N6kKZ/a5Tw0X4ym57AOoqYA4Y=";
|
|
};
|
|
})
|
|
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
|
|
yasnippet
|
|
]);
|
|
package = pkgs.emacs29;
|
|
};
|
|
|
|
fzf = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
};
|
|
|
|
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";
|
|
};
|
|
};
|
|
|
|
zoxide = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
};
|
|
|
|
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;
|
|
}
|