mirror of
https://github.com/larstvei/nix-config.git
synced 2024-11-26 08:58:31 +00:00
70 lines
1.9 KiB
Nix
70 lines
1.9 KiB
Nix
|
{ pkgs, lib, config, home-manager, nix-darwin, inputs, ... }: {
|
||
|
|
||
|
# Can probably be removed when this is resolved:
|
||
|
# https://github.com/nix-community/home-manager/issues/1341
|
||
|
home.activation = {
|
||
|
copyApplications = let
|
||
|
apps = pkgs.buildEnv {
|
||
|
name = "home-manager-applications";
|
||
|
paths = config.home.packages;
|
||
|
pathsToLink = "/Applications";
|
||
|
};
|
||
|
in lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||
|
baseDir="$HOME/Applications/Home Manager Apps"
|
||
|
if [ -d "$baseDir" ]; then
|
||
|
rm -rf "$baseDir"
|
||
|
fi
|
||
|
mkdir -p "$baseDir"
|
||
|
for appFile in ${apps}/Applications/*; do
|
||
|
target="$baseDir/$(basename "$appFile")"
|
||
|
$DRY_RUN_CMD cp ''${VERBOSE_ARG:+-v} -fHRL "$appFile" "$baseDir"
|
||
|
$DRY_RUN_CMD chmod ''${VERBOSE_ARG:+-v} -R +w "$target"
|
||
|
done
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
home.packages = with pkgs; [
|
||
|
((emacsPackagesFor emacs-mac).emacsWithPackages
|
||
|
(epkgs: [
|
||
|
epkgs.vterm
|
||
|
epkgs.pdf-tools
|
||
|
]))
|
||
|
sqlite
|
||
|
htop
|
||
|
(aspellWithDicts (ds: with ds; [ en en-computers en-science ]))
|
||
|
fd
|
||
|
fzf
|
||
|
ripgrep
|
||
|
nixpkgs-fmt
|
||
|
tree
|
||
|
wget
|
||
|
];
|
||
|
|
||
|
home.file.".aspell.conf".text = "data-dir ${pkgs.aspell}/lib/aspell";
|
||
|
|
||
|
programs.fzf = {
|
||
|
enable = true;
|
||
|
enableFishIntegration = true;
|
||
|
};
|
||
|
|
||
|
programs.git = {
|
||
|
enable = true;
|
||
|
userName = "larstvei";
|
||
|
userEmail = "larstvei@ifi.uio.no";
|
||
|
ignores = [ ".dir-locals.el" ".envrc" ".DS_Store" ];
|
||
|
};
|
||
|
|
||
|
# 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";
|
||
|
|
||
|
# Let Home Manager install and manage itself.
|
||
|
programs.home-manager.enable = true;
|
||
|
}
|