diff options
-rw-r--r-- | config/foot/foot.ini | 2 | ||||
-rw-r--r-- | config/kak/kakrc | 7 | ||||
-rw-r--r-- | config/sway/config | 275 | ||||
-rw-r--r-- | config/waybar/config.jsonc | 4 | ||||
-rw-r--r-- | config/waybar/style.css | 4 | ||||
-rw-r--r-- | cwmrc | 16 | ||||
-rw-r--r-- | kshrc | 4 | ||||
-rwxr-xr-x | local/bin/bemenu-toggle | 2 | ||||
-rwxr-xr-x | local/bin/pfetch | 6 | ||||
-rw-r--r-- | mbsyncrc | 3 | ||||
-rw-r--r-- | profile | 15 | ||||
m--------- | vim/pack/downloads/opt/lsp | 0 | ||||
m--------- | vim/pack/downloads/opt/vim-colors-plain | 0 | ||||
-rw-r--r-- | vimrc | 44 | ||||
-rwxr-xr-x | xinitrc | 14 |
15 files changed, 354 insertions, 42 deletions
diff --git a/config/foot/foot.ini b/config/foot/foot.ini index f42aee0..4345785 100644 --- a/config/foot/foot.ini +++ b/config/foot/foot.ini @@ -1,5 +1,5 @@ pad=8x4 -font=Iosevka Term:size=14:weight=light +font=Iosevka Term:size=15:weight=light line-height=20 underline-thickness=1px underline-offset=4px diff --git a/config/kak/kakrc b/config/kak/kakrc index 02213b7..04d11b1 100644 --- a/config/kak/kakrc +++ b/config/kak/kakrc @@ -18,7 +18,7 @@ hook global WinSetOption filetype=(rust|python|nim|go|javascript|typescript|c|cp hook global WinSetOption filetype=(eml|markdown|org) %{ spell } -hook global BufSetOption filetype=(javascript|typescript) %{ +hook global BufSetOption filetype=(javascript|typescript|html) %{ set-option buffer formatcmd "prettier --stdin-filepath=%val{buffile}" hook buffer BufWritePre .* %{format} } @@ -178,7 +178,7 @@ hook global WinCreate .* %{ evaluate-commands %sh{ hook global RegisterModified '"' %{ nop %sh{ case $(uname) in Linux) - echo "$kak_main_reg_dquote" | xclip -selection clipboard -i > /dev/null 2>&1 & ;; + wl-copy -n "$kak_main_reg_dquote" > /dev/null 2>&1 & ;; Darwin) printf "%s" "$kak_main_reg_dquote" | pbcopy ;; esac @@ -262,3 +262,6 @@ let open HTML in | Error e -> Components.Errors.handle log e }; phantom-selection-add-selection ; phantom-selection-iterate-next } } + +# TAGS + diff --git a/config/sway/config b/config/sway/config new file mode 100644 index 0000000..47e26a9 --- /dev/null +++ b/config/sway/config @@ -0,0 +1,275 @@ +# 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 $mail foot aerc + +set $bup brightnessctl s +10% +set $bdown brightnessctl s 10%- + +set $volup pamixer -i 5 +set $voldown pamixer -d 5 +set $mute pamixer -t + +set $print grim - | swappy -f - +set $printpart grim -g "$(slurp)" - | swappy -f - +set $colorpicker grim -g "$(slurp -p)" -t ppm - | convert - -format "%[pixel:p{0,0}]" txt:- | tail -n 1 | cut -d " " -f 4 | wl-copy + +# 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 bemenu-toggle | xargs swaymsg exec -- + +### Output configuration +# +# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) +output * { + scale 1 + bg "#ece9e1" solid_color +} +# +# 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 * power off"' resume 'swaymsg "output * power 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 "1267:32:Elan_Touchpad" { + dwt enabled + tap enabled + natural_scroll enabled + middle_emulation enabled +} +input "1:1:AT_Translated_Set_2_keyboard" { + xkb_layout us + xkb_variant colemak + xkb_options caps:capslock +} +# +# 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 + + bindsym $mod+e exec $mail + + # Start your launcher + bindsym $mod+space 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 + bindgesture swipe:3:left focus left + bindgesture swipe:3:right focus right + bindgesture swipe:3:up focus up + bindgesture swipe:3:down focus down + + # 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 + + + bindsym Print exec $print + bindsym $mod+Print exec $printpart + bindsym $mod+q exec $colorpicker + + +# +# Workspaces: +# + bindgesture swipe:4:left workspace prev + bindgesture swipe:4:right workspace next + # `=grave + bindsym $mod+grave workspace back_and_forth + # 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. +# +# 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+d 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 + + # Move focus to the parent container + bindsym $mod+a focus parent + + bindsym XF86AudioRaiseVolume exec $volup + bindsym XF86AudioLowerVolume exec $voldown + bindsym XF86AudioMute exec $mute + bindsym XF86MonBrightnessUp exec $bup + bindsym XF86MonBrightnessDown exec $bdown +# +# 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 + bindsym $mod+u resize grow height 99999px + +# +# 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" + +focus_follows_mouse always +mouse_warping container + +for_window [workspace=1] floating enable +for_window [workspace=2] floating enable +for_window [workspace=3] floating enable + +default_border pixel 3 +default_floating_border pixel 3 + +seat seat0 xcursor_theme Adwaita 32 +exec_always gsettings set org.gnome.desktop.interface document-font-name 'Iosevka Aile' +exec_always gsettings set org.gnome.desktop.interface font-name 'Iosevka Aile' +exec_always gsettings set org.gnome.desktop.interface cursor-size 32 +exec dbus-update-activation-environment WAYLAND_DISPLAY DISPLAY XDG_CURRENT_DESKTOP=sway +exec_always gsettings set org.gnome.desktop.interface cursor-theme Adwaita +exec_always gsettings set org.gnome.wm.preferences button-layout "" + +# Border background text indicator child_border +client.focused #0D698F #0D698F #D7D7D7 #0D698F #0D698F +client.unfocused #E8E8E8 #E8E8E8 #000000 #E8E8E8 #E8E8E8 + +# +# Status Bar: +# +# Read `man 5 sway-bar` for more information about this section. +bar { + swaybar_command waybar +} + + + +include /etc/sway/config.d/* diff --git a/config/waybar/config.jsonc b/config/waybar/config.jsonc index c66defc..53c96e2 100644 --- a/config/waybar/config.jsonc +++ b/config/waybar/config.jsonc @@ -12,7 +12,7 @@ "clock" ], "clock": { - "format": "{:%m-%d %H:%M}", + "format": "{:%H:%M %d/%m}", "format-alt": "{:%Y-%m-%d}" }, "battery": { @@ -31,7 +31,7 @@ }, "network": { // "interface": "wlp2*", // (Optionall) To force the use of this interface - "format-wifi": "NET: CONNECTED", + "format-wifi": "NET: {essid}", "format-ethernet": "{ipaddr}/{cidr} ", "tooltip-format": "{ifname} via {gwaddr} ", "format-linked": "{ifname} (No IP) ", diff --git a/config/waybar/style.css b/config/waybar/style.css index 52d37f9..82ff157 100644 --- a/config/waybar/style.css +++ b/config/waybar/style.css @@ -71,7 +71,7 @@ button:hover { #mpd { padding: 0 7px; padding-bottom: 7px; - color: #0D29FF; + color: #0D29CC; } #window, @@ -89,7 +89,7 @@ button:hover { margin-right: 0; } #battery { - color: #0D29FF; + color: #0D29CC; } #battery.charging, #battery.plugged { @@ -31,14 +31,14 @@ bind-key 4-q window-close bind-key 4-m window-fullscreen bind-key 4-l window-vtile bind-key 4-u window-vmaximize -bind-key 4-f window-move-right-big 50000 -bind-key 4S-f window-resize-right-big 50000 -bind-key 4-n window-move-down-big 50000 -bind-key 4S-n window-resize-down-big 50000 -bind-key 4-p window-move-up-big 50000 -bind-key 4S-p window-resize-up-big 50000 -bind-key 4-b window-move-left-big 50000 -bind-key 4S-b window-resize-left-big 50000 +bind-key 4-f window-move-right-big +bind-key 4S-f window-resize-right-big +bind-key 4-n window-move-down-big +bind-key 4S-n window-resize-down-big +bind-key 4-p window-move-up-big +bind-key 4S-p window-resize-up-big +bind-key 4-b window-move-left-big +bind-key 4S-b window-resize-left-big bind-key 4S-r restart bind-key 4-space menu-exec bind-key 4-Tab window-cycle @@ -8,11 +8,13 @@ alias de='eval "$(direnv export bash)"' alias f-commit="fossil commit && fossil git export" alias jrnl='stitch -t :journal:' -PS1='\W ' +PS1='${PWD##*/} ' set -o emacs if [ -x "$(command -v opam)" ]; then eval $(opam env) fi +. /home/mccd/.nix-profile/etc/profile.d/nix.sh + eval "$(zoxide init posix --hook prompt)" diff --git a/local/bin/bemenu-toggle b/local/bin/bemenu-toggle index 8d4b0ec..269dff0 100755 --- a/local/bin/bemenu-toggle +++ b/local/bin/bemenu-toggle @@ -19,4 +19,4 @@ export BEMENU_OPTS="--tb '#333333'\ --bdr '#333333'\ --scf '#FFFFFF'"; -bemenu-run -p 'RUN' -c -i -B 5 --hp 9 --fn 'Iosevka 14' +bemenu-run -p 'RUN' -W 0.3 -c -i -B 8 --hp 9 --fn 'Iosevka 14' diff --git a/local/bin/pfetch b/local/bin/pfetch index 924d690..e3d6df0 100755 --- a/local/bin/pfetch +++ b/local/bin/pfetch @@ -245,8 +245,8 @@ get_os() { # the file contents as plain-text. while IFS='=' read -r key val; do case $key in - (PRETTY_NAME) - distro=$val + (NAME) + distro="$(echo $val | tr '[:upper:]' '[:lower:]')" ;; esac done < /etc/os-release @@ -1051,7 +1051,7 @@ get_wm() { ;; esac - log wm "hikari" >&6 + log wm "sway" >&6 } @@ -22,7 +22,6 @@ MaildirStore Home-local Path ~/mail-home/ Inbox ~/mail-home/INBOX SubFolders Verbatim -Flatten + # This section a "channel", a connection between remote and local Channel Home @@ -30,7 +29,7 @@ Far :Home-remote: Near :Home-local: Patterns * !.nnmaildir !*/.nnmaildir Expunge None -CopyArrivalDate yes +CopyArrivalDate no Sync All Create Near SyncState * @@ -1,13 +1,20 @@ if [ -e /home/mccd/.nix-profile/etc/profile.d/nix.sh ]; then . /home/mccd/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer -export EDITOR="kak" +export LIBSEAT_BACKEND=logind +export QS_QPA_PLATFORM=wayland-egl +export MOZ_ENABLE_WAYLAND="1" +export XDG_CURRENT_DESKTOP="wlroots" +export EDITOR="vim" export GDK_DPI_SCALE="1.5" export GDK_SCALE="1.5" export XCURSOR_SIZE="32" -export PF_INFO="ascii title editor shell wm" +export PF_INFO="ascii title os editor shell wm" export PF_ALIGN="5" export PF_COLOR="0" + +test -r /home/mccd/.opam/opam-init/init.sh && . /home/mccd/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true export PATH=${PATH}:~/.local/bin +export XDG_DATA_DIRS=${XDG_DATA_DIRS}:~/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share export ENV=$HOME/.kshrc export HISTSIZE=65535 export HISTFILE=$HOME/.history @@ -15,7 +22,5 @@ export STITCH_DIRECTORY=/home/mccd/notes export STITCH_GREP_CMD=ugrep export TERM=xterm-256color -test -r /home/mccd/.opam/opam-init/init.sh && . /home/mccd/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true - -if [ "$(tty)" == "/dev/tty1" ]; then exec dbus-run-session startx; fi +if [ "$(tty)" == "/dev/tty1" ]; then exec dbus-run-session sway; fi diff --git a/vim/pack/downloads/opt/lsp b/vim/pack/downloads/opt/lsp deleted file mode 160000 -Subproject dfc001ab109cb16ef4379d3d74554158bbebdcc diff --git a/vim/pack/downloads/opt/vim-colors-plain b/vim/pack/downloads/opt/vim-colors-plain deleted file mode 160000 -Subproject 908ed31ad398c18b47a3f4f71c97313754484ff @@ -1,36 +1,64 @@ -packadd lsp -packadd vim-colors-plain -set tabstop=2 -set expandtab -set shiftwidth=2 +packadd snippets + +" Indentation +set tabstop=8 set shiftround set nobackup set autoindent set smartindent set cindent -let mapleader=" " + +" Theme syntax on -colorscheme plain-cterm +set background=light +colorscheme quiet +hi Normal ctermfg=black ctermbg=white +hi SpellBad term=reverse cterm=underline ctermfg=124 ctermbg=white +hi SpellCap term=reverse cterm=underline ctermfg=25 ctermbg=white +hi SpellRare term=reverse cterm=underline ctermfg=30 ctermbg=white +hi SpellLocal term=reverse cterm=underline ctermfg=90 ctermbg=white + +" Cursor - switch between line and full +let &t_SI = "\<Esc>[6 q" +let &t_SR = "\<Esc>[4 q" +let &t_EI = "\<Esc>[2 q" + +" LSP +packadd lsp call LspAddServer([#{ \ name: 'caml', \ filetype: ['ocaml'], - \ path: '/home/mccd/.opam/default/bin/ocamllsp', + \ path: '/home/mccd/.opam/5.2.0/bin/ocamllsp', \ args: [], \ syncInit: v:true \ }]) +call LspAddServer([#{ + \ name: 'golang', + \ filetype: ['go', 'gomod'], + \ path: '/usr/bin/gopls', + \ args: ['serve'], + \ syncInit: v:true + \ }]) +" Keybindings +let mapleader=" " noremap , : noremap <leader>e :e **/ noremap gd mB:LspGotoDefinition<Enter> noremap <leader>ca :LspCodeAction<Enter> noremap <leader>k :LspDiagCurrent<Enter> nnoremap <leader>l :ls<CR>:b<space> +nnoremap <leader>= :LspFormat<Enter> +" Spell au BufEnter *.org set spell +" Wildmenu set wildmenu set wildmode=longest:full,lastused set wildignore=_build/**,release/** set grepprg=git\ grep\ -nH + + @@ -1,9 +1,9 @@ -xrdb -load ~/.Xresources -xsetroot -solid '#282C34' & -xclock -digital -geometry +2250+1400 -face "Ttyp0:pixelsize=24:antialias=false:autohint=false" & -gsettings set org.gnome.desktop.interface document-font-name 'Input Sans Compressed' & -gsettings set org.gnome.desktop.interface font-name 'Input Sans Compressed' & -gsettings set org.gnome.desktop.interface cursor-size 32 & -gsettings set org.gnome.desktop.interface cursor-theme Adwaita & +#xrdb -load ~/.Xresources +#xsetroot -solid '#282C34' & +#xclock -digital -geometry +2250+1400 -face "Ttyp0:pixelsize=24:antialias=false:autohint=false" & +#gsettings set org.gnome.desktop.interface document-font-name 'Input Sans Compressed' & +#gsettings set org.gnome.desktop.interface font-name 'Input Sans Compressed' & +#gsettings set org.gnome.desktop.interface cursor-size 32 & +#gsettings set org.gnome.desktop.interface cursor-theme Adwaita & setxkbmap -layout us -variant colemak -option "caps:capslock" & cwm |