nix-config/modules/home.nix

163 lines
3.4 KiB
Nix
Raw Normal View History

2024-07-20 12:23:30 +00:00
{ pkgs, emacs-larstvei, ... }: {
home.packages = with pkgs; [
emacs-larstvei.defaultPackage.${pkgs.system}
2024-07-21 13:35:08 +00:00
(hunspellWithDicts [ hunspellDicts.nb_NO ])
(python3.withPackages
(python-packages: with python-packages; [
graphviz
2024-07-20 12:18:15 +00:00
html2text
2023-01-08 00:31:05 +00:00
hypothesis
matplotlib
numpy
2024-07-20 12:18:15 +00:00
openpyxl
2023-01-08 00:31:05 +00:00
pandas
2022-10-24 16:35:22 +00:00
pygments
2023-01-16 22:29:25 +00:00
python-lsp-server
scikit-learn
2024-07-20 12:18:15 +00:00
scipy
2024-07-03 14:03:08 +00:00
xlsxwriter
2024-07-20 12:18:15 +00:00
yattag
2023-01-08 00:31:05 +00:00
z3
]))
2023-03-29 21:30:21 +00:00
(haskell.packages.ghc96.ghcWithPackages
2023-01-24 22:16:06 +00:00
(ps: with ps; [
QuickCheck
]))
2022-09-19 09:38:12 +00:00
bat
2024-07-20 12:18:26 +00:00
babashka
2024-07-03 14:03:08 +00:00
# cargo
2022-10-21 12:14:37 +00:00
cbqn
2024-07-20 12:18:26 +00:00
clj-kondo
2022-10-08 21:25:21 +00:00
cloc
clojure
2024-04-27 23:41:06 +00:00
devenv
fd
2022-09-19 14:06:07 +00:00
ffmpeg
2022-09-19 14:23:37 +00:00
fzf
go
2023-01-30 22:34:41 +00:00
gopls
graphviz
2022-09-19 14:23:37 +00:00
htop
2024-07-06 12:52:03 +00:00
imagemagick
inkscape
2023-01-24 22:16:06 +00:00
jdk
jdt-language-server
2024-07-03 14:03:08 +00:00
jet
2023-01-24 22:16:06 +00:00
jq
leiningen
2023-06-23 13:09:02 +00:00
minizinc
2024-03-28 01:15:42 +00:00
nil
2024-07-20 12:18:26 +00:00
neil
2024-03-31 23:15:03 +00:00
nixfmt
pandoc
parallel
pdf2svg
2023-01-24 22:16:06 +00:00
poppler_utils
ripgrep
2023-05-30 11:33:53 +00:00
# rust-analyzer
rustup
2023-01-24 22:16:06 +00:00
stack
texlive.combined.scheme-full
tree
wget
];
2024-07-21 13:35:08 +00:00
home.file.".config/enchant/hunspell/".source = "${pkgs.hunspellDicts.nb_NO}/share/hunspell/";
home.file.karabiner = {
target = ".config/karabiner/assets/complex_modifications/df_escape.json";
text = builtins.toJSON {
title = "Simultaneously press f + d to escape";
rules = [{
description = "Simultaneously press f + d to escape";
manipulators = [
{
type = "basic";
from = {
simultaneous = [
{ key_code = "f"; }
{ key_code = "d"; }
];
};
to = [
{ key_code = "escape"; }
];
}
];
}];
};
};
2022-09-19 14:23:37 +00:00
programs = {
fzf = {
enable = true;
enableFishIntegration = true;
};
2022-09-19 14:23:37 +00:00
fish = {
enable = true;
2022-09-19 14:23:37 +00:00
functions = {
track_directories = {
description = "For directory tracking in emacs vterm";
onEvent = "fish_postexec";
body = "printf \'\\e]51;A\'(pwd)\'\\e\\\\\'";
};
};
2022-09-19 14:23:37 +00:00
shellInit = ''
if test "$TERM" != "dumb"
track_directories
end
set -gx DIRENV_LOG_FORMAT ""
direnv hook fish | source
2022-09-19 14:23:37 +00:00
'';
};
2022-09-19 14:23:37 +00:00
starship = {
enable = true;
settings = {
custom = {
direnv = {
format = "[\\[direnv\\]]($style) ";
when = "env | grep -E '^DIRENV_FILE='";
};
};
2022-09-19 14:23:37 +00:00
character = {
success_symbol = "[λ](bold green)";
error_symbol = "[λ](bold red)";
};
};
};
git = {
enable = true;
userName = "larstvei";
userEmail = "larstvei@ifi.uio.no";
2024-10-05 18:29:34 +00:00
ignores = [ ".envrc" ".DS_Store" ".direnv" ];
2022-09-19 14:23:37 +00:00
};
2023-02-18 20:06:14 +00:00
direnv = {
enable = true;
nix-direnv.enable = true;
};
2022-11-03 11:25:27 +00:00
# Sets JAVA_HOME environment variable
java.enable = true;
2022-09-19 14:23:37 +00:00
# Let Home Manager install and manage itself.
home-manager.enable = true;
};
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
# incompatible changes.
#
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "22.05";
}