Compare commits

..

No commits in common. "5aaff013dafc0b2872effa9f59868959352e206b" and "7e0fd0bac0f73aab1992a318c9facbe00405c05a" have entirely different histories.

28 changed files with 239 additions and 293 deletions

View File

@ -1,10 +1,85 @@
{ {
imports = [ lib,
./languages pkgs,
./tools emacs-larstvei,
]; ...
}:
let
concatAttrVals = attrSet: lib.concatMap (x: x) (lib.attrValues attrSet);
tools = import ./tools {
inherit pkgs;
inherit emacs-larstvei;
};
languages = import ./languages { inherit pkgs; };
in
{
home.packages = concatAttrVals languages ++ concatAttrVals tools;
programs.home-manager.enable = true; home.file.".config/enchant/hunspell/".source = "${pkgs.hunspellDicts.nb_NO}/share/hunspell/";
programs = {
fzf = {
enable = true;
enableFishIntegration = true;
};
fish = {
enable = true;
functions = {
track_directories = {
description = "For directory tracking in emacs vterm";
onEvent = "fish_postexec";
body = "printf \'\\e]51;A\'(pwd)\'\\e\\\\\'";
};
};
shellInit = ''
if test "$TERM" != "dumb"
track_directories
end
set -gx DIRENV_LOG_FORMAT ""
'';
};
starship = {
enable = true;
settings = {
custom = {
direnv = {
format = "[\\[direnv\\]]($style) ";
when = "env | grep -E '^DIRENV_FILE='";
};
};
character = {
success_symbol = "[λ](bold green)";
error_symbol = "[λ](bold red)";
};
};
};
git = {
enable = true;
userName = "larstvei";
userEmail = "larstvei@ifi.uio.no";
ignores = [
".envrc"
".DS_Store"
".direnv"
];
};
direnv = {
enable = true;
nix-direnv.enable = true;
};
# Sets JAVA_HOME environment variable
java.enable = true;
# Let Home Manager install and manage itself.
home-manager.enable = true;
};
# This value determines the Home Manager release that your # This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage # configuration is compatible with. This helps avoid breakage

View File

@ -1,9 +1,8 @@
{ pkgs, ... }: { pkgs }:
{ with pkgs;
fonts.packages = with pkgs; [ [
iosevka iosevka
source-code-pro source-code-pro
source-sans source-sans
source-serif source-serif
]; ]
}

View File

@ -1,6 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
cbqn
];
}

View File

@ -1,6 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
gcc
];
}

View File

@ -1,10 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
babashka
clj-kondo
clojure
leiningen
neil
];
}

View File

@ -1,18 +1,91 @@
{ pkgs, ... }:
with pkgs;
{ {
imports = [ bqn = [
./bqn cbqn
./c ];
./clojure
./go c = [ gcc ];
./haskell
./java clojure = [
./maude babashka
./minizinc clj-kondo
./nix clojure
./python leiningen
./rust neil
./scheme ];
./tex
./zig go = [
go
gopls
];
haskell = [
(haskell.packages.ghc96.ghcWithPackages (
ps: with ps; [
QuickCheck
]
))
cabal-install
stack
];
java = [
jdk
jdt-language-server
];
maude = [
maude
];
minizinc = [
minizinc
];
nix = [
nil
nixfmt-rfc-style
];
python = [
(python3.withPackages (
python-packages: with python-packages; [
graphviz
html2text
hypothesis
matplotlib
numpy
openpyxl
pandas
pygments
python-lsp-server
scikit-learn
scipy
xlsxwriter
yattag
z3
]
))
];
rust = [
cargo
rustc
rustfmt
rust-analyzer
];
scheme = [
gambit
];
tex = [
texliveFull
];
zig = [
zig
zls
]; ];
} }

View File

@ -1,7 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
go
gopls
];
}

View File

@ -1,12 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
(haskell.packages.ghc96.ghcWithPackages (
ps: with ps; [
QuickCheck
]
))
cabal-install
stack
];
}

View File

@ -1,10 +0,0 @@
{ pkgs, ... }:
{
# Sets JAVA_HOME environment variable
programs.java.enable = true;
home.packages = with pkgs; [
jdk
jdt-language-server
];
}

View File

@ -1,6 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
maude
];
}

View File

@ -1,6 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
minizinc
];
}

View File

@ -1,7 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
nil
nixfmt-rfc-style
];
}

View File

@ -1,23 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
(python3.withPackages (
python-packages: with python-packages; [
graphviz
html2text
hypothesis
matplotlib
numpy
openpyxl
pandas
pygments
python-lsp-server
scikit-learn
scipy
xlsxwriter
yattag
z3
]
))
];
}

View File

@ -1,9 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
cargo
rustc
rustfmt
rust-analyzer
];
}

View File

@ -1,6 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
gambit
];
}

View File

@ -1,6 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
texliveFull
];
}

View File

@ -1,7 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
zig
zls
];
}

View File

@ -1,6 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
zotero
];
}

View File

@ -1,12 +1,64 @@
{ pkgs, emacs-larstvei, ... }:
let
# Ghostscript has a name collision with gambit (scheme). Let's nuke the
# offending binary, as gsc most likely unused on my system.
ghostscriptNoGsc = pkgs.symlinkJoin {
name = "ghostscript-no-gsc";
paths = [ pkgs.ghostscript ];
postBuild = ''
rm -f $out/bin/gsc
'';
};
in
with pkgs;
{ {
imports = [
./academic editor = [
./editor emacs-larstvei.defaultPackage.${pkgs.system}
./git ];
./learning
./multimedia spelling = [
./shell hunspell
./spelling hunspellDicts.en_US
./utils hunspellDicts.nb_NO
];
# terminal = [
# ghostty
# ];
modernReplacements = [
bat
fd
ripgrep
];
utils = [
gnumake
jet
jq
pandoc
parallel
tokei
wget
];
multimedia = [
dot2tex
ffmpeg
ghostscriptNoGsc
graphviz
imagemagick
inkscape
pdf2svg
poppler_utils
];
academic = [
zotero
];
learning = [
exercism
]; ];
} }

View File

@ -1,6 +0,0 @@
{ pkgs, emacs-larstvei, ... }:
{
home.packages = [
emacs-larstvei.defaultPackage.${pkgs.system}
];
}

View File

@ -1,12 +0,0 @@
{
programs.git = {
enable = true;
userName = "larstvei";
userEmail = "larstvei@ifi.uio.no";
ignores = [
".envrc"
".DS_Store"
".direnv"
];
};
}

View File

@ -1,6 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
exercism
];
}

View File

@ -1,24 +0,0 @@
{ pkgs, ... }:
let
# Ghostscript has a name collision with gambit (scheme). Let's nuke the
# offending binary, as gsc most likely unused on my system.
ghostscriptNoGsc = pkgs.symlinkJoin {
name = "ghostscript-no-gsc";
paths = [ pkgs.ghostscript ];
postBuild = ''
rm -f $out/bin/gsc
'';
};
in
{
home.packages = with pkgs; [
dot2tex
ffmpeg
ghostscriptNoGsc
graphviz
imagemagick
inkscape
pdf2svg
poppler_utils
];
}

View File

@ -1,48 +0,0 @@
{
programs = {
fish = {
enable = true;
functions = {
track_directories = {
description = "For directory tracking in emacs vterm";
onEvent = "fish_postexec";
body = "printf \'\\e]51;A\'(pwd)\'\\e\\\\\'";
};
};
shellInit = ''
if test "$TERM" != "dumb"
track_directories
end
set -gx DIRENV_LOG_FORMAT ""
'';
};
fzf = {
enable = true;
enableFishIntegration = true;
};
direnv = {
enable = true;
nix-direnv.enable = true;
};
starship = {
enable = true;
settings = {
custom = {
direnv = {
format = "[\\[direnv\\]]($style) ";
when = "test -n \"$DIRENV_FILE\"";
};
};
character = {
success_symbol = "[λ](bold green)";
error_symbol = "[λ](bold red)";
};
};
};
};
}

View File

@ -1,10 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
hunspell
hunspellDicts.en_US
hunspellDicts.nb_NO
];
home.file.".config/enchant/hunspell/".source = "${pkgs.hunspellDicts.nb_NO}/share/hunspell/";
}

View File

@ -1,15 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
bat
fd
gnumake
jet
jq
pandoc
parallel
ripgrep
tokei
wget
];
}

View File

@ -1,9 +1,7 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
imports = [ fonts.packages = import ../../home/fonts { inherit pkgs; };
../../home/fonts
];
nix.linux-builder.enable = true; nix.linux-builder.enable = true;

View File

@ -1,11 +1,8 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
imports = [
../../home/fonts
];
fonts = { fonts = {
packages = import ../../home/fonts { inherit pkgs; };
fontconfig = { fontconfig = {
enable = true; enable = true;
defaultFonts = { defaultFonts = {