feat: install apps using homebrew instead of nix

This commit is contained in:
Ryan Yin
2023-07-05 15:34:42 +08:00
parent e90d2eca1e
commit 4af3fa88dd
5 changed files with 81 additions and 26 deletions

View File

@@ -10,8 +10,6 @@ This repository is home to the nix code that builds my systems.
- [ ] Enable disk encryption to enhance data security
- [ ] `Xcursor.size` does not take effect in i3
- [ ] update macOS's config, refer to <https://github.com/dustinlyons/nixos-config/tree/main/darwin>
- Nix is not well supported on macOS, I met some strange bug recently, so I would like to migrate to nix-darwin's [homebrew](https://daiderd.com/nix-darwin/manual/index.html#opt-homebrew.enable) on macOS.
## Why Nix?

View File

@@ -5,27 +5,8 @@
#
# MacOS specific home configuration
#
# Install those apps using brew, instead of nix
# because they are not available in nixpkgs with the support of darwin
# ==> Brew Casks
# jdk-mission-control
# anki firefox wireshark
# iina openinterminal-lite
# insomnia orbstack
# clashx google-chrome
# google-cloud-sdk telegram
##########################################################################
home.packages = with pkgs; [
mpv
discord
];
# stable version of vscode
programs.vscode = {
enable = true;
};
programs.ssh = {
enable = true;

View File

@@ -9,5 +9,6 @@
{
imports = [
../../modules/darwin/core.nix
../../modules/darwin/apps.nix
];
}

78
modules/darwin/apps.nix Normal file
View File

@@ -0,0 +1,78 @@
{ pkgs, ...}: {
##########################################################################
#
# MacOS specific nix-darwin configuration
#
# Nix is not well supported on macOS, I met some strange bug recently.
# So install apps using [homebrew](https://daiderd.com/nix-darwin/manual/index.html#opt-homebrew.enable) here.
#
##########################################################################
system = {
defaults = {
dock = {
autohide = true;
};
finder = {
_FXShowPosixPathInTitle = false;
};
};
keyboard = {
enableKeyMapping = true;
remapCapsLockToControl = true;
};
};
homebrew = {
enable = true;
onActivation = {
autoUpdate = false;
# 'zap': uninstalls all formulae(and related files) not listed in the generated Brewfile
cleanup = "zap";
};
taps = [
"homebrew/cask"
"homebrew/cask-fonts"
"homebrew/services"
"homebrew/cask-versions"
"hashicorp/tap"
"pulumi/tap"
];
brews = [
# `brew install`
"httpie"
];
# `brew install --cask`
casks = [
"firefox"
"google-chrome"
"visual-studio-code"
"visual-studio-code-insiders"
"telegram"
"discord"
# "anki"
"clashx"
"iina"
"openinterminal-lite"
"syncthing"
"raycast"
"iglance"
"iterm2"
"insomnia"
"wireshark"
"jdk-mission-control"
"google-cloud-sdk"
];
};
}

View File

@@ -10,10 +10,11 @@
#
###################################################################################
# # enable flakes globally
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.settings.trusted-users = ["admin"];
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
@@ -30,10 +31,6 @@
# Add ability to used TouchID for sudo authentication
security.pam.enableSudoTouchIdAuth = true;
# Keyboard
system.keyboard.enableKeyMapping = true;
system.keyboard.remapCapsLockToEscape = true;
# Set your time zone.
time.timeZone = "Asia/Shanghai";