create tb-shared.nixosModules.macos
This commit is contained in:
47
system/macos/fonts.nix
Normal file
47
system/macos/fonts.nix
Normal file
@@ -0,0 +1,47 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
# Font configuration for MacOS
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
# Core fonts
|
||||
dejavu_fonts
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-emoji
|
||||
liberation_ttf
|
||||
ubuntu_font_family
|
||||
ubuntu-sans
|
||||
ubuntu-classic
|
||||
ubuntu-sans-mono
|
||||
|
||||
fira
|
||||
fira-code
|
||||
fira-sans
|
||||
fira-mono
|
||||
inconsolata
|
||||
|
||||
nerd-fonts.fantasque-sans-mono
|
||||
nerd-fonts.hack
|
||||
nerd-fonts.meslo-lg
|
||||
|
||||
# Microsoft compatibility fonts
|
||||
corefonts
|
||||
vistafonts
|
||||
|
||||
# Good programming fonts
|
||||
jetbrains-mono
|
||||
source-sans
|
||||
source-sans-pro
|
||||
source-code-pro
|
||||
|
||||
# System fonts
|
||||
freefont_ttf
|
||||
|
||||
google-fonts
|
||||
terminus_font
|
||||
terminus_font_ttf
|
||||
roboto
|
||||
openmoji-color
|
||||
];
|
||||
};
|
||||
}
|
||||
102
system/macos/system.nix
Normal file
102
system/macos/system.nix
Normal file
@@ -0,0 +1,102 @@
|
||||
{ ... }:
|
||||
{
|
||||
system.defaults = {
|
||||
dock = {
|
||||
autohide = true; # Automatically hide and show the Dock
|
||||
autohide-delay = 0.0; # Remove the delay for showing the Dock
|
||||
autohide-time-modifier = 0.2; # Speed up the animation when hiding/showing the Dock
|
||||
magnification = false; # Disable magnification on hover
|
||||
mineffect = "scale"; # Set minimize animation to scale (faster than genie)
|
||||
minimize-to-application = true; # Minimize windows into application icon
|
||||
mru-spaces = false; # Don't automatically rearrange Spaces based on use
|
||||
orientation = "bottom"; # Position the Dock at the bottom
|
||||
show-process-indicators = true; # Show indicators for open applications
|
||||
show-recents = false; # Don't show recent applications in Dock
|
||||
showhidden = true; # Make hidden app icons translucent
|
||||
static-only = false; # Show both static and recent apps
|
||||
tilesize = 48; # Size of Dock icons
|
||||
};
|
||||
|
||||
finder = {
|
||||
AppleShowAllExtensions = true; # Always show file extensions
|
||||
AppleShowAllFiles = true; # Show hidden files
|
||||
FXDefaultSearchScope = "SCcf"; # Search current folder by default
|
||||
FXEnableExtensionChangeWarning = false; # Disable warning when changing file extension
|
||||
QuitMenuItem = true; # Allow quitting Finder via ⌘Q
|
||||
ShowPathbar = true; # Show path bar at bottom of Finder windows
|
||||
ShowStatusBar = true; # Show status bar at bottom of Finder windows
|
||||
_FXShowPosixPathInTitle = true; # Show full POSIX path in window title
|
||||
_FXSortFoldersFirst = true; # Keep folders on top when sorting
|
||||
};
|
||||
|
||||
NSGlobalDomain = {
|
||||
# Appearance
|
||||
AppleInterfaceStyle = "Dark"; # Use dark mode
|
||||
AppleInterfaceStyleSwitchesAutomatically = false; # Don't auto-switch appearance
|
||||
|
||||
# Keyboard settings
|
||||
AppleKeyboardUIMode = 3; # Full keyboard access for all controls
|
||||
ApplePressAndHoldEnabled = false; # Disable press-and-hold for keys (enable key repeat)
|
||||
KeyRepeat = 2; # Fast key repeat rates
|
||||
InitialKeyRepeat = 10; # Short delay until key repeat starts
|
||||
|
||||
# Text input settings
|
||||
NSAutomaticCapitalizationEnabled = false; # Disable automatic capitalization
|
||||
NSAutomaticDashSubstitutionEnabled = false; # Disable smart dashes
|
||||
NSAutomaticPeriodSubstitutionEnabled = false; # Disable automatic period substitution
|
||||
NSAutomaticQuoteSubstitutionEnabled = false; # Disable smart quotes
|
||||
NSAutomaticSpellingCorrectionEnabled = false; # Disable automatic spelling correction
|
||||
|
||||
# Save dialog settings
|
||||
NSDocumentSaveNewDocumentsToCloud = false; # Save to disk by default, not iCloud
|
||||
NSNavPanelExpandedStateForSaveMode = true; # Expand save panel by default
|
||||
NSNavPanelExpandedStateForSaveMode2 = true; # Expand save panel by default (alternate)
|
||||
|
||||
# Window and UI behavior
|
||||
AppleShowScrollBars = "Automatic"; # Show scroll bars automatically
|
||||
NSAutomaticWindowAnimationsEnabled = true; # Enable window animations
|
||||
NSScrollAnimationEnabled = true; # Enable smooth scrolling
|
||||
NSTableViewDefaultSizeMode = 2; # Set sidebar icon size to medium
|
||||
NSWindowResizeTime = 0.001; # Speed up window resize animations
|
||||
|
||||
# Other useful settings
|
||||
AppleMeasurementUnits = "Centimeters"; # Use metric units
|
||||
AppleMetricUnits = 1; # Enable metric units
|
||||
AppleShowAllFiles = true; # Show hidden files globally
|
||||
PMPrintingExpandedStateForPrint = true; # Expand print panel by default
|
||||
"com.apple.mouse.tapBehavior" = 1; # Enable tap to click for mouse
|
||||
"com.apple.swipescrolldirection" = false; # Natural scrolling direction
|
||||
};
|
||||
|
||||
# Trackpad settings
|
||||
trackpad = {
|
||||
Clicking = true; # Enable tap to click
|
||||
TrackpadThreeFingerDrag = true; # Enable three finger drag
|
||||
ActuationStrength = 0; # Silent clicking
|
||||
FirstClickThreshold = 1; # Light click pressure
|
||||
SecondClickThreshold = 1; # Light force touch pressure
|
||||
};
|
||||
|
||||
# Activity Monitor settings
|
||||
ActivityMonitor = {
|
||||
IconType = 5; # Show CPU usage in Dock icon
|
||||
OpenMainWindow = true; # Show main window on launch
|
||||
SortColumn = "CPUUsage"; # Sort by CPU usage
|
||||
SortDirection = 0; # Sort descending
|
||||
};
|
||||
};
|
||||
|
||||
# Keyboard settings
|
||||
system.keyboard = {
|
||||
enableKeyMapping = true; # Enable key remapping
|
||||
remapCapsLockToControl = true; # Remap Caps Lock to Control
|
||||
};
|
||||
|
||||
# Custom user preferences (these require logout/login to take effect)
|
||||
system.startup.chime = false; # Disable startup sound
|
||||
|
||||
system.activationScripts.postActivation.text = ''
|
||||
# Following line should allow us to avoid a logout/login cycle when changing settings
|
||||
sudo -u tbingmann /System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings -u
|
||||
'';
|
||||
}
|
||||
Reference in New Issue
Block a user