diff options
| -rwxr-xr-x | install.sh | 158 | ||||
| -rw-r--r-- | kanshi/config | 7 | ||||
| -rwxr-xr-x | kanshi/home_tv.sh | 33 | ||||
| -rw-r--r-- | lite-xl/init.lua | 94 | ||||
| -rwxr-xr-x | lite-xl/install.sh | 71 | ||||
| -rw-r--r-- | shell/.profile | 23 |
6 files changed, 305 insertions, 81 deletions
@@ -6,121 +6,139 @@ symlink () { ln -sfT "$@" } -mkdir -p ~/bin -mkdir -p ~/opt -mkdir -p ~/repos -mkdir -p ~/.config -mkdir -p ~/.local/share/applications -symlink $(cd $(dirname "$0"); pwd -P) ~/.dotfiles +DOTFILES_DIR=~/.dotfiles +CONFIG_DIR=~/.config +LOCAL_DIR=~/.local +PICTURES_DIR=~/.pictures +REPOS_DIR=~/repos +VM_DIR=~/vm + +BIN_DIR=$LOCAL_DIR/bin +OPT_DIR=$LOCAL_DIR/opt +SHARE_DIR=$LOCAL_DIR/share + +APP_DIR=$SHARE_DIR/applications + +mkdir -p $CONFIG_DIR \ + $REPOS_DIR \ + $BIN_DIR \ + $OPT_DIR \ + $APP_DIR + +symlink $(cd $(dirname "$0"); pwd -P) $DOTFILES_DIR # alacritty -symlink ~/.dotfiles/alacritty ~/.config/alacritty +symlink $DOTFILES_DIR/alacritty $CONFIG_DIR/alacritty # bspwm -symlink ~/.dotfiles/bspwm ~/.config/bspwm +symlink $DOTFILES_DIR/bspwm $CONFIG_DIR/bspwm # chromium if [ -f /usr/share/applications/chromium.desktop ]; then - symlink ~/.dotfiles/chromium/chromium ~/bin/chromium - cp /usr/share/applications/chromium.desktop ~/.local/share/applications + symlink $DOTFILES_DIR/chromium/chromium $BIN_DIR/chromium + cp /usr/share/applications/chromium.desktop $APP_DIR sed -i "s/^Exec=\\/usr/Exec=$(cd; pwd | sed 's/\//\\\//g')/g" \ - ~/.local/share/applications/chromium.desktop + $APP_DIR/chromium.desktop fi # claws -symlink ~/.dotfiles/claws/claws-mail ~/bin/claws-mail +symlink $DOTFILES_DIR/claws/claws-mail $BIN_DIR/claws-mail # cudatext -mkdir -p ~/.config/cudatext/settings -symlink ~/.dotfiles/cudatext/user.json ~/.config/cudatext/settings/user.json +mkdir -p $CONFIG_DIR/cudatext/settings +symlink $DOTFILES_DIR/cudatext/user.json $CONFIG_DIR/cudatext/settings/user.json # drawio if [ -f /usr/share/applications/drawio.desktop ]; then - symlink ~/.dotfiles/drawio/drawio ~/bin/drawio - cp /usr/share/applications/drawio.desktop ~/.local/share/applications + symlink $DOTFILES_DIR/drawio/drawio $BIN_DIR/drawio + cp /usr/share/applications/drawio.desktop $APP_DIR sed -i "s/^Exec=\\S*/Exec=$(cd; pwd | sed 's/\//\\\//g')\\/bin\\/drawio/g" \ - ~/.local/share/applications/drawio.desktop + $APP_DIR/drawio.desktop fi # dunst -symlink ~/.dotfiles/dunst ~/.config/dunst +symlink $DOTFILES_DIR/dunst $CONFIG_DIR/dunst # fontconfig -symlink ~/.dotfiles/fontconfig ~/.config/fontconfig +symlink $DOTFILES_DIR/fontconfig $CONFIG_DIR/fontconfig # foot -symlink ~/.dotfiles/foot ~/.config/foot +symlink $DOTFILES_DIR/foot $CONFIG_DIR/foot # git -symlink ~/.dotfiles/git/.gitconfig ~/.gitconfig +symlink $DOTFILES_DIR/git/.gitconfig ~/.gitconfig # i3 -symlink ~/.dotfiles/i3 ~/.config/i3 +symlink $DOTFILES_DIR/i3 $CONFIG_DIR/i3 # idasen -symlink ~/.dotfiles/idasen ~/.config/idasen +symlink $DOTFILES_DIR/idasen $CONFIG_DIR/idasen # kanshi -symlink ~/.dotfiles/kanshi ~/.config/kanshi +symlink $DOTFILES_DIR/kanshi $CONFIG_DIR/kanshi # lein -symlink ~/.dotfiles/lein/lein ~/bin/lein +symlink $DOTFILES_DIR/lein/lein $BIN_DIR/lein # lf -symlink ~/.dotfiles/lf ~/.config/lf +symlink $DOTFILES_DIR/lf $CONFIG_DIR/lf + +# lite-xl +mkdir -p $CONFIG_DIR/lite-xl +symlink $DOTFILES_DIR/lite-xl/init.lua $CONFIG_DIR/lite-xl/init.lua +symlink $DOTFILES_DIR/lite-xl/install.sh $CONFIG_DIR/lite-xl/install.sh # lock -symlink ~/.dotfiles/lock/lock ~/bin/lock -symlink ~/.dotfiles/lock/lock.desktop \ - ~/.local/share/applications/lock.desktop +symlink $DOTFILES_DIR/lock/lock $BIN_DIR/lock +symlink $DOTFILES_DIR/lock/lock.desktop $APP_DIR/lock.desktop # neomutt -symlink ~/.dotfiles/neomutt ~/.config/neomutt +symlink $DOTFILES_DIR/neomutt $CONFIG_DIR/neomutt # pictures -symlink ~/.dotfiles/pictures ~/.pictures +symlink $DOTFILES_DIR/pictures $PICTURES_DIR # polybar -symlink ~/.dotfiles/polybar ~/.config/polybar +symlink $DOTFILES_DIR/polybar $CONFIG_DIR/polybar # qutebrowser -mkdir -p ~/.config/qutebrowser -symlink ~/.dotfiles/qutebrowser/autoconfig.yml \ - ~/.config/qutebrowser/autoconfig.yml +mkdir -p $CONFIG_DIR/qutebrowser +symlink $DOTFILES_DIR/qutebrowser/autoconfig.yml \ + $CONFIG_DIR/qutebrowser/autoconfig.yml # radio -symlink ~/.dotfiles/radio/student ~/bin/radio-student -symlink ~/.dotfiles/radio/sljeme ~/bin/radio-sljeme -symlink ~/.dotfiles/radio/jaska ~/bin/radio-jaska +symlink $DOTFILES_DIR/radio/student $BIN_DIR/radio-student +symlink $DOTFILES_DIR/radio/sljeme $BIN_DIR/radio-sljeme +symlink $DOTFILES_DIR/radio/jaska $BIN_DIR/radio-jaska # ranger -symlink ~/.dotfiles/ranger ~/.config/ranger +symlink $DOTFILES_DIR/ranger $CONFIG_DIR/ranger # river -symlink ~/.dotfiles/river ~/.config/river +symlink $DOTFILES_DIR/river $CONFIG_DIR/river # rofi -symlink ~/.dotfiles/rofi ~/.config/rofi +symlink $DOTFILES_DIR/rofi $CONFIG_DIR/rofi # setkbmap -symlink ~/.dotfiles/setkbmap/setkbmap ~/bin/setkbmap +symlink $DOTFILES_DIR/setkbmap/setkbmap $BIN_DIR/setkbmap # shell -symlink ~/.dotfiles/shell/.profile ~/.profile +symlink $DOTFILES_DIR/shell/.profile ~/.profile # shell - bash -symlink ~/.dotfiles/shell/bash/.bashrc ~/.bashrc +symlink $DOTFILES_DIR/shell/bash/.bashrc ~/.bashrc symlink ~/.profile ~/.bash_profile # shell - fish -symlink ~/.dotfiles/shell/fish ~/.config/fish +symlink $DOTFILES_DIR/shell/fish $CONFIG_DIR/fish # shell - zsh -symlink ~/.dotfiles/shell/zsh/.zshrc ~/.zshrc +symlink $DOTFILES_DIR/shell/zsh/.zshrc ~/.zshrc symlink ~/.profile ~/.zprofile # sublime-text -mkdir -p ~/.config/sublime-text/Packages/User +mkdir -p $CONFIG_DIR/sublime-text/Packages/User for i in Adaptive.sublime-theme \ LSP.sublime-settings \ "Package Control.sublime-settings" \ @@ -129,39 +147,39 @@ for i in Adaptive.sublime-theme \ PythonImproved.sublime-settings \ SublimeLinter.sublime-settings do - symlink ~/.dotfiles/sublime-text/"$i" ~/.config/sublime-text/Packages/User/"$i" + symlink $DOTFILES_DIR/sublime-text/"$i" $CONFIG_DIR/sublime-text/Packages/User/"$i" done # sway -symlink ~/.dotfiles/sway ~/.config/sway -symlink ~/.dotfiles/sway/run-sway.sh ~/bin/run-sway +symlink $DOTFILES_DIR/sway $CONFIG_DIR/sway +symlink $DOTFILES_DIR/sway/run-sway.sh $BIN_DIR/run-sway # tmux -symlink ~/.dotfiles/tmux ~/.config/tmux +symlink $DOTFILES_DIR/tmux $CONFIG_DIR/tmux # vm -mkdir -p ~/vm/alpine -mkdir -p ~/vm/archlinux/armv7 -mkdir -p ~/vm/debian/armv7 -mkdir -p ~/vm/netbsd -mkdir -p ~/vm/openbsd -mkdir -p ~/vm/win11 -symlink ~/.dotfiles/vm/alpine/run.sh ~/vm/alpine/run.sh -symlink ~/.dotfiles/vm/archlinux/armv7/run.sh ~/vm/archlinux/armv7/run.sh -symlink ~/.dotfiles/vm/debian/armv7/run.sh ~/vm/debian/armv7/run.sh -symlink ~/.dotfiles/vm/netbsd/run.sh ~/vm/netbsd/run.sh -symlink ~/.dotfiles/vm/openbsd/run.sh ~/vm/openbsd/run.sh -symlink ~/.dotfiles/vm/win11/run.sh ~/vm/win11/run.sh +mkdir -p $VM_DIR/alpine +mkdir -p $VM_DIR/archlinux/armv7 +mkdir -p $VM_DIR/debian/armv7 +mkdir -p $VM_DIR/netbsd +mkdir -p $VM_DIR/openbsd +mkdir -p $VM_DIR/win11 +symlink $DOTFILES_DIR/vm/alpine/run.sh $VM_DIR/alpine/run.sh +symlink $DOTFILES_DIR/vm/archlinux/armv7/run.sh $VM_DIR/archlinux/armv7/run.sh +symlink $DOTFILES_DIR/vm/debian/armv7/run.sh $VM_DIR/debian/armv7/run.sh +symlink $DOTFILES_DIR/vm/netbsd/run.sh $VM_DIR/netbsd/run.sh +symlink $DOTFILES_DIR/vm/openbsd/run.sh $VM_DIR/openbsd/run.sh +symlink $DOTFILES_DIR/vm/win11/run.sh $VM_DIR/win11/run.sh # nvim -mkdir -p ~/.config/nvim -symlink ~/.dotfiles/nvim/init.lua ~/.config/nvim/init.lua +mkdir -p $CONFIG_DIR/nvim +symlink $DOTFILES_DIR/nvim/init.lua $CONFIG_DIR/nvim/init.lua # waybar -symlink ~/.dotfiles/waybar ~/.config/waybar +symlink $DOTFILES_DIR/waybar $CONFIG_DIR/waybar # xorg -symlink ~/.dotfiles/xorg/.xinitrc ~/.xinitrc -symlink ~/.dotfiles/xorg/.Xresources ~/.Xresources -symlink ~/.dotfiles/xorg/loadxresources ~/bin/loadxresources -symlink ~/.dotfiles/xorg/setwallpaper ~/bin/setwallpaper +symlink $DOTFILES_DIR/xorg/.xinitrc ~/.xinitrc +symlink $DOTFILES_DIR/xorg/.Xresources ~/.Xresources +symlink $DOTFILES_DIR/xorg/loadxresources $BIN_DIR/loadxresources +symlink $DOTFILES_DIR/xorg/setwallpaper $BIN_DIR/setwallpaper diff --git a/kanshi/config b/kanshi/config index 8558082..9750a16 100644 --- a/kanshi/config +++ b/kanshi/config @@ -16,3 +16,10 @@ profile work { output 'Dell Inc. DELL U2722D 3ZS8XN3' # DP-6 exec ~/.config/kanshi/work.sh } + +profile home_tv { + output eDP-1 + output 'AOC Q2770 FSUE7HA007776' # DP-6 + output 'LG Electronics LG TV 0x00000101' # DP-5 + exec ~/.config/kanshi/home_tv.sh +} diff --git a/kanshi/home_tv.sh b/kanshi/home_tv.sh new file mode 100755 index 0000000..5cb1392 --- /dev/null +++ b/kanshi/home_tv.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +display1=eDP-1 +display3=$(swaymsg -t get_outputs -r | + jq -r '.[] | select(.model == "LG TV") | .name') +display2=$(swaymsg -t get_outputs -r | + jq -r ".[] | .name | select(. != \"$display1\" and . != \"$display3\")") + +swaymsg -q reload + +swaymsg -q output $display1 pos 0 0 \ + res 1920x1080 \ + bg ~/.pictures/bg1.jpg stretch +swaymsg -q output $display2 pos 1920 0 \ + bg ~/.pictures/bg2.jpg stretch + +display2_width=$(swaymsg -t get_outputs -r | + jq -r ".[] | select(.name == \"$display2\") | .current_mode.width") + +swaymsg -q output $display3 pos $((1920 + $display2_width)) 0 \ + bg ~/.pictures/bg1.jpg stretch + +for workspace in 1:1 3:3 4:4; do + swaymsg -q workspace $workspace output $display1 +done + +for workspace in 5:a 6:s 7:d 8:f; do + swaymsg -q workspace $workspace output $display2 +done + +for workspace in 2:2; do + swaymsg -q workspace $workspace output $display3 +done diff --git a/lite-xl/init.lua b/lite-xl/init.lua new file mode 100644 index 0000000..d077fef --- /dev/null +++ b/lite-xl/init.lua @@ -0,0 +1,94 @@ +local core = require "core" +local keymap = require "core.keymap" +local config = require "core.config" +local style = require "core.style" + +config.ignore_files = { + "^%.git/" +} + + + + + + + +local fontconfig = require "plugins.fontconfig" +fontconfig.use { + font = { name = 'sans-serif', size = 12 * SCALE }, + code_font = { name = 'monospace', size = 12 * SCALE }, +} + + +config.plugins.nerdicons.use_default_dir_icons = true +config.plugins.spellcheck.enabled = false + +------------------------------ Themes ---------------------------------------- + +-- light theme: +-- core.reload_module("colors.summer") + +--------------------------- Key bindings ------------------------------------- + +-- key binding: +-- keymap.add { ["ctrl+escape"] = "core:quit" } + +-- pass 'true' for second parameter to overwrite an existing binding +-- keymap.add({ ["ctrl+pageup"] = "root:switch-to-previous-tab" }, true) +-- keymap.add({ ["ctrl+pagedown"] = "root:switch-to-next-tab" }, true) + +------------------------------- Fonts ---------------------------------------- + +-- customize fonts: +-- style.font = renderer.font.load(DATADIR .. "/fonts/FiraSans-Regular.ttf", 14 * SCALE) +-- style.code_font = renderer.font.load(DATADIR .. "/fonts/JetBrainsMono-Regular.ttf", 14 * SCALE) +-- +-- DATADIR is the location of the installed Lite XL Lua code, default color +-- schemes and fonts. +-- USERDIR is the location of the Lite XL configuration directory. +-- +-- font names used by lite: +-- style.font : user interface +-- style.big_font : big text in welcome screen +-- style.icon_font : icons +-- style.icon_big_font : toolbar icons +-- style.code_font : code +-- +-- the function to load the font accept a 3rd optional argument like: +-- +-- {antialiasing="grayscale", hinting="full", bold=true, italic=true, underline=true, smoothing=true, strikethrough=true} +-- +-- possible values are: +-- antialiasing: grayscale, subpixel +-- hinting: none, slight, full +-- bold: true, false +-- italic: true, false +-- underline: true, false +-- smoothing: true, false +-- strikethrough: true, false + +------------------------------ Plugins ---------------------------------------- + +-- enable or disable plugin loading setting config entries: + +-- enable plugins.trimwhitespace, otherwise it is disabled by default: +-- config.plugins.trimwhitespace = true +-- +-- disable detectindent, otherwise it is enabled by default +-- config.plugins.detectindent = false + +---------------------------- Miscellaneous ------------------------------------- + +-- modify list of files to ignore when indexing the project: +-- config.ignore_files = { +-- -- folders +-- "^%.svn/", "^%.git/", "^%.hg/", "^CVS/", "^%.Trash/", "^%.Trash%-.*/", +-- "^node_modules/", "^%.cache/", "^__pycache__/", +-- -- files +-- "%.pyc$", "%.pyo$", "%.exe$", "%.dll$", "%.obj$", "%.o$", +-- "%.a$", "%.lib$", "%.so$", "%.dylib$", "%.ncb$", "%.sdf$", +-- "%.suo$", "%.pdb$", "%.idb$", "%.class$", "%.psd$", "%.db$", +-- "^desktop%.ini$", "^%.DS_Store$", "^%.directory$", +-- } + + diff --git a/lite-xl/install.sh b/lite-xl/install.sh new file mode 100755 index 0000000..f8530ac --- /dev/null +++ b/lite-xl/install.sh @@ -0,0 +1,71 @@ +#!/bin/sh + +cd ~/.config/lite-xl + +mkdir -p libraries +mkdir -p plugins + +# gitdiff_highlight +[ ! -d plugins/gitdiff_highlight ] && \ + git clone https://github.com/vincens2005/lite-xl-gitdiff-highlight plugins/gitdiff_highlight || \ + git -C plugins/gitdiff_highlight pull + +# lintplus +[ ! -d plugins/lintplus ] && \ + git clone https://github.com/liquidev/lintplus plugins/lintplus || \ + git -C plugins/lintplus pull + +# lsp +[ ! -d plugins/lsp ] && \ + git clone https://github.com/lite-xl/lite-xl-lsp plugins/lsp || \ + git -C plugins/lsp pull +[ ! -d libraries/widget ] && \ + git clone https://github.com/lite-xl/lite-xl-widgets libraries/widget || \ + git -C libraries/widget pull +[ ! -d plugins/lintplus ] && \ + git clone https://github.com/liquidev/lintplus plugins/lintplus || \ + git -C plugins/lintplus pull +curl -L -o plugins/snippets.lua https://raw.githubusercontent.com/vqns/lite-xl-snippets/main/snippets.lua +curl -L -o plugins/lsp_snippets.lua https://raw.githubusercontent.com/vqns/lite-xl-snippets/main/lsp_snippets.lua + +# scm +[ ! -d plugins/scm ] && \ + git clone https://github.com/lite-xl/lite-xl-scm plugins/scm || \ + git -C plugins/scm pull +curl -L -o plugins/language_diff.lua https://raw.githubusercontent.com/lite-xl/lite-xl-plugins/master/plugins/language_diff.lua + +# ephemeral_tabs +curl -L -o plugins/ephemeral_tabs.lua https://raw.githubusercontent.com/lite-xl/lite-xl-plugins/master/plugins/ephemeral_tabs.lua + +# fontconfig +curl -L -o plugins/fontconfig.lua https://raw.githubusercontent.com/lite-xl/lite-xl-plugins/master/plugins/fontconfig.lua + +# gitstatus +curl -L -o plugins/indentguide.lua https://raw.githubusercontent.com/lite-xl/lite-xl-plugins/master/plugins/gitstatus.lua + +# indentguide +curl -L -o plugins/indentguide.lua https://raw.githubusercontent.com/lite-xl/lite-xl-plugins/master/plugins/indentguide.lua + +# minimap +curl -L -o plugins/minimap.lua https://raw.githubusercontent.com/lite-xl/lite-xl-plugins/master/plugins/minimap.lua + +# nerdicons +curl -L -o plugins/nerdicons.lua https://raw.githubusercontent.com/lite-xl/lite-xl-plugins/master/plugins/nerdicons.lua + +# scalestatus +curl -L -o plugins/scalestatus.lua https://raw.githubusercontent.com/lite-xl/lite-xl-plugins/master/plugins/scalestatus.lua + +# search_ui +curl -L -o plugins/search_ui.lua https://raw.githubusercontent.com/lite-xl/lite-xl-plugins/master/plugins/search_ui.lua + +# select_colorscheme +curl -L -o plugins/select_colorscheme https://raw.githubusercontent.com/lite-xl/lite-xl-plugins/master/plugins/select_colorscheme.lua + +# selectionhighlight +curl -L -o plugins/selectionhighlight.lua https://raw.githubusercontent.com/lite-xl/lite-xl-plugins/master/plugins/selectionhighlight.lua + +# sort +curl -L -o plugins/sort.lua https://raw.githubusercontent.com/lite-xl/lite-xl-plugins/master/plugins/sort.lua + +# spellcheck +curl -L -o plugins/spellcheck.lua https://raw.githubusercontent.com/lite-xl/lite-xl-plugins/master/plugins/spellcheck.lua diff --git a/shell/.profile b/shell/.profile index bffc8c1..5a43273 100644 --- a/shell/.profile +++ b/shell/.profile @@ -8,6 +8,13 @@ prepend_path () { esac } +if [ -z "${XDG_RUNTIME_DIR}" ]; then + export XDG_RUNTIME_DIR=/tmp/$(id -u)-runtime-dir + if [ ! -d "${XDG_RUNTIME_DIR}" ]; then + mkdir "${XDG_RUNTIME_DIR}" + chmod 0700 "${XDG_RUNTIME_DIR}" + fi +fi # export CHICKEN_REPOSITORY=~/programs/chicken_repository # export GDK_BACKEND=wayland @@ -24,10 +31,11 @@ export QT_QPA_PLATFORMTHEME=qt5ct export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket export VISUAL=nvim -prepend_path ~/opt/river/bin -prepend_path ~/opt/janet/bin -prepend_path ~/opt/pkgsrc/bin -prepend_path ~/bin +prepend_path ~/.local/opt/river/bin +prepend_path ~/.local/opt/janet/bin +prepend_path ~/.local/opt/pkgsrc/bin +prepend_path ~/.local/opt/nnn/bin +prepend_path ~/.local/bin export PATH [ -n "$(command -v luarocks)" ] && eval "$(luarocks path)" @@ -37,10 +45,3 @@ export PATH # [ -e $nix_profile_sh ] && . $nix_profile_sh # export LOCALE_ARCHIVE=~/.nix-profile/lib/locale/locale-archive -if [ -z "${XDG_RUNTIME_DIR}" ]; then - export XDG_RUNTIME_DIR=/tmp/$(id -u)-runtime-dir - if [ ! -d "${XDG_RUNTIME_DIR}" ]; then - mkdir "${XDG_RUNTIME_DIR}" - chmod 0700 "${XDG_RUNTIME_DIR}" - fi -fi |
