Compare commits

...

15 Commits

Author SHA1 Message Date
178191a94e Niri 2025-10-17 00:58:04 +02:00
89c68f9a9a Nvim shit 2025-10-12 09:52:22 +02:00
b51ef3b9bc Add Godot config 2025-10-01 16:33:38 +02:00
4f064620b1 Shortened some file names 2025-08-03 03:22:53 +02:00
8b0d4464ca Added eza 2025-07-31 02:14:48 +02:00
753ee709f2 Fixed Fastfetch 2025-07-23 21:04:23 +02:00
b6ac2f111a Sort 2025-07-22 19:29:20 +02:00
20f45235ef Added packages 2025-07-22 19:28:19 +02:00
db14f89b2f Updated Fastfetch Logo 2025-07-14 02:42:01 +02:00
4db9bae3b3 OMP 2025-06-29 22:41:43 +02:00
410931dcb8 Fish config 2025-06-29 22:40:13 +02:00
3b94dc69c2 Ghostty Fix 2025-06-29 22:01:21 +02:00
e628e6c6db Ghostty 2025-06-29 22:01:21 +02:00
0b4740a3f4 Yep 2025-06-11 02:39:45 +02:00
51c4213e8a Added zoxide and fzf 2025-05-22 03:04:02 +02:00
28 changed files with 1202 additions and 170 deletions

View File

@@ -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

View File

@@ -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.1 MiB

View File

@@ -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,15 @@ 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 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

View File

@@ -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

View File

@@ -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

View 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

View 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

View 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")]
}]

View 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")]
}]

View File

@@ -0,0 +1,11 @@
{
"disabled_classes": [
"Node3D"
],
"disabled_editors": [],
"disabled_features": [
"3d"
],
"disabled_properties": [],
"type": "feature_profile"
}

View File

@@ -0,0 +1,7 @@
{
"disabled_classes": [],
"disabled_editors": [],
"disabled_features": [],
"disabled_properties": [],
"type": "feature_profile"
}

View File

@@ -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
}

View File

@@ -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

View File

@@ -12,11 +12,11 @@ general {
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(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
col.active_border = rgba(cc1330ee)
col.inactive_border = rgba(303030dd)
# col.active_border = rgba(cc1330ee)
# col.inactive_border = rgba(303030dd)
# Set to true enable resizing windows by clicking and dragging on borders and gaps

619
.config/niri/config.kdl Normal file
View File

@@ -0,0 +1,619 @@
// 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
}
// 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 "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
}
// 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; }
}

View File

@@ -1,2 +1,3 @@
-- bootstrap lazy.nvim, LazyVim and your plugins
require("config.lazy")
vim.lsp.enable("gopls")

View File

@@ -1,41 +1,49 @@
{
"LazyVim": { "branch": "main", "commit": "3f034d0a7f58031123300309f2efd3bb0356ee21" },
"alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" },
"blink.cmp": { "branch": "main", "commit": "4f38ce99a472932d5776337f08f7a8180f1f571a" },
"CopilotChat.nvim": { "branch": "main", "commit": "f68deee85b8d734db1a9fbf63ce17a8164921267" },
"LazyVim": { "branch": "main", "commit": "dc1ffa5bcb66f46284f91a8593dda5c7c54a1824" },
"LuaSnip": { "branch": "master", "commit": "21e9fecfc07fb2cd707b6c7c3fa148550a34d053" },
"SchemaStore.nvim": { "branch": "main", "commit": "667eaa5da8f66f1dd97c905a12dd1eb544a2d259" },
"alpha-nvim": { "branch": "main", "commit": "2b3cbcdd980cae1e022409289245053f62fb50f6" },
"blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"catppuccin": { "branch": "main", "commit": "1bf070129c0b6f77cc23f6a2212dcdc868308c52" },
"conform.nvim": { "branch": "master", "commit": "372fc521f8421b7830ea6db4d6ea3bae1c77548c" },
"crates.nvim": { "branch": "main", "commit": "2c8f4fab02e3e9ea42c6ad9b547e4207a914a397" },
"catppuccin": { "branch": "main", "commit": "af58927c55c9f3272c940ff02b3cee94a1249f26" },
"conform.nvim": { "branch": "master", "commit": "fbcb4fa7f34bfea9be702ffff481a8e336ebf6ed" },
"crates.nvim": { "branch": "main", "commit": "ac9fa498a9edb96dc3056724ff69d5f40b898453" },
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
"flash.nvim": { "branch": "main", "commit": "2febce67ff9cf7638d2569d17c41af02c38401eb" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"gitsigns.nvim": { "branch": "main", "commit": "43b0c856ae5f32a195d83f4a27fe21d63e6c966c" },
"grug-far.nvim": { "branch": "main", "commit": "b91e6d4bad441dcaeda3d0c6df45ed270443b60a" },
"gitsigns.nvim": { "branch": "main", "commit": "1ee5c1fd068c81f9dd06483e639c2aa4587dc197" },
"grug-far.nvim": { "branch": "main", "commit": "2e991081c0e653e151fc9e659514d7c2fc31d22a" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
"lualine.nvim": { "branch": "master", "commit": "15884cee63a8c205334ab13ab1c891cd4d27101a" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "d39a75bbce4b8aad5d627191ea915179c77c100f" },
"mason.nvim": { "branch": "main", "commit": "7c7318e8bae7e3536ef6b9e86b9e38e74f2e125e" },
"mini.ai": { "branch": "main", "commit": "e139eb1101beb0250fea322f8c07a42f0f175688" },
"mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" },
"mini.pairs": { "branch": "main", "commit": "69864a2efb36c030877421634487fd90db1e4298" },
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
"nui.nvim": { "branch": "main", "commit": "f535005e6ad1016383f24e39559833759453564e" },
"nvim-lint": { "branch": "master", "commit": "9dfb77ef6c5092a19502883c02dc5a02ec648729" },
"nvim-lspconfig": { "branch": "master", "commit": "4bc481b6f0c0cf3671fc894debd0e00347089a4e" },
"nvim-treesitter": { "branch": "master", "commit": "28d480e0624b259095e56f353ec911f9f2a0f404" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "0e3be38005e9673d044e994b1e4b123adb040179" },
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"rustaceanvim": { "branch": "master", "commit": "d197f4942d79c699d1a7771b29197a733ffb0261" },
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
"lazydev.nvim": { "branch": "main", "commit": "e28ce52fc7ff79fcb76f0e79ee6fb6182fca90b9" },
"lualine.nvim": { "branch": "master", "commit": "e533fac71bc361768f90004af695cd1f1aa1900a" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "6bdb14f230de0904229ec367b410fb817e59b072" },
"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": "38c702be0d8fea81527ee6a73e1e834e72481193" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-jdtls": { "branch": "master", "commit": "380ac148f989e1291aac002dc959ecc68c5243d0" },
"nvim-lint": { "branch": "master", "commit": "9da1fb942dd0668d5182f9c8dee801b9c190e2bb" },
"nvim-lspconfig": { "branch": "master", "commit": "ac98db2f9f06a56498ec890a96928774eae412c3" },
"nvim-treesitter": { "branch": "main", "commit": "4968877bb2dceac45948e24ee14298b1006b4cbf" },
"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": "2f5afad4fc62c609dfd2ef4613999a0e8bddcccc" },
"snacks.nvim": { "branch": "main", "commit": "454ba02d69347c0735044f159b95d2495fc79a73" },
"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": "d14614cbfc63b6037bfccd48bb982d2ad2003352" },
"trouble.nvim": { "branch": "main", "commit": "c098362fe603d3922095e7db595961e020bdf2d0" },
"ts-comments.nvim": { "branch": "main", "commit": "217ab9cc137fceb6659b53790bd25e608219abe1" },
"venv-selector.nvim": { "branch": "main", "commit": "7fff64b5b1455207b9a9fd2ae8697cf9ac0b2a2d" },
"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" }
}

View File

@@ -1,14 +1,27 @@
{
"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
}

View File

@@ -0,0 +1,6 @@
-- require("blink.cmp").setup({
-- completion = {
-- autocomplete = { "TextChanged", "InsertEnter" },
-- keyword_pattern = [[\k\+]],
-- },
-- })

View File

@@ -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,
-- })

View File

@@ -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",
},
},
},
})

View File

@@ -0,0 +1,20 @@
return {
{
"neovim/nvim-lspconfig",
opts = {
servers = {
emmet_ls = {
filetypes = {
"html",
"typescriptreact",
"javascriptreact",
"css",
"sass",
"scss",
"less",
},
},
},
},
},
}

View 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
}

View File

@@ -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,
},
}

View File

@@ -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

View File

@@ -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

View File

@@ -1,7 +1,9 @@
bat
arrpc
brightnessctl
fastfetch
fish
fzf
git
hyfetch
hypridle
@@ -35,3 +37,4 @@ waybar
wlogout
wofi
xwaylandvideobridge
zoxide