Compare commits
23 Commits
a99cfbf685
...
niri
| Author | SHA1 | Date | |
|---|---|---|---|
| 5731bd1d59 | |||
| deb1ee66da | |||
| c92dc54a70 | |||
| c62bb5df8a | |||
| 5b1c4bb190 | |||
| 178191a94e | |||
| 89c68f9a9a | |||
| b51ef3b9bc | |||
| 4f064620b1 | |||
| 8b0d4464ca | |||
| 753ee709f2 | |||
| b6ac2f111a | |||
| 20f45235ef | |||
| db14f89b2f | |||
| 4db9bae3b3 | |||
| 410931dcb8 | |||
| 3b94dc69c2 | |||
| e628e6c6db | |||
| 0b4740a3f4 | |||
| 51c4213e8a | |||
| ee1aa4f734 | |||
| 4d70878ade | |||
| a482facdec |
@@ -12,7 +12,7 @@ text_color=FFFFFF
|
||||
position=top-right
|
||||
|
||||
no_display
|
||||
|
||||
pci_dev=0:01:00.0
|
||||
table_columns=3
|
||||
gpu_text=GPU
|
||||
gpu_stats
|
||||
@@ -45,5 +45,6 @@ output_folder=/home/vivian/.mangohud/logs
|
||||
log_duration=30
|
||||
autostart_log=0
|
||||
log_interval=100
|
||||
blacklist=protonplus,lsfg-vk-ui,bazzar,gnome-calculator,pamac-manager,lact,ghb,bitwig-studio,ptyxis,yumex
|
||||
toggle_logging=Shift_L+F2
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
{
|
||||
"type": "packages",
|
||||
"key": " \uf1b2 Packages",
|
||||
"format": "{2} (pacman), {43} (flatpak)",
|
||||
"format": "{2} (pacman), {44} (flatpak)",
|
||||
},
|
||||
{
|
||||
"type": "terminal",
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.4 MiB |
@@ -4,11 +4,16 @@ if status is-interactive
|
||||
# Commands to run in interactive sessions can go here
|
||||
end
|
||||
|
||||
oh-my-posh init fish --config $HOME/.config/ohmyposh/atomic.omp.json | source
|
||||
pokeget $(shuf -i 1-721 -n 1) --hide-name
|
||||
oh-my-posh init fish --config $HOME/.config/ohmyposh/craver.omp.json | source
|
||||
#pokeget $(shuf -i 1-721 -n 1) --hide-name
|
||||
#hyfetch
|
||||
#fastfetch
|
||||
zoxide init fish | source
|
||||
fzf --fish | source
|
||||
|
||||
alias ll="ls -lh"
|
||||
alias la="ls -lha"
|
||||
alias ll="eza -lh"
|
||||
alias la="eza -lha"
|
||||
alias lc="clear && eza"
|
||||
alias fulltree="tree -I \".git\" -a ."
|
||||
|
||||
alias burn-orphanage="pacman -Qqtd | sudo pacman -Rsu -"
|
||||
@@ -16,4 +21,16 @@ alias burn-orphanage="pacman -Qqtd | sudo pacman -Rsu -"
|
||||
alias cd..="cd .."
|
||||
alias girlboss="sudo"
|
||||
|
||||
alias vifish="vim $HOME/.config/fish/config.fish"
|
||||
alias anifetch="python3 ~/.anifetch/anifetch.py -f \"~/.anifetch/video.mp4\" --framerate 30 --width 60 --height 60 -c \"--symbols wide --fg-only\""
|
||||
|
||||
alias vifish="nvim $HOME/.config/fish/config.fish"
|
||||
alias thmvpn="sudo openvpn $HOME/Documents/VPNConfig/TheSparkle.ovpn"
|
||||
|
||||
alias obs-fix="__NV_DISABLE_EXPLICIT_SYNC=1 flatpak run com.obsproject.Studio"
|
||||
|
||||
# pnpm
|
||||
set -gx PNPM_HOME "/home/vivian/.local/share/pnpm"
|
||||
if not string match -q -- $PNPM_HOME $PATH
|
||||
set -gx PATH "$PNPM_HOME" $PATH
|
||||
end
|
||||
# pnpm end
|
||||
|
||||
@@ -29,3 +29,4 @@ SETUVAR fish_pager_color_description:yellow\x1e\x2di
|
||||
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
|
||||
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
||||
SETUVAR fish_pager_color_selected_background:\x2dr
|
||||
SETUVAR fish_user_paths:/usr/bin
|
||||
|
||||
@@ -4,7 +4,7 @@ function whoseturn
|
||||
set days_passed (math floor\((math $current_date - $start_date) / 86400\))
|
||||
|
||||
if test (math $days_passed % 2) -eq 0
|
||||
echo "Alex's turn"
|
||||
echo "Darling's turn"
|
||||
else
|
||||
echo "My turn"
|
||||
end
|
||||
|
||||
17
.config/ghostty/config##default
Normal file
17
.config/ghostty/config##default
Normal file
@@ -0,0 +1,17 @@
|
||||
font-family =
|
||||
font-family-bold =
|
||||
font-family-italic =
|
||||
font-family-bold-italic =
|
||||
font-size = 16
|
||||
theme =
|
||||
background = 131313
|
||||
foreground = ffffff
|
||||
cursor-color =
|
||||
cursor-invert-fg-bg = false
|
||||
cursor-opacity = 1
|
||||
cursor-style = block
|
||||
cursor-style-blink = true
|
||||
background-opacity = .7
|
||||
background-blur = false
|
||||
maximize = true
|
||||
fullscreen = false
|
||||
17
.config/ghostty/config##hostname.ROTOM
Normal file
17
.config/ghostty/config##hostname.ROTOM
Normal file
@@ -0,0 +1,17 @@
|
||||
font-family =
|
||||
font-family-bold =
|
||||
font-family-italic =
|
||||
font-family-bold-italic =
|
||||
font-size = 14
|
||||
theme =
|
||||
background = 131313
|
||||
foreground = ffffff
|
||||
cursor-color =
|
||||
cursor-invert-fg-bg = false
|
||||
cursor-opacity = 1
|
||||
cursor-style = block
|
||||
cursor-style-blink = true
|
||||
background-opacity = .7
|
||||
background-blur = false
|
||||
maximize = true
|
||||
fullscreen = false
|
||||
59
.config/godot/editor_settings-4.4.tres
Normal file
59
.config/godot/editor_settings-4.4.tres
Normal file
@@ -0,0 +1,59 @@
|
||||
[gd_resource type="EditorSettings" load_steps=4 format=3]
|
||||
|
||||
[sub_resource type="InputEventKey" id="InputEventKey_mrics"]
|
||||
keycode = 4194326
|
||||
|
||||
[sub_resource type="InputEventKey" id="InputEventKey_q0wo0"]
|
||||
command_or_control_autoremap = true
|
||||
alt_pressed = true
|
||||
keycode = 4194322
|
||||
|
||||
[sub_resource type="InputEventKey" id="InputEventKey_ajlpy"]
|
||||
device = -1
|
||||
ctrl_pressed = true
|
||||
physical_keycode = 68
|
||||
unicode = 100
|
||||
|
||||
[resource]
|
||||
interface/editor/code_font_size = 16
|
||||
interface/editor/code_font_contextual_ligatures = 0
|
||||
interface/inspector/default_color_picker_mode = 1
|
||||
interface/theme/preset = "Custom"
|
||||
interface/theme/base_color = Color(0.0656131, 0.0740848, 0.0825535, 1)
|
||||
interface/theme/accent_color = Color(0.570082, 0.23856, 0.677232, 1)
|
||||
interface/theme/contrast = 0.3
|
||||
filesystem/directories/default_project_path = "/home/vivian/Coding/Godot"
|
||||
filesystem/file_dialog/show_hidden_files = true
|
||||
filesystem/import/blender/blender_path = "/var/lib/flatpak/exports/bin/org.blender.Blender"
|
||||
text_editor/behavior/navigation/scroll_past_end_of_file = true
|
||||
network/connection/network_mode = 1
|
||||
export/android/debug_keystore = "/home/vivian/.local/share/godot/keystores/debug.keystore"
|
||||
export/android/debug_keystore_pass = "android"
|
||||
export/android/java_sdk_path = ""
|
||||
export/android/android_sdk_path = "/home/vivian/Android/Sdk"
|
||||
export/macos/rcodesign = ""
|
||||
export/web/http_port = 8060
|
||||
export/web/tls_key = ""
|
||||
export/web/tls_certificate = ""
|
||||
export/windows/rcedit = ""
|
||||
export/windows/osslsigncode = ""
|
||||
export/windows/wine = ""
|
||||
_editor_settings_advanced_mode = false
|
||||
_project_settings_advanced_mode = false
|
||||
_export_template_download_directory = ""
|
||||
_default_feature_profile = ""
|
||||
_script_setup_templates_dictionary = {
|
||||
"Node2D": "0NodeDefault"
|
||||
}
|
||||
_use_favorites_root_selection = false
|
||||
_script_setup_use_script_templates = false
|
||||
shortcuts = [{
|
||||
"name": "spatial_editor/viewport_zoom_modifier_1",
|
||||
"shortcuts": [SubResource("InputEventKey_mrics")]
|
||||
}, {
|
||||
"name": "spatial_editor/viewport_zoom_modifier_2",
|
||||
"shortcuts": []
|
||||
}, {
|
||||
"name": "script_text_editor/duplicate_lines",
|
||||
"shortcuts": [SubResource("InputEventKey_q0wo0"), SubResource("InputEventKey_ajlpy")]
|
||||
}]
|
||||
92
.config/godot/editor_settings-4.5.tres
Normal file
92
.config/godot/editor_settings-4.5.tres
Normal file
@@ -0,0 +1,92 @@
|
||||
[gd_resource type="EditorSettings" load_steps=4 format=3]
|
||||
|
||||
[sub_resource type="InputEventKey" id="InputEventKey_xf3c6"]
|
||||
keycode = 4194326
|
||||
|
||||
[sub_resource type="InputEventKey" id="InputEventKey_q0wo0"]
|
||||
command_or_control_autoremap = true
|
||||
alt_pressed = true
|
||||
keycode = 4194322
|
||||
|
||||
[sub_resource type="InputEventKey" id="InputEventKey_ajlpy"]
|
||||
device = -1
|
||||
ctrl_pressed = true
|
||||
physical_keycode = 68
|
||||
unicode = 100
|
||||
|
||||
[resource]
|
||||
interface/editor/code_font_size = 18
|
||||
interface/editor/code_font_contextual_ligatures = 0
|
||||
interface/editor/accept_dialog_cancel_ok_buttons = 1
|
||||
interface/inspector/default_color_picker_mode = 1
|
||||
interface/theme/preset = "Custom"
|
||||
interface/theme/base_color = Color(0.07803378, 0.08585385, 0.09367397, 1)
|
||||
interface/theme/accent_color = Color(0.570082, 0.23856, 0.677232, 1)
|
||||
interface/theme/contrast = 0.3
|
||||
filesystem/directories/default_project_path = "/home/vivian/Coding/Godot"
|
||||
filesystem/file_dialog/show_hidden_files = true
|
||||
filesystem/import/blender/blender_path = "/var/lib/flatpak/exports/bin/org.blender.Blender"
|
||||
text_editor/theme/highlighting/symbol_color = Color(0.67, 0.79, 1, 1)
|
||||
text_editor/theme/highlighting/keyword_color = Color(1, 0.44, 0.52, 1)
|
||||
text_editor/theme/highlighting/control_flow_keyword_color = Color(1, 0.55, 0.8, 1)
|
||||
text_editor/theme/highlighting/base_type_color = Color(0.26, 1, 0.76, 1)
|
||||
text_editor/theme/highlighting/engine_type_color = Color(0.56, 1, 0.86, 1)
|
||||
text_editor/theme/highlighting/user_type_color = Color(0.78, 1, 0.93, 1)
|
||||
text_editor/theme/highlighting/comment_color = Color(0.7695085, 0.77146345, 0.7734185, 0.5)
|
||||
text_editor/theme/highlighting/doc_comment_color = Color(0.6, 0.7, 0.8, 0.8)
|
||||
text_editor/theme/highlighting/string_color = Color(1, 0.93, 0.63, 1)
|
||||
text_editor/theme/highlighting/background_color = Color(0.042918578, 0.047219615, 0.05152068, 1)
|
||||
text_editor/theme/highlighting/completion_background_color = Color(0.07803378, 0.08585385, 0.09367397, 1)
|
||||
text_editor/theme/highlighting/completion_selected_color = Color(1, 1, 1, 0.07)
|
||||
text_editor/theme/highlighting/completion_existing_color = Color(1, 1, 1, 0.14)
|
||||
text_editor/theme/highlighting/completion_font_color = Color(0.7695085, 0.77146345, 0.7734185, 1)
|
||||
text_editor/theme/highlighting/text_color = Color(0.7695085, 0.77146345, 0.7734185, 1)
|
||||
text_editor/theme/highlighting/line_number_color = Color(0.7695085, 0.77146345, 0.7734185, 0.5)
|
||||
text_editor/theme/highlighting/safe_line_number_color = Color(0.7695085, 0.92575616, 0.7734185, 0.75)
|
||||
text_editor/theme/highlighting/caret_color = Color(1, 1, 1, 1)
|
||||
text_editor/theme/highlighting/selection_color = Color(0.570082, 0.23856, 0.677232, 0.4)
|
||||
text_editor/theme/highlighting/brace_mismatch_color = Color(1, 0.47, 0.42, 1)
|
||||
text_editor/theme/highlighting/current_line_color = Color(1, 1, 1, 0.07)
|
||||
text_editor/theme/highlighting/line_length_guideline_color = Color(0.07803378, 0.08585385, 0.09367397, 1)
|
||||
text_editor/theme/highlighting/word_highlighted_color = Color(1, 1, 1, 0.07)
|
||||
text_editor/theme/highlighting/number_color = Color(0.63, 1, 0.88, 1)
|
||||
text_editor/theme/highlighting/function_color = Color(0.34, 0.7, 1, 1)
|
||||
text_editor/theme/highlighting/member_variable_color = Color(0.736, 0.88, 1, 1)
|
||||
text_editor/theme/highlighting/mark_color = Color(1, 0.47, 0.42, 0.3)
|
||||
text_editor/theme/highlighting/warning_color = Color(1, 0.87, 0.4, 0.15)
|
||||
text_editor/theme/highlighting/breakpoint_color = Color(1, 0.47, 0.42, 1)
|
||||
text_editor/theme/highlighting/code_folding_color = Color(1, 1, 1, 0.27)
|
||||
text_editor/theme/highlighting/search_result_color = Color(1, 1, 1, 0.07)
|
||||
text_editor/behavior/navigation/scroll_past_end_of_file = true
|
||||
network/connection/network_mode = 1
|
||||
export/android/debug_keystore = "/home/vivian/.local/share/godot/keystores/debug.keystore"
|
||||
export/android/debug_keystore_pass = "android"
|
||||
export/android/java_sdk_path = ""
|
||||
export/android/android_sdk_path = "/home/vivian/Android/Sdk"
|
||||
export/macos/rcodesign = ""
|
||||
export/web/http_port = 8060
|
||||
export/web/tls_key = ""
|
||||
export/web/tls_certificate = ""
|
||||
export/windows/rcedit = ""
|
||||
export/windows/osslsigncode = ""
|
||||
export/windows/wine = ""
|
||||
_editor_settings_advanced_mode = false
|
||||
_project_settings_advanced_mode = false
|
||||
_export_template_download_directory = ""
|
||||
_default_feature_profile = "2D Only"
|
||||
_script_setup_templates_dictionary = {
|
||||
"CharacterBody2D": "0CharacterBody2DBasic Movement",
|
||||
"Node2D": "0NodeDefault"
|
||||
}
|
||||
_use_favorites_root_selection = false
|
||||
_script_setup_use_script_templates = false
|
||||
shortcuts = [{
|
||||
"name": "spatial_editor/viewport_zoom_modifier_1",
|
||||
"shortcuts": [SubResource("InputEventKey_xf3c6")]
|
||||
}, {
|
||||
"name": "spatial_editor/viewport_zoom_modifier_2",
|
||||
"shortcuts": []
|
||||
}, {
|
||||
"name": "script_text_editor/duplicate_lines",
|
||||
"shortcuts": [SubResource("InputEventKey_q0wo0"), SubResource("InputEventKey_ajlpy")]
|
||||
}]
|
||||
11
.config/godot/feature_profiles/2D Only.profile
Normal file
11
.config/godot/feature_profiles/2D Only.profile
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"disabled_classes": [
|
||||
"Node3D"
|
||||
],
|
||||
"disabled_editors": [],
|
||||
"disabled_features": [
|
||||
"3d"
|
||||
],
|
||||
"disabled_properties": [],
|
||||
"type": "feature_profile"
|
||||
}
|
||||
7
.config/godot/feature_profiles/Default.profile
Normal file
7
.config/godot/feature_profiles/Default.profile
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"disabled_classes": [],
|
||||
"disabled_editors": [],
|
||||
"disabled_features": [],
|
||||
"disabled_properties": [],
|
||||
"type": "feature_profile"
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
{
|
||||
"preset": "transgender",
|
||||
"mode": "rgb",
|
||||
"light_dark": "dark",
|
||||
"lightness": 0.65,
|
||||
"color_align": {
|
||||
"mode": "horizontal",
|
||||
"custom_colors": [],
|
||||
"fore_back": null
|
||||
},
|
||||
"backend": "fastfetch",
|
||||
"args": null,
|
||||
"distro": null,
|
||||
"pride_month_shown": [],
|
||||
"pride_month_disable": false
|
||||
"preset": "transgender",
|
||||
"mode": "rgb",
|
||||
"light_dark": "dark",
|
||||
"lightness": 0.65,
|
||||
"color_align": {
|
||||
"mode": "horizontal",
|
||||
"custom_colors": [],
|
||||
"fore_back": null
|
||||
},
|
||||
"backend": "fastfetch",
|
||||
"args": null,
|
||||
"distro": null,
|
||||
"pride_month_shown": [],
|
||||
"pride_month_disable": false
|
||||
}
|
||||
@@ -26,4 +26,3 @@ source = ~/.config/hypr/land/keybinds.conf
|
||||
source = ~/.config/hypr/land/look-and-feel.conf
|
||||
source = ~/.config/hypr/land/monitors.conf
|
||||
source = ~/.config/hypr/land/windows.conf
|
||||
|
||||
|
||||
@@ -9,4 +9,4 @@
|
||||
# exec-once = nm-applet &
|
||||
# exec-once = waybar & hyprpaper & firefox
|
||||
|
||||
exec-once = waybar & swaync & hypridle & hyprpaper
|
||||
exec-once = waybar & swaync & hypridle & hyprpaper & kwalletd6
|
||||
|
||||
@@ -22,9 +22,9 @@ input {
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures {
|
||||
workspace_swipe = true
|
||||
}
|
||||
#gestures {
|
||||
# workspace_swipe = true
|
||||
#}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||
|
||||
@@ -22,6 +22,7 @@ bind = $mainMod, R, exec, $menu
|
||||
bind = $mainMod, SPACE, exec, $menu
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, J, togglesplit, # dwindle
|
||||
bind = $mainMod SHIFT, R, exec, hyprctl reload
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
|
||||
@@ -5,3 +5,6 @@ bind = CONTROL SHIFT, PRINT, exec, hyprshot -m output -z -o $screenshotDir
|
||||
|
||||
# Hyprlock
|
||||
bind = $mainMod SHIFT, l, exec, hyprlock
|
||||
|
||||
# Hyprview
|
||||
bind = $mainMod, H, hyprview:toggle
|
||||
|
||||
@@ -50,5 +50,5 @@ bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
bind = $mainMod alt, right, workspace, e+1
|
||||
bind = $mainMod alt, left, workspace, e-1
|
||||
bind = $mainMod CTRL, right, workspace, e+1
|
||||
bind = $mainMod CTRL, left, workspace, e-1
|
||||
|
||||
@@ -9,12 +9,16 @@ general {
|
||||
gaps_in = 5
|
||||
gaps_out = 10
|
||||
|
||||
border_size = 3
|
||||
border_size = 4
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
col.inactive_border = rgba(595959aa)
|
||||
|
||||
# col.active_border = rgba(cc1330ee)
|
||||
# col.inactive_border = rgba(303030dd)
|
||||
|
||||
|
||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||
resize_on_border = false
|
||||
|
||||
@@ -26,7 +30,7 @@ general {
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||
decoration {
|
||||
rounding = 10
|
||||
rounding = 2
|
||||
rounding_power = 2
|
||||
|
||||
# Change transparency of focused and unfocused windows
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
|
||||
# Set programs that you use
|
||||
$terminal = kitty
|
||||
$fileManager = nautilus
|
||||
$terminal = ghostty
|
||||
$fileManager = dolphin
|
||||
$menu = wofi --show drun -i
|
||||
$screenshotDir = ~/Pictures/Screenshots
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 6.7 MiB After Width: | Height: | Size: 18 MiB |
701
.config/niri/config.kdl
Normal file
701
.config/niri/config.kdl
Normal file
@@ -0,0 +1,701 @@
|
||||
// This config is in the KDL format: https://kdl.dev
|
||||
// "/-" comments out the following node.
|
||||
// Check the wiki for a full description of the configuration:
|
||||
// https://yalter.github.io/niri/Configuration:-Introduction
|
||||
|
||||
// Input device configuration.
|
||||
// Find the full list of options on the wiki:
|
||||
// https://yalter.github.io/niri/Configuration:-Input
|
||||
input {
|
||||
keyboard {
|
||||
xkb {
|
||||
// You can set rules, model, layout, variant and options.
|
||||
// For more information, see xkeyboard-config(7).
|
||||
|
||||
// For example:
|
||||
// layout "us,ru"
|
||||
// options "grp:win_space_toggle,compose:ralt,ctrl:nocaps"
|
||||
|
||||
// If this section is empty, niri will fetch xkb settings
|
||||
// from org.freedesktop.locale1. You can control these using
|
||||
// localectl set-x11-keymap.
|
||||
}
|
||||
|
||||
// Enable numlock on startup, omitting this setting disables it.
|
||||
numlock
|
||||
}
|
||||
|
||||
// Next sections include libinput settings.
|
||||
// Omitting settings disables them, or leaves them at their default values.
|
||||
// All commented-out settings here are examples, not defaults.
|
||||
touchpad {
|
||||
// off
|
||||
tap
|
||||
// dwt
|
||||
// dwtp
|
||||
// drag false
|
||||
// drag-lock
|
||||
natural-scroll
|
||||
// accel-speed 0.2
|
||||
// accel-profile "flat"
|
||||
// scroll-method "two-finger"
|
||||
// disabled-on-external-mouse
|
||||
}
|
||||
|
||||
mouse {
|
||||
// off
|
||||
// natural-scroll
|
||||
// accel-speed 0.2
|
||||
// accel-profile "flat"
|
||||
// scroll-method "no-scroll"
|
||||
}
|
||||
|
||||
trackpoint {
|
||||
// off
|
||||
// natural-scroll
|
||||
// accel-speed 0.2
|
||||
// accel-profile "flat"
|
||||
// scroll-method "on-button-down"
|
||||
// scroll-button 273
|
||||
// scroll-button-lock
|
||||
// middle-emulation
|
||||
}
|
||||
|
||||
// Uncomment this to make the mouse warp to the center of newly focused windows.
|
||||
// warp-mouse-to-focus
|
||||
|
||||
// Focus windows and outputs automatically when moving the mouse into them.
|
||||
// Setting max-scroll-amount="0%" makes it work only on windows already fully on screen.
|
||||
// focus-follows-mouse max-scroll-amount="0%"
|
||||
}
|
||||
|
||||
// You can configure outputs by their name, which you can find
|
||||
// by running `niri msg outputs` while inside a niri instance.
|
||||
// The built-in laptop monitor is usually called "eDP-1".
|
||||
// Find more information on the wiki:
|
||||
// https://yalter.github.io/niri/Configuration:-Outputs
|
||||
// Remember to uncomment the node by removing "/-"!
|
||||
output "eDP-1" {
|
||||
// Uncomment this line to disable this output.
|
||||
// off
|
||||
|
||||
// Resolution and, optionally, refresh rate of the output.
|
||||
// The format is "<width>x<height>" or "<width>x<height>@<refresh rate>".
|
||||
// If the refresh rate is omitted, niri will pick the highest refresh rate
|
||||
// for the resolution.
|
||||
// If the mode is omitted altogether or is invalid, niri will pick one automatically.
|
||||
// Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
|
||||
mode "1920x1080@144"
|
||||
|
||||
// You can use integer or fractional scale, for example use 1.5 for 150% scale.
|
||||
scale 1
|
||||
|
||||
// Transform allows to rotate the output counter-clockwise, valid values are:
|
||||
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
|
||||
transform "normal"
|
||||
|
||||
// Position of the output in the global coordinate space.
|
||||
// This affects directional monitor actions like "focus-monitor-left", and cursor movement.
|
||||
// The cursor can only move between directly adjacent outputs.
|
||||
// Output scale and rotation has to be taken into account for positioning:
|
||||
// outputs are sized in logical, or scaled, pixels.
|
||||
// For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080,
|
||||
// so to put another output directly adjacent to it on the right, set its x to 1920.
|
||||
// If the position is unset or results in an overlap, the output is instead placed
|
||||
// automatically.
|
||||
position x=0 y=0
|
||||
}
|
||||
|
||||
output "DP-1" {
|
||||
// Uncomment this line to disable this output.
|
||||
// off
|
||||
|
||||
// Resolution and, optionally, refresh rate of the output.
|
||||
// The format is "<width>x<height>" or "<width>x<height>@<refresh rate>".
|
||||
// If the refresh rate is omitted, niri will pick the highest refresh rate
|
||||
// for the resolution.
|
||||
// If the mode is omitted altogether or is invalid, niri will pick one automatically.
|
||||
// Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
|
||||
mode "2560x1440@60"
|
||||
|
||||
// You can use integer or fractional scale, for example use 1.5 for 150% scale.
|
||||
scale 1.5
|
||||
|
||||
// Transform allows to rotate the output counter-clockwise, valid values are:
|
||||
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
|
||||
transform "normal"
|
||||
|
||||
// Position of the output in the global coordinate space.
|
||||
// This affects directional monitor actions like "focus-monitor-left", and cursor movement.
|
||||
// The cursor can only move between directly adjacent outputs.
|
||||
// Output scale and rotation has to be taken into account for positioning:
|
||||
// outputs are sized in logical, or scaled, pixels.
|
||||
// For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080,
|
||||
// so to put another output directly adjacent to it on the right, set its x to 1920.
|
||||
// If the position is unset or results in an overlap, the output is instead placed
|
||||
// automatically.
|
||||
position x=0 y=0
|
||||
}
|
||||
|
||||
output "HDMI-A-1" {
|
||||
// Uncomment this line to disable this output.
|
||||
// off
|
||||
|
||||
// Resolution and, optionally, refresh rate of the output.
|
||||
// The format is "<width>x<height>" or "<width>x<height>@<refresh rate>".
|
||||
// If the refresh rate is omitted, niri will pick the highest refresh rate
|
||||
// for the resolution.
|
||||
// If the mode is omitted altogether or is invalid, niri will pick one automatically.
|
||||
// Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
|
||||
mode "1920x1080@60"
|
||||
|
||||
// You can use integer or fractional scale, for example use 1.5 for 150% scale.
|
||||
scale 1
|
||||
|
||||
// Transform allows to rotate the output counter-clockwise, valid values are:
|
||||
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
|
||||
transform "normal"
|
||||
|
||||
// Position of the output in the global coordinate space.
|
||||
// This affects directional monitor actions like "focus-monitor-left", and cursor movement.
|
||||
// The cursor can only move between directly adjacent outputs.
|
||||
// Output scale and rotation has to be taken into account for positioning:
|
||||
// outputs are sized in logical, or scaled, pixels.
|
||||
// For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080,
|
||||
// so to put another output directly adjacent to it on the right, set its x to 1920.
|
||||
// If the position is unset or results in an overlap, the output is instead placed
|
||||
// automatically.
|
||||
position x=2560 y=360
|
||||
}
|
||||
|
||||
// Settings that influence how windows are positioned and sized.
|
||||
// Find more information on the wiki:
|
||||
// https://yalter.github.io/niri/Configuration:-Layout
|
||||
layout {
|
||||
// Set gaps around windows in logical pixels.
|
||||
gaps 8
|
||||
|
||||
// When to center a column when changing focus, options are:
|
||||
// - "never", default behavior, focusing an off-screen column will keep at the left
|
||||
// or right edge of the screen.
|
||||
// - "always", the focused column will always be centered.
|
||||
// - "on-overflow", focusing a column will center it if it doesn't fit
|
||||
// together with the previously focused column.
|
||||
center-focused-column "never"
|
||||
|
||||
// You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between.
|
||||
preset-column-widths {
|
||||
// Proportion sets the width as a fraction of the output width, taking gaps into account.
|
||||
// For example, you can perfectly fit four windows sized "proportion 0.25" on an output.
|
||||
// The default preset widths are 1/3, 1/2 and 2/3 of the output.
|
||||
proportion 0.33333
|
||||
proportion 0.5
|
||||
proportion 0.66667
|
||||
proportion 1.0
|
||||
|
||||
// Fixed sets the width in logical pixels exactly.
|
||||
// fixed 1920
|
||||
}
|
||||
|
||||
// You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between.
|
||||
// preset-window-heights { }
|
||||
|
||||
// You can change the default width of the new windows.
|
||||
default-column-width { proportion 0.5; }
|
||||
// If you leave the brackets empty, the windows themselves will decide their initial width.
|
||||
// default-column-width {}
|
||||
|
||||
// By default focus ring and border are rendered as a solid background rectangle
|
||||
// behind windows. That is, they will show up through semitransparent windows.
|
||||
// This is because windows using client-side decorations can have an arbitrary shape.
|
||||
//
|
||||
// If you don't like that, you should uncomment `prefer-no-csd` below.
|
||||
// Niri will draw focus ring and border *around* windows that agree to omit their
|
||||
// client-side decorations.
|
||||
//
|
||||
// Alternatively, you can override it with a window rule called
|
||||
// `draw-border-with-background`.
|
||||
|
||||
// You can change how the focus ring looks.
|
||||
focus-ring {
|
||||
// Uncomment this line to disable the focus ring.
|
||||
off
|
||||
|
||||
// How many logical pixels the ring extends out from the windows.
|
||||
width 4
|
||||
|
||||
// Colors can be set in a variety of ways:
|
||||
// - CSS named colors: "red"
|
||||
// - RGB hex: "#rgb", "#rgba", "#rrggbb", "#rrggbbaa"
|
||||
// - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others.
|
||||
|
||||
// Color of the ring on the active monitor.
|
||||
// active-color "#7fc8ff"
|
||||
|
||||
// Color of the ring on inactive monitors.
|
||||
//
|
||||
// The focus ring only draws around the active window, so the only place
|
||||
// where you can see its inactive-color is on other monitors.
|
||||
inactive-color "#505050"
|
||||
|
||||
// You can also use gradients. They take precedence over solid colors.
|
||||
// Gradients are rendered the same as CSS linear-gradient(angle, from, to).
|
||||
// The angle is the same as in linear-gradient, and is optional,
|
||||
// defaulting to 180 (top-to-bottom gradient).
|
||||
// You can use any CSS linear-gradient tool on the web to set these up.
|
||||
// Changing the color space is also supported, check the wiki for more info.
|
||||
//
|
||||
active-gradient from="#ef32d9" to="#89fffd" angle=-45
|
||||
|
||||
// You can also color the gradient relative to the entire view
|
||||
// of the workspace, rather than relative to just the window itself.
|
||||
// To do that, set relative-to="workspace-view".
|
||||
//
|
||||
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
|
||||
}
|
||||
|
||||
// You can also add a border. It's similar to the focus ring, but always visible.
|
||||
border {
|
||||
// The settings are the same as for the focus ring.
|
||||
// If you enable the border, you probably want to disable the focus ring.
|
||||
// off
|
||||
|
||||
width 4
|
||||
active-color "#ffc87f"
|
||||
inactive-color "#505050"
|
||||
|
||||
// Color of the border around windows that request your attention.
|
||||
urgent-color "#9b0000"
|
||||
|
||||
// Gradients can use a few different interpolation color spaces.
|
||||
// For example, this is a pastel rainbow gradient via in="oklch longer hue".
|
||||
//
|
||||
// active-gradient from="#e5989b" to="#ffb4a2" angle=45 relative-to="workspace-view" in="oklch longer hue"
|
||||
active-gradient from="#ef32d9" to="#89fffd" angle=-45
|
||||
|
||||
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
|
||||
}
|
||||
|
||||
// You can enable drop shadows for windows.
|
||||
shadow {
|
||||
// Uncomment the next line to enable shadows.
|
||||
on
|
||||
|
||||
// By default, the shadow draws only around its window, and not behind it.
|
||||
// Uncomment this setting to make the shadow draw behind its window.
|
||||
//
|
||||
// Note that niri has no way of knowing about the CSD window corner
|
||||
// radius. It has to assume that windows have square corners, leading to
|
||||
// shadow artifacts inside the CSD rounded corners. This setting fixes
|
||||
// those artifacts.
|
||||
//
|
||||
// However, instead you may want to set prefer-no-csd and/or
|
||||
// geometry-corner-radius. Then, niri will know the corner radius and
|
||||
// draw the shadow correctly, without having to draw it behind the
|
||||
// window. These will also remove client-side shadows if the window
|
||||
// draws any.
|
||||
//
|
||||
// draw-behind-window true
|
||||
|
||||
// You can change how shadows look. The values below are in logical
|
||||
// pixels and match the CSS box-shadow properties.
|
||||
|
||||
// Softness controls the shadow blur radius.
|
||||
softness 30
|
||||
|
||||
// Spread expands the shadow.
|
||||
spread 5
|
||||
|
||||
// Offset moves the shadow relative to the window.
|
||||
offset x=0 y=5
|
||||
|
||||
// You can also change the shadow color and opacity.
|
||||
color "#0007"
|
||||
}
|
||||
|
||||
// Struts shrink the area occupied by windows, similarly to layer-shell panels.
|
||||
// You can think of them as a kind of outer gaps. They are set in logical pixels.
|
||||
// Left and right struts will cause the next window to the side to always be visible.
|
||||
// Top and bottom struts will simply add outer gaps in addition to the area occupied by
|
||||
// layer-shell panels and regular gaps.
|
||||
struts {
|
||||
// left 64
|
||||
// right 64
|
||||
// top 64
|
||||
// bottom 64
|
||||
}
|
||||
}
|
||||
|
||||
// Add lines like this to spawn processes at startup.
|
||||
// Note that running niri as a session supports xdg-desktop-autostart,
|
||||
// which may be more convenient to use.
|
||||
// See the binds section below for more spawn examples.
|
||||
|
||||
// This line starts waybar, a commonly used bar for Wayland compositors.
|
||||
spawn-at-startup "waybar"
|
||||
spawn-at-startup "swaync"
|
||||
spawn-at-startup "swww-daemon"
|
||||
spawn-at-startup "kwalletd6"
|
||||
// spawn-at-startup "vesktop"
|
||||
|
||||
// To run a shell command (with variables, pipes, etc.), use spawn-sh-at-startup:
|
||||
// spawn-sh-at-startup "qs -c ~/source/qs/MyAwesomeShell"
|
||||
|
||||
hotkey-overlay {
|
||||
// Uncomment this line to disable the "Important Hotkeys" pop-up at startup.
|
||||
// skip-at-startup
|
||||
}
|
||||
|
||||
// Uncomment this line to ask the clients to omit their client-side decorations if possible.
|
||||
// If the client will specifically ask for CSD, the request will be honored.
|
||||
// Additionally, clients will be informed that they are tiled, removing some client-side rounded corners.
|
||||
// This option will also fix border/focus ring drawing behind some semitransparent windows.
|
||||
// After enabling or disabling this, you need to restart the apps for this to take effect.
|
||||
// prefer-no-csd
|
||||
|
||||
// You can change the path where screenshots are saved.
|
||||
// A ~ at the front will be expanded to the home directory.
|
||||
// The path is formatted with strftime(3) to give you the screenshot date and time.
|
||||
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
||||
|
||||
// You can also set this to null to disable saving screenshots to disk.
|
||||
// screenshot-path null
|
||||
|
||||
// Animation settings.
|
||||
// The wiki explains how to configure individual animations:
|
||||
// https://yalter.github.io/niri/Configuration:-Animations
|
||||
animations {
|
||||
// Uncomment to turn off all animations.
|
||||
// off
|
||||
|
||||
// Slow down all animations by this factor. Values below 1 speed them up instead.
|
||||
// slowdown 3.0
|
||||
}
|
||||
|
||||
// Window rules let you adjust behavior for individual windows.
|
||||
// Find more information on the wiki:
|
||||
// https://yalter.github.io/niri/Configuration:-Window-Rules
|
||||
|
||||
// Work around WezTerm's initial configure bug
|
||||
// by setting an empty default-column-width.
|
||||
window-rule {
|
||||
// This regular expression is intentionally made as specific as possible,
|
||||
// since this is the default config, and we want no false positives.
|
||||
// You can get away with just app-id="wezterm" if you want.
|
||||
match app-id=r#"^org\.wezfurlong\.wezterm$"#
|
||||
default-column-width {}
|
||||
}
|
||||
|
||||
// Open the Firefox picture-in-picture player as floating by default.
|
||||
window-rule {
|
||||
// This app-id regular expression will work for both:
|
||||
// - host Firefox (app-id is "firefox")
|
||||
// - Flatpak Firefox (app-id is "org.mozilla.firefox")
|
||||
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
|
||||
open-floating true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id="vesktop"
|
||||
|
||||
open-on-output "HDMI-A-1"
|
||||
default-column-width { proportion 1.0; }
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id=r"^app\.zen_browser\.zen"
|
||||
|
||||
default-column-width { proportion 1.0; }
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id=r"^app\.zen_browser\.zen" title="^Picture-in-Picture$"
|
||||
|
||||
open-floating true
|
||||
}
|
||||
|
||||
// Example: block out two password managers from screen capture.
|
||||
// (This example rule is commented out with a "/-" in front.)
|
||||
/-window-rule {
|
||||
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
|
||||
match app-id=r#"^org\.gnome\.World\.Secrets$"#
|
||||
|
||||
block-out-from "screen-capture"
|
||||
|
||||
// Use this instead if you want them visible on third-party screenshot tools.
|
||||
// block-out-from "screencast"
|
||||
}
|
||||
|
||||
// Example: enable rounded corners for all windows.
|
||||
// (This example rule is commented out with a "/-" in front.)
|
||||
window-rule {
|
||||
geometry-corner-radius 16
|
||||
clip-to-geometry true
|
||||
}
|
||||
|
||||
binds {
|
||||
// Keys consist of modifiers separated by + signs, followed by an XKB key name
|
||||
// in the end. To find an XKB name for a particular key, you may use a program
|
||||
// like wev.
|
||||
//
|
||||
// "Mod" is a special modifier equal to Super when running on a TTY, and to Alt
|
||||
// when running as a winit window.
|
||||
//
|
||||
// Most actions that you can bind here can also be invoked programmatically with
|
||||
// `niri msg action do-something`.
|
||||
|
||||
// Mod-Shift-/, which is usually the same as Mod-?,
|
||||
// shows a list of important hotkeys.
|
||||
Mod+Shift+S { show-hotkey-overlay; }
|
||||
|
||||
// Suggested binds for running programs: terminal, app launcher, screen locker.
|
||||
Mod+Return hotkey-overlay-title="Open a Terminal: GhosTTY" { spawn "ghostty"; }
|
||||
Mod+Space hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; }
|
||||
Super+Alt+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; }
|
||||
|
||||
// Use spawn-sh to run a shell command. Do this if you need pipes, multiple commands, etc.
|
||||
// Note: the entire command goes as a single argument. It's passed verbatim to `sh -c`.
|
||||
// For example, this is a standard bind to toggle the screen reader (orca).
|
||||
Super+Alt+S allow-when-locked=true hotkey-overlay-title=null { spawn-sh "pkill orca || exec orca"; }
|
||||
|
||||
// Example volume keys mappings for PipeWire & WirePlumber.
|
||||
// The allow-when-locked=true property makes them work even when the session is locked.
|
||||
// Using spawn-sh allows to pass multiple arguments together with the command.
|
||||
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+"; }
|
||||
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
|
||||
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
|
||||
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
|
||||
|
||||
// Example brightness key mappings for brightnessctl.
|
||||
// You can use regular spawn with multiple arguments too (to avoid going through "sh"),
|
||||
// but you need to manually put each argument in separate "" quotes.
|
||||
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
|
||||
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
|
||||
|
||||
// Open/close the Overview: a zoomed-out view of workspaces and windows.
|
||||
// You can also move the mouse into the top-left hot corner,
|
||||
// or do a four-finger swipe up on a touchpad.
|
||||
Mod+O repeat=false { toggle-overview; }
|
||||
Mod+Q repeat=false { close-window; }
|
||||
|
||||
Mod+Left { focus-column-left; }
|
||||
Mod+Down { focus-window-down; }
|
||||
Mod+Up { focus-window-up; }
|
||||
Mod+Right { focus-column-right; }
|
||||
Mod+H { focus-column-left; }
|
||||
Mod+J { focus-window-down; }
|
||||
Mod+K { focus-window-up; }
|
||||
Mod+L { focus-column-right; }
|
||||
|
||||
Mod+Ctrl+Left { move-column-left; }
|
||||
Mod+Ctrl+Down { move-window-down; }
|
||||
Mod+Ctrl+Up { move-window-up; }
|
||||
Mod+Ctrl+Right { move-column-right; }
|
||||
Mod+Ctrl+H { move-column-left; }
|
||||
Mod+Ctrl+J { move-window-down; }
|
||||
Mod+Ctrl+K { move-window-up; }
|
||||
Mod+Ctrl+L { move-column-right; }
|
||||
|
||||
// Alternative commands that move across workspaces when reaching
|
||||
// the first or last window in a column.
|
||||
// Mod+J { focus-window-or-workspace-down; }
|
||||
// Mod+K { focus-window-or-workspace-up; }
|
||||
// Mod+Ctrl+J { move-window-down-or-to-workspace-down; }
|
||||
// Mod+Ctrl+K { move-window-up-or-to-workspace-up; }
|
||||
|
||||
Mod+Home { focus-column-first; }
|
||||
Mod+End { focus-column-last; }
|
||||
Mod+Ctrl+Home { move-column-to-first; }
|
||||
Mod+Ctrl+End { move-column-to-last; }
|
||||
|
||||
Mod+Shift+Left { focus-monitor-left; }
|
||||
Mod+Shift+Down { focus-monitor-down; }
|
||||
Mod+Shift+Up { focus-monitor-up; }
|
||||
Mod+Shift+Right { focus-monitor-right; }
|
||||
Mod+Shift+H { focus-monitor-left; }
|
||||
Mod+Shift+J { focus-monitor-down; }
|
||||
Mod+Shift+K { focus-monitor-up; }
|
||||
Mod+Shift+L { focus-monitor-right; }
|
||||
|
||||
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
|
||||
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
|
||||
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
|
||||
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
|
||||
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
|
||||
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
|
||||
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
|
||||
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
|
||||
|
||||
// Alternatively, there are commands to move just a single window:
|
||||
// Mod+Shift+Ctrl+Left { move-window-to-monitor-left; }
|
||||
// ...
|
||||
|
||||
// And you can also move a whole workspace to another monitor:
|
||||
// Mod+Shift+Ctrl+Left { move-workspace-to-monitor-left; }
|
||||
// ...
|
||||
|
||||
Mod+Page_Down { focus-workspace-down; }
|
||||
Mod+Page_Up { focus-workspace-up; }
|
||||
Mod+U { focus-workspace-down; }
|
||||
Mod+I { focus-workspace-up; }
|
||||
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
|
||||
Mod+Ctrl+U { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+I { move-column-to-workspace-up; }
|
||||
|
||||
// Alternatively, there are commands to move just a single window:
|
||||
// Mod+Ctrl+Page_Down { move-window-to-workspace-down; }
|
||||
// ...
|
||||
|
||||
Mod+Shift+Page_Down { move-workspace-down; }
|
||||
Mod+Shift+Page_Up { move-workspace-up; }
|
||||
Mod+Shift+U { move-workspace-down; }
|
||||
Mod+Shift+I { move-workspace-up; }
|
||||
|
||||
// You can bind mouse wheel scroll ticks using the following syntax.
|
||||
// These binds will change direction based on the natural-scroll setting.
|
||||
//
|
||||
// To avoid scrolling through workspaces really fast, you can use
|
||||
// the cooldown-ms property. The bind will be rate-limited to this value.
|
||||
// You can set a cooldown on any bind, but it's most useful for the wheel.
|
||||
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
||||
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
||||
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
||||
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
|
||||
|
||||
Mod+WheelScrollRight { focus-column-right; }
|
||||
Mod+WheelScrollLeft { focus-column-left; }
|
||||
Mod+Ctrl+WheelScrollRight { move-column-right; }
|
||||
Mod+Ctrl+WheelScrollLeft { move-column-left; }
|
||||
|
||||
// Usually scrolling up and down with Shift in applications results in
|
||||
// horizontal scrolling; these binds replicate that.
|
||||
Mod+Shift+WheelScrollDown { focus-column-right; }
|
||||
Mod+Shift+WheelScrollUp { focus-column-left; }
|
||||
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
|
||||
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
|
||||
|
||||
// Similarly, you can bind touchpad scroll "ticks".
|
||||
// Touchpad scrolling is continuous, so for these binds it is split into
|
||||
// discrete intervals.
|
||||
// These binds are also affected by touchpad's natural-scroll, so these
|
||||
// example binds are "inverted", since we have natural-scroll enabled for
|
||||
// touchpads by default.
|
||||
// Mod+TouchpadScrollDown { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02+"; }
|
||||
// Mod+TouchpadScrollUp { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02-"; }
|
||||
|
||||
// You can refer to workspaces by index. However, keep in mind that
|
||||
// niri is a dynamic workspace system, so these commands are kind of
|
||||
// "best effort". Trying to refer to a workspace index bigger than
|
||||
// the current workspace count will instead refer to the bottommost
|
||||
// (empty) workspace.
|
||||
//
|
||||
// For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on
|
||||
// will all refer to the 3rd workspace.
|
||||
Mod+1 { focus-workspace 1; }
|
||||
Mod+2 { focus-workspace 2; }
|
||||
Mod+3 { focus-workspace 3; }
|
||||
Mod+4 { focus-workspace 4; }
|
||||
Mod+5 { focus-workspace 5; }
|
||||
Mod+6 { focus-workspace 6; }
|
||||
Mod+7 { focus-workspace 7; }
|
||||
Mod+8 { focus-workspace 8; }
|
||||
Mod+9 { focus-workspace 9; }
|
||||
Mod+Ctrl+1 { move-column-to-workspace 1; }
|
||||
Mod+Ctrl+2 { move-column-to-workspace 2; }
|
||||
Mod+Ctrl+3 { move-column-to-workspace 3; }
|
||||
Mod+Ctrl+4 { move-column-to-workspace 4; }
|
||||
Mod+Ctrl+5 { move-column-to-workspace 5; }
|
||||
Mod+Ctrl+6 { move-column-to-workspace 6; }
|
||||
Mod+Ctrl+7 { move-column-to-workspace 7; }
|
||||
Mod+Ctrl+8 { move-column-to-workspace 8; }
|
||||
Mod+Ctrl+9 { move-column-to-workspace 9; }
|
||||
|
||||
// Alternatively, there are commands to move just a single window:
|
||||
// Mod+Ctrl+1 { move-window-to-workspace 1; }
|
||||
|
||||
// Switches focus between the current and the previous workspace.
|
||||
// Mod+Tab { focus-workspace-previous; }
|
||||
|
||||
// The following binds move the focused window in and out of a column.
|
||||
// If the window is alone, they will consume it into the nearby column to the side.
|
||||
// If the window is already in a column, they will expel it out.
|
||||
Mod+BracketLeft { consume-or-expel-window-left; }
|
||||
Mod+BracketRight { consume-or-expel-window-right; }
|
||||
|
||||
// Consume one window from the right to the bottom of the focused column.
|
||||
Mod+Comma { consume-window-into-column; }
|
||||
// Expel the bottom window from the focused column to the right.
|
||||
Mod+Period { expel-window-from-column; }
|
||||
|
||||
Mod+R { switch-preset-column-width; }
|
||||
// Cycling through the presets in reverse order is also possible.
|
||||
// Mod+R { switch-preset-column-width-back; }
|
||||
Mod+Shift+R { switch-preset-window-height; }
|
||||
Mod+Ctrl+R { reset-window-height; }
|
||||
Mod+F { maximize-column; }
|
||||
Mod+Shift+F { fullscreen-window; }
|
||||
|
||||
// Expand the focused column to space not taken up by other fully visible columns.
|
||||
// Makes the column "fill the rest of the space".
|
||||
Mod+Ctrl+F { expand-column-to-available-width; }
|
||||
|
||||
Mod+C { center-column; }
|
||||
|
||||
// Center all fully visible columns on screen.
|
||||
Mod+Ctrl+C { center-visible-columns; }
|
||||
|
||||
// Finer width adjustments.
|
||||
// This command can also:
|
||||
// * set width in pixels: "1000"
|
||||
// * adjust width in pixels: "-5" or "+5"
|
||||
// * set width as a percentage of screen width: "25%"
|
||||
// * adjust width as a percentage of screen width: "-10%" or "+10%"
|
||||
// Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0,
|
||||
// set-column-width "100" will make the column occupy 200 physical screen pixels.
|
||||
Mod+Minus { set-column-width "-10%"; }
|
||||
Mod+Plus { set-column-width "+10%"; }
|
||||
|
||||
// Finer height adjustments when in column with other windows.
|
||||
Mod+Shift+Minus { set-window-height "-10%"; }
|
||||
Mod+Shift+Plus { set-window-height "+10%"; }
|
||||
|
||||
// Move the focused window between the floating and the tiling layout.
|
||||
Mod+V { toggle-window-floating; }
|
||||
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
|
||||
|
||||
// Toggle tabbed column display mode.
|
||||
// Windows in this column will appear as vertical tabs,
|
||||
// rather than stacked on top of each other.
|
||||
Mod+W { toggle-column-tabbed-display; }
|
||||
|
||||
// Actions to switch layouts.
|
||||
// Note: if you uncomment these, make sure you do NOT have
|
||||
// a matching layout switch hotkey configured in xkb options above.
|
||||
// Having both at once on the same hotkey will break the switching,
|
||||
// since it will switch twice upon pressing the hotkey (once by xkb, once by niri).
|
||||
// Mod+Space { switch-layout "next"; }
|
||||
// Mod+Shift+Space { switch-layout "prev"; }
|
||||
|
||||
Print { screenshot; }
|
||||
Ctrl+Print { screenshot-screen; }
|
||||
Alt+Print { screenshot-window; }
|
||||
|
||||
// Applications such as remote-desktop clients and software KVM switches may
|
||||
// request that niri stops processing the keyboard shortcuts defined here
|
||||
// so they may, for example, forward the key presses as-is to a remote machine.
|
||||
// It's a good idea to bind an escape hatch to toggle the inhibitor,
|
||||
// so a buggy application can't hold your session hostage.
|
||||
//
|
||||
// The allow-inhibiting=false property can be applied to other binds as well,
|
||||
// which ensures niri always processes them, even when an inhibitor is active.
|
||||
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
||||
|
||||
// The quit action will show a confirmation dialog to avoid accidental exits.
|
||||
Mod+Shift+E { quit; }
|
||||
Ctrl+Alt+Delete { quit; }
|
||||
|
||||
// Powers off the monitors. To turn them back on, do any input like
|
||||
// moving the mouse or pressing any other key.
|
||||
Mod+Shift+P { power-off-monitors; }
|
||||
}
|
||||
@@ -1,2 +1,3 @@
|
||||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
||||
vim.lsp.enable("gopls")
|
||||
|
||||
@@ -1,41 +1,49 @@
|
||||
{
|
||||
"LazyVim": { "branch": "main", "commit": "3f034d0a7f58031123300309f2efd3bb0356ee21" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" },
|
||||
"blink.cmp": { "branch": "main", "commit": "4607923f60029f8cb28e6950a078f93fd33e1288" },
|
||||
"CopilotChat.nvim": { "branch": "main", "commit": "a7138a0ee04d8af42c262554eccee168bbf1454f" },
|
||||
"LazyVim": { "branch": "main", "commit": "8b8ceb6c878cd9c44dac4b6beb70a7bb82d86c30" },
|
||||
"LuaSnip": { "branch": "master", "commit": "ccf25a5452b8697a823de3e5ecda63ed3d723b79" },
|
||||
"SchemaStore.nvim": { "branch": "main", "commit": "4341619da06779ae310ee9c3d6d70edfefed7152" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "2b3cbcdd980cae1e022409289245053f62fb50f6" },
|
||||
"blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||
"catppuccin": { "branch": "main", "commit": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429" },
|
||||
"conform.nvim": { "branch": "master", "commit": "f9ef25a7ef00267b7d13bfc00b0dea22d78702d5" },
|
||||
"crates.nvim": { "branch": "main", "commit": "fd2bbca7aa588f24ffc3517831934b4c4a9588e9" },
|
||||
"catppuccin": { "branch": "main", "commit": "8c4125e3c746976ba025dc5d908fa22c6aa09486" },
|
||||
"conform.nvim": { "branch": "master", "commit": "9fd3d5e0b689ec1bf400c53cbbec72c6fdf24081" },
|
||||
"crates.nvim": { "branch": "main", "commit": "ac9fa498a9edb96dc3056724ff69d5f40b898453" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
||||
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "7010000889bfb6c26065e0b0f7f1e6aa9163edd9" },
|
||||
"grug-far.nvim": { "branch": "main", "commit": "2c7ef09353714bd4954f5459d9a7e2579a050dc7" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "9fef261b53fbe3a2ef01ee9667f6fde064b1ed10" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
|
||||
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
|
||||
"mini.ai": { "branch": "main", "commit": "978ffc65c6b513fde9ef075326d34d89197f1ea5" },
|
||||
"mini.icons": { "branch": "main", "commit": "ec61af6e606fc89ee3b1d8f2f20166a3ca917a36" },
|
||||
"mini.pairs": { "branch": "main", "commit": "cd9d95e33645781f86ca5ffe0a6885a22d59f127" },
|
||||
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
|
||||
"nui.nvim": { "branch": "main", "commit": "8d3bce9764e627b62b07424e0df77f680d47ffdb" },
|
||||
"nvim-lint": { "branch": "master", "commit": "936197073214c26a347fb933c9459c8766376b23" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "fb733ac734249ccf293e5c8018981d4d8f59fa8f" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "d26ce0126694283cf32bf1f4192ef37ef404c037" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "9937e5e356e5b227ec56d83d0a9d0a0f6bc9cad4" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||
"rustaceanvim": { "branch": "master", "commit": "94375c80968f5d4a9a9ba8c7852225540833d833" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
|
||||
"flash.nvim": { "branch": "main", "commit": "3be9bf7e85550045ec576379a0c45aac144d0438" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "20ad4419564d6e22b189f6738116b38871082332" },
|
||||
"grug-far.nvim": { "branch": "main", "commit": "3e72397465f774b01aa38e4fe8e6eecf23d766d9" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "db067881fff0fd4be8c00e5bde7492e0e1c77a2f" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "01bc2aacd51cf9021eb19d048e70ce3dd09f7f93" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "1d77bd86e1c3eaa777010c95dad455b83823f247" },
|
||||
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
|
||||
"mini.ai": { "branch": "main", "commit": "11c57180bc9084089206e211ac7aa598bedc9673" },
|
||||
"mini.icons": { "branch": "main", "commit": "284798619aed9f4c1ac1b9417b9a5e3b4b85ef3a" },
|
||||
"mini.pairs": { "branch": "main", "commit": "b9aada8c0e59f2b938e98fbf4eae0799eba96ad9" },
|
||||
"noice.nvim": { "branch": "main", "commit": "c86aea584d98be7ee1167ce4d4ef946fbd7f3ae0" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-jdtls": { "branch": "master", "commit": "380ac148f989e1291aac002dc959ecc68c5243d0" },
|
||||
"nvim-lint": { "branch": "master", "commit": "9da1fb942dd0668d5182f9c8dee801b9c190e2bb" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "a9b2fb560c4ab22c10728fd5149dbd7b62aa4f69" },
|
||||
"nvim-treesitter": { "branch": "main", "commit": "98fe644cb3b5ba390d1bc3f89299f93c70020803" },
|
||||
"nvim-treesitter-textobjects": { "branch": "main", "commit": "1b2d85d3de6114c4bcea89ffb2cd1ce9e3a19931" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "51eef57272742b773468949f6bd0503ec3f83874" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"rustaceanvim": { "branch": "master", "commit": "509d2e98a893767a1aad42f30354fc957e470862" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "f33aa2017a2671fb4a0e71316f385c8010c8b81b" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "19d461ddd543e938eb22505fb03fa878800270b6" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
|
||||
"ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "4fe1b0c44f5d6ee769cdfbdffc7ccb703f53feda" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "76030c5542c5d132aeeb467ca0ab370f3f79a697" },
|
||||
"ts-comments.nvim": { "branch": "main", "commit": "217ab9cc137fceb6659b53790bd25e608219abe1" },
|
||||
"venv-selector.nvim": { "branch": "main", "commit": "9d528643ab17795c69dc42ce018120c397a36f8b" },
|
||||
"vim-dadbod": { "branch": "master", "commit": "e95afed23712f969f83b4857a24cf9d59114c2e6" },
|
||||
"vim-dadbod-completion": { "branch": "master", "commit": "a8dac0b3cf6132c80dc9b18bef36d4cf7a9e1fe6" },
|
||||
"vim-dadbod-ui": { "branch": "master", "commit": "5a83ee1fdafcdedb03222bb46f7cfd70646025ee" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "b4177e3eaf15fe5eb8357ebac2286d488be1ed00" }
|
||||
}
|
||||
|
||||
@@ -1,14 +1,26 @@
|
||||
{
|
||||
"extras": [
|
||||
"lazyvim.plugins.extras.ai.copilot-chat",
|
||||
"lazyvim.plugins.extras.coding.luasnip",
|
||||
"lazyvim.plugins.extras.editor.telescope",
|
||||
"lazyvim.plugins.extras.formatting.prettier",
|
||||
"lazyvim.plugins.extras.lang.docker",
|
||||
"lazyvim.plugins.extras.lang.git",
|
||||
"lazyvim.plugins.extras.lang.go",
|
||||
"lazyvim.plugins.extras.lang.java",
|
||||
"lazyvim.plugins.extras.lang.json",
|
||||
"lazyvim.plugins.extras.lang.php",
|
||||
"lazyvim.plugins.extras.lang.python",
|
||||
"lazyvim.plugins.extras.lang.rust",
|
||||
"lazyvim.plugins.extras.ui.alpha"
|
||||
"lazyvim.plugins.extras.lang.sql",
|
||||
"lazyvim.plugins.extras.lang.toml",
|
||||
"lazyvim.plugins.extras.lang.yaml",
|
||||
"lazyvim.plugins.extras.linting.eslint",
|
||||
"lazyvim.plugins.extras.ui.alpha",
|
||||
"lazyvim.plugins.extras.util.dot"
|
||||
],
|
||||
"install_version": 8,
|
||||
"news": {
|
||||
"NEWS.md": "10960"
|
||||
"NEWS.md": "11866"
|
||||
},
|
||||
"version": 8
|
||||
}
|
||||
6
.config/nvim/lua/config/blink.lua
Normal file
6
.config/nvim/lua/config/blink.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
-- require("blink.cmp").setup({
|
||||
-- completion = {
|
||||
-- autocomplete = { "TextChanged", "InsertEnter" },
|
||||
-- keyword_pattern = [[\k\+]],
|
||||
-- },
|
||||
-- })
|
||||
@@ -4,3 +4,15 @@
|
||||
|
||||
-- vim.keymap.set("v", "<C-y>", vim.cmd("ToggleTerm"))
|
||||
vim.keymap.set({ "n", "t" }, "<A-t>", "<cmd>ToggleTerm<cr>", { desc = "ToggleTerm" })
|
||||
|
||||
-- vim.api.nvim_create_autocmd("FileType", {
|
||||
-- pattern = { "html", "javascriptreact", "typescriptreact" },
|
||||
-- callback = function()
|
||||
-- vim.keymap.set(
|
||||
-- "i",
|
||||
-- "<Tab>",
|
||||
-- 'emmet#expandAbbrIntelligent("\\<Tab>")',
|
||||
-- { expr = true, noremap = true, silent = true }
|
||||
-- )
|
||||
-- end,
|
||||
-- })
|
||||
|
||||
@@ -1,53 +1,53 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||
{ out, "WarningMsg" },
|
||||
{ "\nPress any key to exit..." },
|
||||
}, true, {})
|
||||
vim.fn.getchar()
|
||||
os.exit(1)
|
||||
end
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||
{ out, "WarningMsg" },
|
||||
{ "\nPress any key to exit..." },
|
||||
}, true, {})
|
||||
vim.fn.getchar()
|
||||
os.exit(1)
|
||||
end
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
-- import/override with your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
defaults = {
|
||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||
lazy = false,
|
||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||
-- have outdated releases, which may break your Neovim install.
|
||||
version = false, -- always use the latest git commit
|
||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||
},
|
||||
install = { colorscheme = { "tokyonight", "habamax" } },
|
||||
checker = {
|
||||
enabled = true, -- check for plugin updates periodically
|
||||
notify = false, -- notify on update
|
||||
}, -- automatically check for plugin updates
|
||||
performance = {
|
||||
rtp = {
|
||||
-- disable some rtp plugins
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
-- "matchit",
|
||||
-- "matchparen",
|
||||
-- "netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
spec = {
|
||||
-- add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
-- import/override with your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
defaults = {
|
||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||
lazy = false,
|
||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||
-- have outdated releases, which may break your Neovim install.
|
||||
version = false, -- always use the latest git commit
|
||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||
},
|
||||
install = { colorscheme = { "tokyonight", "habamax" } },
|
||||
checker = {
|
||||
enabled = true, -- check for plugin updates periodically
|
||||
notify = false, -- notify on update
|
||||
}, -- automatically check for plugin updates
|
||||
performance = {
|
||||
rtp = {
|
||||
-- disable some rtp plugins
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
-- "matchit",
|
||||
-- "matchparen",
|
||||
-- "netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
20
.config/nvim/lua/plugins/lsp.lua
Normal file
20
.config/nvim/lua/plugins/lsp.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
return {
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
emmet_ls = {
|
||||
filetypes = {
|
||||
"html",
|
||||
"typescriptreact",
|
||||
"javascriptreact",
|
||||
"css",
|
||||
"sass",
|
||||
"scss",
|
||||
"less",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
107
.config/ohmyposh/craver.omp.json
Normal file
107
.config/ohmyposh/craver.omp.json
Normal file
@@ -0,0 +1,107 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
|
||||
"blocks": [
|
||||
{
|
||||
"alignment": "left",
|
||||
"segments": [
|
||||
{
|
||||
"background": "#f1184c",
|
||||
"foreground": "#242424",
|
||||
"powerline_symbol": "\ue0c4",
|
||||
"style": "powerline",
|
||||
"template": "\uf0e7",
|
||||
"type": "root"
|
||||
},
|
||||
{
|
||||
"background": "#282c34",
|
||||
"foreground": "#3A86FF",
|
||||
"leading_diamond": " ",
|
||||
"style": "diamond",
|
||||
"template": " {{ if .WSL }}WSL at {{ end }}{{.Icon}} ",
|
||||
"type": "os"
|
||||
},
|
||||
{
|
||||
"background": "#242424",
|
||||
"foreground": "#FFBB00",
|
||||
"powerline_symbol": "\ue0c4",
|
||||
"properties": {
|
||||
"time_format": "15:04:05"
|
||||
},
|
||||
"style": "powerline",
|
||||
"template": "{{ .CurrentDate | date .Format }} ",
|
||||
"type": "time"
|
||||
},
|
||||
{
|
||||
"background": "#242424",
|
||||
"foreground": "#33DD2D",
|
||||
"powerline_symbol": "\ue0b0",
|
||||
"properties": {
|
||||
"folder_separator_icon": "/",
|
||||
"style": "folder"
|
||||
},
|
||||
"style": "powerline",
|
||||
"template": "\ue5ff {{ .Path }} ",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"background": "#242424",
|
||||
"foreground": "#3A86FF",
|
||||
"powerline_symbol": "\ue0b0",
|
||||
"properties": {
|
||||
"fetch_stash_count": true,
|
||||
"fetch_status": true,
|
||||
"fetch_upstream_icon": true
|
||||
},
|
||||
"style": "powerline",
|
||||
"template": "{{ .UpstreamIcon }}{{ .HEAD }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if gt .StashCount 0 }} \ueb4b {{ .StashCount }}{{ end }} ",
|
||||
"type": "git"
|
||||
},
|
||||
{
|
||||
"background": "#0184bc",
|
||||
"foreground": "#ffffff",
|
||||
"powerline_symbol": "\ue0c4",
|
||||
"style": "powerline",
|
||||
"template": " \ue70c {{ if .Unsupported }}\uf071{{ else }}{{ .Full }}{{ end }} ",
|
||||
"type": "dotnet"
|
||||
},
|
||||
{
|
||||
"background": "#8800dd",
|
||||
"foreground": "#ffffff",
|
||||
"powerline_symbol": "\ue0c4",
|
||||
"properties": {
|
||||
"style": "austin",
|
||||
"threshold": 1
|
||||
},
|
||||
"style": "powerline",
|
||||
"template": " <#fefefe>\ueba2</> {{ .FormattedMs }} ",
|
||||
"type": "executiontime"
|
||||
},
|
||||
{
|
||||
"background": "#33DD2D",
|
||||
"background_templates": ["{{ if gt .Code 0 }}#f1184c{{ end }}"],
|
||||
"foreground": "#242424",
|
||||
"powerline_symbol": "\ue0b4",
|
||||
"style": "powerline",
|
||||
"template": " \ueb05 ",
|
||||
"type": "status"
|
||||
}
|
||||
],
|
||||
"type": "prompt"
|
||||
},
|
||||
{
|
||||
"alignment": "left",
|
||||
"newline": true,
|
||||
"segments": [
|
||||
{
|
||||
"foreground": "#f1184c",
|
||||
"style": "plain",
|
||||
"template": "\u279c ",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"type": "prompt"
|
||||
}
|
||||
],
|
||||
"console_title_template": "{{if .Root}}(Admin) {{end}}{{.Folder}}",
|
||||
"version": 3
|
||||
}
|
||||
@@ -1,54 +1,62 @@
|
||||
{
|
||||
"position": "top",
|
||||
"modules-left": ["hyprland/workspaces"],
|
||||
"modules-center": ["hyprland/window"],
|
||||
"modules-right": ["tray", "network", "pulseaudio", "battery", "clock", "custom/swaync", "custom/logout"],
|
||||
"clock": {
|
||||
"format": "<span foreground='#f5c2e7'> </span>{:%a %d %H:%M}",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"on-click": "gnome-calendar"
|
||||
},
|
||||
"custom/swaync": {
|
||||
"format": "<span size='13000' foreground='#a6e3a1'>\uf0f3</span>",
|
||||
"on-click": "swaync-client -t"
|
||||
},
|
||||
"custom/logout": {
|
||||
"format": "<span size='13000' foreground='#a6e3a1'>\uf011</span>",
|
||||
"on-click": "wlogout -b 4"
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "<span size='13000' foreground='#a6e3a1'>{icon} </span> {capacity}%",
|
||||
"format-warning": "<span size='13000' foreground='#B1E3AD'>{icon} </span> {capacity}%",
|
||||
"format-critical": "<span size='13000' foreground='#E38C8F'>{icon} </span> {capacity}%",
|
||||
"format-charging": "<span size='13000' foreground='#B1E3AD'> </span>{capacity}%",
|
||||
"format-plugged": "<span size='13000' foreground='#B1E3AD'> </span>{capacity}%",
|
||||
"format-alt": "<span size='13000' foreground='#B1E3AD'>{icon} </span> {time}",
|
||||
"format-full": "<span size='13000' foreground='#B1E3AD'> </span>{capacity}%",
|
||||
"format-icons": ["", "", "", "", ""],
|
||||
"tooltip-format": "{time}"
|
||||
},
|
||||
"network": {
|
||||
"format-wifi": "<span size='13000' foreground='#f5e0dc'> </span>{essid}",
|
||||
"format-ethernet": "<span size='13000' foreground='#f5e0dc'>\uf796 </span> {ifname}",
|
||||
"format-linked": "{ifname} (No IP) ",
|
||||
"format-disconnected": "<span size='13000' foreground='#f5e0dc'> </span>Disconnected",
|
||||
"tooltip-format-wifi": "Signal Strenght: {signalStrength}%",
|
||||
"on-click": "nm-connection-editor"
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-muted": "\uf6a9 Mute",
|
||||
"format-icons": {
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
"tray": {
|
||||
"show-passive-items": true,
|
||||
"spacing": 12
|
||||
}
|
||||
"position": "top",
|
||||
"modules-left": ["niri/workspaces"],
|
||||
"modules-center": ["niri/window"],
|
||||
"modules-right": [
|
||||
"tray",
|
||||
"network",
|
||||
"pulseaudio",
|
||||
"battery",
|
||||
"clock",
|
||||
"custom/swaync",
|
||||
"custom/logout",
|
||||
],
|
||||
"clock": {
|
||||
"format": "<span foreground='#f5c2e7'> </span>{:%a %d %H:%M}",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"on-click": "gnome-calendar",
|
||||
},
|
||||
"custom/swaync": {
|
||||
"format": "<span size='13000' foreground='#a6e3a1'>\uf0f3</span>",
|
||||
"on-click": "swaync-client -t",
|
||||
},
|
||||
"custom/logout": {
|
||||
"format": "<span size='13000' foreground='#a6e3a1'>\uf011</span>",
|
||||
"on-click": "wlogout -b 4",
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
"warning": 30,
|
||||
"critical": 15,
|
||||
},
|
||||
"format": "<span size='13000' foreground='#a6e3a1'>{icon} </span> {capacity}%",
|
||||
"format-warning": "<span size='13000' foreground='#B1E3AD'>{icon} </span> {capacity}%",
|
||||
"format-critical": "<span size='13000' foreground='#E38C8F'>{icon} </span> {capacity}%",
|
||||
"format-charging": "<span size='13000' foreground='#B1E3AD'> </span>{capacity}%",
|
||||
"format-plugged": "<span size='13000' foreground='#B1E3AD'> </span>{capacity}%",
|
||||
"format-alt": "<span size='13000' foreground='#B1E3AD'>{icon} </span> {time}",
|
||||
"format-full": "<span size='13000' foreground='#B1E3AD'> </span>{capacity}%",
|
||||
"format-icons": ["", "", "", "", ""],
|
||||
"tooltip-format": "{time}",
|
||||
},
|
||||
"network": {
|
||||
"format-wifi": "<span size='13000' foreground='#f5e0dc'> </span>{essid}",
|
||||
"format-ethernet": "<span size='13000' foreground='#f5e0dc'>\uf796 </span> {ifname}",
|
||||
"format-linked": "{ifname} (No IP) ",
|
||||
"format-disconnected": "<span size='13000' foreground='#f5e0dc'> </span>Disconnected",
|
||||
"tooltip-format-wifi": "Signal Strenght: {signalStrength}%",
|
||||
"on-click": "nm-connection-editor",
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-muted": "\uf6a9 Mute",
|
||||
"format-icons": {
|
||||
"default": ["", "", ""],
|
||||
},
|
||||
"on-click": "pavucontrol",
|
||||
},
|
||||
"tray": {
|
||||
"show-passive-items": true,
|
||||
"spacing": 12,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,57 +1,57 @@
|
||||
@import "mocha.css";
|
||||
|
||||
* {
|
||||
font-family: "MesloLGS Nerd Font Mono Bold";
|
||||
font-size: 16px;
|
||||
min-height: 0;
|
||||
font-weight: bold;
|
||||
font-family: "SauceCodePro NFM Bold";
|
||||
font-size: 16px;
|
||||
min-height: 0;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: transparent;
|
||||
background-color: @crust;
|
||||
color: @overlay0;
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.1s;
|
||||
/* border-bottom: 1px solid @overlay1; */
|
||||
background: transparent;
|
||||
background-color: @crust;
|
||||
color: @overlay0;
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.1s;
|
||||
/* border-bottom: 1px solid @overlay1; */
|
||||
}
|
||||
|
||||
#window {
|
||||
margin: 8px;
|
||||
padding-left: 8;
|
||||
padding-right: 8;
|
||||
margin: 8px;
|
||||
padding-left: 8;
|
||||
padding-right: 8;
|
||||
}
|
||||
|
||||
button {
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background: inherit;
|
||||
color: @mauve;
|
||||
border-top: 2px solid @mauve;
|
||||
background: inherit;
|
||||
color: @mauve;
|
||||
border-top: 2px solid @mauve;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 4px;
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
color: @rosewater;
|
||||
border-top: 2px solid @rosewater;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
color: @rosewater;
|
||||
border-top: 2px solid @rosewater;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
color: @mauve;
|
||||
border-top: 2px solid @mauve;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
color: @mauve;
|
||||
border-top: 2px solid @mauve;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-color: #eb4d4b;
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#pulseaudio,
|
||||
@@ -68,71 +68,71 @@ button:hover {
|
||||
#mode,
|
||||
#scratchpad,
|
||||
#custom-swaync {
|
||||
margin-top: 2px;
|
||||
margin-bottom: 2px;
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
padding-left: 4px;
|
||||
padding-right: 4px;
|
||||
margin-top: 2px;
|
||||
margin-bottom: 2px;
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
padding-left: 4px;
|
||||
padding-right: 4px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
color: @maroon;
|
||||
border-bottom: 2px solid @maroon;
|
||||
color: @maroon;
|
||||
border-bottom: 2px solid @maroon;
|
||||
}
|
||||
|
||||
#clock.date {
|
||||
color: @mauve;
|
||||
border-bottom: 2px solid @mauve;
|
||||
color: @mauve;
|
||||
border-bottom: 2px solid @mauve;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
color: @blue;
|
||||
border-bottom: 2px solid @blue;
|
||||
color: @blue;
|
||||
border-bottom: 2px solid @blue;
|
||||
}
|
||||
|
||||
#network {
|
||||
color: @yellow;
|
||||
border-bottom: 2px solid @yellow;
|
||||
color: @yellow;
|
||||
border-bottom: 2px solid @yellow;
|
||||
}
|
||||
|
||||
#idle_inhibitor {
|
||||
margin-right: 12px;
|
||||
color: #7cb342;
|
||||
margin-right: 12px;
|
||||
color: #7cb342;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated {
|
||||
color: @red;
|
||||
color: @red;
|
||||
}
|
||||
|
||||
#battery {
|
||||
color: @green;
|
||||
border-bottom: 2px solid @green;
|
||||
color: @green;
|
||||
border-bottom: 2px solid @green;
|
||||
}
|
||||
|
||||
#tray menu {
|
||||
background-color: @crust;
|
||||
color: @text;
|
||||
background-color: @crust;
|
||||
color: @text;
|
||||
}
|
||||
|
||||
#custom-swaync,
|
||||
#custom-logout {
|
||||
margin-right: 16px;
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
/* If workspaces is the leftmost module, omit left margin */
|
||||
.modules-left > widget:first-child > #workspaces {
|
||||
margin-left: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* If workspaces is the rightmost module, omit right margin */
|
||||
.modules-right > widget:last-child > #workspaces {
|
||||
margin-right: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
#custom-vpn {
|
||||
color: @lavender;
|
||||
border-radius: 15px;
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
color: @lavender;
|
||||
border-radius: 15px;
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
}
|
||||
|
||||
@@ -4,13 +4,13 @@ echo "Installing paru dependencies"
|
||||
sudo pacman -S base-devel git --needed --noconfirm
|
||||
|
||||
if ! command -v paru &>/dev/null; then
|
||||
echo "Installing paru..."
|
||||
TEMP_DIR=$(mktemp -d)
|
||||
echo "Installing paru..."
|
||||
TEMP_DIR=$(mktemp -d)
|
||||
|
||||
git clone https://aur.archlinux.org/paru.git $TEMP_DIR/paru
|
||||
cd $TEMP_DIR/paru
|
||||
git clone https://aur.archlinux.org/paru.git $TEMP_DIR/paru
|
||||
cd $TEMP_DIR/paru
|
||||
|
||||
makepkg -si --noconfirm
|
||||
makepkg -si --noconfirm
|
||||
fi
|
||||
|
||||
echo "Installing packages"
|
||||
@@ -20,6 +20,10 @@ paru -S --noconfirm --needed - <$HOME/.config/yadm/data/packages.txt
|
||||
echo "Changing default shell"
|
||||
sudo chsh -s /bin/fish $USER
|
||||
|
||||
echo "Setting default git branch to \"main\""
|
||||
git config --global init.defaultBranch main
|
||||
|
||||
echo "Applying arrpc fix"
|
||||
sudo cp /usr/lib/systemd/user/arrpc.service /etc/systemd/system/arrpc.service
|
||||
sudo systemctl enable arrpc --now
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
arrpc
|
||||
asciiquarium
|
||||
bat
|
||||
btop
|
||||
fastfetch
|
||||
fish
|
||||
fzf
|
||||
ghostty
|
||||
git
|
||||
hyfetch
|
||||
ncdu
|
||||
neovim
|
||||
nodejs
|
||||
oh-my-posh
|
||||
@@ -10,6 +16,10 @@ otf-linja-pona
|
||||
pokeget
|
||||
power-profiles-daemon
|
||||
reflector
|
||||
tealdeer
|
||||
tree
|
||||
ttf-sourcecodepro-nerd
|
||||
vim
|
||||
wl-clipboard
|
||||
zoxide
|
||||
eza
|
||||
@@ -1,7 +1,9 @@
|
||||
bat
|
||||
arrpc
|
||||
brightnessctl
|
||||
fastfetch
|
||||
fish
|
||||
fzf
|
||||
git
|
||||
hyfetch
|
||||
hypridle
|
||||
@@ -21,6 +23,7 @@ otf-linja-pona
|
||||
pavucontrol
|
||||
playerctl
|
||||
pokeget
|
||||
poweralertd
|
||||
power-profiles-daemon
|
||||
reflector
|
||||
sddm
|
||||
@@ -34,3 +37,4 @@ waybar
|
||||
wlogout
|
||||
wofi
|
||||
xwaylandvideobridge
|
||||
zoxide
|
||||
Reference in New Issue
Block a user