I don't know 3

This commit is contained in:
2026-02-19 01:36:31 +03:00
parent 25d3b47847
commit 6c7f3a753a
16 changed files with 570 additions and 132 deletions

View File

@@ -0,0 +1,7 @@
# Path to Oh My Fish install.
set -q XDG_DATA_HOME
and set -gx OMF_PATH "$XDG_DATA_HOME/omf"
or set -gx OMF_PATH "$HOME/.local/share/omf"
# Load Oh My Fish configuration.
source $OMF_PATH/init.fish

View File

@@ -1,4 +1,5 @@
function fish_greeting function fish_greeting
oh-my-posh init fish --config ~/agnosterplus.omp.json | source
fastfetch fastfetch
echo -e "\e[34m \e[39m""$(hyprctl splash)" echo -e "\e[34m \e[39m""$(hyprctl splash)"
end end

View File

@@ -0,0 +1,136 @@
function fish_prompt
# This prompt shows:
# - green lines if the last return command is OK, red otherwise
# - your user name, in red if root or yellow otherwise
# - your hostname, in cyan if ssh or blue otherwise
# - the current path (with prompt_pwd)
# - date +%X
# - the current virtual environment, if any
# - the current git status, if any, with fish_git_prompt
# - the current battery state, if any, and if your power cable is unplugged, and if you have "acpi"
# - current background jobs, if any
# It goes from:
# ┬─[nim@Hattori:~]─[11:39:00]
# ╰─>$ echo here
# To:
# ┬─[nim@Hattori:~/w/dashboard]─[11:37:14]─[V:django20]─[G:master↑1|●1✚1…1]─[B:85%, 05:41:42 remaining]
# │ 2 15054 0% arrêtée sleep 100000
# │ 1 15048 0% arrêtée sleep 100000
# ╰─>$ echo there
set -l retc red
test $status = 0; and set retc green
set -q __fish_git_prompt_showupstream
or set -g __fish_git_prompt_showupstream auto
function _nim_prompt_wrapper
set retc $argv[1]
set -l field_name $argv[2]
set -l field_value $argv[3]
set_color normal
set_color $retc
echo -n '─'
set_color -o green
echo -n '['
set_color normal
test -n $field_name
and echo -n $field_name:
set_color $retc
echo -n $field_value
set_color -o green
echo -n ']'
end
set_color $retc
echo -n '┬─'
set_color -o green
echo -n [
if functions -q fish_is_root_user; and fish_is_root_user
set_color -o red
else
set_color -o yellow
end
echo -n $USER
set_color -o white
echo -n @
if test -z "$SSH_CLIENT"
set_color -o blue
else
set_color -o cyan
end
echo -n (prompt_hostname)
set_color -o white
echo -n :(prompt_pwd)
set_color -o green
echo -n ']'
# Date
_nim_prompt_wrapper $retc '' (date +%X)
# Vi-mode
if test "$fish_key_bindings" = fish_vi_key_bindings
or test "$fish_key_bindings" = fish_hybrid_key_bindings
set -l mode
switch $fish_bind_mode
case default
set mode (set_color --bold red)N
case operator
set mode (set_color --bold cyan)N
case insert
set mode (set_color --bold green)I
case replace_one
set mode (set_color --bold green)R
case replace
set mode (set_color --bold cyan)R
case visual
set mode (set_color --bold magenta)V
end
set mode $mode(set_color normal)
_nim_prompt_wrapper $retc '' $mode
end
# Virtual Environment
set -q VIRTUAL_ENV_DISABLE_PROMPT
or set -g VIRTUAL_ENV_DISABLE_PROMPT true
set -q VIRTUAL_ENV
and _nim_prompt_wrapper $retc V (path basename "$VIRTUAL_ENV")
# git
set -l prompt_git (fish_git_prompt '%s')
test -n "$prompt_git"
and _nim_prompt_wrapper $retc G $prompt_git
# Battery status
type -q acpi
and acpi -a 2>/dev/null | string match -rq off
and _nim_prompt_wrapper $retc B (acpi -b | cut -d' ' -f 4-)
# New line
echo
# Background jobs
set_color normal
for job in (jobs)
set_color $retc
echo -n '│ '
set_color brown
echo $job
end
set_color normal
set_color $retc
echo -n '╰─>'
set_color -o red
echo -n '$ '
set_color normal
end

View File

@@ -1,136 +1,29 @@
function fish_prompt function fish_prompt --description 'Write out the prompt'
# This prompt shows: set -l last_pipestatus $pipestatus
# - green lines if the last return command is OK, red otherwise set -lx __fish_last_status $status # Export for __fish_print_pipestatus.
# - your user name, in red if root or yellow otherwise set -l normal (set_color normal)
# - your hostname, in cyan if ssh or blue otherwise
# - the current path (with prompt_pwd)
# - date +%X
# - the current virtual environment, if any
# - the current git status, if any, with fish_git_prompt
# - the current battery state, if any, and if your power cable is unplugged, and if you have "acpi"
# - current background jobs, if any
# It goes from:
# ┬─[nim@Hattori:~]─[11:39:00]
# ╰─>$ echo here
# To:
# ┬─[nim@Hattori:~/w/dashboard]─[11:37:14]─[V:django20]─[G:master↑1|●1✚1…1]─[B:85%, 05:41:42 remaining]
# │ 2 15054 0% arrêtée sleep 100000
# │ 1 15048 0% arrêtée sleep 100000
# ╰─>$ echo there
set -l retc red
test $status = 0; and set retc green
set -q __fish_git_prompt_showupstream
or set -g __fish_git_prompt_showupstream auto
function _nim_prompt_wrapper
set retc $argv[1]
set -l field_name $argv[2]
set -l field_value $argv[3]
set_color normal
set_color $retc
echo -n '─'
set_color -o green
echo -n '['
set_color normal
test -n $field_name
and echo -n $field_name:
set_color $retc
echo -n $field_value
set_color -o green
echo -n ']'
end
set_color $retc
echo -n '┬─'
set_color -o green
echo -n [
# Color the prompt differently when we're root
set -l color_cwd $fish_color_cwd
set -l suffix '>'
if functions -q fish_is_root_user; and fish_is_root_user if functions -q fish_is_root_user; and fish_is_root_user
set_color -o red if set -q fish_color_cwd_root
else set color_cwd $fish_color_cwd_root
set_color -o yellow
end
echo -n $USER
set_color -o white
echo -n @
if test -z "$SSH_CLIENT"
set_color -o blue
else
set_color -o cyan
end
echo -n (prompt_hostname)
set_color -o white
echo -n :(prompt_pwd)
set_color -o green
echo -n ']'
# Date
_nim_prompt_wrapper $retc '' (date +%X)
# Vi-mode
if test "$fish_key_bindings" = fish_vi_key_bindings
or test "$fish_key_bindings" = fish_hybrid_key_bindings
set -l mode
switch $fish_bind_mode
case default
set mode (set_color --bold red)N
case operator
set mode (set_color --bold cyan)N
case insert
set mode (set_color --bold green)I
case replace_one
set mode (set_color --bold green)R
case replace
set mode (set_color --bold cyan)R
case visual
set mode (set_color --bold magenta)V
end end
set mode $mode(set_color normal) set suffix '#'
_nim_prompt_wrapper $retc '' $mode
end end
# Virtual Environment # Write pipestatus
set -q VIRTUAL_ENV_DISABLE_PROMPT # If the status was carried over (if no command is issued or if `set` leaves the status untouched), don't bold it.
or set -g VIRTUAL_ENV_DISABLE_PROMPT true set -l bold_flag --bold
set -q VIRTUAL_ENV set -q __fish_prompt_status_generation; or set -g __fish_prompt_status_generation $status_generation
and _nim_prompt_wrapper $retc V (path basename "$VIRTUAL_ENV") if test $__fish_prompt_status_generation = $status_generation
set bold_flag
# git
set -l prompt_git (fish_git_prompt '%s')
test -n "$prompt_git"
and _nim_prompt_wrapper $retc G $prompt_git
# Battery status
type -q acpi
and acpi -a 2>/dev/null | string match -rq off
and _nim_prompt_wrapper $retc B (acpi -b | cut -d' ' -f 4-)
# New line
echo
# Background jobs
set_color normal
for job in (jobs)
set_color $retc
echo -n '│ '
set_color brown
echo $job
end end
set __fish_prompt_status_generation $status_generation
set -l status_color (set_color $fish_color_status)
set -l statusb_color (set_color $bold_flag $fish_color_status)
set -l prompt_status (__fish_print_pipestatus "[" "]" "|" "$status_color" "$statusb_color" $last_pipestatus)
set_color normal echo -n -s (prompt_login)' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " "
set_color $retc
echo -n '╰─>'
set_color -o red
echo -n '$ '
set_color normal
end end

View File

@@ -2,5 +2,5 @@ theme = TokyoNight Storm
background-opacity = 0.5 background-opacity = 0.5
font-size = 11.5 font-size = 11.5
font-family = JetBrainsMono Nerd Font font-family = JetBrainsMono Nerd Font
window-height = 40 #window-save-state = always
window-width = 40 working-directory = inherit

View File

@@ -0,0 +1,36 @@
animations {
enabled = yes, please :)
# Animations curves
bezier = linear, 0, 0, 1, 1
bezier = md3_standard, 0.2, 0, 0, 1
bezier = md3_decel, 0.05, 0.7, 0.1, 1
bezier = md3_accel, 0.3, 0, 0.8, 0.15
bezier = overshot, 0.05, 0.9, 0.1, 1.1
bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
bezier = menu_decel, 0.1, 1, 0, 1
bezier = menu_accel, 0.38, 0.04, 1, 0.07
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
bezier = easeOutCirc, 0, 0.55, 0.45, 1
bezier = easeOutExpo, 0.16, 1, 0.3, 1
bezier = softAcDecel, 0.26, 0.26, 0.15, 1
bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration
# Animation configs
animation = windows, 1, 3, md3_decel, popin 60%
animation = windowsIn, 1, 3, md3_decel, popin 60%
animation = windowsOut, 1, 3, md3_accel, popin 60%
animation = border, 1, 10, default
animation = fade, 1, 3, md3_decel
animation = layers, 1, 2, md3_decel, slide
animation = layersIn, 1, 3, menu_decel, slide
animation = layersOut, 1, 1.6, menu_accel
animation = fadeLayersIn, 1, 2, menu_decel
animation = fadeLayersOut, 1, 4.5, menu_accel
animation = workspaces, 1, 7, menu_decel, slide
animation = workspaces, 1, 2.5, softAcDecel, slide
animation = workspaces, 1, 7, menu_decel, slidefade 15%
animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15%
animation = specialWorkspace, 1, 3, md3_decel, slidevert
}

View File

@@ -0,0 +1,7 @@
bind = SUPER, RETURN, exec, runapp xdg-terminal-exec --app-id=app.ghostty
bind = SUPER, E, exec, runapp nautilus
bind = SUPER, B, exec, runapp zen
bind = SUPER, T, exec, runapp Telegram
bind = SUPER, F1, exec, pkexec awg-quick up awg0
bind = SUPER, F2, exec, pkexec awg-quick down awg0
bind = , PRINT, exec, hyprshot -m region

162
.config/hypr/hypr.conf Normal file
View File

@@ -0,0 +1,162 @@
gesture = 3, horizontal, workspace
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
#####################
### LOOK AND FEEL ###
#####################
#general {
# gaps_in = 5
# gaps_out = 20
#
# border_size = 2
#
# col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
# col.inactive_border = rgba(595959aa)
#
# # Set to true enable resizing windows by clicking and dragging on borders and gaps
# resize_on_border = false
#
# # Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on
# allow_tearing = false
#
# layout = dwindle
#}
#decoration {
# rounding = 10
# rounding_power = 2
#
# # Change transparency of focused and unfocused windows
# active_opacity = 1.0
# inactive_opacity = 1.0
#
# shadow {
# enabled = true
# range = 4
# render_power = 3
# color = rgba(1a1a1aee)
# }
#
# # https://wiki.hypr.land/Configuring/Variables/#blur
# blur {
# enabled = true
# size = 4
# passes = 2
# popups = true
# special = true
# brightness = 0.75
# }
#}
#
#animations {
# enabled = yes, please :)
#
# # Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves
# # NAME, X0, Y0, X1, Y1
# bezier = easeOutQuint, 0.23, 1, 0.32, 1
# bezier = easeInOutCubic, 0.65, 0.05, 0.36, 1
# bezier = linear, 0, 0, 1, 1
# bezier = almostLinear, 0.5, 0.5, 0.75, 1
# bezier = quick, 0.15, 0, 0.1, 1
#
# # Default animations, see https://wiki.hypr.land/Configuring/Animations/
# # NAME, ONOFF, SPEED, CURVE, [STYLE]
# animation = global, 1, 10, default
# animation = border, 1, 5.39, easeOutQuint
# animation = windows, 1, 4.79, easeOutQuint
# animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
# animation = windowsOut, 1, 1.49, linear, popin 87%
# animation = fadeIn, 1, 1.73, almostLinear
# animation = fadeOut, 1, 1.46, almostLinear
# animation = fade, 1, 3.03, quick
# animation = layers, 1, 3.81, easeOutQuint
# animation = layersIn, 1, 4, easeOutQuint, fade
# animation = layersOut, 1, 1.5, linear, fade
# animation = fadeLayersIn, 1, 1.79, almostLinear
# animation = fadeLayersOut, 1, 1.39, almostLinear
# animation = workspaces, 1, 1.94, almostLinear, fade
# animation = workspacesIn, 1, 1.21, almostLinear, fade
# animation = workspacesOut, 1, 1.94, almostLinear, fade
# animation = zoomFactor, 1, 7, quick
#}
#
# Ref https://wiki.hypr.land/Configuring/Workspace-Rules/
# "Smart gaps" / "No gaps when only"
# uncomment all if you wish to use that.
# workspace = w[tv1], gapsout:0, gapsin:0
# workspace = f[1], gapsout:0, gapsin:0
# windowrule {
# name = no-gaps-wtv1
# match:float = false
# match:workspace = w[tv1]
#
# border_size = 0
# rounding = 0
# }
#
# windowrule {
# name = no-gaps-f1
# match:float = false
# match:workspace = f[1]
#
# border_size = 0
# rounding = 0
# }
# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more
#dwindle {
# pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
# preserve_split = true # You probably want this
#}
#
## See https://wiki.hypr.land/Configuring/Master-Layout/ for more
#master {
# new_status = master
#}
#
## https://wiki.hypr.land/Configuring/Variables/#misc
#misc {
# force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
# disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
#}
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hypr.land/Configuring/Window-Rules/ for more
# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules
# Example windowrules that are useful
windowrule {
# Ignore maximize requests from all apps. You'll probably like this.
name = suppress-maximize-events
match:class = .*
suppress_event = maximize
}
windowrule {
# Fix some dragging issues with XWayland
name = fix-xwayland-drags
match:class = ^$
match:title = ^$
match:xwayland = true
match:float = true
match:fullscreen = false
match:pin = false
no_focus = true
}
# Hyprland-run windowrule
windowrule {
name = move-hyprland-run
match:class = hyprland-run
move = 20 monitor_h-120
float = yes
}

View File

@@ -0,0 +1,12 @@
monitor = eDP-1, 1920x1080@60, 0x0, 1
watchdog_timeout = 0
misc:vfr = true
source = ~/.config/hypr/input.conf
source = ~/.config/hypr/tiling.conf
source = ~/.config/hypr/sys-bindings.conf
source = ~/.config/hypr/bindings.conf
source = ~/.config/hypr/looknfeel.conf
source = ~/.config/hypr/animations.conf
source = ~/.config/hypr/rules.conf
source = ~/.config/hypr/hypr.conf

12
.config/hypr/input.conf Normal file
View File

@@ -0,0 +1,12 @@
input {
kb_layout = us,ru
kb_options = grp:alt_caps_toggle,compose:ralt
sensitivity = 0.5
follow_mouse = 1
touchpad {
natural_scroll = true
middle_button_emulation = true
}
}

View File

@@ -0,0 +1,55 @@
general {
border_size = 2
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
gaps_in = 5
gaps_out = 8
layout = dwindle
snap {
enabled = true
monitor_gap = 20
respect_gaps = true
}
}
decoration {
rounding = 8
active_opacity = 1#0.93
inactive_opacity = 1#0.96
#fullscreen_opacity = 0.95
#dim_inactive = true
#dim_strength = 0.1
blur {
enabled = true
size = 4
passes = 2
popups = true
special = true
brightness = 0.75
}
shadow {
enabled = true
range = 8
render_power = 3
color = rgba(42aaffee)
}
}
dwindle {
pseudotile = true
preserve_split = true
}
misc {
enable_swallow = true
swallow_regex = ^(app.ghostty)$
swallow_exception_regex = (wev).*
}
render:cm_sdr_eotf = 0

0
.config/hypr/rules.conf Normal file
View File

View File

@@ -0,0 +1,14 @@
# Multimedia keys for volume and LCD brightness
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
# Playerctl
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous

101
.config/hypr/tiling.conf Normal file
View File

@@ -0,0 +1,101 @@
bind = SUPER, W, killactive,
bind = SUPER, P, pseudo,
bind = SUPER, J, togglesplit,
bind = SUPER, F, togglefloating,
bind = SUPER, H, resizewindowpixel,100 100,
bind = SUPER SHIFT, F, fullscreenstate, 3 3
bind = SUPER ALT, F, fullscreenstate, 0 3
bind = SUPER, O, togglefloating,
bind = SUPER, O, pin,
# Move focus
bind = SUPER, left, movefocus, l
bind = SUPER, right, movefocus, r
bind = SUPER, up, movefocus, u
bind = SUPER, down, movefocus, d
#Cycle through applications on active workspace (ПЕРЕРАБОТАТЬ)
bind = ALT, TAB, cyclenext,
bind = ALT SHIFT, TAB, cyclenext, prev
bind = ALT, TAB, bringactivetotop,
bind = ALT SHIFT, TAB, bringactivetotop,
# Switch workspaces
bind = SUPER, 1, workspace, 1
bind = SUPER, 2, workspace, 2
bind = SUPER, 3, workspace, 3
bind = SUPER, 4, workspace, 4
bind = SUPER, 5, workspace, 5
bind = SUPER, 6, workspace, 6
bind = SUPER, 7, workspace, 7
bind = SUPER, 8, workspace, 8
bind = SUPER, 9, workspace, 9
bind = SUPER, 0, workspace, 10
# TAB between workspaces
bind = SUPER, TAB, workspace, e+1
bind = SUPER SHIFT, TAB, workspace, e-1
bind = SUPER ALT, TAB, workspace, previous
# Scroll through existing workspaces
bind = SUPER, mouse_down, workspace, e+1
bind = SUPER, mouse_up, workspace, e-1
# Swap active window
bind = SUPER SHIFT, left, swapwindow, l
bind = SUPER SHIFT, right, swapwindow, r
bind = SUPER SHIFT, up, swapwindow, u
bind = SUPER SHIFT, down, swapwindow, d
#Move window with mouse
bindm = SUPER, mouse:272, movewindow
# Move active window to a workspace
bind = SUPER SHIFT, 1, movetoworkspace, 1
bind = SUPER SHIFT, 2, movetoworkspace, 2
bind = SUPER SHIFT, 3, movetoworkspace, 3
bind = SUPER SHIFT, 4, movetoworkspace, 4
bind = SUPER SHIFT, 5, movetoworkspace, 5
bind = SUPER SHIFT, 6, movetoworkspace, 6
bind = SUPER SHIFT, 7, movetoworkspace, 7
bind = SUPER SHIFT, 8, movetoworkspace, 8
bind = SUPER SHIFT, 9, movetoworkspace, 9
bind = SUPER SHIFT, 0, movetoworkspace, 10
# Move active window silently to a workspace
bind = SUPER SHIFT ALT, 1, movetoworkspacesilent, 1
bind = SUPER SHIFT ALT, 2, movetoworkspacesilent, 2
bind = SUPER SHIFT ALT, 3, movetoworkspacesilent, 3
bind = SUPER SHIFT ALT, 4, movetoworkspacesilent, 4
bind = SUPER SHIFT ALT, 5, movetoworkspacesilent, 5
bind = SUPER SHIFT ALT, 6, movetoworkspacesilent, 6
bind = SUPER SHIFT ALT, 7, movetoworkspacesilent, 7
bind = SUPER SHIFT ALT, 8, movetoworkspacesilent, 8
bind = SUPER SHIFT ALT, 9, movetoworkspacesilent, 9
bind = SUPER SHIFT ALT, 0, movetoworkspacesilent, 10
# Special workspace (scratchpad)
bind = SUPER, S, togglespecialworkspace, scratchpad
bind = SUPER SHIFT, S, movetoworkspace, special:scratchpad
# ДОБАВИТЬ КОНФИГУРАЦИЮ ДЛЯ НЕСКОЛЬКИХ МОНИТОРОВ
# ДОБАВИТЬ КОНФИГУРАЦИЮ ГРУПП
# Resize
bind = ALT, R, submap, resize
submap = resize
binde = , right, resizeactive, 10 0
binde = , left, resizeactive, -10 0
binde = , up, resizeactive, 0 -10
binde = , down, resizeactive, 0 10
binde = SHIFT, right, resizeactive, 100 0
binde = SHIFT, left, resizeactive, -100 0
binde = SHIFT, up, resizeactive, 0 -100
binde = SHIFT, down, resizeactive, 0 100
bind = , escape, submap, reset
submap = reset
bindm = SUPER, mouse:273, resizewindow

View File

@@ -1 +1,2 @@
kitty.desktop
com.mitchellh.ghostty.desktop com.mitchellh.ghostty.desktop

View File

@@ -2,5 +2,6 @@ Host VPS
HostName postmodernist.ru HostName postmodernist.ru
User root User root
Port 8749 Port 8749
Host git.postmodernist.ru Host Gitea-host
Port 221 HostName 192.168.1.4
User root