Add dot_local/share/chezmoi/dot_git/COMMIT_EDITMSG
Add dot_local/share/chezmoi/dot_git/HEAD Add dot_local/share/chezmoi/dot_git/branches/.keep Add dot_local/share/chezmoi/dot_git/config Add dot_local/share/chezmoi/dot_git/description Add dot_local/share/chezmoi/dot_git/hooks/executable_applypatch-msg.sample Add dot_local/share/chezmoi/dot_git/hooks/executable_commit-msg.sample Add dot_local/share/chezmoi/dot_git/hooks/executable_fsmonitor-watchman.sample Add dot_local/share/chezmoi/dot_git/hooks/executable_post-update.sample Add dot_local/share/chezmoi/dot_git/hooks/executable_pre-applypatch.sample Add dot_local/share/chezmoi/dot_git/hooks/executable_pre-commit.sample Add dot_local/share/chezmoi/dot_git/hooks/executable_pre-merge-commit.sample Add dot_local/share/chezmoi/dot_git/hooks/executable_pre-push.sample Add dot_local/share/chezmoi/dot_git/hooks/executable_pre-rebase.sample Add dot_local/share/chezmoi/dot_git/hooks/executable_pre-receive.sample Add dot_local/share/chezmoi/dot_git/hooks/executable_prepare-commit-msg.sample Add dot_local/share/chezmoi/dot_git/hooks/executable_push-to-checkout.sample Add dot_local/share/chezmoi/dot_git/hooks/executable_update.sample Add dot_local/share/chezmoi/dot_git/index Add dot_local/share/chezmoi/dot_git/info/exclude Add dot_local/share/chezmoi/dot_git/logs/HEAD Add dot_local/share/chezmoi/dot_git/logs/refs/heads/master Add dot_local/share/chezmoi/dot_git/logs/refs/remotes/origin/HEAD Add dot_local/share/chezmoi/dot_git/logs/refs/remotes/origin/master Add dot_local/share/chezmoi/dot_git/objects/01/readonly_3ab43720db7824b5808622cb8f60eafa62997e Add dot_local/share/chezmoi/dot_git/objects/04/readonly_1032d847e5744500cf70041bde2bc98e44c01f Add dot_local/share/chezmoi/dot_git/objects/04/readonly_b00fb8f1db3bd5b7507b53b70778f340c4b57c Add dot_local/share/chezmoi/dot_git/objects/08/readonly_2d2590b955d066eba305e58bbe5c52f1c8f88d Add dot_local/share/chezmoi/dot_git/objects/0b/readonly_f2afaa21610615170b5c6d35636cc92bcdb6c3 Add dot_local/share/chezmoi/dot_git/objects/0c/readonly_f3271bd3f15107df353dcecc38bfa080e38b78 Add dot_local/share/chezmoi/dot_git/objects/0e/readonly_0387e99b4212b1e056a4eae1f9f0b2973ce1af Add dot_local/share/chezmoi/dot_git/objects/0e/readonly_b86a0ae992a8634bfffdc88c80b8c70eaa20ef Add dot_local/share/chezmoi/dot_git/objects/10/readonly_2e31b2e7ef68a332422899aa8f3fbac71e305b Add dot_local/share/chezmoi/dot_git/objects/12/readonly_221ee6029aa4ae9ca6ef067f23091a0a47cc2d Add dot_local/share/chezmoi/dot_git/objects/13/readonly_4cd852d406b2976d4525b5f90427ffdbf26fcf Add dot_local/share/chezmoi/dot_git/objects/18/readonly_c81c8e7af7b2743ab9fb08abba54f783029103 Add dot_local/share/chezmoi/dot_git/objects/1b/readonly_f93201b8403227cb90b5e9af12b25225785720 Add dot_local/share/chezmoi/dot_git/objects/2d/readonly_0e4bb119971569f9af7394814ce4054521a125 Add dot_local/share/chezmoi/dot_git/objects/2e/readonly_78190d74d3d4bd6e5b1fab1df49761b14b0415 Add dot_local/share/chezmoi/dot_git/objects/2e/readonly_9fcad22e24793ebae3b985659ef68744f7227c Add dot_local/share/chezmoi/dot_git/objects/32/readonly_92266a28ce57516a2c9df0ad64c09ac65978d0 Add dot_local/share/chezmoi/dot_git/objects/36/readonly_913b12a67246092190fe2acfe864266087bd5d Add dot_local/share/chezmoi/dot_git/objects/3f/readonly_f2e6e742ef911e8930f41d42956c3f74ad8b90 Add dot_local/share/chezmoi/dot_git/objects/41/readonly_2a532cb63dad6cb0734a08d11d49a2ba67d524 Add dot_local/share/chezmoi/dot_git/objects/4a/readonly_c586098b5bef99a583875f334cef3cc83f2514 Add dot_local/share/chezmoi/dot_git/objects/52/readonly_ffe2010431b30ca8c11ce2e1427d9bf261c0fb Add dot_local/share/chezmoi/dot_git/objects/5f/readonly_ca07a0e630cf19221f84d3d8a04a44feb09315 Add dot_local/share/chezmoi/dot_git/objects/5f/readonly_d5e7086377cdf5a081b85d19ae228dcd32ebfe Add dot_local/share/chezmoi/dot_git/objects/61/readonly_0908f4b9e47ba3fce0a4d66b8a9ba43f68ddc2 Add dot_local/share/chezmoi/dot_git/objects/64/readonly_565f4319a091a7a9586e59db25af81c4d78021 Add dot_local/share/chezmoi/dot_git/objects/64/readonly_833fb7e35abcbc3195f7b5a524f64c860b7509 Add dot_local/share/chezmoi/dot_git/objects/68/readonly_768f79de279124111c82514847bff648524bf1 Add dot_local/share/chezmoi/dot_git/objects/69/readonly_86a2d22590ce24e2bb1796d504135ed2d31c13 Add dot_local/share/chezmoi/dot_git/objects/70/readonly_766eb54fef8b743cff3fda9e7b674feef3eec3 Add dot_local/share/chezmoi/dot_git/objects/71/readonly_22cca1d47c24445f06bd484c446dfa8c5a9317 Add dot_local/share/chezmoi/dot_git/objects/73/readonly_82aa0e79e70927d07ec2113bcce54cfa20b61a Add dot_local/share/chezmoi/dot_git/objects/78/readonly_3d5ec2cf7b871386a2f68addf36434b2af3788 Add dot_local/share/chezmoi/dot_git/objects/79/readonly_7ca657b79dd863d0c80168fd22049cf0a3c339 Add dot_local/share/chezmoi/dot_git/objects/7c/readonly_c5f4b334bbc4ddab8d2a1e7786533431d3d4da Add dot_local/share/chezmoi/dot_git/objects/8f/readonly_f142bc1f3d033da41e5ce965327331c2d888a5 Add dot_local/share/chezmoi/dot_git/objects/90/readonly_4341c2cd5cca7f1a9b5c97b826004cb8e75639 Add dot_local/share/chezmoi/dot_git/objects/90/readonly_82f506faceb4d67594db33c0391f5aa0a0684a Add dot_local/share/chezmoi/dot_git/objects/a1/readonly_6924a4eab5ccad660f630f7b0b584ad1c3c0d4 Add dot_local/share/chezmoi/dot_git/objects/a1/readonly_72d7a1ecd18f8090c21e9c0fe0c98d7bd27186 Add dot_local/share/chezmoi/dot_git/objects/a3/readonly_421ffee02165a37a3e539d19074d839c5ff330 Add dot_local/share/chezmoi/dot_git/objects/aa/readonly_ad7db08e248390fac854c7a1a497f6b579ecdd Add dot_local/share/chezmoi/dot_git/objects/ac/readonly_f4ff3d1232711701f13b5fac6a8870c405fbe4 Add dot_local/share/chezmoi/dot_git/objects/ae/readonly_e6b563d83b542bc35ce99a1e9f31d0842804d3 Add dot_local/share/chezmoi/dot_git/objects/ae/readonly_fd179248fb6ed57d71bce70296679d9cc54c77 Add dot_local/share/chezmoi/dot_git/objects/b0/readonly_8c22bdaa3ccfc7dbd0f915724858470bdea004 Add dot_local/share/chezmoi/dot_git/objects/b1/readonly_ec775d00ca91c5c8d3e08b5393429b20e3d01d Add dot_local/share/chezmoi/dot_git/objects/b9/readonly_4bd0ec2b11d2122b8473f3b1897c29ca80e0d7 Add dot_local/share/chezmoi/dot_git/objects/b9/readonly_eb849018bc01b971b69c5bc621a0aa4083f826 Add dot_local/share/chezmoi/dot_git/objects/bb/readonly_cddfcbb458804ef39f275e86fe214b31dfa4a9 Add dot_local/share/chezmoi/dot_git/objects/c5/readonly_d9c5324315a5dfb6689cdbd58f8cb312db3c0c Add dot_local/share/chezmoi/dot_git/objects/d0/readonly_43d05bf0ba8adff3829497013cab923329e05b Add dot_local/share/chezmoi/dot_git/objects/db/readonly_a411df6590ab8ae2668e73e9f1c746ce68c018 Add dot_local/share/chezmoi/dot_git/objects/dd/readonly_e49fb90140640af2b6fb8840ee103f5bbff388 Add dot_local/share/chezmoi/dot_git/objects/df/readonly_1718898fa193577f8fac722d9b6cce3ac79f40 Add dot_local/share/chezmoi/dot_git/objects/e1/readonly_428317488b645c90ba65c5ac98cdad5d0725af Add dot_local/share/chezmoi/dot_git/objects/e1/readonly_f45064e3074cde9b28542012c76b4062f004d7 Add dot_local/share/chezmoi/dot_git/objects/e7/readonly_ce4bafc2a33bbea582d114065b619a67319a87 Add dot_local/share/chezmoi/dot_git/objects/e9/readonly_bf3adbcb5ea0c9ee8b4a8be7e46c2956341214 Add dot_local/share/chezmoi/dot_git/objects/ef/readonly_1c961589b59fd333b3ccd855841d30af3ea9ae Add dot_local/share/chezmoi/dot_git/objects/fb/readonly_d3155b092e7a60b11fc08aff9884f20508ca7f Add dot_local/share/chezmoi/dot_git/objects/fe/readonly_03c1fe21fc1b5b52d803c8b22d1e8cf0cd8812 Add dot_local/share/chezmoi/dot_git/objects/info/.keep Add dot_local/share/chezmoi/dot_git/objects/pack/readonly_pack-c5db3135bffc038e6ee259b1384d546d3b21a718.idx Add dot_local/share/chezmoi/dot_git/objects/pack/readonly_pack-c5db3135bffc038e6ee259b1384d546d3b21a718.pack Add dot_local/share/chezmoi/dot_git/packed-refs Add dot_local/share/chezmoi/dot_git/refs/heads/master Add dot_local/share/chezmoi/dot_git/refs/remotes/origin/HEAD Add dot_local/share/chezmoi/dot_git/refs/remotes/origin/master Add dot_local/share/chezmoi/dot_git/refs/tags/.keep Add dot_local/share/chezmoi/literal_dot_config/alacritty/alacritty.yml Add dot_local/share/chezmoi/literal_dot_config/awesome/error_handling.lua Add dot_local/share/chezmoi/literal_dot_config/awesome/keymapping/init.lua Add dot_local/share/chezmoi/literal_dot_config/awesome/keymapping/mediacontrol.lua Add dot_local/share/chezmoi/literal_dot_config/awesome/rc.lua Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/README Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/background.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/background_white.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/cornerne.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/cornernew.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/cornernw.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/cornernww.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/cornerse.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/cornersew.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/cornersw.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/cornersww.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/dwindle.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/dwindlew.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/fairh.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/fairhw.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/fairv.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/fairvw.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/floating.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/floatingw.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/fullscreen.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/fullscreenw.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/magnifier.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/magnifierw.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/max.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/maxw.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/spiral.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/spiralw.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/tile.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/tilebottom.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/tilebottomw.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/tileleft.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/tileleftw.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/tiletop.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/tiletopw.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/layouts/tilew.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/submenu.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/taglist/squarefw.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/taglist/squarew.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/theme.lua Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/close_focus.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/close_normal.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/floating_focus_active.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/floating_focus_inactive.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/floating_normal_active.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/floating_normal_inactive.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/maximized_focus_active.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/maximized_focus_inactive.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/maximized_normal_active.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/maximized_normal_inactive.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/minimize_focus.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/minimize_normal.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/ontop_focus_active.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/ontop_focus_inactive.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/ontop_normal_active.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/ontop_normal_inactive.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/sticky_focus_active.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/sticky_focus_inactive.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/sticky_normal_active.png Add dot_local/share/chezmoi/literal_dot_config/awesome/theme/titlebar/sticky_normal_inactive.png Add dot_local/share/chezmoi/literal_dot_config/chezmoi/chezmoi.toml Add dot_local/share/chezmoi/literal_dot_config/dunst/dunstrc Add dot_local/share/chezmoi/literal_dot_config/gitui/key_bindings.ron Add dot_local/share/chezmoi/literal_dot_config/gitui/theme.ron Add dot_local/share/chezmoi/literal_dot_config/i3/config Add dot_local/share/chezmoi/literal_dot_config/i3/i3-lock-screen.png Add dot_local/share/chezmoi/literal_dot_config/lazygit/config.yml Add dot_local/share/chezmoi/literal_dot_config/nvim/init.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/helpers.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/mappings.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/options.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/compe.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/dap/init.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/dap/lldb.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/init.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/lspconfig/init.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/lspconfig/lua.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/lspconfig/php.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/lspconfig/ruby.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/lspconfig/rust.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/lspconfig/typescript.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-autopairs.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-ctrlsf.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-editorconfig.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-feline.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-flutter-tools.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-fterm.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-gutentags.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-hlslens.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-indent-blankline.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-lightspeed.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-lspkind.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-neoscroll.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-notify.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-numb.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-rust-tools.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-signature.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-todo-comments.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-tree.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-treesitter.lua Add dot_local/share/chezmoi/literal_dot_config/nvim/lua/plugins/nvim-web-devicons.lua Add dot_local/share/chezmoi/literal_dot_config/picom/picom.conf Add dot_local/share/chezmoi/literal_dot_config/polybar/colors.ini Add dot_local/share/chezmoi/literal_dot_config/polybar/colors.ini.base Add dot_local/share/chezmoi/literal_dot_config/polybar/config.ini Add dot_local/share/chezmoi/literal_dot_config/polybar/config_bottom.ini Add dot_local/share/chezmoi/literal_dot_config/polybar/custom_modules.ini Add dot_local/share/chezmoi/literal_dot_config/polybar/modules.ini Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_beep.sh Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_colors.sh Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_colors.sh.base Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_launch_polybar Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_michurin Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_polybar_bluetooth_speaker.sh Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_polybar_custom_time.sh Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_polybar_dunst_indicator.sh Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_polybar_healthbar.sh Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_polybar_michurin.py Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_polybar_net_indicator.sh Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_polybar_net_speed.sh Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_polybar_redshift_indicator.sh Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_polybar_wifibar.sh Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_refresh_wpg_wallpapers Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_regkernel Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_setbg Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_theme.sh Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_transmission_indicator.sh Add dot_local/share/chezmoi/literal_dot_config/polybar/scripts/literal_executable_tresorit_indicator.sh Add dot_local/share/chezmoi/literal_dot_config/rofi/colors.rasi Add dot_local/share/chezmoi/literal_dot_config/rofi/config.rasi Add dot_local/share/chezmoi/literal_dot_doom.d/config.el Add dot_local/share/chezmoi/literal_dot_doom.d/init.el Add dot_local/share/chezmoi/literal_dot_doom.d/packages.el Add dot_local/share/chezmoi/literal_run_once_prepare_arch.sh.tmpl.literal Add dot_local/share/chezmoi/literal_run_once_prepare_windows.ps1 Update run_once_prepare_arch.sh.tmpl
|
@ -0,0 +1,7 @@
|
|||
shell:
|
||||
program: tmux
|
||||
font:
|
||||
normal:
|
||||
family: FiraCode NF
|
||||
window:
|
||||
opacity: 0.5 # Require `picom -f &` in .xinitrc
|
|
@ -0,0 +1,39 @@
|
|||
-- Notification library
|
||||
local naughty = require("naughty")
|
||||
|
||||
local function init(awesome)
|
||||
-- {{{ Error handling
|
||||
-- Check if awesome encountered an error during startup and fell back to
|
||||
-- another config (This code will only ever execute for the fallback config)
|
||||
if awesome.startup_errors then
|
||||
naughty.notify({
|
||||
preset = naughty.config.presets.critical,
|
||||
title = "Oops, there were errors during startup!",
|
||||
text = awesome.startup_errors
|
||||
})
|
||||
end
|
||||
|
||||
-- Handle runtime errors after startup
|
||||
do
|
||||
local in_error = false
|
||||
awesome.connect_signal("debug::error", function(err)
|
||||
-- Make sure we don't go into an endless error loop
|
||||
if in_error then
|
||||
return
|
||||
end
|
||||
in_error = true
|
||||
|
||||
naughty.notify({
|
||||
preset = naughty.config.presets.critical,
|
||||
title = "Oops, an error happened!",
|
||||
text = tostring(err)
|
||||
})
|
||||
in_error = false
|
||||
end)
|
||||
end
|
||||
-- }}}
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
local function bind(globalkeys, clientkeys, clientbuttons)
|
||||
-- Media Control
|
||||
globalkeys, clientkeys, clientbuttons = require('keymapping.mediacontrol').bind(globalkeys, clientkeys, clientbuttons)
|
||||
|
||||
return globalkeys, clientkeys, clientbuttons
|
||||
end
|
||||
|
||||
return {
|
||||
bind = bind
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
local awful = require("awful")
|
||||
local gears = require("gears")
|
||||
|
||||
local function bind(globalkeys, clientkeys, clientbuttons)
|
||||
globalkeys = gears.table.join(globalkeys,
|
||||
awful.key({ }, "XF86AudioPlay", function () awful.util.spawn_with_shell("playerctl play-pause") end),
|
||||
awful.key({ }, "XF86AudioNext", function () awful.util.spawn_with_shell("playerctl next") end),
|
||||
awful.key({ }, "XF86AudioPrev", function () awful.util.spawn_with_shell("playerctl previous") end),
|
||||
awful.key({ }, "XF86AudioRaiseVolume", function () awful.util.spawn_with_shell("amixer -c 0 set Master 1dB+") end),
|
||||
awful.key({ }, "XF86AudioLowerVolume", function () awful.util.spawn_with_shell("amixer -c 0 set Master 1dB-") end),
|
||||
awful.key({ }, "XF86AudioMute", function () awful.util.spawn_with_shell("amixer -c 0 set Master toggle") end)
|
||||
)
|
||||
|
||||
return globalkeys, clientkeys, clientbuttons
|
||||
end
|
||||
|
||||
return {
|
||||
bind = bind
|
||||
}
|
602
dot_local/share/chezmoi/literal_dot_config/awesome/rc.lua
Normal file
|
@ -0,0 +1,602 @@
|
|||
-- If LuaRocks is installed, make sure that packages installed through it are
|
||||
-- found (e.g. lgi). If LuaRocks is not installed, do nothing.
|
||||
pcall(require, "luarocks.loader")
|
||||
|
||||
-- Standard awesome library
|
||||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
require("awful.autofocus")
|
||||
-- Widget and layout library
|
||||
local wibox = require("wibox")
|
||||
-- Theme handling library
|
||||
local beautiful = require("beautiful")
|
||||
local menubar = require("menubar")
|
||||
local hotkeys_popup = require("awful.hotkeys_popup")
|
||||
-- Enable hotkeys help widget for VIM and other apps
|
||||
-- when client with a matching name is opened:
|
||||
require("awful.hotkeys_popup.keys")
|
||||
require("error_handling").init(awesome)
|
||||
|
||||
-- {{{ Variable definitions
|
||||
-- Themes define colours, icons, font and wallpapers.
|
||||
beautiful.init(string.format("%s/.config/awesome/theme/theme.lua", os.getenv("HOME")))
|
||||
|
||||
-- This is used later as the default terminal and editor to run.
|
||||
terminal = "alacritty"
|
||||
editor = os.getenv("EDITOR") or "vim"
|
||||
editor_cmd = terminal .. " -e " .. editor
|
||||
|
||||
-- Default modkey.
|
||||
-- Usually, Mod4 is the key with a logo between Control and Alt.
|
||||
-- If you do not like this or do not have such a key,
|
||||
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
|
||||
-- However, you can use another modifier like Mod1, but it may interact with others.
|
||||
modkey = "Mod4"
|
||||
|
||||
-- Table of layouts to cover with awful.layout.inc, order matters.
|
||||
awful.layout.layouts = {awful.layout.suit.floating, awful.layout.suit.tile, awful.layout.suit.tile.left,
|
||||
awful.layout.suit.tile.bottom, awful.layout.suit.tile.top, awful.layout.suit.fair,
|
||||
awful.layout.suit.fair.horizontal, awful.layout.suit.spiral, awful.layout.suit.spiral.dwindle,
|
||||
awful.layout.suit.max, awful.layout.suit.max.fullscreen, awful.layout.suit.magnifier,
|
||||
awful.layout.suit.corner.nw -- awful.layout.suit.corner.ne,
|
||||
-- awful.layout.suit.corner.sw,
|
||||
-- awful.layout.suit.corner.se,
|
||||
}
|
||||
-- }}}
|
||||
|
||||
-- {{{ Menu
|
||||
-- Create a launcher widget and a main menu
|
||||
myawesomemenu = {{"hotkeys", function()
|
||||
hotkeys_popup.show_help(nil, awful.screen.focused())
|
||||
end}, {"manual", terminal .. " -e man awesome"}, {"edit config", editor_cmd .. " " .. awesome.conffile},
|
||||
{"restart", awesome.restart}, {"quit", function()
|
||||
awesome.quit()
|
||||
end}}
|
||||
|
||||
mymainmenu = awful.menu({
|
||||
items = {{"awesome", myawesomemenu, beautiful.awesome_icon}, {"open terminal", terminal}}
|
||||
})
|
||||
|
||||
mylauncher = awful.widget.launcher({
|
||||
image = beautiful.awesome_icon,
|
||||
menu = mymainmenu
|
||||
})
|
||||
|
||||
-- Menubar configuration
|
||||
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
|
||||
-- }}}
|
||||
|
||||
-- Keyboard map indicator and switcher
|
||||
mykeyboardlayout = awful.widget.keyboardlayout()
|
||||
|
||||
-- {{{ Wibar
|
||||
-- Create a textclock widget
|
||||
mytextclock = wibox.widget.textclock()
|
||||
|
||||
local volume_widget = require('awesome-wm-widgets.volume-widget.volume')
|
||||
local cpu_widget = require("awesome-wm-widgets.cpu-widget.cpu-widget")
|
||||
local ram_widget = require("awesome-wm-widgets.ram-widget.ram-widget")
|
||||
local net_speed_widget = require("awesome-wm-widgets.net-speed-widget.net-speed")
|
||||
local mpris_widget = require("awesome-wm-widgets.mpris-widget")
|
||||
|
||||
-- Create a wibox for each screen and add it
|
||||
local taglist_buttons = gears.table.join(awful.button({}, 1, function(t)
|
||||
t:view_only()
|
||||
end), awful.button({modkey}, 1, function(t)
|
||||
if client.focus then
|
||||
client.focus:move_to_tag(t)
|
||||
end
|
||||
end), awful.button({}, 3, awful.tag.viewtoggle), awful.button({modkey}, 3, function(t)
|
||||
if client.focus then
|
||||
client.focus:toggle_tag(t)
|
||||
end
|
||||
end), awful.button({}, 4, function(t)
|
||||
awful.tag.viewnext(t.screen)
|
||||
end), awful.button({}, 5, function(t)
|
||||
awful.tag.viewprev(t.screen)
|
||||
end))
|
||||
|
||||
local tasklist_buttons = gears.table.join(awful.button({}, 1, function(c)
|
||||
if c == client.focus then
|
||||
c.minimized = true
|
||||
else
|
||||
c:emit_signal("request::activate", "tasklist", {
|
||||
raise = true
|
||||
})
|
||||
end
|
||||
end), awful.button({}, 3, function()
|
||||
awful.menu.client_list({
|
||||
theme = {
|
||||
width = 250
|
||||
}
|
||||
})
|
||||
end), awful.button({}, 4, function()
|
||||
awful.client.focus.byidx(1)
|
||||
end), awful.button({}, 5, function()
|
||||
awful.client.focus.byidx(-1)
|
||||
end))
|
||||
|
||||
local function set_wallpaper(s)
|
||||
-- Wallpaper
|
||||
if beautiful.wallpaper then
|
||||
local wallpaper = beautiful.wallpaper
|
||||
-- If wallpaper is a function, call it with the screen
|
||||
if type(wallpaper) == "function" then
|
||||
wallpaper = wallpaper(s)
|
||||
end
|
||||
gears.wallpaper.maximized(wallpaper, s, true)
|
||||
end
|
||||
end
|
||||
|
||||
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
|
||||
screen.connect_signal("property::geometry", set_wallpaper)
|
||||
|
||||
awful.screen.connect_for_each_screen(function(s)
|
||||
-- Wallpaper
|
||||
set_wallpaper(s)
|
||||
|
||||
-- Each screen has its own tag table.
|
||||
awful.tag({"1", "2", "3", "4", "5", "6", "7", "8", "9"}, s, awful.layout.layouts[1])
|
||||
|
||||
-- Create a promptbox for each screen
|
||||
s.mypromptbox = awful.widget.prompt()
|
||||
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
|
||||
-- We need one layoutbox per screen.
|
||||
s.mylayoutbox = awful.widget.layoutbox(s)
|
||||
s.mylayoutbox:buttons(gears.table.join(awful.button({}, 1, function()
|
||||
awful.layout.inc(1)
|
||||
end), awful.button({}, 3, function()
|
||||
awful.layout.inc(-1)
|
||||
end), awful.button({}, 4, function()
|
||||
awful.layout.inc(1)
|
||||
end), awful.button({}, 5, function()
|
||||
awful.layout.inc(-1)
|
||||
end)))
|
||||
-- Create a taglist widget
|
||||
s.mytaglist = awful.widget.taglist {
|
||||
screen = s,
|
||||
filter = awful.widget.taglist.filter.all,
|
||||
buttons = taglist_buttons
|
||||
}
|
||||
|
||||
-- Create a tasklist widget
|
||||
s.mytasklist = awful.widget.tasklist {
|
||||
screen = s,
|
||||
filter = awful.widget.tasklist.filter.currenttags,
|
||||
buttons = tasklist_buttons
|
||||
}
|
||||
|
||||
-- Create the wibox
|
||||
s.mywibox = awful.wibar({
|
||||
position = "top",
|
||||
screen = s
|
||||
})
|
||||
|
||||
-- Add widgets to the wibox
|
||||
s.mywibox:setup{
|
||||
layout = wibox.layout.align.horizontal,
|
||||
{ -- Left widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
mylauncher,
|
||||
s.mytaglist,
|
||||
s.mypromptbox
|
||||
},
|
||||
s.mytasklist, -- Middle widget
|
||||
{ -- Right widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
mpris_widget(),
|
||||
volume_widget({ widget_type = 'arc' }),
|
||||
cpu_widget({ width = 40 }),
|
||||
ram_widget(),
|
||||
net_speed_widget(),
|
||||
mykeyboardlayout,
|
||||
wibox.widget.systray(),
|
||||
mytextclock,
|
||||
s.mylayoutbox
|
||||
}
|
||||
}
|
||||
end)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Mouse bindings
|
||||
root.buttons(gears.table.join(awful.button({}, 3, function()
|
||||
mymainmenu:toggle()
|
||||
end), awful.button({}, 4, awful.tag.viewnext), awful.button({}, 5, awful.tag.viewprev)))
|
||||
-- }}}
|
||||
|
||||
-- {{{ Key bindings
|
||||
globalkeys = gears.table.join(awful.key({modkey}, "s", hotkeys_popup.show_help, {
|
||||
escription = "show help",
|
||||
group = "awesome"
|
||||
}), awful.key({modkey}, "Left", awful.tag.viewprev, {
|
||||
description = "view previous",
|
||||
group = "tag"
|
||||
}), awful.key({modkey}, "Right", awful.tag.viewnext, {
|
||||
description = "view next",
|
||||
group = "tag"
|
||||
}), awful.key({modkey}, "Escape", awful.tag.history.restore, {
|
||||
description = "go back",
|
||||
group = "tag"
|
||||
}), awful.key({modkey}, "j", function()
|
||||
awful.client.focus.byidx(1)
|
||||
end, {
|
||||
description = "focus next by index",
|
||||
group = "client"
|
||||
}), awful.key({modkey}, "k", function()
|
||||
awful.client.focus.byidx(-1)
|
||||
end, {
|
||||
description = "focus previous by index",
|
||||
group = "client"
|
||||
}), awful.key({modkey}, "w", function()
|
||||
mymainmenu:show()
|
||||
end, {
|
||||
description = "show main menu",
|
||||
group = "awesome"
|
||||
}), -- Layout manipulation
|
||||
awful.key({modkey, "Shift"}, "j", function()
|
||||
awful.client.swap.byidx(1)
|
||||
end, {
|
||||
description = "swap with next client by index",
|
||||
group = "client"
|
||||
}), awful.key({modkey, "Shift"}, "k", function()
|
||||
awful.client.swap.byidx(-1)
|
||||
end, {
|
||||
description = "swap with previous client by index",
|
||||
group = "client"
|
||||
}), awful.key({modkey, "Control"}, "j", function()
|
||||
awful.screen.focus_relative(1)
|
||||
end, {
|
||||
description = "focus the next screen",
|
||||
group = "screen"
|
||||
}), awful.key({modkey, "Control"}, "k", function()
|
||||
awful.screen.focus_relative(-1)
|
||||
end, {
|
||||
description = "focus the previous screen",
|
||||
group = "screen"
|
||||
}), awful.key({modkey}, "u", awful.client.urgent.jumpto, {
|
||||
description = "jump to urgent client",
|
||||
group = "client"
|
||||
}), awful.key({modkey}, "Tab", function()
|
||||
awful.client.focus.history.previous()
|
||||
if client.focus then
|
||||
client.focus:raise()
|
||||
end
|
||||
end, {
|
||||
description = "go back",
|
||||
group = "client"
|
||||
}), -- Standard program
|
||||
awful.key({modkey}, "Return", function()
|
||||
awful.spawn(terminal)
|
||||
end, {
|
||||
description = "open a terminal",
|
||||
group = "launcher"
|
||||
}), awful.key({modkey, "Control"}, "r", awesome.restart, {
|
||||
description = "reload awesome",
|
||||
group = "awesome"
|
||||
}), awful.key({modkey, "Shift"}, "q", awesome.quit, {
|
||||
description = "quit awesome",
|
||||
group = "awesome"
|
||||
}), awful.key({modkey}, "l", function()
|
||||
awful.tag.incmwfact(0.05)
|
||||
end, {
|
||||
description = "increase master width factor",
|
||||
group = "layout"
|
||||
}), awful.key({modkey}, "h", function()
|
||||
awful.tag.incmwfact(-0.05)
|
||||
end, {
|
||||
description = "decrease master width factor",
|
||||
group = "layout"
|
||||
}), awful.key({modkey, "Shift"}, "h", function()
|
||||
awful.tag.incnmaster(1, nil, true)
|
||||
end, {
|
||||
description = "increase the number of master clients",
|
||||
group = "layout"
|
||||
}), awful.key({modkey, "Shift"}, "l", function()
|
||||
awful.tag.incnmaster(-1, nil, true)
|
||||
end, {
|
||||
description = "decrease the number of master clients",
|
||||
group = "layout"
|
||||
}), awful.key({modkey, "Control"}, "h", function()
|
||||
awful.tag.incncol(1, nil, true)
|
||||
end, {
|
||||
description = "increase the number of columns",
|
||||
group = "layout"
|
||||
}), awful.key({modkey, "Control"}, "l", function()
|
||||
awful.tag.incncol(-1, nil, true)
|
||||
end, {
|
||||
description = "decrease the number of columns",
|
||||
group = "layout"
|
||||
}), awful.key({modkey}, "space", function()
|
||||
awful.layout.inc(1)
|
||||
end, {
|
||||
description = "select next",
|
||||
group = "layout"
|
||||
}), awful.key({modkey, "Shift"}, "space", function()
|
||||
awful.layout.inc(-1)
|
||||
end, {
|
||||
description = "select previous",
|
||||
group = "layout"
|
||||
}), awful.key({modkey, "Control"}, "n", function()
|
||||
local c = awful.client.restore()
|
||||
-- Focus restored client
|
||||
if c then
|
||||
c:emit_signal("request::activate", "key.unminimize", {
|
||||
raise = true
|
||||
})
|
||||
end
|
||||
end, {
|
||||
description = "restore minimized",
|
||||
group = "client"
|
||||
}), -- Prompt
|
||||
awful.key({modkey}, "r", function()
|
||||
awful.screen.focused().mypromptbox:run()
|
||||
end, {
|
||||
description = "run prompt",
|
||||
group = "launcher"
|
||||
}), awful.key({modkey}, "x", function()
|
||||
awful.prompt.run {
|
||||
prompt = "Run Lua code: ",
|
||||
textbox = awful.screen.focused().mypromptbox.widget,
|
||||
exe_callback = awful.util.eval,
|
||||
history_path = awful.util.get_cache_dir() .. "/history_eval"
|
||||
}
|
||||
end, {
|
||||
description = "lua execute prompt",
|
||||
group = "awesome"
|
||||
}), -- Menubar
|
||||
awful.key({modkey}, "p", function()
|
||||
awful.spawn.with_shell("rofi -show drun &>> /tmp/rofi.log")
|
||||
-- menubar.show()
|
||||
end, {
|
||||
description = "show the menubar",
|
||||
group = "launcher"
|
||||
}))
|
||||
|
||||
clientkeys = gears.table.join(awful.key({modkey}, "f", function(c)
|
||||
c.fullscreen = not c.fullscreen
|
||||
c:raise()
|
||||
end, {
|
||||
description = "toggle fullscreen",
|
||||
group = "client"
|
||||
}), awful.key({modkey, "Shift"}, "c", function(c)
|
||||
c:kill()
|
||||
end, {
|
||||
description = "close",
|
||||
group = "client"
|
||||
}), awful.key({modkey, "Control"}, "space", awful.client.floating.toggle, {
|
||||
description = "toggle floating",
|
||||
group = "client"
|
||||
}), awful.key({modkey, "Control"}, "Return", function(c)
|
||||
c:swap(awful.client.getmaster())
|
||||
end, {
|
||||
description = "move to master",
|
||||
group = "client"
|
||||
}), awful.key({modkey}, "o", function(c)
|
||||
c:move_to_screen()
|
||||
end, {
|
||||
description = "move to screen",
|
||||
group = "client"
|
||||
}), awful.key({modkey}, "t", function(c)
|
||||
c.ontop = not c.ontop
|
||||
end, {
|
||||
description = "toggle keep on top",
|
||||
group = "client"
|
||||
}), awful.key({modkey}, "n", function(c)
|
||||
-- The client currently has the input focus, so it cannot be
|
||||
-- minimized, since minimized clients can't have the focus.
|
||||
c.minimized = true
|
||||
end, {
|
||||
description = "minimize",
|
||||
group = "client"
|
||||
}), awful.key({modkey}, "m", function(c)
|
||||
c.maximized = not c.maximized
|
||||
c:raise()
|
||||
end, {
|
||||
description = "(un)maximize",
|
||||
group = "client"
|
||||
}), awful.key({modkey, "Control"}, "m", function(c)
|
||||
c.maximized_vertical = not c.maximized_vertical
|
||||
c:raise()
|
||||
end, {
|
||||
description = "(un)maximize vertically",
|
||||
group = "client"
|
||||
}), awful.key({modkey, "Shift"}, "m", function(c)
|
||||
c.maximized_horizontal = not c.maximized_horizontal
|
||||
c:raise()
|
||||
end, {
|
||||
description = "(un)maximize horizontally",
|
||||
group = "client"
|
||||
}))
|
||||
|
||||
-- Bind all key numbers to tags.
|
||||
-- Be careful: we use keycodes to make it work on any keyboard layout.
|
||||
-- This should map on the top row of your keyboard, usually 1 to 9.
|
||||
for i = 1, 9 do
|
||||
globalkeys = gears.table.join(globalkeys, -- View tag only.
|
||||
awful.key({modkey}, "#" .. i + 9, function()
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[i]
|
||||
if tag then
|
||||
tag:view_only()
|
||||
end
|
||||
end, {
|
||||
description = "view tag #" .. i,
|
||||
group = "tag"
|
||||
}), -- Toggle tag display.
|
||||
awful.key({modkey, "Control"}, "#" .. i + 9, function()
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[i]
|
||||
if tag then
|
||||
awful.tag.viewtoggle(tag)
|
||||
end
|
||||
end, {
|
||||
description = "toggle tag #" .. i,
|
||||
group = "tag"
|
||||
}), -- Move client to tag.
|
||||
awful.key({modkey, "Shift"}, "#" .. i + 9, function()
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[i]
|
||||
if tag then
|
||||
client.focus:move_to_tag(tag)
|
||||
end
|
||||
end
|
||||
end, {
|
||||
description = "move focused client to tag #" .. i,
|
||||
group = "tag"
|
||||
}), -- Toggle tag on focused client.
|
||||
awful.key({modkey, "Control", "Shift"}, "#" .. i + 9, function()
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[i]
|
||||
if tag then
|
||||
client.focus:toggle_tag(tag)
|
||||
end
|
||||
end
|
||||
end, {
|
||||
description = "toggle focused client on tag #" .. i,
|
||||
group = "tag"
|
||||
}))
|
||||
end
|
||||
|
||||
clientbuttons = gears.table.join(awful.button({}, 1, function(c)
|
||||
c:emit_signal("request::activate", "mouse_click", {
|
||||
raise = true
|
||||
})
|
||||
end), awful.button({modkey}, 1, function(c)
|
||||
c:emit_signal("request::activate", "mouse_click", {
|
||||
raise = true
|
||||
})
|
||||
awful.mouse.client.move(c)
|
||||
end), awful.button({modkey}, 3, function(c)
|
||||
c:emit_signal("request::activate", "mouse_click", {
|
||||
raise = true
|
||||
})
|
||||
awful.mouse.client.resize(c)
|
||||
end))
|
||||
|
||||
globalkeys, clientkeys, clientbuttons = require('keymapping').bind(globalkeys, clientkeys, clientbuttons)
|
||||
|
||||
-- Set keys
|
||||
root.keys(globalkeys)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Rules
|
||||
-- Rules to apply to new clients (through the "manage" signal).
|
||||
awful.rules.rules = { -- All clients will match this rule.
|
||||
{
|
||||
rule = {},
|
||||
properties = {
|
||||
border_width = beautiful.border_width,
|
||||
border_color = beautiful.border_normal,
|
||||
focus = awful.client.focus.filter,
|
||||
raise = true,
|
||||
keys = clientkeys,
|
||||
buttons = clientbuttons,
|
||||
screen = awful.screen.preferred,
|
||||
placement = awful.placement.no_overlap + awful.placement.no_offscreen
|
||||
}
|
||||
}, -- Floating clients.
|
||||
{
|
||||
rule_any = {
|
||||
instance = {"DTA", -- Firefox addon DownThemAll.
|
||||
"copyq", -- Includes session name in class.
|
||||
"pinentry"},
|
||||
class = {"Arandr", "Blueman-manager", "Gpick", "Kruler", "MessageWin", -- kalarm.
|
||||
"Sxiv", "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
|
||||
"Wpa_gui", "veromix", "xtightvncviewer"},
|
||||
|
||||
-- Note that the name property shown in xprop might be set slightly after creation of the client
|
||||
-- and the name shown there might not match defined rules here.
|
||||
name = {"Event Tester" -- xev.
|
||||
},
|
||||
role = {"AlarmWindow", -- Thunderbird's calendar.
|
||||
"ConfigManager", -- Thunderbird's about:config.
|
||||
"pop-up" -- e.g. Google Chrome's (detached) Developer Tools.
|
||||
}
|
||||
},
|
||||
properties = {
|
||||
floating = true
|
||||
}
|
||||
}, -- Add titlebars to normal clients and dialogs
|
||||
{
|
||||
rule_any = {
|
||||
type = {"normal", "dialog"}
|
||||
},
|
||||
properties = {
|
||||
titlebars_enabled = true
|
||||
}
|
||||
} -- Set Firefox to always map on the tag named "2" on screen 1.
|
||||
-- { rule = { class = "Firefox" },
|
||||
-- properties = { screen = 1, tag = "2" } },
|
||||
}
|
||||
-- }}}
|
||||
|
||||
-- {{{ Signals
|
||||
-- Signal function to execute when a new client appears.
|
||||
client.connect_signal("manage", function(c)
|
||||
-- Set the windows at the slave,
|
||||
-- i.e. put it at the end of others instead of setting it master.
|
||||
-- if not awesome.startup then awful.client.setslave(c) end
|
||||
|
||||
if awesome.startup and not c.size_hints.user_position and not c.size_hints.program_position then
|
||||
-- Prevent clients from being unreachable after screen count changes.
|
||||
awful.placement.no_offscreen(c)
|
||||
end
|
||||
end)
|
||||
|
||||
-- Add a titlebar if titlebars_enabled is set to true in the rules.
|
||||
client.connect_signal("request::titlebars", function(c)
|
||||
-- buttons for the titlebar
|
||||
local buttons = gears.table.join(awful.button({}, 1, function()
|
||||
c:emit_signal("request::activate", "titlebar", {
|
||||
raise = true
|
||||
})
|
||||
awful.mouse.client.move(c)
|
||||
end), awful.button({}, 3, function()
|
||||
c:emit_signal("request::activate", "titlebar", {
|
||||
raise = true
|
||||
})
|
||||
awful.mouse.client.resize(c)
|
||||
end))
|
||||
|
||||
awful.titlebar(c):setup{
|
||||
{ -- Left
|
||||
awful.titlebar.widget.iconwidget(c),
|
||||
buttons = buttons,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
},
|
||||
{ -- Middle
|
||||
{ -- Title
|
||||
align = "center",
|
||||
widget = awful.titlebar.widget.titlewidget(c)
|
||||
},
|
||||
buttons = buttons,
|
||||
layout = wibox.layout.flex.horizontal
|
||||
},
|
||||
{ -- Right
|
||||
awful.titlebar.widget.floatingbutton(c),
|
||||
awful.titlebar.widget.maximizedbutton(c),
|
||||
awful.titlebar.widget.stickybutton(c),
|
||||
awful.titlebar.widget.ontopbutton(c),
|
||||
awful.titlebar.widget.closebutton(c),
|
||||
layout = wibox.layout.fixed.horizontal()
|
||||
},
|
||||
layout = wibox.layout.align.horizontal
|
||||
}
|
||||
end)
|
||||
|
||||
-- Enable sloppy focus, so that focus follows mouse.
|
||||
client.connect_signal("mouse::enter", function(c)
|
||||
c:emit_signal("request::activate", "mouse_enter", {
|
||||
raise = false
|
||||
})
|
||||
end)
|
||||
|
||||
client.connect_signal("focus", function(c)
|
||||
c.border_color = beautiful.border_focus
|
||||
end)
|
||||
client.connect_signal("unfocus", function(c)
|
||||
c.border_color = beautiful.border_normal
|
||||
end)
|
||||
-- }}}
|
||||
|
||||
os.execute('picom -f &')
|
|
@ -0,0 +1,3 @@
|
|||
Background images:
|
||||
Mikael Eriksson <mikael_eriksson@miffe.org>
|
||||
Licensed under CC-BY-SA-3.0
|
After Width: | Height: | Size: 218 KiB |
After Width: | Height: | Size: 262 KiB |
After Width: | Height: | Size: 272 B |
After Width: | Height: | Size: 272 B |
After Width: | Height: | Size: 263 B |
After Width: | Height: | Size: 264 B |
After Width: | Height: | Size: 264 B |
After Width: | Height: | Size: 264 B |
After Width: | Height: | Size: 263 B |
After Width: | Height: | Size: 264 B |
After Width: | Height: | Size: 320 B |
After Width: | Height: | Size: 320 B |
After Width: | Height: | Size: 245 B |
After Width: | Height: | Size: 245 B |
After Width: | Height: | Size: 246 B |
After Width: | Height: | Size: 246 B |
After Width: | Height: | Size: 282 B |
After Width: | Height: | Size: 282 B |
After Width: | Height: | Size: 866 B |
After Width: | Height: | Size: 865 B |
After Width: | Height: | Size: 345 B |
After Width: | Height: | Size: 345 B |
After Width: | Height: | Size: 574 B |
After Width: | Height: | Size: 581 B |
After Width: | Height: | Size: 328 B |
After Width: | Height: | Size: 328 B |
After Width: | Height: | Size: 265 B |
After Width: | Height: | Size: 264 B |
After Width: | Height: | Size: 264 B |
After Width: | Height: | Size: 266 B |
After Width: | Height: | Size: 266 B |
After Width: | Height: | Size: 260 B |
After Width: | Height: | Size: 265 B |
After Width: | Height: | Size: 265 B |
After Width: | Height: | Size: 440 B |
After Width: | Height: | Size: 187 B |
After Width: | Height: | Size: 193 B |
|
@ -0,0 +1,130 @@
|
|||
---------------------------
|
||||
-- Default awesome theme --
|
||||
---------------------------
|
||||
|
||||
local theme_assets = require("beautiful.theme_assets")
|
||||
local xresources = require("beautiful.xresources")
|
||||
local dpi = xresources.apply_dpi
|
||||
|
||||
local themes_path = string.format("%s/.config/awesome/theme/", os.getenv("HOME"))
|
||||
|
||||
local theme = {}
|
||||
|
||||
theme.font = "sans 8"
|
||||
|
||||
theme.bg_normal = "#222222"
|
||||
theme.bg_focus = "#535d6c"
|
||||
theme.bg_urgent = "#ff0000"
|
||||
theme.bg_minimize = "#444444"
|
||||
theme.bg_systray = theme.bg_normal
|
||||
|
||||
theme.fg_normal = "#aaaaaa"
|
||||
theme.fg_focus = "#ffffff"
|
||||
theme.fg_urgent = "#ffffff"
|
||||
theme.fg_minimize = "#ffffff"
|
||||
|
||||
theme.useless_gap = dpi(0)
|
||||
theme.border_width = dpi(1)
|
||||
theme.border_normal = "#000000"
|
||||
theme.border_focus = "#535d6c"
|
||||
theme.border_marked = "#91231c"
|
||||
|
||||
-- There are other variable sets
|
||||
-- overriding the default one when
|
||||
-- defined, the sets are:
|
||||
-- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile]
|
||||
-- tasklist_[bg|fg]_[focus|urgent]
|
||||
-- titlebar_[bg|fg]_[normal|focus]
|
||||
-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color]
|
||||
-- mouse_finder_[color|timeout|animate_timeout|radius|factor]
|
||||
-- prompt_[fg|bg|fg_cursor|bg_cursor|font]
|
||||
-- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font]
|
||||
-- Example:
|
||||
--theme.taglist_bg_focus = "#ff0000"
|
||||
|
||||
-- Generate taglist squares:
|
||||
local taglist_square_size = dpi(4)
|
||||
theme.taglist_squares_sel = theme_assets.taglist_squares_sel(
|
||||
taglist_square_size, theme.fg_normal
|
||||
)
|
||||
theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel(
|
||||
taglist_square_size, theme.fg_normal
|
||||
)
|
||||
|
||||
-- Variables set for theming notifications:
|
||||
-- notification_font
|
||||
-- notification_[bg|fg]
|
||||
-- notification_[width|height|margin]
|
||||
-- notification_[border_color|border_width|shape|opacity]
|
||||
|
||||
-- Variables set for theming the menu:
|
||||
-- menu_[bg|fg]_[normal|focus]
|
||||
-- menu_[border_color|border_width]
|
||||
theme.menu_submenu_icon = themes_path.."submenu.png"
|
||||
theme.menu_height = dpi(15)
|
||||
theme.menu_width = dpi(100)
|
||||
|
||||
-- You can add as many variables as
|
||||
-- you wish and access them by using
|
||||
-- beautiful.variable in your rc.lua
|
||||
--theme.bg_widget = "#cc0000"
|
||||
|
||||
-- Define the image to load
|
||||
theme.titlebar_close_button_normal = themes_path.."titlebar/close_normal.png"
|
||||
theme.titlebar_close_button_focus = themes_path.."titlebar/close_focus.png"
|
||||
|
||||
theme.titlebar_minimize_button_normal = themes_path.."titlebar/minimize_normal.png"
|
||||
theme.titlebar_minimize_button_focus = themes_path.."titlebar/minimize_focus.png"
|
||||
|
||||
theme.titlebar_ontop_button_normal_inactive = themes_path.."titlebar/ontop_normal_inactive.png"
|
||||
theme.titlebar_ontop_button_focus_inactive = themes_path.."titlebar/ontop_focus_inactive.png"
|
||||
theme.titlebar_ontop_button_normal_active = themes_path.."titlebar/ontop_normal_active.png"
|
||||
theme.titlebar_ontop_button_focus_active = themes_path.."titlebar/ontop_focus_active.png"
|
||||
|
||||
theme.titlebar_sticky_button_normal_inactive = themes_path.."titlebar/sticky_normal_inactive.png"
|
||||
theme.titlebar_sticky_button_focus_inactive = themes_path.."titlebar/sticky_focus_inactive.png"
|
||||
theme.titlebar_sticky_button_normal_active = themes_path.."titlebar/sticky_normal_active.png"
|
||||
theme.titlebar_sticky_button_focus_active = themes_path.."titlebar/sticky_focus_active.png"
|
||||
|
||||
theme.titlebar_floating_button_normal_inactive = themes_path.."titlebar/floating_normal_inactive.png"
|
||||
theme.titlebar_floating_button_focus_inactive = themes_path.."titlebar/floating_focus_inactive.png"
|
||||
theme.titlebar_floating_button_normal_active = themes_path.."titlebar/floating_normal_active.png"
|
||||
theme.titlebar_floating_button_focus_active = themes_path.."titlebar/floating_focus_active.png"
|
||||
|
||||
theme.titlebar_maximized_button_normal_inactive = themes_path.."titlebar/maximized_normal_inactive.png"
|
||||
theme.titlebar_maximized_button_focus_inactive = themes_path.."titlebar/maximized_focus_inactive.png"
|
||||
theme.titlebar_maximized_button_normal_active = themes_path.."titlebar/maximized_normal_active.png"
|
||||
theme.titlebar_maximized_button_focus_active = themes_path.."titlebar/maximized_focus_active.png"
|
||||
|
||||
theme.wallpaper = themes_path.."background.png"
|
||||
|
||||
-- You can use your own layout icons like this:
|
||||
theme.layout_fairh = themes_path.."layouts/fairhw.png"
|
||||
theme.layout_fairv = themes_path.."layouts/fairvw.png"
|
||||
theme.layout_floating = themes_path.."layouts/floatingw.png"
|
||||
theme.layout_magnifier = themes_path.."layouts/magnifierw.png"
|
||||
theme.layout_max = themes_path.."layouts/maxw.png"
|
||||
theme.layout_fullscreen = themes_path.."layouts/fullscreenw.png"
|
||||
theme.layout_tilebottom = themes_path.."layouts/tilebottomw.png"
|
||||
theme.layout_tileleft = themes_path.."layouts/tileleftw.png"
|
||||
theme.layout_tile = themes_path.."layouts/tilew.png"
|
||||
theme.layout_tiletop = themes_path.."layouts/tiletopw.png"
|
||||
theme.layout_spiral = themes_path.."layouts/spiralw.png"
|
||||
theme.layout_dwindle = themes_path.."layouts/dwindlew.png"
|
||||
theme.layout_cornernw = themes_path.."layouts/cornernww.png"
|
||||
theme.layout_cornerne = themes_path.."layouts/cornernew.png"
|
||||
theme.layout_cornersw = themes_path.."layouts/cornersww.png"
|
||||
theme.layout_cornerse = themes_path.."layouts/cornersew.png"
|
||||
|
||||
-- Generate Awesome icon:
|
||||
theme.awesome_icon = theme_assets.awesome_icon(
|
||||
theme.menu_height, theme.bg_focus, theme.fg_focus
|
||||
)
|
||||
|
||||
-- Define the icon theme for application icons. If not set then the icons
|
||||
-- from /usr/share/icons and /usr/share/icons/hicolor will be used.
|
||||
theme.icon_theme = nil
|
||||
|
||||
return theme
|
||||
|
||||
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
After Width: | Height: | Size: 966 B |
After Width: | Height: | Size: 966 B |
After Width: | Height: | Size: 386 B |
After Width: | Height: | Size: 237 B |
After Width: | Height: | Size: 386 B |
After Width: | Height: | Size: 237 B |
After Width: | Height: | Size: 480 B |
After Width: | Height: | Size: 452 B |
After Width: | Height: | Size: 480 B |
After Width: | Height: | Size: 452 B |
After Width: | Height: | Size: 234 B |
After Width: | Height: | Size: 225 B |
After Width: | Height: | Size: 467 B |
After Width: | Height: | Size: 604 B |
After Width: | Height: | Size: 467 B |
After Width: | Height: | Size: 604 B |
After Width: | Height: | Size: 654 B |
After Width: | Height: | Size: 758 B |
After Width: | Height: | Size: 654 B |
After Width: | Height: | Size: 758 B |
|
@ -0,0 +1,3 @@
|
|||
[git]
|
||||
autoCommit = true
|
||||
autoPush = true
|
167
dot_local/share/chezmoi/literal_dot_config/dunst/dunstrc
Normal file
|
@ -0,0 +1,167 @@
|
|||
[global]
|
||||
|
||||
include-file = ~/.config/polybar/colors.ini
|
||||
|
||||
monitor = 0
|
||||
follow = keyboard
|
||||
geometry = "400x5-10+48"
|
||||
indicate_hidden = yes
|
||||
shrink = yes
|
||||
transparency = 20
|
||||
notification_height = 12
|
||||
separator_height = 2
|
||||
padding = 24
|
||||
horizontal_padding = 24
|
||||
frame_width = 1
|
||||
frame_color = "#3c3836"
|
||||
corner_radius = 3
|
||||
|
||||
# Define a color for the separator.
|
||||
# possible values are:
|
||||
# * auto: dunst tries to find a color fitting to the background;
|
||||
# * foreground: use the same color as the foreground;
|
||||
# * frame: use the same color as the frame;
|
||||
# * anything else will be interpreted as a X color.
|
||||
separator_color = auto
|
||||
|
||||
# Sort messages by urgency.
|
||||
sort = yes
|
||||
|
||||
idle_threshold = 120
|
||||
font = RobotoMono Nerd Font 11
|
||||
line_height = 5
|
||||
markup = full
|
||||
|
||||
# The format of the message. Possible variables are:
|
||||
# %a appname
|
||||
# %s summary
|
||||
# %b body
|
||||
# %i iconname (including its path)
|
||||
# %I iconname (without its path)
|
||||
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||
# %n progress value if set without any extra characters
|
||||
# %% Literal %
|
||||
# Markup is allowed
|
||||
format = " <b>%s</b>\n%b"
|
||||
|
||||
alignment = left
|
||||
show_age_threshold = 60
|
||||
word_wrap = yes
|
||||
ellipsize = middle
|
||||
ignore_newline = no
|
||||
stack_duplicates = true
|
||||
hide_duplicate_count = true
|
||||
show_indicators = yes
|
||||
icon_position = off
|
||||
max_icon_size = 40
|
||||
#icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/:/usr/share/icons/Adwaita/256x256/status/
|
||||
sticky_history = yes
|
||||
history_length = 20
|
||||
dmenu = /usr/bin/dmenu -p dunst:
|
||||
browser = /usr/bin/firefox -new-tab
|
||||
|
||||
# Always run rule-defined scripts, even if the notification is suppressed
|
||||
always_run_script = true
|
||||
|
||||
title = Dunst
|
||||
class = Dunst
|
||||
startup_notification = false
|
||||
force_xinerama = false
|
||||
|
||||
[experimental]
|
||||
per_monitor_dpi = false
|
||||
|
||||
[shortcuts]
|
||||
close = ctrl+space
|
||||
close_all = ctrl+shift+space
|
||||
history = ctrl+grave
|
||||
context = ctrl+shift+period
|
||||
|
||||
[urgency_low]
|
||||
# IMPORTANT: colors have to be defined in quotation marks.
|
||||
# Otherwise the "#" and following would be interpreted as a comment.
|
||||
; background = "#282828"
|
||||
; foreground = "#928374"
|
||||
|
||||
; background = "#a89984"
|
||||
; foreground = "#3c3836"
|
||||
|
||||
background = "#0A0B0D"
|
||||
foreground = "#FFFFB7"
|
||||
timeout = 8
|
||||
# Icon for notifications with low urgency, uncomment to enable
|
||||
#icon = /path/to/icon
|
||||
|
||||
[urgency_normal]
|
||||
; background = "#333333"
|
||||
; foreground = "#ebdbb2"
|
||||
background = "#bdae93"
|
||||
foreground = "#3c3836"
|
||||
timeout = 10
|
||||
|
||||
[urgency_critical]
|
||||
; background = "#703838"
|
||||
; foreground = "#ebdbb2"
|
||||
background = "#fb4934"
|
||||
foreground = "#32302f"
|
||||
; frame_color = "#CCA83B"
|
||||
timeout = 0
|
||||
|
||||
# Every section that isn't one of the above is interpreted as a rules to
|
||||
# override settings for certain messages.
|
||||
# Messages can be matched by "appname", "summary", "body", "icon", "category",
|
||||
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
|
||||
# "background", "new_icon" and "format".
|
||||
# Shell-like globbing will get expanded.
|
||||
#
|
||||
# SCRIPTING
|
||||
# You can specify a script that gets run when the rule matches by
|
||||
# setting the "script" option.
|
||||
# The script will be called as follows:
|
||||
# script appname summary body icon urgency
|
||||
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||
#
|
||||
# NOTE: if you don't want a notification to be displayed, set the format
|
||||
# to "".
|
||||
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||
# to find fitting options for rules.
|
||||
|
||||
#[espeak]
|
||||
# summary = "*"
|
||||
# script = dunst_espeak.sh
|
||||
|
||||
#[script-test]
|
||||
# summary = "*script*"
|
||||
# script = dunst_test.sh
|
||||
|
||||
#[ignore]
|
||||
# # This notification will not be displayed
|
||||
# summary = "foobar"
|
||||
# format = ""
|
||||
|
||||
#[history-ignore]
|
||||
# # This notification will not be saved in history
|
||||
# summary = "foobar"
|
||||
# history_ignore = yes
|
||||
|
||||
#[signed_on]
|
||||
# appname = Pidgin
|
||||
# summary = "*signed on*"
|
||||
# urgency = low
|
||||
#
|
||||
#[signed_off]
|
||||
# appname = Pidgin
|
||||
# summary = *signed off*
|
||||
# urgency = low
|
||||
#
|
||||
#[says]
|
||||
# appname = Pidgin
|
||||
# summary = *says*
|
||||
# urgency = critical
|
||||
#
|
||||
#[twitter]
|
||||
# appname = Pidgin
|
||||
# summary = *twitter.com*
|
||||
# urgency = normal
|
||||
#
|
||||
# vim: ft=cfg
|
|
@ -0,0 +1,13 @@
|
|||
(
|
||||
focus_right: Some(( code: Char('l'), modifiers: ( bits: 0,),)),
|
||||
focus_left: Some(( code: Char('h'), modifiers: ( bits: 0,),)),
|
||||
focus_above: Some(( code: Char('k'), modifiers: ( bits: 0,),)),
|
||||
focus_below: Some(( code: Char('j'), modifiers: ( bits: 0,),)),
|
||||
|
||||
move_left: Some(( code: Char('h'), modifiers: ( bits: 0,),)),
|
||||
move_right: Some(( code: Char('l'), modifiers: ( bits: 0,),)),
|
||||
move_up: Some(( code: Char('k'), modifiers: ( bits: 0,),)),
|
||||
move_down: Some(( code: Char('j'), modifiers: ( bits: 0,),)),
|
||||
|
||||
open_help: Some(( code: F(1), modifiers: ( bits: 0,),)),
|
||||
)
|
19
dot_local/share/chezmoi/literal_dot_config/gitui/theme.ron
Normal file
|
@ -0,0 +1,19 @@
|
|||
(
|
||||
selected_tab: Reset,
|
||||
command_fg: White,
|
||||
selection_bg: Blue,
|
||||
cmdbar_extra_lines_bg: Blue,
|
||||
disabled_fg: DarkGray,
|
||||
diff_line_add: Green,
|
||||
diff_line_delete: Red,
|
||||
diff_file_added: LightGreen,
|
||||
diff_file_removed: LightRed,
|
||||
diff_file_moved: LightMagenta,
|
||||
diff_file_modified: Yellow,
|
||||
commit_hash: Magenta,
|
||||
commit_time: LightCyan,
|
||||
commit_author: Green,
|
||||
danger_fg: Red,
|
||||
push_gauge_bg: Blue,
|
||||
push_gauge_fg: Reset,
|
||||
)
|
261
dot_local/share/chezmoi/literal_dot_config/i3/config
Normal file
|
@ -0,0 +1,261 @@
|
|||
# This file has been auto-generated by i3-config-wizard(1).
|
||||
# It will not be overwritten, so edit it as you like.
|
||||
#
|
||||
# Should you change your keyboard layout some time, delete
|
||||
# this file and re-run i3-config-wizard(1).
|
||||
#
|
||||
|
||||
# i3 config file (v4)
|
||||
#
|
||||
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||
|
||||
set $mod Mod4
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
font pango:monospace 10
|
||||
|
||||
|
||||
# Set inner/outer gaps
|
||||
gaps inner 10
|
||||
gaps outer 10
|
||||
|
||||
#do not show titlebar on windows:
|
||||
# new_window 1pixel
|
||||
|
||||
# thin borders:
|
||||
hide_edge_borders both
|
||||
|
||||
# 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
|
||||
|
||||
# Compositor to avoid tearing
|
||||
# exec --no-startup-id picom -b
|
||||
exec --no-startup-id picom -CGb --experimental-backend
|
||||
|
||||
#Background
|
||||
exec --no-startup-id feh --bg-scale /home/adonis/Images/2784029.webp
|
||||
#exec --no-startup-id mplayer -loop 0 -rootwin -ao null -vo x11 -nokeepaspect -noconsolecontrols -fs /home/adonis/Images/AggressiveShallowCatbird-size_restricted.gif
|
||||
#exec --no-startup-id mpv --wid=0 -loop 0 -ao null -no-input-terminal -fs /home/adonis/Images/AggressiveShallowCatbird-size_restricted.gif
|
||||
# exec --no-startup-id xwinwrap -ov -fs -- mplayer -fs -rootwin -wid 0 -quiet -nosound /home/adonis/Images/AggressiveShallowCatbird-size_restricted.mp4 -loop 0
|
||||
|
||||
# Multimedia keys
|
||||
# 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@ +10% && $refresh_i3status
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||
|
||||
#bindsym XF86MonBrightnessUp exec xbacklight -inc 10
|
||||
#bindsym XF86MonBrightnessDown exec xbacklight -dec 10
|
||||
#bindsym XF86AudioMute exec amixer -D pulse sset Master toggle -q
|
||||
#bindsym XF86AudioLowerVolume exec amixer -D pulse sset Master 1%- unmute -q
|
||||
#bindsym XF86AudioRaiseVolume exec amixer -D pulse sset Master 1%+ unmute -q
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# start a terminal
|
||||
bindsym $mod+Return exec i3-sensible-terminal
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+A kill
|
||||
|
||||
# start dmenu (a program launcher)
|
||||
bindsym $mod+d exec --no-startup-id dmenu_run
|
||||
# A more modern dmenu replacement is rofi:
|
||||
# bindcode $mod+40 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.
|
||||
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
|
||||
|
||||
# change focus
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+l 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+h move left
|
||||
bindsym $mod+Shift+j move down
|
||||
bindsym $mod+Shift+k move up
|
||||
bindsym $mod+Shift+l 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+b 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+z 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+q focus parent
|
||||
|
||||
# focus the child container
|
||||
#bindsym $mod+d focus child
|
||||
|
||||
# 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"
|
||||
set $ws4 "4"
|
||||
set $ws5 "5"
|
||||
set $ws6 "6"
|
||||
set $ws7 "7"
|
||||
set $ws8 "8"
|
||||
set $ws9 "9"
|
||||
set $ws10 "10"
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+ampersand workspace number $ws1
|
||||
bindsym $mod+eacute workspace number $ws2
|
||||
bindsym $mod+quotedbl workspace number $ws3
|
||||
bindsym $mod+apostrophe workspace number $ws4
|
||||
bindsym $mod+parenleft workspace number $ws5
|
||||
bindsym $mod+section workspace number $ws6
|
||||
bindsym $mod+egrave workspace number $ws7
|
||||
bindsym $mod+exclam workspace number $ws8
|
||||
bindsym $mod+ccedilla workspace number $ws9
|
||||
bindsym $mod+agrave workspace number $ws10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||
bindsym $mod+Shift+eacute move container to workspace number $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||
bindsym $mod+Shift+section move container to workspace number $ws6
|
||||
bindsym $mod+Shift+egrave move container to workspace number $ws7
|
||||
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||
bindsym $mod+Shift+ccedilla move container to workspace number $ws9
|
||||
bindsym $mod+Shift+agrave move container to workspace number $ws10
|
||||
|
||||
# kill window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# 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 j resize shrink width 10 px or 10 ppt
|
||||
bindsym k resize grow height 10 px or 10 ppt
|
||||
bindsym l resize shrink height 10 px or 10 ppt
|
||||
bindsym m 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"
|
||||
}
|
||||
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
#bar {
|
||||
# status_command i3blocks
|
||||
# font pango:monospace 12
|
||||
#}
|
||||
|
||||
# Lock the system
|
||||
bindsym $mod+Shift+d exec i3lock -i ~/.config/i3/i3-lock-screen.png -t -f
|
||||
|
||||
set $bg-color #DC143C
|
||||
set $inactive-bg-color #2f343f
|
||||
set $text-color #f3f4f5
|
||||
set $inactive-text-color #676e7d
|
||||
set $urgent-bg-color #e53935
|
||||
set $indicator-color #a0a0a0
|
||||
|
||||
# set window colors:
|
||||
# border background text indicator
|
||||
client.focused $bg-color $bg-color $text-color $indicator-color
|
||||
client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-color $indicator-color
|
||||
client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color $indicator-color
|
||||
client.urgent $urgent-bg-color $urgent-bg-color $text-color $indicator-color
|
||||
|
||||
|
||||
# Toggle gap
|
||||
set $mode_gaps Toggle gaps: (1) on (2) off
|
||||
bindsym $mod+g mode "$mode_gaps"
|
||||
mode "$mode_gaps" {
|
||||
bindsym g mode "default", gaps inner all set 10, gaps outer all set 10
|
||||
bindsym f mode "default", gaps inner all set 1, gaps outer all set 1
|
||||
# bindsym Return mode "default"
|
||||
# bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
# Toggle window title
|
||||
# default_border pixel 1
|
||||
# default_floating_border pixel 1
|
||||
|
||||
|
||||
# set floating (nontiling)for apps needing it:
|
||||
for_window [class="Galculator" instance="galculator"] floating enable
|
||||
|
||||
# Desktop notifications_
|
||||
exec --no-startup-id /usr/bin/dunst
|
||||
|
||||
## Launch Polybar
|
||||
exec_always --no-startup-id launch_polybar
|
||||
|
BIN
dot_local/share/chezmoi/literal_dot_config/i3/i3-lock-screen.png
Normal file
After Width: | Height: | Size: 9.5 MiB |
|
@ -0,0 +1,3 @@
|
|||
git:
|
||||
pull:
|
||||
mode: 'rebase' # one of 'auto' | 'merge' | 'rebase' | 'ff-only', auto reads from git configuration
|
11
dot_local/share/chezmoi/literal_dot_config/nvim/init.lua
Normal file
|
@ -0,0 +1,11 @@
|
|||
-------------------- HELPERS -------------------------------
|
||||
local helpers = require('helpers')
|
||||
|
||||
-------------------- OPTIONS -------------------------------
|
||||
helpers.call_with_helpers(require('options').init)
|
||||
|
||||
-------------------- PLUGINS -------------------------------
|
||||
helpers.call_with_helpers(require('plugins').init)
|
||||
|
||||
-------------------- MAPPINGS ------------------------------
|
||||
helpers.call_with_helpers(require('mappings').init)
|
|
@ -0,0 +1,42 @@
|
|||
local cmd = vim.cmd -- to execute Vim commands e.g. cmd('pwd')
|
||||
local fn = vim.fn -- to call Vim functions e.g. fn.bufnr()
|
||||
local g = vim.g -- a table to access global variables
|
||||
local opt = vim.opt -- to set options
|
||||
local o = vim.o -- to set options
|
||||
|
||||
local function map(mode, lhs, rhs, opts)
|
||||
local options = {noremap = true}
|
||||
if opts then options = vim.tbl_extend('force', options, opts) end
|
||||
vim.api.nvim_set_keymap(mode, lhs, rhs, options)
|
||||
end
|
||||
|
||||
local function dump(...)
|
||||
local objects = vim.tbl_map(vim.inspect, {...})
|
||||
print(unpack(objects))
|
||||
end
|
||||
|
||||
local function call_with_helpers(user_func)
|
||||
setfenv(user_func,
|
||||
vim.tbl_extend('force', getfenv(), get_helpers()))
|
||||
local status, err = pcall(user_func)
|
||||
if not status then
|
||||
print('Failure running setup function: ' .. vim.inspect(err))
|
||||
else
|
||||
return status
|
||||
end
|
||||
end
|
||||
|
||||
function get_helpers()
|
||||
return {
|
||||
map = map,
|
||||
cmd = cmd,
|
||||
fn = fn,
|
||||
g = g,
|
||||
opt = opt,
|
||||
o = o,
|
||||
dump = dump,
|
||||
call_with_helpers = call_with_helpers,
|
||||
}
|
||||
end
|
||||
|
||||
return get_helpers()
|
|
@ -0,0 +1,79 @@
|
|||
local function init()
|
||||
-- command! LogPath :lua print(vim.inspect(vim.lsp.get_log_path()))
|
||||
|
||||
-------------------- Telescope -----------------------------
|
||||
map('n', '<space>ff', '<cmd>Telescope find_files<CR>')
|
||||
map('n', '<space>fg', '<cmd>Telescope live_grep<CR>')
|
||||
map('n', '<space>fb', '<cmd>Telescope buffers<CR>')
|
||||
map('n', '<space>fh', '<cmd>Telescope help_tags<CR>')
|
||||
map('n', '<space>ps', [[<cmd>lua require('telescope.builtin').grep_string({ search = vim.fn.input("Grep For >")})<CR>]])
|
||||
|
||||
-------------------- NvimTreeToggle ------------------------
|
||||
map('n', '<space>tt', '<cmd>NvimTreeToggle<CR>')
|
||||
map('n', '<space>tr', '<cmd>NvimTreeRefresh<CR>')
|
||||
map('n', '<space>tf', '<cmd>NvimTreeFocus<CR>')
|
||||
|
||||
-------------------- Github Copilot ------------------------
|
||||
map('n', '<space>gd', '<cmd>Copilot disable<CR>')
|
||||
map('n', '<space>ge', '<cmd>Copilot enable<CR>')
|
||||
map('n', '<space>gi', '<cmd>Copilot setup<CR>')
|
||||
|
||||
-------------------- BarBar --------------------------------
|
||||
-- Move to previous/next
|
||||
map('n', '<A-,>', ':BufferPrevious<CR>', opts)
|
||||
map('n', '<A-.>', ':BufferNext<CR>', opts)
|
||||
-- Re-order to previous/next
|
||||
map('n', '<A-<>', ':BufferMovePrevious<CR>', opts)
|
||||
map('n', '<A->>', ':BufferMoveNext<CR>', opts)
|
||||
-- Close buffer
|
||||
map('n', '<A-c>', ':BufferClose<CR>', opts)
|
||||
|
||||
-------------------- LSP -----------------------------------
|
||||
map('n', '<space>,', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>')
|
||||
map('n', '<space>;', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>')
|
||||
map('n', '<space>a', '<cmd>lua vim.lsp.buf.code_action()<CR>')
|
||||
map('n', '<space>d', '<cmd>lua vim.lsp.buf.definition()<CR>')
|
||||
map('n', '<space>f', '<cmd>lua vim.lsp.buf.formatting()<CR>')
|
||||
map('n', '<space>h', '<cmd>lua vim.lsp.buf.hover()<CR>')
|
||||
map('n', '<space>m', '<cmd>lua vim.lsp.buf.rename()<CR>')
|
||||
map('n', '<space>r', '<cmd>lua vim.lsp.buf.references()<CR>')
|
||||
map('n', '<space>s', '<cmd>lua vim.lsp.buf.document_symbol()<CR>')
|
||||
map('n', '<leader>T', '<cmd>lua require\'lsp_extensions\'.inlay_hints()<CR>')
|
||||
|
||||
-------------------- HlsLens -------------------------------
|
||||
map('n', 'n', "<Cmd>execute('normal! ' . v:count1 . 'n')<CR><Cmd>lua require('hlslens').start()<CR>")
|
||||
map('n', 'N', "<Cmd>execute('normal! ' . v:count1 . 'N')<CR><Cmd>lua require('hlslens').start()<CR>")
|
||||
map('n', '*', "*<Cmd>lua require('hlslens').start()<CR>")
|
||||
map('n', '#', "#<Cmd>lua require('hlslens').start()<CR>")
|
||||
map('n', 'g*', "g*<Cmd>lua require('hlslens').start()<CR>")
|
||||
map('n', 'g#', "g#<Cmd>lua require('hlslens').start()<CR>")
|
||||
|
||||
-------------------- DAP -----------------------------------
|
||||
map('n', '<A-b>', '<cmd>lua require\'dap\'.toggle_breakpoint()<CR>', opts)
|
||||
map('n', '<A-v>', '<cmd>lua require\'dap\'.set_breakpoint(vim.fn.input(\'Breakpoint condition: \'))<CR>', opts)
|
||||
map('n', '<A-n>', '<cmd>lua require\'dap\'.continue()<CR>', opts)
|
||||
map('n', '<A-o>', '<cmd>lua require\'dap\'.repl.toggle()<CR>', opts)
|
||||
|
||||
-------------------- FTerm ---------------------------------
|
||||
map('n', '<F3>', '<CMD>lua require("FTerm").toggle()<CR>')
|
||||
map('t', '<F3>', '<C-\\><C-n><CMD>lua require("FTerm").toggle()<CR>')
|
||||
|
||||
-------------------- LAZYGIT -------------------------------
|
||||
-- Install docs : https://github.com/jesseduffield/lazygit
|
||||
map('n', '<F2>', '<cmd>LazyGit<CR>')
|
||||
|
||||
-------------------- OTHER ---------------------------------
|
||||
map('i', '<Esc>', '<Esc>:w<CR>')
|
||||
map('n', '<Esc>', '<Esc>:w<CR>')
|
||||
|
||||
-------------------- COMMANDS ------------------------------
|
||||
cmd 'au TextYankPost * lua vim.highlight.on_yank {on_visual = false}' -- disabled in visual mode
|
||||
|
||||
-------------------- GITHUB COPILOT ------------------------
|
||||
map('i', '<C-j>', [[copilot#Accept("\<CR>")]], {noremap=true, silent=true, expr=true})
|
||||
cmd('let g:copilot_no_tab_map = v:true') -- Disable tab autocomplete github copilot
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
local function init()
|
||||
cmd('colorscheme moonlight')
|
||||
|
||||
opt.completeopt = {'menuone', 'noinsert', 'noselect'} -- Completion options (for deoplete)
|
||||
opt.expandtab = true -- Use spaces instead of tabs
|
||||
opt.hidden = true -- Enable background buffers
|
||||
opt.ignorecase = true -- Ignore case
|
||||
opt.joinspaces = false -- No double spaces with join
|
||||
opt.list = true -- Show some invisible characters
|
||||
opt.number = true -- Show line numbers
|
||||
opt.relativenumber = true -- Relative line numbers
|
||||
opt.scrolloff = 4 -- Lines of context
|
||||
opt.shiftround = true -- Round indent
|
||||
opt.shiftwidth = 2 -- Size of an indent
|
||||
opt.sidescrolloff = 8 -- Columns of context
|
||||
opt.smartcase = true -- Do not ignore case with capitals
|
||||
opt.autoindent = true -- Insert indents automatically
|
||||
opt.splitbelow = true -- Put new windows below current
|
||||
opt.splitright = true -- Put new windows right of current
|
||||
opt.tabstop = 2 -- Number of spaces tabs count for
|
||||
opt.termguicolors = true -- True color support
|
||||
opt.wildmode = {'list', 'longest'} -- Command-line completion mode
|
||||
opt.wrap = false -- Disable line wrap
|
||||
opt.mouse = 'a' -- Enable mouse for all previous modes
|
||||
o.clipboard = 'unnamedplus' -- Enabled clipboard shared yank
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
local function init()
|
||||
vim.o.completeopt = "menuone,noselect"
|
||||
require'compe'.setup {
|
||||
enabled = true;
|
||||
autocomplete = true;
|
||||
debug = false;
|
||||
min_length = 1;
|
||||
preselect = 'enable';
|
||||
throttle_time = 80;
|
||||
source_timeout = 200;
|
||||
incomplete_delay = 400;
|
||||
max_abbr_width = 100;
|
||||
max_kind_width = 100;
|
||||
max_menu_width = 100;
|
||||
documentation = true;
|
||||
|
||||
source = {
|
||||
path = true;
|
||||
buffer = true;
|
||||
calc = true;
|
||||
nvim_lsp = true;
|
||||
nvim_lua = true;
|
||||
vsnip = true;
|
||||
ultisnips = true;
|
||||
};
|
||||
}
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
local function init()
|
||||
call_with_helpers(require('plugins.dap.lldb').init)
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
local dap = require('dap')
|
||||
|
||||
local function init()
|
||||
dap.adapters.lldb = {
|
||||
type = 'executable',
|
||||
command = '/usr/bin/lldb-vscode',
|
||||
name = 'lldb'
|
||||
}
|
||||
dap.configurations.cpp = {
|
||||
{
|
||||
name = "Launch",
|
||||
type = "lldb",
|
||||
request = "launch",
|
||||
program = function()
|
||||
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
|
||||
end,
|
||||
cwd = '${workspaceFolder}',
|
||||
stopOnEntry = false,
|
||||
args = {},
|
||||
runInTerminal = false,
|
||||
},
|
||||
}
|
||||
dap.configurations.c = dap.configurations.cpp
|
||||
-- dap.configurations.rust = dap.configurations.cpp
|
||||
-- dap.configurations.rust[1].program = function()
|
||||
-- return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/target/debug/', 'file')
|
||||
-- end
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,150 @@
|
|||
function configure_packages()
|
||||
call_with_helpers(require('plugins.lspconfig').init)
|
||||
call_with_helpers(require('plugins.dap').init)
|
||||
call_with_helpers(require('plugins.compe').init)
|
||||
call_with_helpers(require('plugins.nvim-rust-tools').init)
|
||||
call_with_helpers(require('plugins.nvim-tree').init)
|
||||
call_with_helpers(require('plugins.nvim-treesitter').init)
|
||||
call_with_helpers(require('plugins.nvim-web-devicons').init)
|
||||
call_with_helpers(require('plugins.nvim-autopairs').init)
|
||||
call_with_helpers(require('plugins.nvim-notify').init)
|
||||
call_with_helpers(require('plugins.nvim-hlslens').init)
|
||||
call_with_helpers(require('plugins.nvim-flutter-tools').init)
|
||||
call_with_helpers(require('plugins.nvim-fterm').init)
|
||||
call_with_helpers(require('plugins.nvim-feline').init)
|
||||
call_with_helpers(require('plugins.nvim-todo-comments').init)
|
||||
call_with_helpers(require('plugins.nvim-lightspeed').init)
|
||||
call_with_helpers(require('plugins.nvim-numb').init)
|
||||
call_with_helpers(require('plugins.nvim-neoscroll').init)
|
||||
call_with_helpers(require('plugins.nvim-lspkind').init)
|
||||
call_with_helpers(require('plugins.nvim-signature').init)
|
||||
call_with_helpers(require('plugins.nvim-gutentags').init)
|
||||
call_with_helpers(require('plugins.nvim-indent-blankline').init)
|
||||
call_with_helpers(require('plugins.nvim-editorconfig').init)
|
||||
call_with_helpers(require('plugins.nvim-ctrlsf').init)
|
||||
end
|
||||
|
||||
function install_packages()
|
||||
-- Packer can manage itself as an optional plugin
|
||||
use 'wbthomason/packer.nvim'
|
||||
|
||||
-- LSP
|
||||
use 'neovim/nvim-lspconfig'
|
||||
use 'onsails/lspkind-nvim'
|
||||
use 'kabouzeid/nvim-lspinstall'
|
||||
use 'simrat39/rust-tools.nvim'
|
||||
|
||||
-- Autocomplete
|
||||
use 'hrsh7th/nvim-compe'
|
||||
use 'SirVer/ultisnips'
|
||||
use 'honza/vim-snippets'
|
||||
use 'windwp/nvim-autopairs'
|
||||
use 'AndrewRadev/tagalong.vim'
|
||||
use 'andymass/vim-matchup'
|
||||
|
||||
-- Treesitter
|
||||
use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' }
|
||||
use 'p00f/nvim-ts-rainbow'
|
||||
use 'lukas-reineke/indent-blankline.nvim'
|
||||
use 'JoosepAlviste/nvim-ts-context-commentstring'
|
||||
use 'romgrk/nvim-treesitter-context'
|
||||
|
||||
-- Syntax
|
||||
use 'moll/vim-node'
|
||||
-- use 'zinit-zsh/zplugin-vim-syntax' -- NOT WORKING
|
||||
use 'editorconfig/editorconfig-vim'
|
||||
use 'chrisbra/csv.vim'
|
||||
use 'npxbr/glow.nvim'
|
||||
use 'junegunn/vim-easy-align'
|
||||
|
||||
-- Icons
|
||||
use 'kyazdani42/nvim-web-devicons'
|
||||
use 'ryanoasis/vim-devicons'
|
||||
|
||||
-- Status Line and Bufferline
|
||||
use 'famiu/feline.nvim' -- A minimal, stylish and customizable statusline for Neovim written in Lua
|
||||
use 'romgrk/barbar.nvim' -- Tabs, as understood by any other editor.
|
||||
|
||||
-- Telescope project search
|
||||
use 'nvim-lua/popup.nvim'
|
||||
use 'nvim-lua/plenary.nvim'
|
||||
use 'nvim-telescope/telescope.nvim'
|
||||
use 'nvim-telescope/telescope-fzy-native.nvim'
|
||||
use 'nvim-telescope/telescope-project.nvim'
|
||||
use 'fhill2/telescope-ultisnips.nvim'
|
||||
|
||||
-- Explorer
|
||||
use 'kyazdani42/nvim-tree.lua'
|
||||
|
||||
-- Git
|
||||
use 'kdheepak/lazygit.nvim'
|
||||
|
||||
-- Flutter
|
||||
use 'akinsho/flutter-tools.nvim'
|
||||
|
||||
-- Move & Search & replace
|
||||
use 'windwp/nvim-spectre'
|
||||
use 'nacro90/numb.nvim'
|
||||
use 'dyng/ctrlsf.vim'
|
||||
use 'kevinhwang91/nvim-hlslens' -- nvim-hlslens helps you better glance at matched information, seamlessly jump between matched instances.
|
||||
use 'ggandor/lightspeed.nvim'
|
||||
use 'kshenoy/vim-signature'
|
||||
use 'karb94/neoscroll.nvim'
|
||||
use 'dstein64/nvim-scrollview'
|
||||
use 'chaoren/vim-wordmotion'
|
||||
|
||||
-- Tim Pope docet
|
||||
use 'tpope/vim-sensible'
|
||||
use 'tpope/vim-rails'
|
||||
use 'tpope/vim-abolish'
|
||||
use 'tpope/vim-surround'
|
||||
use 'tpope/vim-bundler'
|
||||
use 'tpope/vim-capslock'
|
||||
use 'tpope/vim-repeat'
|
||||
use 'tpope/vim-endwise' -- auto complete block with end
|
||||
use 'tpope/vim-rvm'
|
||||
use 'tpope/vim-dispatch'
|
||||
use 'tpope/vim-dadbod'
|
||||
use 'tpope/vim-jdaddy'
|
||||
use 'tpope/vim-fugitive'
|
||||
use 'tpope/vim-commentary'
|
||||
|
||||
-- Tmux
|
||||
use 'christoomey/vim-tmux-navigator'
|
||||
|
||||
-- Colorschema
|
||||
use 'dracula/vim'
|
||||
use 'whatyouhide/vim-gotham'
|
||||
use 'shaunsingh/moonlight.nvim'
|
||||
|
||||
-- Tags
|
||||
use 'ludovicchabant/vim-gutentags'
|
||||
|
||||
-- General Plugins
|
||||
use 'github/copilot.vim' -- Copilot is a vim plugin that helps you to create your own vim plugins.
|
||||
use 'rcarriga/nvim-notify' -- fancy notification
|
||||
use 'mfussenegger/nvim-dap' -- debugger
|
||||
use 'numtostr/FTerm.nvim' -- Floating terminal
|
||||
use 'folke/todo-comments.nvim'
|
||||
use 'lambdalisue/suda.vim'
|
||||
use 'mhinz/vim-startify' -- The fancy start screen for Vim.
|
||||
end
|
||||
|
||||
function init()
|
||||
local install_path = fn.stdpath('data')..'/site/pack/packer/opt/packer.nvim'
|
||||
|
||||
if fn.empty(fn.glob(install_path)) > 0 then
|
||||
fn.system({'git', 'clone', 'https://github.com/wbthomason/packer.nvim', install_path})
|
||||
cmd 'packadd packer.nvim'
|
||||
end
|
||||
|
||||
cmd 'packadd packer.nvim'
|
||||
|
||||
require('packer').startup(install_packages)
|
||||
|
||||
call_with_helpers(configure_packages)
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
local function init()
|
||||
call_with_helpers(require('plugins.lspconfig.lua').init)
|
||||
call_with_helpers(require('plugins.lspconfig.rust').init)
|
||||
call_with_helpers(require('plugins.lspconfig.typescript').init)
|
||||
call_with_helpers(require('plugins.lspconfig.ruby').init)
|
||||
call_with_helpers(require('plugins.lspconfig.php').init)
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
local function init()
|
||||
local system_name
|
||||
if vim.fn.has("mac") == 1 then
|
||||
system_name = "macOS"
|
||||
elseif vim.fn.has("unix") == 1 then
|
||||
system_name = "Linux"
|
||||
elseif vim.fn.has('win32') == 1 then
|
||||
system_name = "Windows"
|
||||
else
|
||||
print("Unsupported system for sumneko")
|
||||
end
|
||||
|
||||
local sumneko_root_path = fn.stdpath('cache')..'/lspconfig/sumneko_lua/lua-language-server'
|
||||
local sumneko_binary = sumneko_root_path.."/bin/"..system_name.."/lua-language-server"
|
||||
|
||||
require'lspconfig'.sumneko_lua.setup{
|
||||
cmd = {sumneko_binary, "-E", sumneko_root_path .. "/main.lua"};
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
|
||||
version = 'LuaJIT',
|
||||
-- Setup your lua path
|
||||
path = vim.split(package.path, ';'),
|
||||
},
|
||||
diagnostics = {
|
||||
-- Get the language server to recognize the `vim` global
|
||||
globals = {'vim'},
|
||||
},
|
||||
workspace = {
|
||||
-- Make the server aware of Neovim runtime files
|
||||
library = {
|
||||
[vim.fn.expand('$VIMRUNTIME/lua')] = true,
|
||||
[vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true,
|
||||
},
|
||||
},
|
||||
-- Do not send telemetry data containing a randomized but unique identifier
|
||||
telemetry = {
|
||||
enable = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
local function init()
|
||||
require'lspconfig'.phpactor.setup{}
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
local function init()
|
||||
require'lspconfig'.sorbet.setup{}
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
local function init()
|
||||
require'lspconfig'.rust_analyzer.setup{}
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
local function init()
|
||||
require'lspconfig'.tsserver.setup{}
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
local function init()
|
||||
require('nvim-autopairs').setup()
|
||||
require("nvim-autopairs.completion.compe").setup({
|
||||
map_cr = true, -- map <CR> on insert mode
|
||||
map_complete = true -- it will auto insert `(` after select function or method item
|
||||
})
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
local function init()
|
||||
g.ctrlsf_ackprg = 'rg'
|
||||
g.ctrls_auto_preview = 1
|
||||
g.ctrlsf_search_mode = 'async'
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
local function init()
|
||||
g.EditorConfig_exclude_patterns = { 'fugitive://.*', 'scp://.*' }
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
local function init()
|
||||
require('feline').setup()
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
local function init()
|
||||
require('flutter-tools').setup {
|
||||
decorations = {
|
||||
statusline = {
|
||||
app_version = true,
|
||||
device = true
|
||||
}
|
||||
},
|
||||
fvm = true
|
||||
}
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
local function init()
|
||||
require'FTerm'.setup {
|
||||
border = 'double',
|
||||
dimensions = {
|
||||
height = 0.8,
|
||||
width = 0.8,
|
||||
x = 0.5,
|
||||
y = 0.5
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
local function init()
|
||||
cmd('set tags+=tags,.git/tags')
|
||||
g.gutentags_enabled = 1
|
||||
g.gutentags_generate_on_missing = 1
|
||||
g.gutentags_generate_on_write = 1
|
||||
g.gutentags_resolve_symlinks = 1
|
||||
g.gutentags_ctags_tagfile = '.git/tags'
|
||||
g.gutentags_project_root = { '.git' }
|
||||
g.gutentags_ctags_extra_args = { '--fields=+l' }
|
||||
g.gutentags_add_default_project_roots = 0
|
||||
g.gutentags_ctags_executable_ruby = 'ripper-tags'
|
||||
g.gutentags_ctags_extra_args = { '--ignore-unsupported-options', '--recursive' }
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
local function init()
|
||||
require('hlslens').setup {
|
||||
calm_down = true,
|
||||
override_lens = function(render, plist, nearest, idx, r_idx)
|
||||
local sfw = vim.v.searchforward == 1
|
||||
local indicator, text, chunks
|
||||
local abs_r_idx = math.abs(r_idx)
|
||||
if abs_r_idx > 1 then
|
||||
indicator = string.format('%d%s', abs_r_idx, sfw ~= (r_idx > 1) and '' or '')
|
||||
elseif abs_r_idx == 1 then
|
||||
indicator = sfw ~= (r_idx == 1) and '' or ''
|
||||
else
|
||||
indicator = ''
|
||||
end
|
||||
|
||||
local lnum, col = unpack(plist[idx])
|
||||
if nearest then
|
||||
local cnt = #plist
|
||||
if indicator ~= '' then
|
||||
text = string.format('[%s %d/%d]', indicator, idx, cnt)
|
||||
else
|
||||
text = string.format('[%d/%d]', idx, cnt)
|
||||
end
|
||||
chunks = {{' ', 'Ignore'}, {text, 'HlSearchLensNear'}}
|
||||
else
|
||||
text = string.format('[%s %d]', indicator, idx)
|
||||
chunks = {{' ', 'Ignore'}, {text, 'HlSearchLens'}}
|
||||
end
|
||||
render.set_virt(0, lnum - 1, col - 1, chunks, nearest)
|
||||
end
|
||||
}
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
local function init()
|
||||
g.indent_blankline_show_current_context = true
|
||||
g.indent_blankline_buftype_exclude = {'terminal'}
|
||||
g.indent_blankline_filetype_exclude = {'help', 'startify', 'dashboard', 'packer', 'neogitstatus', 'NvimTree'}
|
||||
g.indent_blankline_char = '▏'
|
||||
g.indent_blankline_use_treesitter = true
|
||||
g.indent_blankline_show_trailing_blankline_indent = false
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
local function init()
|
||||
require("lightspeed").setup {}
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
local function init()
|
||||
require('lspkind').init {
|
||||
with_text = true,
|
||||
}
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
local function init()
|
||||
require('neoscroll').setup()
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
local function init()
|
||||
vim.notify = require("notify")
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
local function init()
|
||||
require('numb').setup {
|
||||
show_numbers = true, -- Enable 'number' for the window while peeking
|
||||
show_cursorline = true -- Enable 'cursorline' for the window while peeking
|
||||
}
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|
|
@ -0,0 +1,119 @@
|
|||
local opts = {
|
||||
tools = { -- rust-tools options
|
||||
-- Automatically set inlay hints (type hints)
|
||||
autoSetHints = true,
|
||||
|
||||
-- Whether to show hover actions inside the hover window
|
||||
-- This overrides the default hover handler
|
||||
hover_with_actions = true,
|
||||
|
||||
-- how to execute terminal commands
|
||||
-- options right now: termopen / quickfix
|
||||
executor = require("rust-tools/executors").termopen,
|
||||
|
||||
runnables = {
|
||||
-- whether to use telescope for selection menu or not
|
||||
use_telescope = true
|
||||
|
||||
-- rest of the opts are forwarded to telescope
|
||||
},
|
||||
|
||||
debuggables = {
|
||||
-- whether to use telescope for selection menu or not
|
||||
use_telescope = true
|
||||
|
||||
-- rest of the opts are forwarded to telescope
|
||||
},
|
||||
|
||||
-- These apply to the default RustSetInlayHints command
|
||||
inlay_hints = {
|
||||
|
||||
-- Only show inlay hints for the current line
|
||||
only_current_line = false,
|
||||
|
||||
-- Event which triggers a refersh of the inlay hints.
|
||||
-- You can make this "CursorMoved" or "CursorMoved,CursorMovedI" but
|
||||
-- not that this may cause higher CPU usage.
|
||||
-- This option is only respected when only_current_line and
|
||||
-- autoSetHints both are true.
|
||||
only_current_line_autocmd = "CursorHold",
|
||||
|
||||
-- wheter to show parameter hints with the inlay hints or not
|
||||
show_parameter_hints = true,
|
||||
|
||||
-- prefix for parameter hints
|
||||
parameter_hints_prefix = "<- ",
|
||||
|
||||
-- prefix for all the other hints (type, chaining)
|
||||
other_hints_prefix = "=> ",
|
||||
|
||||
-- whether to align to the length of the longest line in the file
|
||||
max_len_align = false,
|
||||
|
||||
-- padding from the left if max_len_align is true
|
||||
max_len_align_padding = 1,
|
||||
|
||||
-- whether to align to the extreme right or not
|
||||
right_align = false,
|
||||
|
||||
-- padding from the right if right_align is true
|
||||
right_align_padding = 7,
|
||||
|
||||
-- The color of the hints
|
||||
highlight = "Comment",
|
||||
},
|
||||
|
||||
hover_actions = {
|
||||
-- the border that is used for the hover window
|
||||
-- see vim.api.nvim_open_win()
|
||||
border = {
|
||||
{"╭", "FloatBorder"}, {"─", "FloatBorder"},
|
||||
{"╮", "FloatBorder"}, {"│", "FloatBorder"},
|
||||
{"╯", "FloatBorder"}, {"─", "FloatBorder"},
|
||||
{"╰", "FloatBorder"}, {"│", "FloatBorder"}
|
||||
},
|
||||
|
||||
-- whether the hover action window gets automatically focused
|
||||
auto_focus = false
|
||||
},
|
||||
|
||||
-- settings for showing the crate graph based on graphviz and the dot
|
||||
-- command
|
||||
crate_graph = {
|
||||
-- Backend used for displaying the graph
|
||||
-- see: https://graphviz.org/docs/outputs/
|
||||
-- default: x11
|
||||
backend = "x11",
|
||||
-- where to store the output, nil for no output stored (relative
|
||||
-- path from pwd)
|
||||
-- default: nil
|
||||
output = nil,
|
||||
-- true for all crates.io and external crates, false only the local
|
||||
-- crates
|
||||
-- default: true
|
||||
full = true,
|
||||
}
|
||||
},
|
||||
|
||||
-- all the opts to send to nvim-lspconfig
|
||||
-- these override the defaults set by rust-tools.nvim
|
||||
-- see https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#rust_analyzer
|
||||
server = {}, -- rust-analyer options
|
||||
|
||||
-- debugging stuff
|
||||
dap = {
|
||||
adapter = {
|
||||
type = 'executable',
|
||||
command = 'lldb-vscode',
|
||||
name = "rt_lldb"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
local function init()
|
||||
require('rust-tools').setup(opts)
|
||||
end
|
||||
|
||||
return {
|
||||
init = init
|
||||
}
|