diff --git a/flake.lock b/flake.lock index 4c1fff1..aef38d2 100644 --- a/flake.lock +++ b/flake.lock @@ -60,11 +60,11 @@ ] }, "locked": { - "lastModified": 1766292113, - "narHash": "sha256-sWTtmkQujRpjWYCnZc8LWdDiCzrRlSBPrGovkZpLkBI=", + "lastModified": 1766553861, + "narHash": "sha256-ZbnG01yA3O8Yr1vUm3+NQ2qk9iRhS5bloAnuXHHy7+c=", "owner": "nix-community", "repo": "home-manager", - "rev": "fdec8815a86db36f42fc9c8cb2931cd8485f5aed", + "rev": "0999ed8f965bbbd991437ad9c5ed3434cecbc30e", "type": "github" }, "original": { @@ -94,11 +94,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1766201043, - "narHash": "sha256-eplAP+rorKKd0gNjV3rA6+0WMzb1X1i16F5m5pASnjA=", + "lastModified": 1766473571, + "narHash": "sha256-5G1NDO2PulBx1RoaA6U1YoUDX0qZslpPxv+n5GX6Qto=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b3aad468604d3e488d627c0b43984eb60e75e782", + "rev": "76701a179d3a98b07653e2b0409847499b2a07d3", "type": "github" }, "original": { @@ -207,11 +207,11 @@ ] }, "locked": { - "lastModified": 1766410104, - "narHash": "sha256-Eh+TUdb4CGscBLG3Q6QOQOjEdPCmHPClGyeHf4F67Mk=", + "lastModified": 1766614843, + "narHash": "sha256-upUQfQv7Xiy5IZzfsVOL0lH4A/wuUQjG2jlzmBmVuwU=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "eaff1bc54b9a8bd698c2dc47823400460e9f38a0", + "rev": "b01d17acbec3d1b76fecf500289d8509da202585", "type": "github" }, "original": { diff --git a/home-manager/modules/programs.nix b/home-manager/modules/programs.nix index a986765..4297953 100644 --- a/home-manager/modules/programs.nix +++ b/home-manager/modules/programs.nix @@ -36,7 +36,22 @@ programs.direnv.enableZshIntegration = true; imports = [ inputs.zen-browser.homeModules.twilight ]; - programs.zen-browser = { enable = true; }; + programs.zen-browser = { + enable = true; + #profiles."Default Profile" = { + # search = { + # default = "Perplexity"; # Use the ID of your custom engine below + #engines = { + #"perplexity" = { # Custom engine ID (lowercase, no spaces) + #name = "Perplexity"; + #urls = [{ + # template = "https://www.perplexity.ai/search?q=%s"; + #}]; + #definedAliases = [ "@per" ]; + #}; + # }; + #}; + }; xdg.mimeApps = let value = let diff --git a/hosts/fenrir-nixos/configuration.nix b/hosts/fenrir-nixos/configuration.nix index bc74bb9..bd2dc84 100755 --- a/hosts/fenrir-nixos/configuration.nix +++ b/hosts/fenrir-nixos/configuration.nix @@ -21,4 +21,9 @@ modesetting.enable = true; }; + environment.systemPackages = with pkgs; [ + efibootmgr + (writeShellScriptBin "win" (builtins.readFile ./load_into_windows.sh)) + ]; + } diff --git a/hosts/fenrir-nixos/load_into_windows.sh b/hosts/fenrir-nixos/load_into_windows.sh new file mode 100644 index 0000000..344e3ff --- /dev/null +++ b/hosts/fenrir-nixos/load_into_windows.sh @@ -0,0 +1 @@ +sudo efibootmgr --bootorder $(sudo efibootmgr | grep Windows | awk '{print $1}' | sed 's/Boot//g' | sed 's/\*//g' | tr -d '\n') && sudo reboot diff --git a/hosts/loki-nixos/configuration.nix b/hosts/loki-nixos/configuration.nix index 1114f83..ba86645 100644 --- a/hosts/loki-nixos/configuration.nix +++ b/hosts/loki-nixos/configuration.nix @@ -12,4 +12,22 @@ }]; boot.resumeDevice = "/dev/nvme0n1p2"; + # --- Temp sections for testing purposes --- + # services.pipewire = { + # enable = true; + # alsa.enable = true; + # pulse.enable = true; + # alsa.support32Bit = true; + # }; + + # environment.systemPackages = with pkgs; [ + # pavucontrol + # qpwgraph + # paprefs + # helvum + + # ]; + + # programs.dconf.enable = true; + } diff --git a/nixos/custom.nix b/nixos/custom.nix index b324e23..110d3fe 100644 --- a/nixos/custom.nix +++ b/nixos/custom.nix @@ -35,4 +35,12 @@ shell = pkgs.zsh; }; + services.upower.enable = true; + hardware.bluetooth.enable = true; + + environment.systemPackages = with pkgs; [ + (writeShellScriptBin "power_max" (builtins.readFile ./scripts/max.sh)) + (writeShellScriptBin "power_min" (builtins.readFile ./scripts/min.sh)) + ]; + } diff --git a/nixos/scripts/max.sh b/nixos/scripts/max.sh new file mode 100755 index 0000000..eaee8e0 --- /dev/null +++ b/nixos/scripts/max.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +# выйти при ошибке +set -e + +# нужно запускать от root: +if [[ $EUID -ne 0 ]]; then + echo "Этот скрипт нужно запускать от root (sudo)." + exit 1 +fi + +CPU_PATH="/sys/devices/system/cpu" + +# обрабатываем все CPU: cpu0, cpu1, ... +for cpu_dir in "$CPU_PATH"/cpu[0-9]*; do + gov_file="$cpu_dir/cpufreq/scaling_governor" + min_file="$cpu_dir/cpufreq/scaling_min_freq" + max_file="$cpu_dir/cpufreq/scaling_max_freq" + avail_max_file="$cpu_dir/cpufreq/cpuinfo_max_freq" + + # если cpufreq не поддерживается этим ядром, пропускаем + [[ -e "$gov_file" ]] || continue + + # включаем governor performance + echo performance > "$gov_file" + + # ставим минимальную и максимальную частоты в максимально допустимый диапазон + if [[ -r "$avail_max_file" ]]; then + #max_freq=$(cat "$avail_max_file") + max_freq=3800000 + echo "$max_freq" > "$max_file" 2>/dev/null || true + echo "$max_freq" > "$min_file" 2>/dev/null || true + fi + + echo "Настроен $(basename "$cpu_dir"): governor=performance, max_freq=$(cat "$max_file" 2>/dev/null)" +done + +echo "Готово. Ограничения частоты (в пределах допуска CPU/BIOS) сняты." + diff --git a/nixos/scripts/min.sh b/nixos/scripts/min.sh new file mode 100755 index 0000000..d468cfc --- /dev/null +++ b/nixos/scripts/min.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +# выйти при ошибке +set -e + +# нужно запускать от root: +if [[ $EUID -ne 0 ]]; then + echo "Этот скрипт нужно запускать от root (sudo)." + exit 1 +fi + +CPU_PATH="/sys/devices/system/cpu" + +# обрабатываем все CPU: cpu0, cpu1, ... +for cpu_dir in "$CPU_PATH"/cpu[0-9]*; do + gov_file="$cpu_dir/cpufreq/scaling_governor" + min_file="$cpu_dir/cpufreq/scaling_min_freq" + max_file="$cpu_dir/cpufreq/scaling_max_freq" + + # если cpufreq не поддерживается этим ядром, пропускаем + [[ -e "$gov_file" ]] || continue + + # включаем governor performance + echo performance > "$gov_file" + + # ставим минимальную и максимальную частоты в максимально допустимый диапазон + if [[ -r "$avail_max_file" ]]; then + max_freq=800000 + min_freq=400000 + echo "$max_freq" > "$max_file" 2>/dev/null || true + echo "$min_freq" > "$min_file" 2>/dev/null || true + fi + + echo "Настроен $(basename "$cpu_dir"): governor=performance, max_freq=$(cat "$max_file" 2>/dev/null)" +done + +echo "Готово. Ограничения частоты (в пределах допуска CPU/BIOS) сняты." + diff --git a/proc.sh b/proc.sh deleted file mode 100755 index 8542ff2..0000000 --- a/proc.sh +++ /dev/null @@ -1,10 +0,0 @@ -grep "cpu MHz" /proc/cpuinfo | head - -# попробовать поднять лимит на всех ядрах -for c in /sys/devices/system/cpu/cpu[0-7]; do - echo 4100000 | sudo tee "$c/cpufreq/scaling_max_freq" -done - -# проверить, применилось ли -grep "cpu MHz" /proc/cpuinfo | head -sudo tlp-stat -p | sed -n '1,25p' \ No newline at end of file diff --git a/proc_min.sh b/proc_min.sh deleted file mode 100755 index 8926b3c..0000000 --- a/proc_min.sh +++ /dev/null @@ -1,10 +0,0 @@ -grep "cpu MHz" /proc/cpuinfo | head - -# попробовать поднять лимит на всех ядрах -for c in /sys/devices/system/cpu/cpu[0-7]; do - echo 800000 | sudo tee "$c/cpufreq/scaling_max_freq" -done - -# проверить, применилось ли -grep "cpu MHz" /proc/cpuinfo | head -sudo tlp-stat -p | sed -n '1,25p' \ No newline at end of file