86 lines
1.6 KiB
Nix
86 lines
1.6 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
users.users.michael = {
|
|
home = "/Users/michael";
|
|
shell = pkgs.zsh;
|
|
};
|
|
|
|
networking = {
|
|
computerName = "neptune";
|
|
hostName = "neptune";
|
|
};
|
|
|
|
environment = {
|
|
shells = with pkgs; [zsh];
|
|
variables = {
|
|
EDITOR = "nvim";
|
|
VISUAL = "nvim";
|
|
};
|
|
systemPackages = with pkgs; [
|
|
# Containers
|
|
colima
|
|
unstable.docker-client
|
|
unstable.docker-compose
|
|
# Video
|
|
ffmpeg
|
|
# Spotify
|
|
unstable.spicetify-cli
|
|
# Java
|
|
checkstyle
|
|
# XCode
|
|
cocoapods
|
|
# Android Development
|
|
android-tools
|
|
];
|
|
};
|
|
|
|
programs = {
|
|
zsh = {
|
|
enable = true;
|
|
# Make zsh installation work properly with macOS path
|
|
loginShellInit = ''
|
|
if [ -x /usr/libexec/path_helper ]; then
|
|
eval `/usr/libexec/path_helper -s`
|
|
fi
|
|
'';
|
|
enableGlobalCompInit = false;
|
|
};
|
|
};
|
|
|
|
security.pam.enableSudoTouchIdAuth = true;
|
|
|
|
services = {
|
|
nix-daemon.enable = true;
|
|
};
|
|
|
|
nixpkgs = {
|
|
# Workaround for pyopenssl being marked broken
|
|
config.allowBroken = true;
|
|
};
|
|
|
|
nix = {
|
|
package = pkgs.nix;
|
|
gc = {
|
|
automatic = true;
|
|
interval.Day = 7;
|
|
options = "--delete-older-than 7d";
|
|
};
|
|
extraOptions = ''
|
|
experimental-features = nix-command flakes
|
|
'';
|
|
settings = {
|
|
auto-optimise-store = false;
|
|
trusted-users = ["root" "michael"];
|
|
};
|
|
};
|
|
|
|
system = {
|
|
# Since it's not possible to declare default shell, run this command after build
|
|
activationScripts.postActivation.text = ''sudo chsh -s ${pkgs.zsh}/bin/zsh'';
|
|
stateVersion = 4;
|
|
};
|
|
}
|