From ec27fd37b6d26448dbfb7d0177694018e97a8341 Mon Sep 17 00:00:00 2001 From: yousiki Date: Fri, 9 Feb 2024 17:28:39 +0800 Subject: [PATCH] Add darwinProfiles.applications --- flake.nix | 1 + src/darwinConfigurations/sakamoto/default.nix | 7 +- src/darwinProfiles/applications.nix | 130 ++++++++++++++++++ 3 files changed, 135 insertions(+), 3 deletions(-) create mode 100644 src/darwinProfiles/applications.nix diff --git a/flake.nix b/flake.nix index 368b749..739e503 100644 --- a/flake.nix +++ b/flake.nix @@ -63,6 +63,7 @@ (src) commonProfiles darwinConfigurations + darwinProfiles nixosConfigurations nixosProfiles ; diff --git a/src/darwinConfigurations/sakamoto/default.nix b/src/darwinConfigurations/sakamoto/default.nix index 2793581..26f6837 100644 --- a/src/darwinConfigurations/sakamoto/default.nix +++ b/src/darwinConfigurations/sakamoto/default.nix @@ -1,12 +1,13 @@ # Configuration for sakamoto, which is an intel MacbookPro. {globals, ...}: let - darwinModules = [ + darwinModules = with globals.outputs; [ # Host-specific modules ./_configuration.nix # Host specific profiles - globals.outputs.commonProfiles.nix - globals.outputs.commonProfiles.packages + commonProfiles.nix + commonProfiles.packages + darwinProfiles.applications ]; in globals.inputs.darwin.lib.darwinSystem { diff --git a/src/darwinProfiles/applications.nix b/src/darwinProfiles/applications.nix new file mode 100644 index 0000000..589f766 --- /dev/null +++ b/src/darwinProfiles/applications.nix @@ -0,0 +1,130 @@ +{globals, ...}: { + config, + lib, + pkgs, + ... +}: +with builtins // lib; { + homebrew.enable = true; + + # Upgrade and uninstall homebrew casks automatically. + homebrew.onActivation.autoUpdate = true; + homebrew.onActivation.upgrade = true; + # homebrew.onActivation.cleanup = "uninstall"; + + # Set environment variables. + environment.variables = { + HOMEBREW_API_DOMAIN = "https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api"; + HOMEBREW_BOTTLE_DOMAIN = "https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles"; + HOMEBREW_BREW_GIT_REMOTE = "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"; + HOMEBREW_CORE_GIT_REMOTE = "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git"; + HOMEBREW_PIP_INDEX_URL = "https://pypi.tuna.tsinghua.edu.cn/simple"; + }; + + # Add taps. + homebrew.taps = [ + "buo/cask-upgrade" + { + name = "homebrew/cask-fonts"; + clone_target = "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask-fonts.git"; + } + { + name = "homebrew/cask-versions"; + clone_target = "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask-versions.git"; + } + { + name = "homebrew/command-not-found"; + clone_target = "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-command-not-found.git"; + } + { + name = "homebrew/services"; + clone_target = "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-services.git"; + } + ]; + + # Add casks. + homebrew.casks = [ + "1password" + "adobe-creative-cloud" + "adrive" + "alt-tab" + "altserver" + "applite" + "arc" + "baidunetdisk" + "balenaetcher" + "bilibili" + "brave-browser" + "cloudflare-warp" + "cyberduck" + "discord" + "element" + "feishu" + "firefox" + "font-caskaydia-cove-nerd-font" + "font-fira-code-nerd-font" + "font-jetbrains-mono-nerd-font" + "font-lxgw-bright" + "font-lxgw-wenkai" + "font-monaspace" + "github" + "google-chrome" + "google-drive" + "handbrake" + "hiddenbar" + "iina" + "itsycal" + "jetbrains-toolbox" + "keepingyouawake" + "keka" + "kitty" + "logitech-options" + "maccy" + "microsoft-auto-update" + "microsoft-office" + "microsoft-remote-desktop" + "miniconda" + "monitorcontrol" + "mos" + "motrix" + "mounty" + "neovide" + "neteasemusic" + "obs" + "obsidian" + "onyx" + "orbstack" + "plex" + "poe" + "qfinder-pro" + "qq" + "qsync-client" + "qudedup-extract-tool" + "raycast" + "rectangle" + "sioyek" + "spotify" + "squirrel" + "stats" + "steam" + "tailscale" + "tencent-meeting" + "transmission" + "visual-studio-code" + "warp" + "wechat" + "wezterm" + "xpra" + "xquartz" + "zed" + "zotero" + ]; + + environment.systemPath = + if pkgs.system == "aarch64-darwin" + then [ + "/opt/homebrew/bin" + "/opt/homebrew/sbin" + ] + else []; +}