diff --git a/ghostty/.config/ghostty/config b/ghostty/.config/ghostty/config new file mode 100644 index 0000000..df8de44 --- /dev/null +++ b/ghostty/.config/ghostty/config @@ -0,0 +1,12 @@ +# font +font-family = "Hack Nerd Font Mono" +font-size = 10 + +# colors +# theme = Everforest Dark - Hard +theme = Guezwhoz +cursor-color = #ffff00 +cursor-text = #000000 +shell-integration-features = no-cursor +cursor-style = block + diff --git a/git/.config/git/config b/git/.config/git/config index 07e354c..4c2c4b4 100644 --- a/git/.config/git/config +++ b/git/.config/git/config @@ -5,7 +5,7 @@ [color] ui = auto [merge] - conflictstyle = diff3 + conflictstyle = zdiff3 [commit] gpgsign = false [credential] diff --git a/sway/.config/alacritty/alacritty.toml b/niri/.config/alacritty/alacritty.toml similarity index 100% rename from sway/.config/alacritty/alacritty.toml rename to niri/.config/alacritty/alacritty.toml diff --git a/sway/.config/alacritty/alacritty.yml b/niri/.config/alacritty/alacritty.yml similarity index 100% rename from sway/.config/alacritty/alacritty.yml rename to niri/.config/alacritty/alacritty.yml diff --git a/niri/.config/i3bar-river/config.toml b/niri/.config/i3bar-river/config.toml new file mode 100644 index 0000000..bc6fcff --- /dev/null +++ b/niri/.config/i3bar-river/config.toml @@ -0,0 +1,19 @@ +height = 16 +font = "Hack 10" +command = "i3status-rs" +position = "bottom" +show_tags = true + +# colors +background = "#111111ff" +color = "#dcdcccff" + +tag_bg = "#222222ff" +tag_fg = "#dcdcccff" + +tag_focused_bg = "#ffff00ff" +tag_focused_fg = "#000000ff" +tag_urgent_bg = "#ff0500ff" +tag_urgent_fg = "#ffffffff" + +tags_padding = 10 diff --git a/sway/.config/i3status-rust/config.toml b/niri/.config/i3status-rust/config.toml similarity index 71% rename from sway/.config/i3status-rust/config.toml rename to niri/.config/i3status-rust/config.toml index b56486d..4b06105 100644 --- a/sway/.config/i3status-rust/config.toml +++ b/niri/.config/i3status-rust/config.toml @@ -4,16 +4,6 @@ theme = "foot" [icons] icons = "material-nf" -[[block]] -block = "scratchpad" - -[[block]] -block = "time" -format = " $icon $timestamp.datetime(f:'%a %F %R', l:nl_NL) " -[block.theme_overrides] -idle_bg = { link = "idle_fg" } -idle_fg = { link = "idle_bg" } - [[block]] block = "maildir" interval = 60 @@ -22,7 +12,7 @@ threshold_critical = 1 display_type = "new" [[block.click]] button = "left" -cmd = "foot -a floating-foot -W 150x40 -- zsh -c neomutt" +cmd = "alacritty -e zsh -c neomutt" [[block]] block = "maildir" @@ -33,7 +23,7 @@ threshold_critical = 10 display_type = "new" [[block.click]] button = "left" -cmd = "foot -a floating-foot -W 150x40 -- zsh -c neomutt" +cmd = "alacritty -e zsh -c neomutt" [[block]] block = "backlight" @@ -52,12 +42,6 @@ block = "net" device = "enp1s0f0" format = " $icon{ | $ip $ipv6 }" -# TODO patch upstream -#[[block]] -#block = "net" -#device = "wg-mullvad" -#format = " $device up $ip " - [[block]] block = "memory" warning_swap = 100.0 @@ -67,29 +51,27 @@ critical_swap = 100.0 block = "load" format = " $1m.eng(w:4) $5m.eng(w:4) $15m.eng(w:4) " -# [[block]] -# block = "bluetooth" -# mac = "88:C9:E8:CE:69:9F" -# [[block.click]] -# button = "left" -# cmd = "bluetoothctl connect 88:C9:E8:CE:69:9F" -# [[block.click]] -# button = "right" -# cmd = "bluetoothctl disconnect 88:C9:E8:CE:69:9F" - [[block]] block = "sound" headphones_indicator = true [[block.click]] button = "left" -cmd = "foot --app-id floating-foot --window-size-chars=150x50 -- zsh -c pulsemixer" +cmd = "alacritty -e zsh -c pulsemixer" [[block]] block = "keyboard_layout" -driver = "sway" +driver = "localebus" [[block]] block = "battery" driver = "upower" format = " $icon $percentage $time " if_command = "test -e /sys/class/power_supply/BAT0" + +[[block]] +block = "time" +format = " $icon $timestamp.datetime(f:'%a %F %R', l:nl_NL) " +[block.theme_overrides] +idle_bg = { link = "idle_fg" } +idle_fg = { link = "idle_bg" } + diff --git a/sway/.config/i3status-rust/themes/everforest.toml b/niri/.config/i3status-rust/themes/everforest.toml similarity index 100% rename from sway/.config/i3status-rust/themes/everforest.toml rename to niri/.config/i3status-rust/themes/everforest.toml diff --git a/sway/.config/i3status-rust/themes/foot.toml b/niri/.config/i3status-rust/themes/foot.toml similarity index 100% rename from sway/.config/i3status-rust/themes/foot.toml rename to niri/.config/i3status-rust/themes/foot.toml diff --git a/sway/.config/i3status-rust/themes/moonfly.toml b/niri/.config/i3status-rust/themes/moonfly.toml similarity index 100% rename from sway/.config/i3status-rust/themes/moonfly.toml rename to niri/.config/i3status-rust/themes/moonfly.toml diff --git a/sway/.config/mako/config b/niri/.config/mako/config similarity index 100% rename from sway/.config/mako/config rename to niri/.config/mako/config diff --git a/sway/.config/mpv/mpv.conf b/niri/.config/mpv/mpv.conf similarity index 100% rename from sway/.config/mpv/mpv.conf rename to niri/.config/mpv/mpv.conf diff --git a/niri/.config/niri/config.kdl b/niri/.config/niri/config.kdl new file mode 100644 index 0000000..5355aff --- /dev/null +++ b/niri/.config/niri/config.kdl @@ -0,0 +1,476 @@ +// https://github.com/YaLTeR/niri/wiki/Configuration:-Overview + +input { + keyboard { + xkb { + // For example: + layout "us,ru" + options "grp:win_space_toggle,compose:ralt,ctrl:nocaps" + } + } + + // Next sections include libinput settings. + touchpad { + tap + natural-scroll + accel-profile "adaptive" + scroll-method "two-finger" + } + + mouse { + accel-profile "adaptive" + } + + trackpoint { + accel-profile "adaptive" + } +} + +output "eDP-1" { + scale 1 + position x=0 y=0 +} + +// home +output "LG Electronics LG HDR 4K 0x00080CA7" { + scale 1 + position x=-3840 y=-960 +} + +// https://github.com/YaLTeR/niri/wiki/Configuration:-Layout +layout { + gaps 4 + + // 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 + + // 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 3 + + // 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 "#ffff00" + + // Color of the ring on inactive 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="#80c8ff" to="#bbddff" 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" + + // active-gradient from="#ffbb66" to="#ffc880" angle=45 relative-to="workspace-view" + // 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. +// spawn-at-startup "alacritty" "-e" "fish" +spawn-at-startup "alacritty" +spawn-at-startup "i3bar-river" +spawn-at-startup "mako" +spawn-at-startup "swayidle" "-w" "timeout" "300" "~/.lock.sh" "before-sleep" "~/.lock.sh" +spawn-at-startup "swww-daemon" + +// 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_%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://github.com/YaLTeR/niri/wiki/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://github.com/YaLTeR/niri/wiki/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 12 + // 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+Slash { show-hotkey-overlay; } + + // Suggested binds for running programs: terminal, app launcher, screen locker. + Mod+T { spawn "alacritty"; } + Mod+D { spawn "fuzzel"; } + Super+Delete { spawn "~/.lock.sh"; } + + // mako + Mod+N { spawn "makoctl" "dismiss"; } + Mod+Shift+N { spawn "makoctl" "restore"; } + + // You can also use a shell. Do this if you need pipes, multiple commands, etc. + // Note: the entire command goes as a single argument in the end. + // Mod+T { spawn "bash" "-c" "notify-send hello && exec alacritty"; } + + // Example volume keys mappings for PipeWire & WirePlumber. + // The allow-when-locked=true property makes them work even when the session is locked. + XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; } + XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; } + XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } + XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; } + XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "set" "5%-"; } + XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "set" "+5%"; } + + Mod+Q { close-window; } + + Mod+H { focus-column-left; } + Mod+J { focus-window-down; } + Mod+K { focus-window-up; } + Mod+L { focus-column-right; } + + Mod+Shift+H { move-column-left; } + Mod+Shift+J { move-window-down; } + Mod+Shift+K { move-window-up; } + Mod+Shift+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+Left { focus-monitor-left; } + Mod+Down { focus-monitor-down; } + Mod+Up { focus-monitor-up; } + Mod+Right { focus-monitor-right; } + + Mod+Shift+Left { move-column-to-monitor-left; } + Mod+Shift+Down { move-column-to-monitor-down; } + Mod+Shift+Up { move-column-to-monitor-up; } + Mod+Shift+Right { move-column-to-monitor-right; } + + Mod+Alt+Left { move-workspace-to-monitor-left; } + Mod+Alt+Down { move-workspace-to-monitor-down; } + Mod+Alt+Up { move-workspace-to-monitor-up; } + Mod+Alt+Right { move-workspace-to-monitor-right; } + + + Mod+Page_Down { focus-workspace-down; } + Mod+Page_Up { focus-workspace-up; } + Mod+U { focus-workspace-down; } + Mod+I { focus-workspace-up; } + Mod+Shift+Page_Down { move-column-to-workspace-down; } + Mod+Shift+Page_Up { move-column-to-workspace-up; } + Mod+Shift+U { move-column-to-workspace-down; } + Mod+Shift+I { move-column-to-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; } + + // 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+Shift+1 { move-column-to-workspace 1; } + Mod+Shift+2 { move-column-to-workspace 2; } + Mod+Shift+3 { move-column-to-workspace 3; } + Mod+Shift+4 { move-column-to-workspace 4; } + Mod+Shift+5 { move-column-to-workspace 5; } + Mod+Shift+6 { move-column-to-workspace 6; } + Mod+Shift+7 { move-column-to-workspace 7; } + Mod+Shift+8 { move-column-to-workspace 8; } + Mod+Shift+9 { move-column-to-workspace 9; } + + // 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; } + 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; } + + // 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 "-5%"; } + Mod+Equal { set-column-width "+5%"; } + + // Finer height adjustments when in column with other windows. + Mod+Shift+Minus { set-window-height "-10%"; } + Mod+Shift+Equal { 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; } +} diff --git a/niri/.lock.sh b/niri/.lock.sh new file mode 100755 index 0000000..78eb20c --- /dev/null +++ b/niri/.lock.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +niri msg action "power-off-monitors" +swaylock -Ffk -i $HOME/Pictures/1476574162061.jpg -s fill diff --git a/nvim.lua/.config/nvim/init.lua b/nvim.lua/.config/nvim/init.lua index 242ca7e..396baa7 100644 --- a/nvim.lua/.config/nvim/init.lua +++ b/nvim.lua/.config/nvim/init.lua @@ -16,7 +16,7 @@ set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNO " Incrementally show effects of :s, :smagic, :snomagic set icm=split -set number relativenumber +set number set nobackup nowritebackup set noswapfile diff --git a/nvim.lua/.config/nvim/lua/lualine_setup.lua b/nvim.lua/.config/nvim/lua/lualine_setup.lua index 8ceba41..9bea4c0 100644 --- a/nvim.lua/.config/nvim/lua/lualine_setup.lua +++ b/nvim.lua/.config/nvim/lua/lualine_setup.lua @@ -4,7 +4,7 @@ vim.cmd([[set noshowmode]]) return require('lualine').setup { options = { icons_enabled = true, - theme = 'everforest', + theme = '16color', section_separators = '', component_seaparators = '', } diff --git a/nvim.lua/.config/nvim/lua/plugins.lua b/nvim.lua/.config/nvim/lua/plugins.lua index 16d5c66..57817ea 100644 --- a/nvim.lua/.config/nvim/lua/plugins.lua +++ b/nvim.lua/.config/nvim/lua/plugins.lua @@ -33,6 +33,7 @@ return require('packer').startup(function(use) } --Better syntax + use 'imsnif/kdl.vim' use 'rust-lang/rust.vim' use 'LnL7/vim-nix' use 'cespare/vim-toml' @@ -64,23 +65,23 @@ return require('packer').startup(function(use) use { 'sainnhe/everforest', + -- config = function() + -- vim.cmd([[ + -- set termguicolors + -- let g:everforest_transparent_background = 2 + -- colorscheme everforest + -- ]]) + -- end, + } + use { + 'casonadams/walh', config = function() vim.cmd([[ - set termguicolors - let g:everforest_transparent_background = 2 - colorscheme everforest + set notermguicolors + colorscheme walh-one ]]) end, } - -- use { - -- 'casonadams/walh', - -- config = function() - -- vim.cmd([[ - -- set notermguicolors - -- colorscheme walh-one - -- ]]) - -- end, - -- } use { 'johnfrankmorgan/whitespace.nvim', diff --git a/sway/.config/kanshi/config b/sway/.config/kanshi/config deleted file mode 100644 index 2e46355..0000000 --- a/sway/.config/kanshi/config +++ /dev/null @@ -1,14 +0,0 @@ -# Default -profile { - output eDP-1 enable adaptive_sync on -} -# Home -profile { - output eDP-1 enable position 3840,960 adaptive_sync on - output 'LG Electronics LG HDR 4K 0x00080CA7' enable mode 3840x2160 position 0,0 adaptive_sync on -} -# Work -profile { - output eDP-1 enable position 0,1200 adaptive_sync on - output "Samsung Electric Company LF24T450G HNMTA01726" enable mode 1920x1200@74.939Hz position 0,0 adaptive_sync on -} diff --git a/sway/.config/rofi/config.rasi b/sway/.config/rofi/config.rasi deleted file mode 100644 index 72773b6..0000000 --- a/sway/.config/rofi/config.rasi +++ /dev/null @@ -1,8 +0,0 @@ -configuration { - modi: "drun,ssh,run,combi"; - font: "Hack 11"; - combi-modi: "drun,ssh"; - terminal: "foot"; -} -//@theme "DarkBlue" -@theme "gruvbox-dark-hard" diff --git a/sway/.config/sway/colors/foot-colors b/sway/.config/sway/colors/foot-colors deleted file mode 100644 index 12d1f3b..0000000 --- a/sway/.config/sway/colors/foot-colors +++ /dev/null @@ -1,18 +0,0 @@ -set $colorFG #dcdccc -set $colorBG #111111 -set $color00 #222222 -set $color01 #cc9393 -set $color02 #7f9f7f -set $color03 #d0bf8f -set $color04 #6ca0a3 -set $color05 #dc8cc3 -set $color06 #93e0e3 -set $color07 #dcdccc -set $color10 #666666 -set $color11 #dca3a3 -set $color12 #bfebbf -set $color13 #f0dfaf -set $color14 #8cd0d3 -set $color15 #fcace3 -set $color16 #b3ffff -set $color17 #ffffff diff --git a/sway/.config/sway/colors/moonfly b/sway/.config/sway/colors/moonfly deleted file mode 100644 index c592bac..0000000 --- a/sway/.config/sway/colors/moonfly +++ /dev/null @@ -1,18 +0,0 @@ -set $colorFG #b2b2b2 -set $colorBG #080808 -set $color00 #323437 -set $color01 #ff5454 -set $color02 #8cc85f -set $color03 #e3c78a -set $color04 #80a0ff -set $color05 #d183e8 -set $color06 #79dac8 -set $color07 #c6c6c6 -set $color10 #949494 -set $color11 #ff5189 -set $color12 #36c692 -set $color13 #c2c292 -set $color14 #74b2ff -set $color15 #ae81ff -set $color16 #85dc85 -set $color17 #e4e4e4 diff --git a/sway/.config/sway/config b/sway/.config/sway/config deleted file mode 100644 index ef5f24c..0000000 --- a/sway/.config/sway/config +++ /dev/null @@ -1,316 +0,0 @@ -# Default config for sway -# -# Copy this to ~/.config/sway/config and edit it to your liking. -# -# Read `man 5 sway` for a complete reference. - -### Variables -# -# Logo key. Use Mod1 for Alt. -set $mod Mod4 -# Home row direction keys, like vim -set $left h -set $down j -set $up k -set $right l -# Your preferred terminal emulator -set $term foot -set $floatterm foot -a floating-foot -set $lock $HOME/.config/sway/lock.sh -set $locknow $HOME/.config/sway/locknow.sh - -# Your preferred application launcher -# Note: pass the final command to swaymsg so that the resulting window can be opened -# on the original workspace that the command was run on. -set $menu rofi -show combi | xargs swaymsg exec -- - -### Output configuration -output * bg /home/0xa/Pictures/tiles/343.png tile - -# screen lock -exec swayidle -w \ - timeout 300 $lock \ - timeout 303 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \ - before-sleep $lock - -### Input configuration -input type:touchpad { - accel_profile adaptive - click_method clickfinger - dwt enabled - dwtp enabled - middle_emulation enabled - natural_scroll enabled - events disabled -} -bindsym $mod+Shift+t input type:touchpad events toggle enabled disabled - -input type:keyboard { - xkb_layout "us,ru" - xkb_options "caps:ctrl_modifier,grp:alt_space_toggle" -} - -focus_follows_mouse yes -# mouse_warping container -seat * hide_cursor 5000 - -### Key bindings -# -# Basics: -# - # Start a terminal - bindsym --to-code $mod+Return exec $term - # start a floating terminal - bindsym --to-code $mod+Shift+Return exec $floatterm - for_window [app_id="floating-foot"] floating enable - - # Start a python shell - bindsym --to-code $mod+z exec $floatterm -- python - - # Kill focused window - bindsym --to-code $mod+Shift+q kill - - # Start your launcher - bindsym --to-code $mod+d exec $menu - - # Drag floating windows by holding down $mod and left mouse button. - # Resize them with right mouse button + $mod. - # Despite the name, also works for non-floating windows. - # Change normal to inverse to use left mouse button for resizing and right - # mouse button for dragging. - floating_modifier $mod normal - - # Reload the configuration file - bindsym --to-code $mod+Shift+c reload - - # Exit sway (logs you out of your Wayland session) - bindsym --to-code $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' - - # Brightness - bindsym --to-code --locked XF86MonBrightnessDown exec "brightnessctl set 5%-" - bindsym --to-code --locked XF86MonBrightnessUp exec "brightnessctl set +5%" - # Volume - bindsym --to-code --locked XF86AudioRaiseVolume exec 'wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+' - bindsym --to-code --locked XF86AudioLowerVolume exec 'wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-' - bindsym --to-code --locked XF86AudioMute exec 'wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle' - # Screen locking - bindsym --to-code $mod+Delete exec $lock - # Screenshots - bindsym --to-code Print exec 'grim -g "$(slurp)" - | wl-copy' - bindsym --to-code $mod+p exec 'grim -g "$(slurp)" - | wl-copy' - bindsym --to-code $mod+Print exec 'grim -g "$(slurp)" ~/Pictures/$(date +"%Y-%m-%d-%H-%M-%S").png' - bindsym --to-code $mod+Mod1+p exec 'grim -g "$(slurp)" ~/Pictures/$(date +"%Y-%m-%d-%H-%M-%S").png' - # Notifications - bindsym --to-code $mod+m exec 'swaync-client -t' - # Check mail - bindsym --to-code $mod+n exec 'systemctl --user start mbsync.service' - - -# -# Moving around: -# - # Move your focus around - bindsym --to-code $mod+$left focus left - bindsym --to-code $mod+$down focus down - bindsym --to-code $mod+$up focus up - bindsym --to-code $mod+$right focus right - # Or use $mod+[up|down|left|right] - bindsym --to-code $mod+Left focus left - bindsym --to-code $mod+Down focus down - bindsym --to-code $mod+Up focus up - bindsym --to-code $mod+Right focus right - - # Move the focused window with the same, but add Shift - bindsym --to-code $mod+Shift+$left move left - bindsym --to-code $mod+Shift+$down move down - bindsym --to-code $mod+Shift+$up move up - bindsym --to-code $mod+Shift+$right move right - # Ditto, with arrow keys - bindsym --to-code $mod+Shift+Left move left - bindsym --to-code $mod+Shift+Down move down - bindsym --to-code $mod+Shift+Up move up - bindsym --to-code $mod+Shift+Right move right -# -# Workspaces: -# - # define outputs - set $builtin_out eDP-1 - set $home_out 'LG Electronics LG HDR 4K 0x00080CA7' - # bind workspaces to inputs - workspace 1 output $home_out $builtin_out - workspace 2 output $home_out $builtin_out - workspace 3 output $home_out $builtin_out - workspace 4 output $home_out $builtin_out - workspace 5 output $home_out $builtin_out - workspace 6 output $home_out $builtin_out - workspace 7 output $home_out $builtin_out - workspace 8 output $home_out $builtin_out - workspace 9 output $home_out $builtin_out - workspace 10 output $home_out $builtin_out - workspace 11 output $builtin_out - workspace 12 output $builtin_out - workspace 13 output $builtin_out - workspace 14 output $builtin_out - workspace 15 output $builtin_out - workspace 16 output $builtin_out - workspace 17 output $builtin_out - workspace 18 output $builtin_out - workspace 19 output $builtin_out - workspace 20 output $builtin_out - - # move workspace between inputs - bindsym $mod+Mod1+Left move workspace to output left - bindsym $mod+Mod1+Right move workspace to output right - bindsym $mod+Mod1+Up move workspace to output up - bindsym $mod+Mod1+Down move workspace to output down - # Switch to workspace - bindsym --to-code $mod+1 workspace number 1 - bindsym --to-code $mod+2 workspace number 2 - bindsym --to-code $mod+3 workspace number 3 - bindsym --to-code $mod+4 workspace number 4 - bindsym --to-code $mod+5 workspace number 5 - bindsym --to-code $mod+6 workspace number 6 - bindsym --to-code $mod+7 workspace number 7 - bindsym --to-code $mod+8 workspace number 8 - bindsym --to-code $mod+9 workspace number 9 - bindsym --to-code $mod+0 workspace number 10 - # Move focused container to workspace - bindsym --to-code $mod+Shift+1 move container to workspace number 1 - bindsym --to-code $mod+Shift+2 move container to workspace number 2 - bindsym --to-code $mod+Shift+3 move container to workspace number 3 - bindsym --to-code $mod+Shift+4 move container to workspace number 4 - bindsym --to-code $mod+Shift+5 move container to workspace number 5 - bindsym --to-code $mod+Shift+6 move container to workspace number 6 - bindsym --to-code $mod+Shift+7 move container to workspace number 7 - bindsym --to-code $mod+Shift+8 move container to workspace number 8 - bindsym --to-code $mod+Shift+9 move container to workspace number 9 - bindsym --to-code $mod+Shift+0 move container to workspace number 10 - # Switch to workspace - bindsym --to-code $mod+Mod1+1 workspace number 11 - bindsym --to-code $mod+Mod1+2 workspace number 12 - bindsym --to-code $mod+Mod1+3 workspace number 13 - bindsym --to-code $mod+Mod1+4 workspace number 14 - bindsym --to-code $mod+Mod1+5 workspace number 15 - bindsym --to-code $mod+Mod1+6 workspace number 16 - bindsym --to-code $mod+Mod1+7 workspace number 17 - bindsym --to-code $mod+Mod1+8 workspace number 18 - bindsym --to-code $mod+Mod1+9 workspace number 19 - bindsym --to-code $mod+Mod1+0 workspace number 20 - # Move focused container to workspace - bindsym --to-code $mod+Mod1+Shift+1 move container to workspace number 11 - bindsym --to-code $mod+Mod1+Shift+2 move container to workspace number 12 - bindsym --to-code $mod+Mod1+Shift+3 move container to workspace number 13 - bindsym --to-code $mod+Mod1+Shift+4 move container to workspace number 14 - bindsym --to-code $mod+Mod1+Shift+5 move container to workspace number 15 - bindsym --to-code $mod+Mod1+Shift+6 move container to workspace number 16 - bindsym --to-code $mod+Mod1+Shift+7 move container to workspace number 17 - bindsym --to-code $mod+Mod1+Shift+8 move container to workspace number 18 - bindsym --to-code $mod+Mod1+Shift+9 move container to workspace number 19 - bindsym --to-code $mod+Mod1+Shift+0 move container to workspace number 20 - # Note: workspaces can have any name you want, not just numbers. - # We just use 1-10 as the default. -# -# Layout stuff: -# - # You can "split" the current object of your focus with - # $mod+b or $mod+v, for horizontal and vertical splits - # respectively. - bindsym --to-code $mod+b splith - bindsym --to-code $mod+v splitv - - # Switch the current container between different layout styles - bindsym --to-code $mod+s layout stacking - bindsym --to-code $mod+w layout tabbed - bindsym --to-code $mod+e layout toggle split - - # Make the current focus fullscreen - bindsym --to-code $mod+f fullscreen - - # Toggle the current focus between tiling and floating mode - bindsym --to-code $mod+Shift+space floating toggle - - # Swap focus between the tiling area and the floating area - bindsym --to-code $mod+space focus mode_toggle - - # Move focus to the parent container - bindsym --to-code $mod+a focus parent - bindsym --to-code $mod+Shift+a focus child -# -# Scratchpad: -# - # Sway has a "scratchpad", which is a bag of holding for windows. - # You can send windows there and get them back later. - - # Move the currently focused window to the scratchpad - bindsym --to-code $mod+Shift+minus move scratchpad - - # Show the next scratchpad window or hide the focused scratchpad window. - # If there are multiple scratchpad windows, this command cycles through them. - bindsym --to-code $mod+minus scratchpad show -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym --to-code $left resize shrink width 30px - bindsym --to-code $down resize grow height 30px - bindsym --to-code $up resize shrink height 30px - bindsym --to-code $right resize grow width 30px - - # Ditto, with arrow keys - bindsym --to-code Left resize shrink width 10px - bindsym --to-code Down resize grow height 10px - bindsym --to-code Up resize shrink height 10px - bindsym --to-code Right resize grow width 10px - - # Return to default mode - bindsym --to-code Return mode "default" - bindsym --to-code Escape mode "default" -} -bindsym --to-code $mod+r mode "resize" - -## Styling: colors -include ./colors/foot-colors - -## Window styling -# Border BG Text Indicator Child Border -client.focused $color05 $color05 $color00 $color07 $color05 -#client.focused_inactive $color00 $color00 $color00 $color00 $color00 - -# -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. -bar { - position top - font pango:Hack 9 - icon_theme "Adwaita" - status_command /run/current-system/sw/bin/i3status-rs - colors { - background $colorBG - separator $color05 - # statusline $color15 - - # STATE Border BG Text - focused_workspace $color05 $color05 $color00 - } -} - -# default border -default_border pixel 2 -# Set font -font pango:Hack 9 - -# bindsym --to-code $mod+t input type:touchpad toggle - -# Startup applications -exec iwgtk -i -exec blueman-applet -exec_always pkill kanshi; exec kanshi -exec swaync - -include ./config.d/* -include /etc/sway/config.d/* diff --git a/sway/.config/sway/config.d/window_overrides b/sway/.config/sway/config.d/window_overrides deleted file mode 100644 index 640c88a..0000000 --- a/sway/.config/sway/config.d/window_overrides +++ /dev/null @@ -1,22 +0,0 @@ -# window rules -# floating -for_window [app_id="imv"] floating enable; border normal -for_window [app_id="org.twosheds.iwgtk"] floating enable; border normal -for_window [app_id=".blueman-manager-wrapped"] floating enable; border normal -for_window [app_id="com.nextcloud.desktopclient.nextcloud"] floating enable; border normal - -# tabbed containers -for_window [app_id="CubicSDR"] layout tabbed -for_window [app_id="org.wireshark.Wireshark"] layout tabbed - -for_window [app_id="zoom" title="^zoom$"] border none, floating enable -# For specific Zoom windows -for_window [app_id="zoom" title="^(Zoom|About)$"] border pixel, floating enable -for_window [app_id="zoom" title="Settings"] floating enable, floating_minimum_size 960 x 700 -# Open Zoom Meeting windows on a new workspace (a bit hacky) -for_window [app_id="zoom" title="Zoom Meeting(.*)?"] workspace next_on_output --create, move container to workspace current, floating disable, inhibit_idle open -# kill firefox sharing indicator -for_window [app_id="firefox" title="Firefox — Sharing Indicator"] kill -# fix picture-in-picture behaviour -for_window [app_id="firefox" title="Picture-in-Picture"] floating enable, sticky enable - diff --git a/sway/.config/sway/lock.sh b/sway/.config/sway/lock.sh deleted file mode 100755 index 3c620f1..0000000 --- a/sway/.config/sway/lock.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -swaylock -Ffk -i $HOME/Pictures/tiles/343.png -s tile diff --git a/sway/.config/sway/locknow.sh b/sway/.config/sway/locknow.sh deleted file mode 100755 index e45f248..0000000 --- a/sway/.config/sway/locknow.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -swayidle -w \ - timeout 1 'swaymsg "output * dpms off"' \ - resume 'swaymsg "output * dpms on"' \ - before-sleep '$HOME/.config/sway/lock.sh' - -pid=$! -kill pid diff --git a/sway/.config/sway/wallpapers/ibm.jpg b/sway/.config/sway/wallpapers/ibm.jpg deleted file mode 100644 index 9177600..0000000 Binary files a/sway/.config/sway/wallpapers/ibm.jpg and /dev/null differ diff --git a/sway/.config/sway/wallpapers/lock-fullhd.png b/sway/.config/sway/wallpapers/lock-fullhd.png deleted file mode 100644 index 7b6c79c..0000000 Binary files a/sway/.config/sway/wallpapers/lock-fullhd.png and /dev/null differ diff --git a/sway/.config/sway/wallpapers/lock-wuxga.png b/sway/.config/sway/wallpapers/lock-wuxga.png deleted file mode 100644 index c59533f..0000000 Binary files a/sway/.config/sway/wallpapers/lock-wuxga.png and /dev/null differ diff --git a/sway/.config/sway/wallpapers/wall.jpg b/sway/.config/sway/wallpapers/wall.jpg deleted file mode 100644 index f5e2997..0000000 Binary files a/sway/.config/sway/wallpapers/wall.jpg and /dev/null differ diff --git a/sway/.config/swayimg/config b/sway/.config/swayimg/config deleted file mode 100644 index a7b6e1a..0000000 --- a/sway/.config/swayimg/config +++ /dev/null @@ -1,105 +0,0 @@ -# https://git.deuill.org/deuill/dotfiles -################################################################################ -# Viewer mode configuration -################################################################################ -[viewer] -# Window background color (RGBA) -window = #00000000 -# Background for transparent images (grid/RGBA) -transparency = grid -# Default image scale (optimal/fit/width/height/fill/real) -scale = optimal -# Fix position of the image on the window surface (yes/no) -fixed = yes -# Anti-aliasing (yes/no) -antialiasing = no -# Run slideshow at startup (yes/no) -slideshow = no -# Slideshow image display time (seconds) -slideshow_time = 3 -# Number of previously viewed images to store in cache -history = 1 -# Number of preloaded images (read ahead) -preload = 1 - -################################################################################ -# Gallery mode configuration -################################################################################ -[gallery] -# Max size of the thumbnail (pixels) -size = 300 -# Max number of thumbnails in cache, 0 to unlimit -cache = 100 -# Fill the entire tile with thumbnail (yes/no) -fill = yes -# Use anti-aliasing for thumbnails (yes/no) -antialiasing = no -# Background color of the window (RGBA) -window = #00000000 -# Background color of the tile (RGBA) -background = #202020ff -# Background color of the selected tile (RGBA) -select = #333333ff -# Border color of the selected tile (RGBA) -border = #ab4642ff -# Shadow color of the selected tile (RGBA) -shadow = #00000000 - -################################################################################ -# Font configuration -################################################################################ -[font] -# Font name -name = Iosevka -# Font size (pt) -size = 18 -# Font color (RGBA) -color = #fefefeff -# Shadow color (RGBA) -shadow = #333333ff - -################################################################################ -# Image meta info scheme (format, size, EXIF, etc) -################################################################################ - -# Display scheme for viewer mode (position = content) -[info.viewer] -top_left = +name,+format,+filesize,+imagesize,+exif -top_right = index -bottom_left = scale,frame -bottom_right = status - -# Display scheme for gallery mode (position = content) -[info.gallery] -top_left = none -top_right = none -bottom_left = none -bottom_right = name,status - -################################################################################ -# Viewer mode key binding configuration. -################################################################################ -[keys.viewer] -h = prev_file -j = zoom -10 -k = zoom +10 -l = next_file - -Shift+h = prev_dir -Shift+j = rotate_left -Shift+k = rotate_right -Shift+l = next_dir - -Alt+h = step_left 10 -Alt+j = step_down 10 -Alt+k = step_up 10 -Alt+l = step_right 10 - -################################################################################ -# Gallery mode key binding configuration. -################################################################################ -[keys.gallery] -h = step_left -j = step_down -k = step_up -l = step_right