Add generate-motd script
This commit is contained in:
		
							parent
							
								
									093f1a2099
								
							
						
					
					
						commit
						f13bb11642
					
				
					 2 changed files with 67 additions and 0 deletions
				
			
		
							
								
								
									
										21
									
								
								LaunchAgents/eryn.dotfiles.generate-motd.plist
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								LaunchAgents/eryn.dotfiles.generate-motd.plist
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,21 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
|   <dict> | ||||
|     <key>Label</key> | ||||
|     <string>eryn.dotfiles.generate-motd</string> | ||||
|     <key>ProgramArguments</key> | ||||
|     <array> | ||||
|         <string>zsh</string> | ||||
|         <string>-c</string> | ||||
|         <string>~/bin/generate-motd</string> | ||||
|     </array> | ||||
|     <key>EnvironmentVariables</key> | ||||
|     <dict> | ||||
|       <key>PATH</key> | ||||
|       <string>/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/homebrew/bin</string> | ||||
|     </dict> | ||||
|     <key>RunOnDemand</key> | ||||
|     <true/> | ||||
|   </dict> | ||||
| </plist> | ||||
							
								
								
									
										46
									
								
								bin/generate-motd
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										46
									
								
								bin/generate-motd
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,46 @@ | |||
| #!/bin/zsh | ||||
| # Eryn Wells <eryn@erynwells.me> | ||||
| 
 | ||||
| MOTD_FILE=/etc/motd | ||||
| 
 | ||||
| binary_exists() { | ||||
|     hash $1 1>/dev/null 2>&1 | ||||
|     return $? | ||||
| } | ||||
| 
 | ||||
| if [[ ! -w "$MOTD_FILE" ]]; then | ||||
|     echo "$MOTD_FILE is not wrtiable by $USER" >&2 | ||||
|     exit 1 | ||||
| fi | ||||
| 
 | ||||
| # If lolcat is installed, dump a colorful message to the MOTD file. :) | ||||
| local cat_program=cat | ||||
| local cat_args='' | ||||
| if binary_exists lolcat; then | ||||
|     echo "Enabling rainbows" | ||||
|     cat_program=lolcat | ||||
|     cat_args=-f | ||||
| fi | ||||
| 
 | ||||
| local hello_message="\nThis machine is called `hostname`.\n" | ||||
| 
 | ||||
| local hardware_model=`sysctl -n hw.model` | ||||
| 
 | ||||
| if [[ -n "$hardware_model" ]]; then | ||||
|     hello_message+="It’s a $hardware_model " | ||||
| fi | ||||
| 
 | ||||
| local os_version=`sysctl -n kern.osproductversion` | ||||
| local product_name=`sw_vers --productName` | ||||
| local os_build=`sw_vers --buildVersion` | ||||
| 
 | ||||
| if [[ -n "$os_version" && -n "$os_build" ]]; then | ||||
|     hello_message+="running $product_name $os_version ($os_build)." | ||||
| elif [[ -n "$os_version" ]]; then | ||||
|     hello_message+="running $product_name $os_version." | ||||
| fi | ||||
| 
 | ||||
| hello_message+="\n" | ||||
| 
 | ||||
| echo "Writing MOTD" | ||||
| print -P $hello_message | $cat_program $cat_args > $MOTD_FILE | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue