Files
nixos-config/modules/darwin/default.nix
2025-08-16 12:29:48 +00:00

93 lines
2.0 KiB
Nix

{
config,
constants,
nixvim,
pkgs,
user,
sops-nix,
...
}: let
setWallpaperScript = import ./libs/wallpaper.nix {inherit pkgs;};
in {
imports = [
../core.nix
../tailscale.nix
../syncthing.nix
./dock
./homebrew.nix
./system.nix
sops-nix.darwinModules.sops
];
system = {
primaryUser = user;
stateVersion = constants.stateVersions.darwin;
};
nix = {
settings.trusted-users = ["@admin" "${user}"];
gc.interval = {
Weekday = 0;
Hour = 2;
Minute = 0;
};
};
users.users.${user} = {
name = "${user}";
home = "/Users/${user}";
isHidden = false;
shell = pkgs.fish;
};
home-manager = {
useGlobalPkgs = true;
users.${user} = {
pkgs,
config,
lib,
...
}: {
_module.args = {inherit user;};
imports = [
nixvim.homeModules.nixvim
../home-manager
../home-manager/darwin
];
fonts.fontconfig.enable = true;
home = {
packages =
pkgs.callPackage ../packages.nix {}
++ pkgs.callPackage ./packages.nix {};
stateVersion = constants.stateVersions.homeManager;
activation = {
"setWallpaper" = lib.hm.dag.entryAfter ["revealHomeLibraryDirectory"] ''
echo "[+] Setting wallpaper"
${setWallpaperScript}/bin/set-wallpaper-script
'';
};
};
};
};
local = {
dock = {
enable = true;
username = user;
entries = [
{path = "/Applications/Safari.app/";}
{path = "/${pkgs.ghostty-bin}/Applications/Ghostty.app/";}
{path = "/System/Applications/Notes.app/";}
{path = "/System/Applications/Music.app/";}
{path = "/System/Applications/System Settings.app/";}
{
path = "${config.users.users.${user}.home}/Downloads";
section = "others";
options = "--sort name --view grid --display stack";
}
];
};
};
}