Compare commits

...

5 Commits

Author SHA1 Message Date
Braydon Kains ddc41696ae
nvim lsp stuff and sway
Braydon Kains 3ee805f855
sway config better and locking screen
Braydon Kains 41df408336
add helpers
Braydon Kains c5cb0d7f9b
make the sway script actually work
Braydon Kains 36ba37cbc0
add sway

@ -1 +0,0 @@
vim.keymap.set("n", "<leader>gs", vim.cmd.Git)

@ -37,10 +37,21 @@ lsp.on_attach(function(_, bufnr)
vim.keymap.set("n", "<leader>vd", function() vim.diagnostic.open_float() end, opts) vim.keymap.set("n", "<leader>vd", function() vim.diagnostic.open_float() end, opts)
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts) vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts)
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts) vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts)
vim.keymap.set("n", "<C-.>", function() vim.lsp.buf.code_action() end, opts) vim.keymap.set("n", "<leader>vc", function() vim.lsp.buf.code_action() end, opts)
vim.keymap.set("n", "<leader>vrr", function() vim.lsp.buf.references() end, opts) vim.keymap.set("n", "<leader>vrr", function() vim.lsp.buf.references() end, opts)
vim.keymap.set("n", "<leader>rn", function() vim.lsp.buf.rename() end, opts) vim.keymap.set("n", "<leader>rn", function() vim.lsp.buf.rename() end, opts)
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts) vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
end) end)
lsp.format_on_save({
format_opts = {
async = false,
timeout_ms = 10000,
},
servers = {
['lua_ls'] = {'lua'},
['gopls'] = {'go'},
}
})
lsp.setup() lsp.setup()

@ -44,7 +44,6 @@ return require('packer').startup(function(use)
{'L3MON4D3/LuaSnip'}, -- Required {'L3MON4D3/LuaSnip'}, -- Required
}, },
use('tpope/vim-fugitive'),
use('editorconfig/editorconfig-vim'), use('editorconfig/editorconfig-vim'),
} }
end) end)

@ -45,3 +45,6 @@ vim.keymap.set("n", "<leader>wt", ":tabnew<cr>")
vim.keymap.set("n", "<Leader>c", '"+') vim.keymap.set("n", "<Leader>c", '"+')
vim.keymap.set("v", "<Leader>c", '"+') vim.keymap.set("v", "<Leader>c", '"+')
-- Reload config
vim.keymap.set("n", "<leader>rc", ":so $HOME/.config/nvim/init.lua<cr>")

@ -0,0 +1,10 @@
function sync_fork() {
git fetch upstream
BRANCH=$1
if [ -z "$BRANCH" ]; then
BRANCH="main"
fi
git rebase upstream/$BRANCH
git push -f
}

@ -0,0 +1,277 @@
# 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
# Locker
set $locker sway_manual_lock
# 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 dmenu_path | dmenu | xargs swaymsg exec --
set $menu exec wofi --show drun
include /etc/sway/config-vars.d/*
### Output configuration
#
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
#
# Example configuration:
#
# output HDMI-A-1 resolution 1920x1080 position 1920,0
#
# You can get the names of your outputs by running: swaymsg -t get_outputs
### Idle configuration
#
# Example configuration:
#
# exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
# before-sleep 'swaylock -f -c 000000'
#
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
#
# Example configuration:
#
# input "2:14:SynPS/2_Synaptics_TouchPad" {
# dwt enabled
# tap enabled
# natural_scroll enabled
# middle_emulation enabled
# }
#
# You can get the names of your inputs by running: swaymsg -t get_inputs
# Read `man 5 sway-input` for more information about this section.
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Return exec $term
# Kill focused window
bindsym $mod+Shift+q kill
# Start your launcher
bindsym $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 $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
bindsym $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'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow keys
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
# Note: workspaces can have any name you want, not just numbers.
# We just use 1-10 as the default.
# bind numpad as well
bindsym $mod+Mod2+KP_1 workspace number 1
bindsym $mod+Mod2+KP_2 workspace number 2
bindsym $mod+Mod2+KP_3 workspace number 3
bindsym $mod+Mod2+KP_4 workspace number 4
bindsym $mod+Mod2+KP_5 workspace number 5
bindsym $mod+Mod2+KP_6 workspace number 6
bindsym $mod+Mod2+KP_7 workspace number 7
bindsym $mod+Mod2+KP_8 workspace number 8
bindsym $mod+Mod2+KP_9 workspace number 9
bindsym $mod+Mod2+KP_0 workspace number 10
bindsym $mod+Shift+Mod2+KP_1 move container to workspace number 1
bindsym $mod+Shift+Mod2+KP_2 move container to workspace number 2
bindsym $mod+Shift+Mod2+KP_3 move container to workspace number 3
bindsym $mod+Shift+Mod2+KP_4 move container to workspace number 4
bindsym $mod+Shift+Mod2+KP_5 move container to workspace number 5
bindsym $mod+Shift+Mod2+KP_6 move container to workspace number 6
bindsym $mod+Shift+Mod2+KP_7 move container to workspace number 7
bindsym $mod+Shift+Mod2+KP_8 move container to workspace number 8
bindsym $mod+Shift+Mod2+KP_9 move container to workspace number 9
bindsym $mod+Shift+Mod2+KP_0 move container to workspace number 10
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
#
# 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 $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 $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 $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
#
# Status Bar:
#
# Read `man 5 sway-bar` for more information about this section.
bar {
position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
# status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done
status_command i3status
colors {
statusline #ffffff
background #323232
inactive_workspace #32323200 #32323200 #5c5c5c
}
}
# Make SSH work
exec "ssh-agent -a $SSH_AUTH_SOCK"
input "type:keyboard" {
# Swap Caps and Esc
xkb_options caps:swapescape
# enable numlock
xkb_numlock enabled
}
# media/brightness buttons
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +5%
bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 5%-
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
# manually lock with mod+l
bindsym $mod+Ctrl+l exec $locker
# Turn off screen at 4 minutes, lock at 5 minutes.
exec swayidle -w \
before-sleep 'playerctl pause' \
timeout 300 '$locker' \
timeout 15 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"'
include /etc/sway/config.d/*

@ -0,0 +1,41 @@
#!/bin/sh
###
# way_lock
# Lock Wayland session
#
# Run-Depends
# x11/swayidle
# x11/swaylock
# {any /bin/sh capable of background execution}
#
# Note: swayidle implements KDE's idle protocol[1], so the compositor
# acting as a window manager must support it. Swayidle will not
# work as intended otherwise.
# [1] https://github.com/swaywm/sway/blob/57d6f6f19e3088dcb8e202acade8c39a80075b4a/protocols/idle.xml
###
# Number of seconds before screen turns off
timeout=10
# Turn screen off after $timeout seconds of inactivity.
# Turn it on again when there is activity.
#
# swayidle acts like a daemon, meaning it continues execution even after
# the script is terminated, so we need to execute it in the background
# to be able to terminate it later (unless you like your screen turning
# off every 10 seconds for some reason?)
swayidle \
timeout $timeout 'swaymsg output \* dpms off' \
resume 'swaymsg output \* dpms on' \
&
playerctl play-pause
# Lock the screen and wait for it to be unlocked.
swaylock -f -e -c 1d2021 --inside-color 000000b3 -s fill -i ~/.cache/lockscreen
# Screen unlocked: terminate swayidle and clean up PID
kill -TERM $!
wait

@ -0,0 +1,5 @@
#!/usr/bin/env bash
ln -s $(pwd)/sway ~/.config
sudo ln -s sway_manual_lock /usr/bin
Loading…
Cancel
Save