mirror of
				https://forge.katzen.cafe/schrottkatze/nix-configs.git
				synced 2025-10-31 17:47:56 +01:00 
			
		
		
		
	do some moving
This commit is contained in:
		
					parent
					
						
							
								9379b9c61b
							
						
					
				
			
			
				commit
				
					
						49298541e5
					
				
			
		
					 40 changed files with 13 additions and 16 deletions
				
			
		
							
								
								
									
										78
									
								
								modules/de/home/eww/configDir/scripts/bat.nu
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										78
									
								
								modules/de/home/eww/configDir/scripts/bat.nu
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,78 @@ | |||
| #!/usr/bin/env nu | ||||
| 
 | ||||
| const ICONS = [ | ||||
|   [ normal charging]; | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
|   [   ] | ||||
| ]; | ||||
| 
 | ||||
| const DELAY = 2sec; | ||||
| 
 | ||||
| def "main auto" [] { | ||||
|   loop { | ||||
|     let paths = ls "/sys/class/power_supply" | ||||
|       | each {|it| $it.name | path basename} | ||||
|       | filter {|it| $it starts-with "BAT"}; | ||||
|      | ||||
|     if ($paths | is-not-empty) { | ||||
|       let result = $paths | ||||
|         | each {|it| get_and_format $it} | ||||
|         | str join " | " | ||||
|         | prepend "| " | ||||
|         | str join; | ||||
| 
 | ||||
|       print $result | ||||
|     } else { | ||||
|       print "" | ||||
|     } | ||||
|     sleep $DELAY; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| def main [ path: string ] { | ||||
|   loop { | ||||
|     print (get_and_format $path) | ||||
|     sleep $DELAY; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| def get_and_format [ path: string ] { | ||||
|     let fract = get_bat_charge_fraction $path; | ||||
|     let is_charging = get_bat_charging_status $path; | ||||
|     let percent = ($fract * 100) | math round; | ||||
|    | ||||
|     return $"<span foreground=\"#d65d0e\">(get_bat_icon $fract $is_charging)</span> ($percent)<span foreground=\"#7c6f64\">%</span>"; | ||||
| } | ||||
| 
 | ||||
| def get_bat_charge_fraction [ | ||||
|   path: string | ||||
| ] { | ||||
|   let energy_full = open $"/sys/class/power_supply/($path)/energy_full" | into float; | ||||
|   let energy_now = open $"/sys/class/power_supply/($path)/energy_now" | into float; | ||||
| 
 | ||||
|   $energy_now / $energy_full | ||||
| } | ||||
| 
 | ||||
| def get_bat_charging_status [ | ||||
|   path: string | ||||
| ] { | ||||
|   let status = open $"/sys/class/power_supply/($path)/status"; | ||||
| 
 | ||||
|   $status like Charging | ||||
| } | ||||
| 
 | ||||
| def get_bat_icon [ | ||||
|   frac: float  | ||||
|   is_charging = false | ||||
| ] { | ||||
|   $ICONS | get (($frac * 10) | math round) | get (if ($is_charging) { "charging" } else { "normal" }) | ||||
| } | ||||
							
								
								
									
										38
									
								
								modules/de/home/eww/configDir/scripts/iceTacho.nu
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										38
									
								
								modules/de/home/eww/configDir/scripts/iceTacho.nu
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,38 @@ | |||
| #!/usr/bin/env nu | ||||
| 
 | ||||
| const TABLE = { | ||||
|   401: 280  | ||||
|   402: 280  | ||||
|   403: 330  | ||||
|   406: 330  | ||||
|   407: 320  | ||||
|   408: 320  | ||||
|   411: 230  | ||||
|   415: 230  | ||||
|   412: 265  | ||||
|   605: 200  | ||||
| }; | ||||
| 
 | ||||
| def main [ ] { | ||||
|   loop { | ||||
|     if ((iw dev wlp4s0 link | lines | filter {|it| $it =~ "WIFIonICE" } | length) == 1) { | ||||
|       let iceData = http get https://iceportal.de/api1/rs/status; | ||||
|       let tzn = $iceData.tzn; | ||||
|       let br = $iceData.series; | ||||
|       let speed = $iceData.speed; | ||||
|       let speedfrac = $speed / ($TABLE | get $br); | ||||
| 
 | ||||
|       print ({ | ||||
|         tzn: $tzn, | ||||
|         br: $br, | ||||
|         speed: $speed, | ||||
|         frac: $speedfrac | ||||
|       } | to json -r); | ||||
| 
 | ||||
|       sleep 2sec; | ||||
|     } else { | ||||
|       print "null"; | ||||
|       sleep 5sec; | ||||
|     } | ||||
|   } | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Schrottkatze
				Schrottkatze