From e10bfd7c79df67c116982ed4f3fb3ea7f7c09fbf Mon Sep 17 00:00:00 2001 From: elwrcl Date: Wed, 1 Apr 2026 23:32:58 +0300 Subject: [PATCH] add: binds,bash,encode'decode --- home/default.nix | 35 ++++---- home/dots/zsh/.zshrc | 78 ++++++++---------- home/hypr/hyprland/env.nix | 2 +- home/hypr/hyprland/keybinds.nix | 108 ++++++++++++++----------- home/hypr/hyprland/rules.nix | 33 +++++--- nixos/hardware/graphics/intel.nix | 39 ++++++--- nixos/services/kde_connect/default.nix | 2 +- packages.nix | 5 ++ 8 files changed, 172 insertions(+), 130 deletions(-) diff --git a/home/default.nix b/home/default.nix index 958e3d6..76e3991 100644 --- a/home/default.nix +++ b/home/default.nix @@ -8,20 +8,28 @@ home.stateVersion = "25.05"; programs.zsh = { - enable = true; - enableCompletion = true; - autosuggestion.enable = true; - syntaxHighlighting.enable = true; - initContent = builtins.readFile ./dots/zsh/.zshrc; + enable = true; + enableCompletion = true; + autosuggestion.enable = true; + syntaxHighlighting.enable = true; + initContent = builtins.readFile ./dots/zsh/.zshrc; }; - programs.kitty = { + programs.alacritty = { enable = true; settings = { - shell = "zsh"; - confirm_os_window_close = 0; - background_opacity = "0.8"; - cursor_trail = 3; + window = { + padding = { x = 10; y = 10; }; + opacity = 0.8; + blur = true; + }; + font = { + normal = { family = "JetBrainsMono Nerd Font"; style = "Regular"; }; + bold = { family = "JetBrainsMono Nerd Font"; style = "Bold"; }; + italic = { family = "JetBrainsMono Nerd Font"; style = "Italic"; }; + size = 11.0; + }; + terminal.shell = "zsh"; }; }; @@ -30,11 +38,10 @@ "fish/conf.d".source = ./dots/fish/conf.d; }; - # Packs home.packages = with pkgs; [ eza bat fzf fd micro fastfetch starship vulkan-tools libva-utils mesa-demos intel-gpu-tools clinfo - nerd-fonts.symbols-only + nerd-fonts.symbols-only zoxide trash-cli rsync inputs.apple-fonts.packages.${system}.sf-pro inputs.apple-fonts.packages.${system}.sf-mono @@ -42,7 +49,7 @@ programs.starship.enable = true; programs.fzf.enable = true; + programs.zoxide.enable = true; programs.home-manager.enable = true; fonts.fontconfig.enable = true; - services.kdeconnect.enable = true; -} +} \ No newline at end of file diff --git a/home/dots/zsh/.zshrc b/home/dots/zsh/.zshrc index 3a32398..01422f7 100644 --- a/home/dots/zsh/.zshrc +++ b/home/dots/zsh/.zshrc @@ -1,13 +1,7 @@ -# elarsın muhtesem configi +# elarsın muhtesem configi 1.04.2026 eval "$(starship init zsh)" +eval "$(zoxide init zsh)" -# deps -#source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh -#source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh - -# FZF -#source /usr/share/fzf/key-bindings.zsh -#source /usr/share/fzf/completion.zsh export FZF_DEFAULT_OPTS='--height 40% --layout=reverse --border' export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git' @@ -16,6 +10,7 @@ alias ls='eza --icons --group-directories-first' alias ll='eza -lah --icons --group-directories-first' alias la='eza -a --icons --group-directories-first' alias lt='eza --tree --level=2 --icons' +alias cd='z' # allias extra alias cat='bat' @@ -24,19 +19,10 @@ alias df='df -h' alias du='du -h' alias free='free -h' -alias nano='micro' -alias edit='micro' -export EDITOR=micro -export VISUAL=micro -export SUDO_EDITOR=micro - -# arch shit -#alias update='sudo pacman -Syu' -#alias install='sudo pacman -S' -#alias remove='sudo pacman -Rns' -#alias search='pacman -Ss' -#alias orphans='sudo pacman -Rns $(pacman -Qtdq)' -#alias mirrors='sudo reflector --verbose --latest 10 --sort rate --save /etc/pacman.d/mirrorlist' +# safety first +alias cp='cp -i' +alias mv='mv -i' +alias rm='trash-put' # system alias sysinfo='fastfetch' @@ -51,6 +37,27 @@ alias ....='cd ../../..' alias ~='cd ~' alias -- -='cd -' +extract() { + if [ -f $1 ] ; then + case $1 in + *.tar.bz2) tar xjf $1 ;; + *.tar.gz) tar xzf $1 ;; + *.bz2) bunzip2 $1 ;; + *.rar) unrar e $1 ;; + *.gz) gunzip $1 ;; + *.tar) tar xf $1 ;; + *.tbz2) tar xjf $1 ;; + *.tgz) tar xzf $1 ;; + *.zip) unzip $1 ;; + *.Z) uncompress $1 ;; + *.7z) 7z x $1 ;; + *) echo "'$1' can't be extracted" ;; + esac + else + echo "'$1' is not a valid file" + fi +} + # git alias gs='git status' alias ga='git add' @@ -58,39 +65,20 @@ alias gc='git commit -m' alias gp='git push' alias gl='git log --oneline --graph --decorate' -# confs -alias zshrc='micro ~/.zshrc' -alias reload='source ~/.zshrc' - -# history +# history settings ... HISTSIZE=10000 SAVEHIST=10000 HISTFILE=~/.zsh_history setopt HIST_IGNORE_DUPS -setopt HIST_IGNORE_SPACE setopt SHARE_HISTORY -# completion +# completion ... autoload -Uz compinit compinit zstyle ':completion:*' menu select -zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' setopt AUTO_CD -# intro -if [[ -o interactive ]]; then - ~/.config/fastfetch/fastfetch_kayan.sh -fi - -# colors -export CLICOLOR=1 -export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43' - -# sdkman -export SDKMAN_DIR="$HOME/.sdkman" -[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh" - -#mesa +# mesa settings export MESA_SHADER_CACHE_MAX_SIZE=2G -export MESA_SHADER_CACHE_DIR=/tmp/mesa_shader_cache -export PATH="$HOME/.local/bin:$PATH" +export MESA_GL_VERSION_OVERRIDE=4.6 +export MESA_GLSL_VERSION_OVERRIDE=460 \ No newline at end of file diff --git a/home/hypr/hyprland/env.nix b/home/hypr/hyprland/env.nix index b36462f..ec08184 100644 --- a/home/hypr/hyprland/env.nix +++ b/home/hypr/hyprland/env.nix @@ -11,7 +11,7 @@ "GDK_BACKEND,wayland,x11" "QT_QPA_PLATFORM,wayland;xcb" "ELECTRON_OZONE_PLATFORM_HINT,auto" - "TERMINAL,kitty" + "TERMINAL,alacritty" ]; }; } diff --git a/home/hypr/hyprland/keybinds.nix b/home/hypr/hyprland/keybinds.nix index 9067cc7..9d060b2 100644 --- a/home/hypr/hyprland/keybinds.nix +++ b/home/hypr/hyprland/keybinds.nix @@ -1,45 +1,62 @@ { ... }: -{ +let + # Noctalia IPC shortcut + ipc = "noctalia-shell ipc call"; +in { wayland.windowManager.hyprland.settings = { "$mainMod" = "SUPER"; bindr = [ - "$mainMod, SUPER_L, exec, pkill fuzzel || fuzzel" + "$mainMod, SUPER_L, exec, ${ipc} launcher toggle" ]; bind = [ - # launchers - "$mainMod, Return, exec, kitty" - "$mainMod, W, exec, zen" - "$mainMod, C, exec, zed" - "$mainMod, E, exec, dolphin" - "$mainMod, R, exec, pkill fuzzel || fuzzel" + # ── Workspace Navigation ───────────────────────────────────────────── + "CTRL $mainMod, right, workspace, r+1" + "CTRL $mainMod, left, workspace, r-1" - # window management - "$mainMod, Q, killactive" - "$mainMod ALT, SPACE, togglefloating" - "$mainMod, F, fullscreen, 0" - "$mainMod, D, fullscreen, 1" - "$mainMod, P, pin" + # ── Noctalia Interface ─────────────────────────────────────────────── + "$mainMod, Tab, exec, ${ipc} launcher windows" # overview + "$mainMod, P, exec, ${ipc} bar toggle" # hide bar + "CTRL ALT, Delete, exec, ${ipc} sessionMenu toggle" # power menu - # lock - "$mainMod, L, exec, loginctl lock-session" - "$mainMod SHIFT, L, exec, systemctl suspend" + # ── Screenshot / OCR / Google Lens (screen-shot-and-record plugin) ── + "$mainMod SHIFT, S, exec, ${ipc} plugin:screen-shot-and-record screenshot" + "$mainMod SHIFT, Z, exec, ${ipc} plugin:screen-shot-and-record search" # google lens + "$mainMod SHIFT, X, exec, ${ipc} plugin:screen-shot-and-record ocr" # ocr + "$mainMod SHIFT, C, exec, ${ipc} plugin:music panel" # music recognition - # focus - "$mainMod, left, movefocus, l" - "$mainMod, right, movefocus, r" - "$mainMod, up, movefocus, u" - "$mainMod, down, movefocus, d" + # ── App Launchers ──────────────────────────────────────────────────── + "$mainMod, Return, exec, kitty" + "$mainMod, W, exec, zen" + "$mainMod, E, exec, dolphin" + "$mainMod, Z, exec, zed" + "$mainMod ALT, V, exec, pavucontrol" + "$mainMod SHIFT, V, exec, ${ipc} launcher clipboard" + "$mainMod SHIFT, L, exec, ${ipc} lockScreen lock" + "CTRL ALT, Escape, exec, kitty -e btop" - # windows drag + # ── Window Management ──────────────────────────────────────────────── + "$mainMod, Q, killactive" + "$mainMod ALT, SPACE, togglefloating" + "$mainMod, F, fullscreen, 0" + "$mainMod, D, fullscreen, 1" + "$mainMod ALT, P, pin" + + # ── Focus ──────────────────────────────────────────────────────────── + "$mainMod, left, movefocus, l" + "$mainMod, right, movefocus, r" + "$mainMod, up, movefocus, u" + "$mainMod, down, movefocus, d" + + # ── Move Windows ───────────────────────────────────────────────────── "$mainMod SHIFT, left, movewindow, l" "$mainMod SHIFT, right, movewindow, r" "$mainMod SHIFT, up, movewindow, u" "$mainMod SHIFT, down, movewindow, d" - # workspaces + # ── Workspaces ─────────────────────────────────────────────────────── "$mainMod, 1, workspace, 1" "$mainMod, 2, workspace, 2" "$mainMod, 3, workspace, 3" @@ -51,7 +68,7 @@ "$mainMod, 9, workspace, 9" "$mainMod, 0, workspace, 10" - # moveworkspace + # ── Move to Workspace ──────────────────────────────────────────────── "$mainMod SHIFT, 1, movetoworkspace, 1" "$mainMod SHIFT, 2, movetoworkspace, 2" "$mainMod SHIFT, 3, movetoworkspace, 3" @@ -63,41 +80,42 @@ "$mainMod SHIFT, 9, movetoworkspace, 9" "$mainMod SHIFT, 0, movetoworkspace, 10" - # s-workspace - "$mainMod, S, togglespecialworkspace" - "$mainMod ALT, S, movetoworkspacesilent, special" + # ── Special Workspace (scratchpad) ─────────────────────────────────── + "$mainMod, S, togglespecialworkspace" + "$mainMod ALT, S, movetoworkspacesilent, special" - # scrolling + # ── Mouse Workspace Scroll ─────────────────────────────────────────── "$mainMod, mouse_up, workspace, +1" "$mainMod, mouse_down, workspace, -1" - # screenshot - "Super, Print, exec, grim - | wl-copy" - "Super SHIFT, S, exec, grim -g \"$(slurp)\" - | wl-copy" + # ── Media ──────────────────────────────────────────────────────────── + "$mainMod SHIFT, N, exec, playerctl next" + "$mainMod SHIFT, B, exec, playerctl previous" + "$mainMod SHIFT, P, exec, playerctl play-pause" ]; - # scaling w-mouse + # --- Mouse drag / resize --- bindm = [ "$mainMod, mouse:272, movewindow" "$mainMod, mouse:273, resizewindow" ]; - # volume + # --- Volume / Brightness (repeat) --- bindel = [ - ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+" - ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" - ", XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+" - ", XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-" + ", XF86AudioRaiseVolume, exec, ${ipc} volume increase" + ", XF86AudioLowerVolume, exec, ${ipc} volume decrease" + ", XF86MonBrightnessUp, exec, ${ipc} brightness increase" + ", XF86MonBrightnessDown, exec, ${ipc} brightness decrease" ]; - # other + # --- Locked binds (media keys / mute) --- bindl = [ - ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" - ", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle" - ", XF86AudioNext, exec, playerctl next" - ", XF86AudioPrev, exec, playerctl previous" - ", XF86AudioPlay, exec, playerctl play-pause" - ", XF86AudioPause, exec, playerctl play-pause" + ", XF86AudioMute, exec, ${ipc} volume muteOutput" + ", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle" + ", XF86AudioNext, exec, playerctl next" + ", XF86AudioPrev, exec, playerctl previous" + ", XF86AudioPlay, exec, playerctl play-pause" + ", XF86AudioPause, exec, playerctl play-pause" ]; }; } diff --git a/home/hypr/hyprland/rules.nix b/home/hypr/hyprland/rules.nix index 6693644..0b1f9f5 100644 --- a/home/hypr/hyprland/rules.nix +++ b/home/hypr/hyprland/rules.nix @@ -3,19 +3,26 @@ { wayland.windowManager.hyprland.settings = { windowrule = [ - "match:title ^(Open File)(.*)$, float on" - "match:title ^(Open File)(.*)$, center on" - "match:title ^(Save As)(.*)$, float on" - "match:title ^(Save As)(.*)$, center on" - "match:title ^(File Upload)(.*)$, float on" - "match:title ^(File Upload)(.*)$, center on" - "match:class ^(pavucontrol)$, float on" - "match:class ^(pavucontrol)$, center on" - "match:class ^(pavucontrol)$, size 45% 45%" - "match:title ^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$, float on" - "match:title ^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$, pin on" - "match:title ^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$, keep_aspect_ratio on" - "match:class ^(steam_app).*, immediate on" + "float on, match:title ^(Open File)(.*)$" + "center on, match:title ^(Open File)(.*)$" + "float on, match:title ^(Save As)(.*)$" + "center on, match:title ^(Save As)(.*)$" + "float on, match:title ^(File Upload)(.*)$" + "center on, match:title ^(File Upload)(.*)$" + "float on, match:class ^(pavucontrol)$" + "center on, match:class ^(pavucontrol)$" + "size 45% 45%, match:class ^(pavucontrol)$" + "float on, match:title ^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$" + "pin on, match:title ^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$" + "keepaspectratio on, match:title ^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$" + "immediate on, match:class ^(steam_app).*" + ]; + + layerrule = [ + "noanim, noctalia-shell:regionSelector" + "blur, noctalia-background-.*" + "ignorealpha 0.5, noctalia-background-.*" + "blurpopups, noctalia-background-.*" ]; }; } diff --git a/nixos/hardware/graphics/intel.nix b/nixos/hardware/graphics/intel.nix index 462bfad..7160c7c 100644 --- a/nixos/hardware/graphics/intel.nix +++ b/nixos/hardware/graphics/intel.nix @@ -1,23 +1,40 @@ { config, lib, pkgs, ... }: +let + wayland-intel-vaapi-driver = pkgs.intel-vaapi-driver.overrideAttrs (oldAttrs: { + version = "2.4.4-wayland-fix"; + src = pkgs.fetchFromGitHub { + owner = "irql-notlessorequal"; + repo = "intel-vaapi-driver"; + rev = "929e936ec1f451a5daa12b0c7367687b712b8c2c"; + hash = "sha256-tZ1rZ+4bRxarcFQhP8V2Mfz0sJ5rBgHYLu2ulrQwL+U="; + }; + }); + + wayland-intel-vaapi-driver-32 = pkgs.pkgsi686Linux.intel-vaapi-driver.overrideAttrs (oldAttrs: { + version = "2.4.4-wayland-fix"; + src = pkgs.fetchFromGitHub { + owner = "irql-notlessorequal"; + repo = "intel-vaapi-driver"; + rev = "929e936ec1f451a5daa12b0c7367687b712b8c2c"; + hash = "sha256-tZ1rZ+4bRxarcFQhP8V2Mfz0sJ5rBgHYLu2ulrQwL+U="; + }; + }); +in { - hardware.graphics.extraPackages = with pkgs; [ - intel-vaapi-driver - libvdpau-va-gl - intel-media-driver + hardware.graphics.extraPackages = [ + wayland-intel-vaapi-driver + pkgs.libvdpau-va-gl ]; - hardware.graphics.extraPackages32 = with pkgs.pkgsi686Linux; [ - intel-vaapi-driver - libvdpau-va-gl + hardware.graphics.extraPackages32 = [ + wayland-intel-vaapi-driver-32 + pkgs.pkgsi686Linux.libvdpau-va-gl ]; services.xserver.videoDrivers = [ "modesetting" ]; environment.variables = { LIBVA_DRIVER_NAME = "i965"; - LIBVA_DRM_DEVICE = "/dev/dri/renderD128"; - LIBVA_DISPLAY = "drm"; - VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json"; }; -} +} \ No newline at end of file diff --git a/nixos/services/kde_connect/default.nix b/nixos/services/kde_connect/default.nix index 777b153..14bc555 100644 --- a/nixos/services/kde_connect/default.nix +++ b/nixos/services/kde_connect/default.nix @@ -1,5 +1,5 @@ { config, pkgs, ...}: { - programs.kdeconnect.enable = true; + services.kdeconnect.enable = true; } diff --git a/packages.nix b/packages.nix index 90a0a46..bf8f509 100644 --- a/packages.nix +++ b/packages.nix @@ -135,6 +135,11 @@ with pkgs; { wofi # Desktop tools + obs-studio + tesseract + jq + wf-recorder + yt-dlp wl-clipboard grim slurp