From 913d8761134e300e64449bebecef51a767f3f760 Mon Sep 17 00:00:00 2001 From: Yan Lin Date: Thu, 28 Aug 2025 17:34:35 +0200 Subject: [PATCH] Separate package list --- config/packages-common.nix | 33 +++++++++++++++++++++++++++++++++ config/packages-macos.nix | 14 ++++++++++++++ flake.nix | 28 ++-------------------------- 3 files changed, 49 insertions(+), 26 deletions(-) create mode 100644 config/packages-common.nix create mode 100644 config/packages-macos.nix diff --git a/config/packages-common.nix b/config/packages-common.nix new file mode 100644 index 0000000..8866927 --- /dev/null +++ b/config/packages-common.nix @@ -0,0 +1,33 @@ +{ pkgs, ... }: + +{ + home.packages = with pkgs; [ + # Development and build tools + texlive.combined.scheme-full + python312 + uv + gnumake + + # Network and file transfer + lftp + termscp + httpie + openssh + rsync + + # Database and data tools + lazysql + sqlite + papis + + # Command-line utilities + ncdu + git-credential-oauth + zoxide + delta + + # Cross-platform applications + keepassxc # Password manager (Linux/Windows/macOS) + syncthing # File synchronization (cross-platform) + ]; +} diff --git a/config/packages-macos.nix b/config/packages-macos.nix new file mode 100644 index 0000000..d87cb39 --- /dev/null +++ b/config/packages-macos.nix @@ -0,0 +1,14 @@ +{ pkgs, claude-code, ... }: + +{ + home.packages = with pkgs; [ + # macOS-specific GUI applications + maccy # Clipboard manager (macOS-only) + appcleaner # Application uninstaller (macOS-only) + iina # Media player (macOS-optimized) + hidden-bar # Menu bar organizer (macOS-only) + + # Tools + claude-code.packages.aarch64-darwin.claude-code + ]; +} diff --git a/flake.nix b/flake.nix index 4869d9a..ed9e6e1 100644 --- a/flake.nix +++ b/flake.nix @@ -63,6 +63,8 @@ ./modules/ghostty.nix ./modules/syncthing.nix ./config/fonts.nix + ./config/packages-common.nix + ./config/packages-macos.nix ]; nixpkgs.config.allowUnfree = true; @@ -71,32 +73,6 @@ home.homeDirectory = "/Users/yanlin"; home.stateVersion = "24.05"; - home.packages = with pkgs; [ - texlive.combined.scheme-full - python312 - uv - lftp - termscp - httpie - lazysql - sqlite - openssh - papis - claude-code.packages.aarch64-darwin.claude-code - ncdu - git-credential-oauth - rsync - gnumake - zoxide - delta - maccy - appcleaner - iina - keepassxc - syncthing - hidden-bar - ]; - programs.home-manager.enable = true;