From 7acc6b352fb2c4d7e85895cad1f63e6028a84b06 Mon Sep 17 00:00:00 2001 From: Krosh Date: Sat, 15 Nov 2025 08:00:50 +0300 Subject: [PATCH] add flakes, zen support, some fan speed tryes --- home-manager/flake.nix | 20 +++++++++++++ home-manager/home.nix | 2 +- home-manager/modules/git.nix | 10 ++----- home-manager/modules/hypr/hypr.nix | 23 --------------- home-manager/modules/kitty.nix | 20 ++++++++----- home-manager/modules/programs.nix | 9 +++++- nixos/custom.nix | 46 ++++++++++++++++++++++++++++-- update-home-manager.sh | 2 +- 8 files changed, 90 insertions(+), 42 deletions(-) create mode 100644 home-manager/flake.nix diff --git a/home-manager/flake.nix b/home-manager/flake.nix new file mode 100644 index 0000000..a1b68d5 --- /dev/null +++ b/home-manager/flake.nix @@ -0,0 +1,20 @@ +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; + home-manager.url = "github:nix-community/home-manager/release-25.05"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + zen-browser.url = "github:0xc000022070/zen-browser-flake"; + zen-browser.inputs.nixpkgs.follows = "nixpkgs"; + zen-browser.inputs.home-manager.follows = "home-manager"; + }; + outputs = inputs@{ nixpkgs, home-manager, ... }: + let system = "x86_64-linux"; + in { + homeConfigurations.krosh = home-manager.lib.homeManagerConfiguration { + pkgs = nixpkgs.legacyPackages.${system}; + modules = [ ./home.nix ]; + extraSpecialArgs = { inherit inputs; }; + }; + }; + +} diff --git a/home-manager/home.nix b/home-manager/home.nix index 706c713..a7218d7 100755 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -34,7 +34,7 @@ home.username = "krosh"; home.homeDirectory = "/home/krosh"; - home.stateVersion = "25.11"; + home.stateVersion = "25.05"; programs.home-manager.enable = true; home.enableNixpkgsReleaseCheck = false; diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index a04a8a1..27cb772 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -4,12 +4,8 @@ programs.git = { enable = true; - settings = { - pull.rebase = true; - user = { - name = "Krosh"; - email = "gudovdo@my.msu.ru"; - }; - }; + userEmail = "gudovdo@my.msu.ru"; + userName = "Krosh"; + extraConfig.pull.rebase = true; }; } diff --git a/home-manager/modules/hypr/hypr.nix b/home-manager/modules/hypr/hypr.nix index 0a17541..4ef2617 100644 --- a/home-manager/modules/hypr/hypr.nix +++ b/home-manager/modules/hypr/hypr.nix @@ -4,27 +4,4 @@ home.packages = with pkgs; [ hyprland ]; - home.file.".config/hypr/hyprland.conf".text = '' - # Minimal Hyprland config - - # General settings - general { - dpi=96 - } - - # Example monitor line — replace with your output name and resolution - monitor= eDP-1, 1920x1080@60, 0, 0, 1 - - # Basic keybindings (SUPER is the meta/windows key) - bind=SUPER+ENTER, exec, alacritty - bind=SUPER+D, exec, dmenu_run - bind=SUPER+Q, killactive - - # Simple floating example (adjust class/title as needed) - windowrulev2 = float,class: Pavucontrol - - # Add any startup commands here (uncomment and edit) - # exec = seatd,enabled - ''; - } diff --git a/home-manager/modules/kitty.nix b/home-manager/modules/kitty.nix index 28a05d1..8347e4c 100644 --- a/home-manager/modules/kitty.nix +++ b/home-manager/modules/kitty.nix @@ -18,12 +18,17 @@ dynamic_background_opacity = "yes"; background_blur = 5; + confirm_os_window_close = 0; + map = '' + ctrl+c copy_or_interrupt + ctrl+v paste + ctrl+shift+v paste + ''; + shell = "${pkgs.zsh}/bin/zsh"; }; - keybindings = { - "ctrl+shift+enter" = "new_window_with_cwd"; - }; + keybindings = { "ctrl+shift+enter" = "new_window_with_cwd"; }; extraConfig = '' # --- Catppuccin Mocha (dark) theme --- @@ -51,8 +56,9 @@ ''; }; - home.packages = with pkgs; [ - kitty - # (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) - ]; + home.packages = with pkgs; + [ + kitty + # (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) + ]; } diff --git a/home-manager/modules/programs.nix b/home-manager/modules/programs.nix index e7de365..f257bd5 100644 --- a/home-manager/modules/programs.nix +++ b/home-manager/modules/programs.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ inputs, config, lib, pkgs, ... }: { home.packages = with pkgs; [ @@ -6,4 +6,11 @@ telegram-desktop vscode ]; + + imports = [ inputs.zen-browser.homeModules.twilight ]; + programs.zen-browser = { + enable = true; + # any other options under `programs.firefox` are also supported here. + # see `man home-configuration.nix`. + }; } diff --git a/nixos/custom.nix b/nixos/custom.nix index 64c2cfb..22bc418 100644 --- a/nixos/custom.nix +++ b/nixos/custom.nix @@ -1,6 +1,8 @@ { config, pkgs, ... }: { + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + networking.nameservers = [ "8.8.8.8" "1.1.1.1" ]; networking.networkmanager.insertNameservers = [ "1.1.1.1" "8.8.8.8" ]; networking.firewall.enable = false; @@ -8,7 +10,45 @@ programs.firefox.enable = true; nixpkgs.config.allowUnfree = true; - environment.systemPackages = with pkgs; [ kitty amnezia-vpn ]; + environment.systemPackages = with pkgs; [ kitty amnezia-vpn lenovo-legion ]; + + # hardware.fancontrol.enable = true; + # hardware.fancontrol.config = '' + # INTERVAL=5 + # FCTEMPS=( /sys/class/hwmon/hwmon9/temp1_input ) + # FCFANS=( /sys/class/hwmon/hwmon9/pwm1 ) + # MINTEMP=25 + # MAXTEMP=90 + # MINPWM=50 + # MAXPWM=200 + # ''; + # hardware.fancontrol.config = '' + # INTERVAL=2 + + # FCTEMPS=hwmon9/device/pwm1=/sys/class/hwmon/hwmon0/temp1_input + # FCFANS=hwmon9/device/pwm1=/sys/class/hwmon/hwmon9/fan1_input + + # MINTEMP=hwmon9/device/pwm1=25 + # MAXTEMP=hwmon9/device/pwm1=80 + + # MINPWM=hwmon9/device/pwm1=0 + # MAXPWM=hwmon9/device/pwm1=220 + + # MINSTART=hwmon9/device/pwm1=25 + # MINSTOP=hwmon9/device/pwm1=0 + # ''; + + # services.thinkfan = { + # enable = true; + # levels = [ + # [ 0 0 25 ] # level, low temp, high temp + # [ 1 20 55 ] + # [ 2 50 65 ] + # [ 3 60 75 ] + # [ 4 70 85 ] + # [ 7 80 200 ] + # ]; + # }; security.sudo.extraRules = [{ users = [ "ALL" ]; @@ -52,7 +92,9 @@ consoleLogLevel = 3; initrd.verbose = false; - kernelModules = [ "tun" ]; # for VPN + kernelModules = [ "tun" "lenovo-legion-module" ]; # for VPN + extraModulePackages = with config.boot.kernelPackages; + [ lenovo-legion-module ]; kernelParams = [ "quiet" "splash" diff --git a/update-home-manager.sh b/update-home-manager.sh index af9098c..ae93f34 100755 --- a/update-home-manager.sh +++ b/update-home-manager.sh @@ -18,6 +18,6 @@ mkdir -p "$DEST_FOLDER" cp -a "$SRC_FOLDER/." "$DEST_FOLDER/" echo "Running home-manager switch..." -home-manager switch +home-manager switch --flake ~/.config/home-manager echo "Done! Backup (if any) stored at $BACKUP_DIR"