dotfiles/darwin/configuration.nix

79 lines
2.0 KiB
Nix
Raw Normal View History

{ config, pkgs, ... }:
{
2021-03-07 23:20:11 -05:00
imports = [ <home-manager/nix-darwin> ./homebrew.nix ];
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
2021-10-25 20:20:12 -04:00
environment.systemPackages = with pkgs; [
elixir
emacsMacport
exercism
go
niv
rustup
];
# Use a custom configuration.nix location.
# $ darwin-rebuild switch -I darwin-config=$HOME/.config/nixpkgs/darwin/configuration.nix
# environment.darwinConfig = "$HOME/.config/nixpkgs/darwin/configuration.nix";
# Auto upgrade nix package and the daemon service.
services.nix-daemon.enable = true;
nix.package = pkgs.nix;
2021-03-17 20:31:32 -04:00
nix.distributedBuilds = true;
nix.buildMachines = [{
hostName = "plato";
systems = [ "x86_64-linux" "aarch64-linux" ];
maxJobs = 12;
speedFactor = 2;
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
}];
2021-05-02 16:30:21 -04:00
# Binary Cache for Haskell.nix
nix.binaryCachePublicKeys =
[ "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" ];
nix.binaryCaches = [ "https://hydra.iohk.io" ];
# Create /etc/bashrc that loads the nix-darwin environment.
programs = {
zsh = {
enable = true;
promptInit = "";
};
};
# programs.fish.enable = true;
2021-03-07 23:16:49 -05:00
users.nix.configureBuildUsers = true;
users.users.walkah = {
home = "/Users/walkah";
shell = pkgs.zsh;
};
home-manager.users.walkah = import ../home.nix;
services.lorri.enable = true;
system = {
defaults = {
dock = {
autohide = true;
orientation = "left";
};
};
};
2021-05-02 16:29:01 -04:00
system.activationScripts.applications.text = pkgs.lib.mkForce (''
rm -rf /Applications/Nix
mkdir -p /Applications/Nix
for app in $(find ${config.system.build.applications}/Applications -maxdepth 1 -type l); do
src="$(/usr/bin/stat -f%Y "$app")"
cp -r "$src" /Applications/Nix
done
'');
# Used for backwards compatibility, please read the changelog before changing.
# $ darwin-rebuild changelog
system.stateVersion = 4;
}