dotfiles/nix/system/worktop/darwin-configuration.nix

81 lines
2.1 KiB
Nix

{ config, pkgs, ... }:
{
nixpkgs.config.allowUnfree = true;
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages =
[
pkgs.git-lfs
pkgs.vim
pkgs.iterm2
pkgs.obsidian
pkgs.syncthing
pkgs.slack
pkgs._1password
pkgs.tailscale
# wishlist
# LICEcap
# keycastr
# todo (unsupported on aarch64-darwin):
# pkgs.spotify
# pkgs.firefox
# pkgs.google-chrome
];
services.tailscale.enable = true;
# 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;
# Create /etc/bashrc that loads the nix-darwin environment.
programs.zsh.enable = true; # default shell on catalina
# programs.fish.enable = true;
# We need this snippet to allow spotlight to find the applications installed
# by nix-darwin
system.activationScripts.applications.text = pkgs.lib.mkForce (
''
rm -rf ~/Applications/Nix\ Apps
mkdir -p ~/Applications/Nix\ Apps
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\ Apps
done
''
);
launchd.user.agents.syncthing = {
path = [ pkgs.syncthing ];
command = "syncthing serve";
serviceConfig = {
ProcessType = "Background";
KeepAlive = true;
};
};
system.keyboard = {
enableKeyMapping = true;
remapCapsLockToEscape = true;
};
system.defaults = {
finder.AppleShowAllExtensions = true;
dock = {
autohide = true;
mru-spaces = false;
showhidden = true;
};
};
# Used for backwards compatibility, please read the changelog before changing.
# $ darwin-rebuild changelog
system.stateVersion = 4;
}