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