Add a few macOS software

This commit is contained in:
Yan Lin 2025-08-16 21:52:07 +09:00
parent 61205c381d
commit ad3c49cb5f
2 changed files with 36 additions and 0 deletions

View file

@ -59,9 +59,12 @@
./modules/btop.nix
./modules/firefox.nix
./modules/ghostty.nix
./modules/syncthing.nix
./config/fonts.nix
];
nixpkgs.config.allowUnfree = true;
home.username = "yanlin";
home.homeDirectory = "/Users/yanlin";
home.stateVersion = "24.05";
@ -85,6 +88,10 @@
zoxide
delta
maccy
appcleaner
iina
keepassxc
syncthing
];
programs.home-manager.enable = true;

29
modules/syncthing.nix Normal file
View file

@ -0,0 +1,29 @@
{ config, pkgs, lib, ... }:
{
# Enable Syncthing service
services.syncthing = {
enable = true;
# Don't enable tray on macOS as it requires additional setup
tray.enable = false;
};
# Copy existing Syncthing configuration to preserve device ID and settings
home.activation.syncthingConfig = lib.hm.dag.entryAfter ["writeBoundary"] ''
# Create syncthing config directory if it doesn't exist
mkdir -p "$HOME/.config/syncthing"
# Copy configuration from macOS location if not already present
if [ ! -e "$HOME/.config/syncthing/config.xml" ]; then
echo "Migrating Syncthing configuration from macOS location..."
if [ -d "$HOME/Library/Application Support/Syncthing" ]; then
cp -r "$HOME/Library/Application Support/Syncthing/"* "$HOME/.config/syncthing/"
echo "Syncthing configuration migrated successfully!"
else
echo "Warning: No existing Syncthing configuration found to migrate"
fi
else
echo "Syncthing configuration already exists at ~/.config/syncthing"
fi
'';
}