29 lines
683 B
TypeScript
29 lines
683 B
TypeScript
import { exec, Variable } from "astal";
|
|
import AstalNetwork from "gi://AstalNetwork";
|
|
|
|
const networkEnabled = Variable( exec( 'nmcli networking connectivity' ) !== 'none' );
|
|
const network = AstalNetwork.get_default();
|
|
|
|
|
|
const setNetworking = ( status: boolean ) => {
|
|
if ( status === true ) {
|
|
exec( 'nmcli networking on' );
|
|
networkEnabled.set( true );
|
|
} else {
|
|
exec( 'nmcli networking off' );
|
|
networkEnabled.set( false );
|
|
}
|
|
}
|
|
|
|
|
|
const getIP = () => {
|
|
return exec( `/bin/bash -c "ip addr show | grep 'inet ' | awk '{print $2}' | grep -v '127'"` ).split( '/' )[ 0 ];
|
|
}
|
|
|
|
|
|
export default {
|
|
networkEnabled,
|
|
setNetworking,
|
|
getIP
|
|
}
|