2022-09-18 15:49:37 +00:00
|
|
|
{ pkgs, lib, config, home-manager, nix-darwin, inputs, ... }: {
|
|
|
|
|
2022-10-01 06:58:37 +00:00
|
|
|
|
2022-09-18 15:49:37 +00:00
|
|
|
home.packages = with pkgs; [
|
2024-03-28 00:56:03 +00:00
|
|
|
((emacsPackagesFor emacs29).emacsWithPackages
|
2022-09-19 14:23:37 +00:00
|
|
|
(epkgs: with epkgs; [
|
|
|
|
vterm
|
|
|
|
pdf-tools
|
2023-06-27 15:17:24 +00:00
|
|
|
treesit-grammars.with-all-grammars
|
2024-03-26 17:26:13 +00:00
|
|
|
mu4e
|
2022-09-20 19:14:28 +00:00
|
|
|
pkgs.mu
|
2022-09-19 14:23:37 +00:00
|
|
|
]))
|
|
|
|
(aspellWithDicts
|
|
|
|
(dpkgs: with dpkgs; [
|
|
|
|
en
|
|
|
|
en-computers
|
|
|
|
en-science
|
2022-11-20 12:19:09 +00:00
|
|
|
nb
|
2022-09-18 15:49:37 +00:00
|
|
|
]))
|
2022-12-22 00:15:21 +00:00
|
|
|
(python3.withPackages
|
2022-10-01 06:58:37 +00:00
|
|
|
(python-packages: with python-packages; [
|
|
|
|
graphviz
|
2023-01-08 00:31:05 +00:00
|
|
|
hypothesis
|
|
|
|
matplotlib
|
|
|
|
numpy
|
|
|
|
pandas
|
2022-10-24 16:35:22 +00:00
|
|
|
pygments
|
2023-01-16 22:29:25 +00:00
|
|
|
python-lsp-server
|
2023-01-08 00:31:05 +00:00
|
|
|
scipy
|
2023-01-22 15:33:50 +00:00
|
|
|
scikit-learn
|
2023-01-08 00:31:05 +00:00
|
|
|
z3
|
2022-10-01 06:58:37 +00:00
|
|
|
]))
|
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
|
2022-10-21 12:14:37 +00:00
|
|
|
cbqn
|
2022-10-08 21:25:21 +00:00
|
|
|
cloc
|
2022-10-01 06:58:37 +00:00
|
|
|
clojure
|
2022-09-18 15:49:37 +00:00
|
|
|
fd
|
2022-09-19 14:06:07 +00:00
|
|
|
ffmpeg
|
2022-09-19 14:23:37 +00:00
|
|
|
fzf
|
2022-10-01 06:58:37 +00:00
|
|
|
go
|
2023-01-30 22:34:41 +00:00
|
|
|
gopls
|
2022-10-01 06:58:37 +00:00
|
|
|
graphviz
|
2022-09-19 14:23:37 +00:00
|
|
|
htop
|
2022-10-01 06:58:37 +00:00
|
|
|
inkscape
|
2023-01-24 22:16:06 +00:00
|
|
|
jdk
|
|
|
|
jq
|
2022-10-01 06:58:37 +00:00
|
|
|
leiningen
|
2024-03-28 00:56:03 +00:00
|
|
|
# maude-mac
|
2023-06-23 13:09:02 +00:00
|
|
|
minizinc
|
2024-03-28 01:15:42 +00:00
|
|
|
nil
|
2024-03-31 23:15:03 +00:00
|
|
|
nixfmt
|
2022-10-01 06:58:37 +00:00
|
|
|
pandoc
|
|
|
|
parallel
|
2023-01-22 15:33:50 +00:00
|
|
|
pdf2svg
|
2023-01-24 22:16:06 +00:00
|
|
|
poppler_utils
|
2022-09-18 15:49:37 +00:00
|
|
|
ripgrep
|
2023-05-30 11:33:53 +00:00
|
|
|
# rust-analyzer
|
2022-10-01 06:58:37 +00:00
|
|
|
rustup
|
2022-11-03 11:25:37 +00:00
|
|
|
shortcat
|
2023-01-24 22:16:06 +00:00
|
|
|
stack
|
2022-10-01 06:58:37 +00:00
|
|
|
texlive.combined.scheme-full
|
2022-09-18 15:49:37 +00:00
|
|
|
tree
|
|
|
|
wget
|
|
|
|
];
|
|
|
|
|
2022-09-19 14:23:37 +00:00
|
|
|
# Somehow related to: https://github.com/NixOS/nixpkgs/issues/1000
|
2022-09-18 15:49:37 +00:00
|
|
|
home.file.".aspell.conf".text = "data-dir ${pkgs.aspell}/lib/aspell";
|
|
|
|
|
2022-09-20 19:14:28 +00:00
|
|
|
accounts.email = {
|
|
|
|
accounts.uio = {
|
|
|
|
address = "larstvei@ifi.uio.no";
|
|
|
|
userName = "larstvei@ifi.uio.no";
|
|
|
|
realName = "Lars Tveito";
|
|
|
|
imap.host = "imap.uio.no";
|
|
|
|
smtp.host = "smtp.uio.no";
|
|
|
|
|
|
|
|
mbsync = {
|
|
|
|
enable = true;
|
|
|
|
create = "maildir";
|
|
|
|
# Because of Office 365, see: https://kdecherf.com/blog/2017/05/01/mbsync-and-office-365/
|
|
|
|
extraConfig.account.Timeout = 120;
|
|
|
|
extraConfig.account.PipelineDepth = 1;
|
|
|
|
};
|
|
|
|
|
|
|
|
msmtp.enable = true;
|
|
|
|
mu.enable = true;
|
|
|
|
|
|
|
|
primary = true;
|
|
|
|
passwordCommand = "security find-internet-password -s imap.uio.no -a larstvei -w";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-08-05 11:37:39 +00:00
|
|
|
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-18 19:33:50 +00:00
|
|
|
};
|
|
|
|
|
2022-09-19 14:23:37 +00:00
|
|
|
fish = {
|
|
|
|
enable = true;
|
2022-09-18 19:33:50 +00:00
|
|
|
|
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-18 20:57:44 +00:00
|
|
|
};
|
2022-09-19 14:23:37 +00:00
|
|
|
|
|
|
|
shellInit = ''
|
2023-01-22 15:33:50 +00:00
|
|
|
set PATH "$PATH:/usr/local/texlive/2022/bin/universal-darwin/"
|
2024-03-28 01:10:54 +00:00
|
|
|
|
2022-10-09 21:15:07 +00:00
|
|
|
if test "$TERM" != "dumb"
|
|
|
|
track_directories
|
|
|
|
end
|
2024-03-28 01:10:54 +00:00
|
|
|
|
|
|
|
set -gx DIRENV_LOG_FORMAT ""
|
|
|
|
direnv hook fish | source
|
2022-09-19 14:23:37 +00:00
|
|
|
'';
|
2022-09-18 20:57:44 +00:00
|
|
|
};
|
|
|
|
|
2022-09-19 14:23:37 +00:00
|
|
|
starship = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
2024-03-28 01:10:54 +00:00
|
|
|
custom = {
|
|
|
|
direnv = {
|
|
|
|
format = "[\\[direnv\\]]($style) ";
|
|
|
|
style = "fg:yellow dimmed";
|
|
|
|
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-03-22 19:28:58 +00:00
|
|
|
ignores = [ ".envrc" ".DS_Store" ];
|
2022-09-19 14:23:37 +00:00
|
|
|
};
|
|
|
|
|
2023-02-18 20:06:14 +00:00
|
|
|
direnv = {
|
|
|
|
enable = true;
|
|
|
|
nix-direnv.enable = true;
|
|
|
|
};
|
|
|
|
|
2022-09-20 19:14:28 +00:00
|
|
|
mu.enable = true;
|
|
|
|
msmtp.enable = true;
|
|
|
|
mbsync.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;
|
2022-09-18 15:49:37 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
# 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";
|
|
|
|
}
|