aboutsummaryrefslogtreecommitdiff
path: root/.config
diff options
context:
space:
mode:
Diffstat (limited to '.config')
-rw-r--r--.config/i3/config143
-rw-r--r--.config/nvim/ftdetect/ox.vim1
-rw-r--r--.config/nvim/live-server/package-lock.json6
-rw-r--r--.config/nvim/lua/map.lua7
-rw-r--r--.config/nvim/lua/plugin/liveserver.lua13
-rw-r--r--.config/nvim/lua/plugin/packer.lua8
-rw-r--r--.config/nvim/lua/plugin/setup.lua2
-rw-r--r--.config/nvim/syntax/ox.vim51
8 files changed, 102 insertions, 129 deletions
diff --git a/.config/i3/config b/.config/i3/config
index ed8a568..e6b6c07 100644
--- a/.config/i3/config
+++ b/.config/i3/config
@@ -1,35 +1,7 @@
-# i3 config file (v4)
-#
-# Please see https://i3wm.org/docs/userguide.html for a complete reference!
-#
-# This config file uses keycodes (bindsym) and was written for the QWERTY
-# layout.
-#
-# To get a config file with the same key positions, but for your current
-# layout, use the i3-config-wizard
-#
-
-# Font for window titles. Will also be used by the bar unless a different font
-# is used in the bar {} block below.
font pango:Mononoki Nerd Font Mono 10
-# This font is widely installed, provides lots of unicode glyphs, right-to-left
-# text rendering and scalability on retina/hidpi displays (thanks to pango).
-#font pango:DejaVu Sans Mono 8
-
-# Start XDG autostart .desktop files using dex. See also
-# https://wiki.archlinux.org/index.php/XDG_Autostart
exec --no-startup-id dex --autostart --environment i3
-
-# The combination of xss-lock, nm-applet and pactl is a popular choice, so
-# they are included here as an example. Modify as you see fit.
-
-# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
-# screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
-
-# NetworkManager is the most popular way to manage wireless networks on Linux,
-# and nm-applet is a desktop environment-independent system tray GUI for it.
exec --no-startup-id nm-applet
exec xrandr --output DVI-D-0 --auto --right-of HDMI-A-0
@@ -38,7 +10,6 @@ exec nitrogen --restore
exec alacritty --hold -e sudo pacman -Syu
exec unclutter --timeout 2
-# Use pactl to adjust volume in PulseAudio.
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +2% && $refresh_i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -2% && $refresh_i3status
@@ -48,96 +19,57 @@ bindsym XF86AudioPause exec --no-startup-id playerctl play-pause && $refresh_i3s
bindsym XF86AudioNext exec --no-startup-id playerctl next && $refresh_i3status
bindsym XF86AudioPrev exec --no-startup-id playerctl previous && $refresh_i3status
-# use these keys for focus, movement, and resize directions when reaching for
-# the arrows is not convenient
set $up k
set $down j
set $left h
set $right l
set $mod Mod4
-# use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
+smart_borders on
-# move tiling windows via drag & drop by left-clicking into the title bar,
-# or left-clicking anywhere into the window while holding the floating modifier.
tiling_drag modifier titlebar
-# start a terminal
bindsym $mod+Return exec alacritty
bindsym Print exec flameshot gui
+bindsym $mod+u exec setxkbmap us
+bindsym $mod+n exec setxkbmap nl
-# kill focused window
bindsym $mod+Shift+q kill
-# start dmenu (a program launcher)
bindsym $mod+d exec --no-startup-id rofi -show drun -show-icons
-# A more modern dmenu replacement is rofi:
-# bindsym $mod+d exec "rofi -modi drun,run -show drun"
-# There also is i3-dmenu-desktop which only displays applications shipping a
-# .desktop file. It is a wrapper around dmenu, so you need that installed.
-# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
-# change focus
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
-# alternatively, you can use the cursor keys:
-# bindsym $mod+Left focus left
-# bindsym $mod+Down focus down
-# bindsym $mod+Up focus up
-# bindsym $mod+Right focus right
-
-# move focused window
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
-# alternatively, you can use the cursor 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
-
-# split in horizontal orientation
bindsym $mod+g split h
-# split in vertical orientation
bindsym $mod+v split v
-# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
-# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
-# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
-# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
-# focus the parent container
bindsym $mod+a focus parent
-# focus the child container
-#bindsym $mod+d focus child
-
-# 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
-# Define names for default workspaces for which we configure key bindings later on.
-# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
@@ -149,7 +81,12 @@ set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
-# switch to workspace
+workspace $ws1 output HDMI-A-0
+workspace $ws2 output HDMI-A-0
+workspace $ws3 output HDMI-A-0
+workspace $ws9 output DVI-D-0
+workspace $ws10 output DVI-D-0
+
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
@@ -161,10 +98,12 @@ bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
-bindsym $mod+x workspace number $ws10
+bindsym $mod+i workspace number $ws1
+bindsym $mod+t workspace number $ws2
+bindsym $mod+o workspace number $ws3
bindsym $mod+z workspace number $ws9
+bindsym $mod+x workspace number $ws10
-# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
@@ -176,39 +115,25 @@ bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
-bindsym $mod+Shift+x move container to workspace number $ws10
+bindsym $mod+Shift+i move container to workspace number $ws1
+bindsym $mod+Shift+t move container to workspace number $ws2
+bindsym $mod+Shift+o move container to workspace number $ws3
bindsym $mod+Shift+z move container to workspace number $ws9
+bindsym $mod+Shift+x move container to workspace number $ws10
bindsym $mod+Ctrl+l move workspace to output right
bindsym $mod+Ctrl+h move workspace to output left
-# reload the configuration file
bindsym $mod+Shift+c reload
-# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
-# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
-# resize window (you can also use the mouse for that)
mode "resize" {
- # These bindings trigger as soon as you enter the resize mode
-
- # Pressing left will shrink the window’s width.
- # Pressing right will grow the window’s width.
- # Pressing up will shrink the window’s height.
- # Pressing down will grow the window’s height.
bindsym $left resize shrink width 10 px or 10 ppt
bindsym $down resize grow height 10 px or 10 ppt
bindsym $up resize shrink height 10 px or 10 ppt
bindsym $right resize grow width 10 px or 10 ppt
- # same bindings, but for the arrow keys
- bindsym Left resize shrink width 10 px or 10 ppt
- bindsym Down resize grow height 10 px or 10 ppt
- bindsym Up resize shrink height 10 px or 10 ppt
- bindsym Right resize grow width 10 px or 10 ppt
-
- # back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
@@ -223,7 +148,6 @@ set $lgray #888888
set $black #000000
set $white #ffffff
-# class border backgr. text indicator child_border
client.focused $yellow $yellow $black #2e9ef4 $dyellow
client.focused_inactive $dyellow $dyellow $black #484e50 $gray
client.unfocused $gray $gray $lgray #292d2e $gray
@@ -233,36 +157,3 @@ client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
client.background #ffffff
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
-
-# Start i3bar to display a workspace bar (plus the system information i3status
-# finds out, if available)
-# bar {
-# status_command i3blocks -c ~/.config/i3/i3blocks.conf
-#
-# # mode hide
-#
-# colors {
-# background #111111
-# statusline #ffffff
-# separator #666666
-#
-# # border bg text
-# focused_workspace #ffffff #aaaaaa #444444
-# active_workspace #cccccc #888888 #444444
-# inactive_workspace #444444 #000000 #888888
-# urgent_workspace #2f343a #900000 #ffffff
-# binding_mode #2f343a #900000 #ffffff
-# }
-# }
-
-#######################################################################
-# automatically start i3-config-wizard to offer the user to create a
-# keysym-based config which used their favorite modifier (alt or windows)
-#
-# i3-config-wizard will not launch if there already is a config file
-# in ~/.config/i3/config (or $XDG_CONFIG_HOME/i3/config if set) or
-# ~/.i3/config.
-#
-# Please remove the following exec line:
-#######################################################################
-exec i3-config-wizard
diff --git a/.config/nvim/ftdetect/ox.vim b/.config/nvim/ftdetect/ox.vim
new file mode 100644
index 0000000..d42940c
--- /dev/null
+++ b/.config/nvim/ftdetect/ox.vim
@@ -0,0 +1 @@
+au BufRead,BufNewFile *.ox set filetype=ox
diff --git a/.config/nvim/live-server/package-lock.json b/.config/nvim/live-server/package-lock.json
new file mode 100644
index 0000000..9527ed2
--- /dev/null
+++ b/.config/nvim/live-server/package-lock.json
@@ -0,0 +1,6 @@
+{
+ "name": "live-server",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {}
+}
diff --git a/.config/nvim/lua/map.lua b/.config/nvim/lua/map.lua
index f23b703..f94cd9f 100644
--- a/.config/nvim/lua/map.lua
+++ b/.config/nvim/lua/map.lua
@@ -12,8 +12,11 @@ vim.keymap.set("n", "<C-l>", "<C-w>l", {})
vim.keymap.set("n", "<C-u>", "u", {})
vim.keymap.set("n", "u", "", {})
-vim.keymap.set({ "v", "n" }, ".", "<C-u>", {})
-vim.keymap.set({ "v", "n" }, ",", "<C-d>", {})
+vim.keymap.set("n", "<leader>b", "^", {})
+vim.keymap.set("n", "<leader>w", "$", {})
+
+vim.keymap.set({ "v", "n" }, ".", "<C-u>zz", {})
+vim.keymap.set({ "v", "n" }, ",", "<C-d>zz", {})
vim.keymap.set("o", "as", "a\"", {})
vim.keymap.set("o", "is", "i\"", {})
diff --git a/.config/nvim/lua/plugin/liveserver.lua b/.config/nvim/lua/plugin/liveserver.lua
new file mode 100644
index 0000000..542a1fb
--- /dev/null
+++ b/.config/nvim/lua/plugin/liveserver.lua
@@ -0,0 +1,13 @@
+local status_ok, live_server = pcall(require, "live_server")
+if not status_ok then
+ return
+end
+
+live_server.setup({
+ port = 8080,
+ browser_command = "", -- Empty string starts up with default browser
+ quiet = false,
+ no_css_inject = false, -- Disables css injection if true, might be useful when testing out tailwindcss
+ install_path = vim.fn.stdpath "config" .. "/live-server/",
+})
+
diff --git a/.config/nvim/lua/plugin/packer.lua b/.config/nvim/lua/plugin/packer.lua
index 19265c8..015463d 100644
--- a/.config/nvim/lua/plugin/packer.lua
+++ b/.config/nvim/lua/plugin/packer.lua
@@ -24,6 +24,14 @@ return require("packer").startup(function(use)
}
use {
+ "aurum77/live-server.nvim",
+ run = function()
+ require"live_server.util".install()
+ end,
+ cmd = { "LiveServer", "LiveServerStart", "LiveServerStop" },
+ }
+
+ use {
"utilyre/barbecue.nvim",
tag = "*",
requires = {
diff --git a/.config/nvim/lua/plugin/setup.lua b/.config/nvim/lua/plugin/setup.lua
index d5cca00..69eed82 100644
--- a/.config/nvim/lua/plugin/setup.lua
+++ b/.config/nvim/lua/plugin/setup.lua
@@ -4,9 +4,9 @@ require("nvim-lightbulb").setup({
autocmd = { enabled = true }
})
+require("plugin.liveserver")
require("plugin.nvimtree")
require("plugin.treesitter")
-require("plugin.presence")
require("plugin.telescope")
require("plugin.autopairs")
require("plugin.lualine")
diff --git a/.config/nvim/syntax/ox.vim b/.config/nvim/syntax/ox.vim
new file mode 100644
index 0000000..c5abff4
--- /dev/null
+++ b/.config/nvim/syntax/ox.vim
@@ -0,0 +1,51 @@
+if exists("b:current_syntax")
+ finish
+endif
+
+syn keyword oxTodo contained TODO FIXME HACK
+syn match oxComment /\/\/.*$/ contains=oxTodo
+syn region oxMComment start=/\/\*/ end=/\*\//
+
+syn keyword oxStatement return var break continue
+syn keyword oxFunc fn
+syn keyword oxRepeat for while
+syn keyword oxDeclaration fn var
+syn keyword oxStructure class enum
+syn keyword oxConstants true false
+syn keyword oxConditional if else
+syn keyword oxStorageClass global local
+
+syn keyword oxOperator and or
+syn match oxSymOperator /[+\-\*/%]|[\>\<\=\!]\=?/
+
+syn match oxIdentifier /[A-z_]+[A-z0-9_]*/
+
+syn match oxNumber /\<\d\+\>/
+syn match oxNumber /\<\d\+\.\d*\%([eE][-+]\=\d\+\)\=/
+syn match oxNumber /\.\d\+\%([eE][-+]\=\d\+\)\=\>/
+syn match oxNumber /\<\d\+[eE][-+]\=\d\+\>/
+
+syn match oxEscape contained /\\[ntr\\\"']/
+syn match oxStringD /\".*\"/ contains=oxEscape
+syn match oxStringS /\'.*\'/ contains=oxEscape
+syn match oxType /(?<=\:)\s*[A-z_]+[A-z0-9_]*/
+
+let b:current_syntax = "ox"
+
+hi def link oxComment Comment
+hi def link oxMComment Comment
+hi def link oxStatement Statement
+hi def link oxFunc Function
+hi def link oxDeclaration Statement
+hi def link oxRepeat Repeat
+hi def link oxIdentifier Identifier
+hi def link oxNumber Number
+hi def link oxStringD String
+hi def link oxStringS String
+hi def link oxConstants Constant
+hi def link oxOperator Operator
+hi def link oxSymOperator Operator
+hi def link oxConditional Conditional
+hi def link oxStructure Structure
+hi def link oxStorageClass StorageClass
+hi def link oxType Type