Files
dotfiles/nix/darwin-configuration.nix
2022-01-06 16:52:30 -08:00

66 lines
1.6 KiB
Nix

{ config, pkgs, ... }: let
# Mach-nix is a toolkit for constructing custom Python environments
mach-nix = import (builtins.fetchGit {
url = "https://github.com/DavHau/mach-nix/";
ref = "refs/tags/3.3.0";
}) {
pkgs = pkgs;
};
xonsh_pyenv = mach-nix.mkPython {
requirements = ''
xontrib-fzf-widgets
xonsh-direnv
'';
};
xonsh_with_plugins = pkgs.xonsh.overrideAttrs (old: {
propagatedBuildInputs = old.propagatedBuildInputs ++ xonsh_pyenv.python.pkgs.selectPkgs xonsh_pyenv.python.pkgs;
});
in
{
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages = with pkgs;
[
xonsh_with_plugins
zoxide
fd
fzf
ncdu
ripgrep
kitty
git
lorri
direnv
];
# Lorri user agent
# from https://github.com/target/lorri/issues/96#issuecomment-579931485
launchd.user.agents = {
"lorri" = {
serviceConfig = {
WorkingDirectory = (builtins.getEnv "HOME");
EnvironmentVariables = { };
KeepAlive = true;
RunAtLoad = true;
StandardOutPath = "/var/tmp/lorri.log";
StandardErrorPath = "/var/tmp/lorri.log";
};
script = ''
source ${config.system.build.setEnvironment}
exec ${pkgs.lorri}/bin/lorri daemon
'';
};
};
# Auto upgrade nix package and the daemon service.
services.nix-daemon.enable = true;
nix.package = pkgs.nix;
# Used for backwards compatibility, please read the changelog before changing.
# $ darwin-rebuild changelog
system.stateVersion = 4;
}