- 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
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { config, pkgs, lib, home-manager, ... }:
 | |
| 
 | |
| let
 | |
|   user = "anishlakhwara";
 | |
|   # Define the content of your file as a derivation
 | |
|   myEmacsLauncher = pkgs.writeScript "emacs-launcher.command" ''
 | |
|     #!/bin/sh
 | |
|       emacsclient -c -n &
 | |
|   '';
 | |
|   sharedFiles = import ../shared/files.nix { inherit config pkgs; };
 | |
|   additionalFiles = import ./files.nix { inherit user config pkgs; };
 | |
| in
 | |
| {
 | |
|   imports = [
 | |
|    ./dock
 | |
|   ];
 | |
| 
 | |
|   # It me
 | |
|   users.users.${user} = {
 | |
|     name = "${user}";
 | |
|     home = "/Users/${user}";
 | |
|     isHidden = false;
 | |
|     shell = pkgs.zsh;
 | |
|   };
 | |
| 
 | |
|   # Enable home-manager
 | |
|   home-manager = {
 | |
|     useGlobalPkgs = true;
 | |
|     users.${user} = { pkgs, config, lib, ... }:{
 | |
|       home = {
 | |
|         enableNixpkgsReleaseCheck = false;
 | |
|         packages = pkgs.callPackage ./packages.nix {};
 | |
|         file = lib.mkMerge [
 | |
|           sharedFiles
 | |
|           additionalFiles
 | |
|           { "emacs-launcher.command".source = myEmacsLauncher; }
 | |
|         ];
 | |
| 
 | |
|         stateVersion = "23.11";
 | |
|       };
 | |
| 
 | |
|       programs = {} // import ../shared/home-manager.nix { inherit config pkgs lib; };
 | |
| 
 | |
|       # Marked broken Oct 20, 2022 check later to remove this
 | |
|       # https://github.com/nix-community/home-manager/issues/3344
 | |
|       manual.manpages.enable = false;
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   # Fully declarative dock using the latest from Nix Store
 | |
|   local = {
 | |
|     dock.enable = true;
 | |
|     dock.entries = [
 | |
|       { path = "/Applications/Slack.app/"; }
 | |
|       { path = "/System/Applications/Messages.app/"; }
 | |
|       { path = "/System/Applications/Facetime.app/"; }
 | |
|       { path = "/Applications/Telegram.app/"; }
 | |
|       { path = "${pkgs.alacritty}/Applications/Alacritty.app/"; }
 | |
|       { path = "/System/Applications/Music.app/"; }
 | |
|       { path = "/System/Applications/News.app/"; }
 | |
|       { path = "/System/Applications/Photos.app/"; }
 | |
|       { path = "/System/Applications/Photo Booth.app/"; }
 | |
|       { path = "/System/Applications/TV.app/"; }
 | |
|       { path = "${pkgs.jetbrains.phpstorm}/Applications/PhpStorm.app/"; }
 | |
|       { path = "/Applications/TablePlus.app/"; }
 | |
|       { path = "/Applications/Asana.app/"; }
 | |
|       { path = "/Applications/Drafts.app/"; }
 | |
|       { path = "/System/Applications/Home.app/"; }
 | |
|       {
 | |
|         path = toString myEmacsLauncher;
 | |
|         section = "others";
 | |
|       }
 | |
|       {
 | |
|         path = "${config.users.users.${user}.home}/.local/share/";
 | |
|         section = "others";
 | |
|         options = "--sort name --view grid --display folder";
 | |
|       }
 | |
|       {
 | |
|         path = "${config.users.users.${user}.home}/.local/share/downloads";
 | |
|         section = "others";
 | |
|         options = "--sort name --view grid --display stack";
 | |
|       }
 | |
|     ];
 | |
|   };
 | |
| }
 |