system: update

This commit is contained in:
2025-07-22 10:16:26 +03:00
parent 02aef91f3a
commit 46fcef4689
9 changed files with 152 additions and 271 deletions
+19 -13
View File
@@ -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:
+3 -3
View File
@@ -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 ];
+2 -4
View File
@@ -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 -1
View File
@@ -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
-10
View File
@@ -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"}"
];