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