system: update
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
let
|
||||
sol = pkgs.writers.writePython3 "shutdown-on-lan.py" {
|
||||
libraries = [ pkgs.python312Packages.psutil ];
|
||||
flakeIgnore = [ "E501" "E302" "E305" ];
|
||||
flakeIgnore = [ "E302" "E305" "E501" "E701" ];
|
||||
} /*py*/ ''
|
||||
# https://habr.com/ru/articles/816765/
|
||||
|
||||
@@ -21,20 +21,26 @@
|
||||
ip_addr = mac_addr = None
|
||||
|
||||
while not ip_addr or not mac_addr or ip_addr == '127.0.0.1':
|
||||
net = psutil.net_if_addrs()
|
||||
for item in net[list(net.keys())[-1]]:
|
||||
addr = item.address
|
||||
# В IPv4-адресах разделители - точки
|
||||
if '.' in addr:
|
||||
ip_addr = addr
|
||||
# В MAC-адресах разделители либо тире, либо одинарное двоеточие.
|
||||
# Двойное двоеточие - это разделители для адресов IPv6
|
||||
elif ('-' in addr or ':' in addr) and '::' not in addr:
|
||||
# Приводим MAC-адрес к одному формату. Формат может меняться в зависимости от ОС
|
||||
mac_addr = addr.replace(':', '-').upper()
|
||||
nets = psutil.net_if_addrs()
|
||||
for net in list(nets.keys())[::-1]:
|
||||
if net in ('lo', 'tun0'): continue
|
||||
logger.debug(str(net))
|
||||
for item in nets[net]:
|
||||
# logger.debug(str(item))
|
||||
addr = item.address
|
||||
logger.debug(addr)
|
||||
# В IPv4-адресах разделители - точки
|
||||
if '.' in addr:
|
||||
ip_addr = addr
|
||||
# В MAC-адресах разделители либо тире, либо одинарное двоеточие.
|
||||
# Двойное двоеточие - это разделители для адресов IPv6
|
||||
elif ('-' in addr or ':' in addr) and '::' not in addr:
|
||||
# Приводим MAC-адрес к одному формату. Формат может меняться в зависимости от ОС
|
||||
mac_addr = addr.replace(':', '-').upper()
|
||||
if not ip_addr or not mac_addr or ip_addr == '127.0.0.1':
|
||||
logger.debug('Не удалось получить IP или MAC-адрес сетевого интерфейса')
|
||||
logger.error('Не удалось получить IP или MAC-адрес сетевого интерфейса')
|
||||
sleep(10)
|
||||
logger.debug(mac_addr)
|
||||
return ip_addr, mac_addr
|
||||
|
||||
def assemble_wol_packet(mac_address: str) -> str:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{ config, pkgs, ... }: let
|
||||
icon = pkgs.fetchurl {
|
||||
url = "https://preview.redd.it/a2nga4jvjy291.png?width=640&crop=smart&auto=webp&s=7d1458b41101c960bc13c28a6b92c5a6ddc20210";
|
||||
name = "nixos-chan.png";
|
||||
sha256 = "sha256-dAms/+CgYrao2b8omXEdS/HnjGUa++ol5jjpvej39Og=";
|
||||
url = "https://cloud.codrs.ru/pub/nixos-chan.webp?raw";
|
||||
name = "nixos-chan.webp";
|
||||
sha256 = "sha256-0majB9ljjMdZwvOijEgWdFKxWLje5tHgXHBJUWZfHfY=";
|
||||
};
|
||||
in {
|
||||
home.packages = [ pkgs.neofetch ];
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
{ pkgs-stable, ... }: {
|
||||
home.packages = with pkgs-stable; [
|
||||
vscode
|
||||
jetbrains.pycharm-community
|
||||
{ pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
jetbrains.idea-community
|
||||
android-studio
|
||||
];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{ pkgs, inputs, pkgs-fixed, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
google-chrome
|
||||
inputs.ayugram-desktop.packages.${pkgs.system}.ayugram-desktop
|
||||
ayugram-desktop
|
||||
vesktop
|
||||
obs-studio
|
||||
mpv
|
||||
|
||||
@@ -59,15 +59,6 @@
|
||||
finally:
|
||||
system(f"${lib.getExe pkgs.swww} img {folder}/{filename} ${swww_flags}")
|
||||
'';
|
||||
|
||||
clipsync = pkgs.writers.writeBash "clipsync" ''
|
||||
while ${lib.getExe pkgs.clipnotify}; do
|
||||
${lib.getExe pkgs.xclip} -q -sel clip -t image/png -o > /dev/null && \
|
||||
${lib.getExe pkgs.xclip} -sel clip -t image/png -o | wl-copy
|
||||
${lib.getExe pkgs.xclip} -q -sel clip -o > /dev/null && \
|
||||
${lib.getExe pkgs.xclip} -sel clip -o | wl-copy
|
||||
done
|
||||
'';
|
||||
in {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
@@ -140,7 +131,6 @@
|
||||
"systemctl --user start plasma-polkit-agent"
|
||||
"${lib.getExe' pkgs.swww "swww-daemon"}"
|
||||
"${lib.getExe wallpaper_changer}"
|
||||
"${clipsync}"
|
||||
"clipse -listen"
|
||||
"${lib.getExe' pkgs.udiskie "udiskie"}"
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user