- Added darwin and jovian inputs - Added platform-specific package configurations - Added darwinConfigurations and deck nixosConfiguration - Copied darwin and deck specific files - Fixed darwin version compatibility Some configurations still need debugging
		
			
				
	
	
		
			155 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			155 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { self, pkgs, config, ... }:
 | |
| 
 | |
| {
 | |
|   imports = [
 | |
|     ./sketchybar
 | |
|     ./yabai
 | |
|     # ./casks
 | |
|     # ../../modules/darwin/home-manager.nix
 | |
|     # ../../modules/shared
 | |
|     # ../../modules/shared/cachix
 | |
|   ];
 | |
| 
 | |
|   environment.systemPackages = [ 
 | |
|     pkgs.go
 | |
|     pkgs.python3
 | |
|     pkgs.cargo
 | |
|     pkgs.k9s
 | |
|     pkgs.kubernetes-helm
 | |
|     pkgs.shellcheck
 | |
|   ];
 | |
| 
 | |
|   age.identityPaths = [ "/Users/anishlakhwara/.ssh/id_ed25519" ];
 | |
|   age.secrets.work-wg.file = "${self}/secrets/work-wg.age";
 | |
|   age.secrets.work-wg.owner = "anishlakhwara";
 | |
|   networking.wg-quick.interfaces = {
 | |
|     wg0 = {
 | |
|       address = [ "10.0.69.7/24" ];
 | |
|       listenPort = 60990; # to match firewall allowedUDPPorts (without this wg uses random port numbers)
 | |
|       privateKeyFile = config.age.secrets.work-wg.path;
 | |
|       dns = [ "10.0.69.4" ];
 | |
|       postDown = ''
 | |
|         sudo /usr/sbin/networksetup -setdnsservers Wi-Fi "Empty"
 | |
|       '';
 | |
|       peers = [
 | |
|         # For a client configuration, one peer entry for the server will suffice.
 | |
|         {
 | |
|           publicKey = "c1J4p63rD3IlszugMZiki7UBV3YmDdqa3DU4UejXzAI=";
 | |
|           allowedIPs = [ "10.0.69.0/24" ];
 | |
|           # Set this to the server IP and port.
 | |
|           endpoint = "sealight.xyz:60990"; # ToDo: route to endpoint not automatically configured https://wiki.archlinux.org/index.php/WireGuard#Loop_routing https://discourse.nixos.org/t/solved-minimal-firewall-setup-for-wireguard-client/7577
 | |
|           persistentKeepalive = 25;
 | |
|         }
 | |
|       ];
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   # Auto upgrade nix package and the daemon service.
 | |
|   services.nix-daemon.enable = true;
 | |
|   nixpkgs.hostPlatform = "aarch64-darwin";
 | |
|   programs.zsh.enable = true;
 | |
| 
 | |
|   # Setup user, packages, programs
 | |
|   nix = {
 | |
|     # package = pkgs.nixUnstable;
 | |
|     settings.trusted-users = [ "@admin" "anishlakhwara" ];
 | |
| 
 | |
|     gc = {
 | |
|       user = "root";
 | |
|       automatic = true;
 | |
|       interval = { Weekday = 0; Hour = 2; Minute = 0; };
 | |
|       options = "--delete-older-than 30d";
 | |
|     };
 | |
| 
 | |
|     # Turn this on to make command line easier
 | |
|     extraOptions = ''
 | |
|       experimental-features = nix-command flakes
 | |
|     '';
 | |
|   };
 | |
| 
 | |
|   # Turn off NIX_PATH warnings now that we're using flakes
 | |
|   system.checks.verifyNixPath = false;
 | |
| 
 | |
|   # Load configuration that is shared across systems
 | |
|   # environment.systemPackages = with pkgs; [
 | |
|   # 
 | |
|   # ] ++ (import ../../modules/shared/packages.nix { inherit pkgs; });
 | |
| 
 | |
|   # Enable fonts dir
 | |
|   # fonts.fontDir.enable = true;
 | |
|   fonts.packages = with pkgs; [
 | |
|     fira-code
 | |
|     fira-code-symbols
 | |
|     hermit
 | |
|     #hack
 | |
|     siji
 | |
|     font-awesome
 | |
|     proggyfonts
 | |
|     (nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "Iosevka" ]; })
 | |
|   ];
 | |
| 
 | |
|   system = {
 | |
|     stateVersion = 4;
 | |
| 
 | |
|     keyboard = {
 | |
|       enableKeyMapping = true;
 | |
|     };
 | |
| 
 | |
|     defaults = {
 | |
|       LaunchServices = {
 | |
|         LSQuarantine = false;
 | |
|       };
 | |
| 
 | |
|       NSGlobalDomain = {
 | |
|         AppleShowAllExtensions = true;
 | |
|         ApplePressAndHoldEnabled = false;
 | |
| 
 | |
|         # 120, 90, 60, 30, 12, 6, 2
 | |
|         KeyRepeat = 2;
 | |
| 
 | |
|         # 120, 94, 68, 35, 25, 15
 | |
|         InitialKeyRepeat = 15;
 | |
| 
 | |
|         "com.apple.mouse.tapBehavior" = 1;
 | |
|         "com.apple.sound.beep.volume" = 0.0;
 | |
|         "com.apple.sound.beep.feedback" = 0;
 | |
|       };
 | |
| 
 | |
|       loginwindow = {
 | |
|         # disable guest account
 | |
|         GuestEnabled = false;
 | |
|         # show name instead of username
 | |
|         SHOWFULLNAME = false;
 | |
|       };
 | |
| 
 | |
|       dock = {
 | |
|         autohide = true;
 | |
|         autohide-delay = 0.0;
 | |
|         autohide-time-modifier = 1.0;
 | |
|         static-only = false;
 | |
|         showhidden = false;
 | |
|         show-recents = false;
 | |
|         launchanim = true;
 | |
|         mouse-over-hilite-stack = true;
 | |
|         orientation = "bottom";
 | |
|         tilesize = 48;
 | |
|         mru-spaces = false;
 | |
|       };
 | |
| 
 | |
|       finder = {
 | |
|         _FXShowPosixPathInTitle = false;
 | |
|       };
 | |
| 
 | |
|       trackpad = {
 | |
|         Clicking = false;
 | |
|         TrackpadThreeFingerDrag = true;
 | |
|       };
 | |
|     };
 | |
| 
 | |
|     # keyboard = {
 | |
|     #   enableKeyMapping = true;
 | |
|     #   remapCapsLockToControl = true;
 | |
|     # };
 | |
|   };
 | |
| }
 |