Nix MacOS configuration
This commit is contained in:
65
nix/darwin-configuration.nix
Normal file
65
nix/darwin-configuration.nix
Normal file
@@ -0,0 +1,65 @@
|
||||
{ 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;
|
||||
}
|
||||
Reference in New Issue
Block a user