2 Commits

Author SHA1 Message Date
e332226281 Feat(sway): path and autotiling-rs 2024-02-12 08:09:30 +01:00
0ef904f5c1 Feat(sway): replace theme 2024-02-09 08:39:16 +01:00
29 changed files with 457 additions and 1073 deletions

View File

@@ -1,119 +0,0 @@
[colors]
draw_bold_text_with_bright_colors = true
[colors.bright]
black = "#928374"
blue = "#83a598"
cyan = "#8ec07c"
green = "#b8bb26"
magenta = "#d3869b"
red = "#fb4934"
white = "#ebdbb2"
yellow = "#fabd2f"
[colors.normal]
black = "#282828"
blue = "#458588"
cyan = "#689d6a"
green = "#98971a"
magenta = "#b16286"
red = "#cc241d"
white = "#a89984"
yellow = "#d79921"
[colors.primary]
background = "#32302f"
foreground = "#ebdbb2"
[cursor]
style = "Block"
unfocused_hollow = true
[font]
size = 12.0
[font.bold]
family = "UbuntuMono Nerd Font"
style = "Bold"
[font.bold_italic]
family = "UbuntuMono Nerd Font"
style = "Bold Italic"
[font.glyph_offset]
x = 0
y = 0
[font.italic]
family = "UbuntuMono Nerd Font"
style = "Italic"
[font.normal]
family = "UbuntuMono Nerd Font"
style = "Regular"
[font.offset]
x = 0
y = 0
[[keyboard.bindings]]
action = "Paste"
key = "V"
mods = "Control|Shift"
[[keyboard.bindings]]
action = "Copy"
key = "C"
mods = "Control|Shift"
[[keyboard.bindings]]
action = "ResetFontSize"
key = "Key0"
mods = "Control"
[[keyboard.bindings]]
action = "IncreaseFontSize"
key = "Equals"
mods = "Control"
[[keyboard.bindings]]
action = "IncreaseFontSize"
key = "NumpadAdd"
mods = "Control"
[[keyboard.bindings]]
action = "DecreaseFontSize"
key = "NumpadSubtract"
mods = "Control"
[[keyboard.bindings]]
action = "DecreaseFontSize"
key = "Minus"
mods = "Control"
[[mouse.bindings]]
action = "PasteSelection"
mouse = "Middle"
[scrolling]
history = 10000
multiplier = 10
[selection]
save_to_clipboard = true
semantic_escape_chars = ",│`|:\"' ()[]{}<>"
[window]
decorations = "none"
[window.dimensions]
columns = 100
lines = 20
[window.padding]
x = 2
y = 2
[general]
live_config_reload = true

View File

@@ -196,13 +196,13 @@ auto_update "yes"
# Input ####################################################################### # Input #######################################################################
# #
# input { input {
# plugin "curl" plugin "curl"
# proxy "proxy.isp.com:8080" # proxy "proxy.isp.com:8080"
# proxy_user "user" # proxy_user "user"
# proxy_password "password" # proxy_password "password"
# } }
#
# #
############################################################################### ###############################################################################
@@ -215,10 +215,6 @@ auto_update "yes"
# #
# An example of an ALSA output: # An example of an ALSA output:
# #
audio_output {
type "pipewire"
name "PipeWire Sound Server"
}
#audio_output { #audio_output {
# type "alsa" # type "alsa"
# name "My ALSA Device" # name "My ALSA Device"

View File

@@ -1,8 +1,7 @@
auto-reload yes auto-reload yes
reload-time 30 reload-time 30
# browser "chromium --incognito" browser "chromium --incognito"
browser "firefox --private-window" macro y set browser "tmux new-window mpv %u"; open-in-browser ; set browser "chromium --incognito"
macro y set browser "tmux new-window mpv %u"; open-in-browser ; set browser "firefox --private-window"
macro Y set browser "mpv %u"; open-in-browser ; set browser "chromium --incognito" macro Y set browser "mpv %u"; open-in-browser ; set browser "chromium --incognito"
unbind-key h unbind-key h

View File

@@ -1,4 +1,6 @@
https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "Tech"
https://www.youtube.com/feeds/videos.xml?channel_id=UCXuqSBlHAE6Xw-yeJA0Tunw "Tech" https://www.youtube.com/feeds/videos.xml?channel_id=UCXuqSBlHAE6Xw-yeJA0Tunw "Tech"
https://www.youtube.com/feeds/videos.xml?channel_id=UCeeFfhMcJa1kjtfZAGskOCA "Tech"
https://www.youtube.com/feeds/videos.xml?channel_id=UCsRIv1fsbnQRIPKmUQbRzZg "Tech" https://www.youtube.com/feeds/videos.xml?channel_id=UCsRIv1fsbnQRIPKmUQbRzZg "Tech"
https://www.youtube.com/feeds/videos.xml?channel_id=UCUQo7nzH1sXVpzL92VesANw "Tech" https://www.youtube.com/feeds/videos.xml?channel_id=UCUQo7nzH1sXVpzL92VesANw "Tech"
https://www.youtube.com/feeds/videos.xml?channel_id=UCV0qA-eDDICsRR9rPcnG7tw "Tech" https://www.youtube.com/feeds/videos.xml?channel_id=UCV0qA-eDDICsRR9rPcnG7tw "Tech"
@@ -63,9 +65,6 @@ https://www.youtube.com/feeds/videos.xml?channel_id=UC8ENHE5xdFSwx71u3fDH5Xw "Vi
https://www.youtube.com/feeds/videos.xml?channel_id=UCXPHFM88IlFn68OmLwtPmZA "Vim" "Greg Hurrel" https://www.youtube.com/feeds/videos.xml?channel_id=UCXPHFM88IlFn68OmLwtPmZA "Vim" "Greg Hurrel"
https://www.youtube.com/feeds/videos.xml?channel_id=UCs_AZuYXi6NA9tkdbhjItHQ "AdminSys" "Xavki" https://www.youtube.com/feeds/videos.xml?channel_id=UCs_AZuYXi6NA9tkdbhjItHQ "AdminSys" "Xavki"
https://www.youtube.com/feeds/videos.xml?channel_id=UCOk-gHyjcWZNj3Br4oxwh0A "Homelab" "Techno Tim" https://www.youtube.com/feeds/videos.xml?channel_id=UCOk-gHyjcWZNj3Br4oxwh0A "Homelab" "Techno Tim"
https://www.youtube.com/feeds/videos.xml?channel_id=UC9x0AN7BWHpCDHSm9NiJFJQ "Homelab" "NetworkChuck"
https://www.youtube.com/feeds/videos.xml?channel_id=UCZNhwA1B5YqiY1nLzmM0ZRg "Homelab" "Christian Lempa"
https://www.youtube.com/feeds/videos.xml?channel_id=UCWQaM7SpSECp9FELz-cHzuQ "Cording" "Dream of Code" https://www.youtube.com/feeds/videos.xml?channel_id=UCWQaM7SpSECp9FELz-cHzuQ "Cording" "Dream of Code"
https://www.youtube.com/feeds/videos.xml?channel_id=UCYeiozh-4QwuC1sjgCmB92w "Cording" "DevOps Toolbox" https://www.youtube.com/feeds/videos.xml?channel_id=UCYeiozh-4QwuC1sjgCmB92w "Cording" "DevOps Toolbox"
https://www.youtube.com/feeds/videos.xml?channel_id=UCLOAPb7ATQUs_nDs9ViLcMw "Programmation" "Benjamin Code" https://www.youtube.com/feeds/videos.xml?channel_id=UCLOAPb7ATQUs_nDs9ViLcMw "Programmation" "Benjamin Code"
https://www.youtube.com/feeds/videos.xml?channel_id=UCiZxJB0xWfPBE2omVZeWPpQ "Programmation" "Mehdio DataTV"

View File

@@ -17,8 +17,3 @@ vim.keymap.set("n", "N", "Nzzzv")
-- Move block on visual mode -- Move block on visual mode
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv") vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv") vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
-- Diagnostic (erreurs LSP)
vim.keymap.set('n', 'gl', vim.diagnostic.open_float, { desc = 'Show diagnostic' })
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Previous diagnostic' })
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Next diagnostic' })

View File

@@ -1,86 +1,69 @@
return { return {
"saghen/blink.cmp", 'hrsh7th/nvim-cmp',
-- optional: provides snippets for the snippet source dependencies = {
dependencies = { 'neovim/nvim-lspconfig',
"rafamadriz/friendly-snippets", 'hrsh7th/cmp-nvim-lsp',
{ 'hrsh7th/cmp-buffer',
"L3MON4D3/LuaSnip", 'hrsh7th/cmp-path',
build = "make install_jsregexp", 'hrsh7th/cmp-cmdline',
config = function() 'hrsh7th/cmp-vsnip',
require("luasnip").setup({ 'hrsh7th/vim-vsnip',
store_selection_keys = "<Tab>", },
}) config = function ()
require("luasnip.loaders.from_vscode").lazy_load() local cmp = require'cmp'
require("luasnip.loaders.from_lua").lazy_load({ cmp.setup({
paths = { "~/.config/nvim/snippets" }, snippet = {
}) expand = function(args)
end, vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
}, end,
}, },
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'vsnip' }, -- For vsnip users.
{ name = 'path' },
{
name = 'buffer',
option = {
keyword_length = 3,
get_bufnrs = function()
return vim.api.nvim_list_bufs()
end
}
},
}, {
{ name = 'buffer' },
})
})
-- use a release tag to download pre-built binaries -- Set configuration for specific filetype.
version = "1.*", cmp.setup.filetype('gitcommit', {
-- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust sources = cmp.config.sources({
-- build = 'cargo build --release', { name = 'git' }, -- You can specify the `git` source if [you were installed it](https://github.com/petertriho/cmp-git).
-- If you use nix, you can build from source using latest nightly rust with: }, {
-- build = 'nix run .#build-plugin', { name = 'buffer' },
})
})
---@module 'blink.cmp' -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
---@type blink.cmp.Config cmp.setup.cmdline({ '/', '?' }, {
opts = { mapping = cmp.mapping.preset.cmdline(),
-- 'default' (recommended) for mappings similar to built-in completions (C-y to accept) sources = {
-- 'super-tab' for mappings similar to vscode (tab to accept) { name = 'buffer' }
-- 'enter' for enter to accept }
-- 'none' for no mappings })
--
-- All presets have the following mappings:
-- C-space: Open menu or open docs if already open
-- C-n/C-p or Up/Down: Select next/previous item
-- C-e: Hide menu
-- C-k: Toggle signature help (if signature.enabled = true)
--
-- See :h blink-cmp-config-keymap for defining your own keymap
keymap = { preset = "default" },
appearance = { -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font' cmp.setup.cmdline(':', {
-- Adjusts spacing to ensure icons are aligned mapping = cmp.mapping.preset.cmdline(),
nerd_font_variant = "mono", sources = cmp.config.sources({
}, { name = 'path' }
}, {
-- (Default) Only show the documentation popup when manually triggered { name = 'cmdline' }
completion = { })
documentation = { })
auto_show = true, end
auto_show_delay_ms = 200,
},
ghost_text = {
enabled = true,
},
},
-- Default list of enabled providers defined so that you can extend it
-- elsewhere in your config, without redefining it, due to `opts_extend`
sources = {
default = { "lsp", "path", "snippets", "buffer" },
providers = {
buffer = {
min_keyword_length = 3,
score_offset = -10,
},
},
},
snippets = {
preset = "luasnip",
},
-- (Default) Rust fuzzy matcher for typo resistance and significantly better performance
-- You may use a lua implementation instead by using `implementation = "lua"` or fallback to the lua implementation,
-- when the Rust fuzzy matcher is not available, by using `implementation = "prefer_rust"`
--
-- See the fuzzy documentation for more information
fuzzy = { implementation = "prefer_rust_with_warning" },
},
opts_extend = { "sources.default" },
} }

View File

@@ -18,8 +18,7 @@ return {
markdown = { "prettier" }, markdown = { "prettier" },
graphql = { "prettier" }, graphql = { "prettier" },
lua = { "stylua" }, lua = { "stylua" },
-- python = { "isort", "black" }, python = { "isort", "black" },
python = { "ruff_fix", "ruff_format" },
}, },
format_on_save = { format_on_save = {
lsp_fallback = true, lsp_fallback = true,
@@ -30,7 +29,7 @@ return {
vim.keymap.set({ "n", "v" }, "<leader>mp", function() vim.keymap.set({ "n", "v" }, "<leader>mp", function()
conform.format({ conform.format({
lsp_fallback = true, lsp_fallback = true,
async = true, async = false,
timeout_ms = 500, timeout_ms = 500,
}) })
end, { desc = "Format file or range (in visual mode)" }) end, { desc = "Format file or range (in visual mode)" })

View File

@@ -1,153 +0,0 @@
-- plugins/h-- plugins/harpoon.lua
return {
"ThePrimeagen/harpoon",
branch = "harpoon2",
dependencies = { "nvim-lua/plenary.nvim" },
config = function()
local harpoon = require("harpoon")
-- Setup Harpoon pour sessions temporaires (pas de persistence)
harpoon:setup({
settings = {
save_on_toggle = false, -- Pas de sauvegarde automatique
sync_on_ui_close = false, -- Pas de sync à la fermeture
save_on_change = true, -- Sauvegarde les changements dans la session
excluded_filetypes = { "harpoon", "alpha", "dashboard", "gitcommit", "fugitive" },
},
})
-- === Fonction helper pour arrêter VimTeX ===
local function stop_all_vimtex()
-- Récupérer tous les buffers LaTeX ouverts
local latex_buffers = {}
for _, buf in ipairs(vim.api.nvim_list_bufs()) do
if vim.api.nvim_buf_is_loaded(buf) then
local filetype = vim.api.nvim_buf_get_option(buf, "filetype")
if filetype == "tex" or filetype == "latex" then
table.insert(latex_buffers, buf)
end
end
end
-- Arrêter VimTeX pour chaque buffer LaTeX
for _, buf in ipairs(latex_buffers) do
-- Switcher temporairement vers ce buffer pour exécuter VimtexStop
local current_buf = vim.api.nvim_get_current_buf()
vim.api.nvim_set_current_buf(buf)
if vim.fn.exists(":VimtexStop") == 2 then
pcall(vim.cmd, "VimtexStop") -- pcall pour éviter les erreurs
end
-- Revenir au buffer original
if vim.api.nvim_buf_is_valid(current_buf) then
vim.api.nvim_set_current_buf(current_buf)
end
end
-- Alternative plus robuste: tuer directement les processus latexmk
local handle = io.popen("pgrep -f latexmk")
if handle then
local result = handle:read("*a")
handle:close()
if result and result ~= "" then
os.execute("pkill -f latexmk")
print("Killed background latexmk processes")
end
end
end
-- Keymaps AZERTY-friendly groupés sous <leader>h
local keymap = vim.keymap.set
-- === Gestion de session ===
keymap("n", "<leader>ha", function()
harpoon:list():append()
print("Added: " .. vim.fn.expand("%:t"))
end, { desc = "Harpoon: Add file to session" })
keymap("n", "<leader>hm", function()
harpoon.ui:toggle_quick_menu(harpoon:list())
end, { desc = "Harpoon: Toggle menu" })
keymap("n", "<leader>hc", function()
-- Confirmation simple
local choice = vim.fn.confirm("Clear session and stop VimTeX?", "&Yes\n&No", 2)
-- Si No, on fait rien
if choice ~= 1 then
return
end
-- Arrêter toutes les compilations VimTeX
stop_all_vimtex()
-- Clear Harpoon
harpoon:list():clear()
-- Fermer tous les buffers
vim.cmd("silent! %bdelete")
print("Session cleared, VimTeX stopped, buffers closed!")
end, { desc = "Harpoon: Clear session & stop VimTeX" })
-- === Navigation directe (rangée de base AZERTY) ===
local nav_keys = {
{ key = "q", pos = 1 },
{ key = "s", pos = 2 },
{ key = "d", pos = 3 },
{ key = "f", pos = 4 },
{ key = "g", pos = 5 },
{ key = "h", pos = 6 },
}
for _, mapping in ipairs(nav_keys) do
keymap("n", "<leader>h" .. mapping.key, function()
harpoon:list():select(mapping.pos)
end, { desc = "Harpoon: Go to file " .. mapping.pos })
end
-- === Navigation cyclique ===
keymap("n", "<leader>hn", function()
harpoon:list():next()
end, { desc = "Harpoon: Next file" })
keymap("n", "<leader>hp", function()
harpoon:list():prev()
end, { desc = "Harpoon: Previous file" })
-- === Commandes utiles ===
vim.api.nvim_create_user_command("HarpoonClear", function()
harpoon:list():clear()
print("Harpoon session cleared!")
end, { desc = "Clear current Harpoon session" })
vim.api.nvim_create_user_command("HarpoonList", function()
local list = harpoon:list()
if #list.items == 0 then
print("No files in Harpoon session")
return
end
print("Current Harpoon session:")
for i, item in ipairs(list.items) do
print(string.format(" %d. %s", i, item.value))
end
end, { desc = "List files in current Harpoon session" })
end,
-- Chargement paresseux: seulement quand on utilise les keymaps
keys = {
{ "<leader>ha", desc = "Harpoon: Add file" },
{ "<leader>hm", desc = "Harpoon: Menu" },
{ "<leader>hc", desc = "Harpoon: Clear & stop VimTeX" },
{ "<leader>hq", desc = "Harpoon: File 1" },
{ "<leader>hs", desc = "Harpoon: File 2" },
{ "<leader>hd", desc = "Harpoon: File 3" },
{ "<leader>hf", desc = "Harpoon: File 4" },
{ "<leader>hg", desc = "Harpoon: File 5" },
{ "<leader>hh", desc = "Harpoon: File 6" },
{ "<leader>hn", desc = "Harpoon: Next" },
{ "<leader>hp", desc = "Harpoon: Previous" },
},
}

View File

@@ -0,0 +1,10 @@
return {
'lukas-reineke/indent-blankline.nvim',
main = "ibl",
config = function ()
vim.opt.list = true
vim.opt.listchars:append("eol:↴")
require("ibl").setup {
}
end
}

View File

@@ -12,7 +12,7 @@ return {
typescript = { "eslint_d" }, typescript = { "eslint_d" },
javascriptreact = { "eslint_d" }, javascriptreact = { "eslint_d" },
typescriptreact = { "eslint_d" }, typescriptreact = { "eslint_d" },
python = { "ruff" }, python = { "flake8" },
} }
local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true }) local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true })

View File

@@ -10,15 +10,9 @@ return {
config = function() config = function()
local lsp_zero = require("lsp-zero") local lsp_zero = require("lsp-zero")
lsp_zero.on_attach(function(client, bufnr) lsp_zero.on_attach(function(client, bufnr)
local opts = { buffer = bufnr, silent = true } -- see :help lsp-zero-keybindings
-- to learn the available actions
vim.keymap.set("n", "gd", vim.lsp.buf.definition, vim.tbl_extend("force", opts, { desc = "Go to definition" })) lsp_zero.default_keymaps({ buffer = bufnr })
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, vim.tbl_extend("force", opts, { desc = "Go to declaration" }))
vim.keymap.set("n", "gi", vim.lsp.buf.implementation, vim.tbl_extend("force", opts, { desc = "Go to implementation" }))
vim.keymap.set("n", "gr", vim.lsp.buf.references, vim.tbl_extend("force", opts, { desc = "Show references" }))
vim.keymap.set("n", "K", vim.lsp.buf.hover, vim.tbl_extend("force", opts, { desc = "Hover documentation" }))
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, vim.tbl_extend("force", opts, { desc = "Rename symbol" }))
vim.keymap.set({ "n", "v" }, "<leader>ca", vim.lsp.buf.code_action, vim.tbl_extend("force", opts, { desc = "Code action" }))
end) end)
require("mason").setup({}) require("mason").setup({})
@@ -34,10 +28,9 @@ return {
ensure_installed = { ensure_installed = {
"prettier", -- prettier formatter "prettier", -- prettier formatter
"stylua", -- lua formatter "stylua", -- lua formatter
-- "isort", -- python formatter "isort", -- python formatter
-- "black", -- python formatter "black", -- python formatter
-- "flake8", -- python linter "flake8", -- python linter
"ruff",
"eslint_d", -- js linter "eslint_d", -- js linter
}, },
}) })

View File

@@ -1,235 +1,222 @@
return { return {
"nvim-lualine/lualine.nvim", "nvim-lualine/lualine.nvim",
dependencies = { dependencies = {
"folke/noice.nvim", "folke/noice.nvim",
"nvim-tree/nvim-web-devicons", 'nvim-tree/nvim-web-devicons',
}, },
config = function() config = function ()
local colors = { local colors = {
bg = "#202328", bg = '#202328',
fg = "#bbc2cf", fg = '#bbc2cf',
yellow = "#ECBE7B", yellow = '#ECBE7B',
cyan = "#008080", cyan = '#008080',
darkblue = "#081633", darkblue = '#081633',
green = "#98be65", green = '#98be65',
orange = "#FF8800", orange = '#FF8800',
violet = "#a9a1e1", violet = '#a9a1e1',
magenta = "#c678dd", magenta = '#c678dd',
blue = "#51afef", blue = '#51afef',
red = "#ec5f67", red = '#ec5f67'
} }
local conditions = { local conditions = {
buffer_not_empty = function() buffer_not_empty = function() return vim.fn.empty(vim.fn.expand('%:t')) ~= 1 end,
return vim.fn.empty(vim.fn.expand("%:t")) ~= 1 hide_in_width = function() return vim.fn.winwidth(0) > 80 end,
end, check_git_workspace = function()
hide_in_width = function() local filepath = vim.fn.expand('%:p:h')
return vim.fn.winwidth(0) > 80 local gitdir = vim.fn.finddir('.git', filepath .. ';')
end, return gitdir and #gitdir > 0 and #gitdir < #filepath
check_git_workspace = function() end
local filepath = vim.fn.expand("%:p:h") }
local gitdir = vim.fn.finddir(".git", filepath .. ";")
return gitdir and #gitdir > 0 and #gitdir < #filepath
end,
}
-- Config -- Config
local config = { local config = {
options = { options = {
-- Disable sections and component separators -- Disable sections and component separators
component_separators = "", component_separators = "",
section_separators = "", section_separators = "",
-- theme = 'gruvbox', -- theme = 'gruvbox',
theme = { theme = {
-- We are going to use lualine_c an lualine_x as left and -- We are going to use lualine_c an lualine_x as left and
-- right section. both are highlighted by c theme . so we -- right section. both are highlighted by c theme . so we
-- are just setting default looks o statusline -- are just setting default looks o statusline
normal = { c = { fg = colors.fg, bg = colors.bg } }, normal = {c = {fg = colors.fg, bg = colors.bg}},
inactive = { c = { fg = colors.fg, bg = colors.bg } }, inactive = {c = {fg = colors.fg, bg = colors.bg}}
}, }
}, },
sections = { sections = {
-- these are to remove the defaults -- these are to remove the defaults
lualine_a = {}, lualine_a = {},
lualine_b = {}, lualine_b = {},
lualine_y = {}, lualine_y = {},
lualine_z = {}, lualine_z = {},
-- these will be filled later -- these will be filled later
lualine_c = {}, lualine_c = {},
lualine_x = { lualine_x = {
{ {
require("noice").api.statusline.mode.get, require("noice").api.statusline.mode.get,
cond = require("noice").api.statusline.mode.has, cond = require("noice").api.statusline.mode.has,
color = { fg = "#ff9e64" }, color = { fg = "#ff9e64" },
}, }
}, }
}, },
inactive_sections = { inactive_sections = {
-- these are to remove the defaults -- these are to remove the defaults
lualine_a = {}, lualine_a = {},
lualine_v = {}, lualine_v = {},
lualine_y = {}, lualine_y = {},
lualine_z = {}, lualine_z = {},
lualine_c = {}, lualine_c = {},
lualine_x = {}, lualine_x = {}
}, }
} }
-- inserts a component in lualine_c at left section -- inserts a component in lualine_c at left section
local function ins_left(component) local function ins_left(component)
table.insert(config.sections.lualine_c, component) table.insert(config.sections.lualine_c, component)
end end
-- inserts a component in lualine_x ot right section -- inserts a component in lualine_x ot right section
local function ins_right(component) local function ins_right(component)
table.insert(config.sections.lualine_x, component) table.insert(config.sections.lualine_x, component)
end end
local mode_color = { local mode_color = {
n = colors.red, n = colors.red,
i = colors.green, i = colors.green,
v = colors.blue, v = colors.blue,
[""] = colors.blue, [''] = colors.blue,
v = colors.blue, v = colors.blue,
c = colors.magenta, c = colors.magenta,
no = colors.red, no = colors.red,
s = colors.orange, s = colors.orange,
s = colors.orange, s = colors.orange,
[""] = colors.orange, [''] = colors.orange,
ic = colors.yellow, ic = colors.yellow,
r = colors.violet, r = colors.violet,
rv = colors.violet, rv = colors.violet,
cv = colors.red, cv = colors.red,
ce = colors.red, ce = colors.red,
r = colors.cyan, r = colors.cyan,
rm = colors.cyan, rm = colors.cyan,
["r?"] = colors.cyan, ['r?'] = colors.cyan,
["!"] = colors.red, ['!'] = colors.red,
t = colors.red, t = colors.red
} }
ins_left({ ins_left {
-- mode component -- mode component
function() function()
-- auto change color according to neovims mode -- auto change color according to neovims mode
vim.api.nvim_command("hi! lualinemode guifg=" .. mode_color[vim.fn.mode()] .. " guibg=" .. colors.bg) vim.api.nvim_command(
return "" 'hi! lualinemode guifg=' .. mode_color[vim.fn.mode()] .. " guibg=" .. colors.bg)
end, return ''
color = "lualinemode", end,
left_padding = 0, color = "lualinemode",
}) left_padding = 0
}
ins_left({ ins_left {
"mode", "mode",
color = { fg = colors.green, gui = "bold" }, color = {fg = colors.green, gui = 'bold'}
}) }
ins_left({ ins_left {
-- filesize component -- filesize component
function() function()
local function format_file_size(file) local function format_file_size(file)
local size = vim.fn.getfsize(file) local size = vim.fn.getfsize(file)
if size <= 0 then if size <= 0 then return '' end
return "" local sufixes = {'b', 'k', 'm', 'g'}
end local i = 1
local sufixes = { "b", "k", "m", "g" } while size > 1024 do
local i = 1 size = size / 1024
while size > 1024 do i = i + 1
size = size / 1024 end
i = i + 1 return string.format('%.1f%s', size, sufixes[i])
end end
return string.format("%.1f%s", size, sufixes[i]) local file = vim.fn.expand('%:p')
end if string.len(file) == 0 then return '' end
local file = vim.fn.expand("%:p") return format_file_size(file)
if string.len(file) == 0 then end,
return "" condition = conditions.buffer_not_empty
end }
return format_file_size(file) ins_left {
end, -- Lsp server name .
condition = conditions.buffer_not_empty, function()
}) local msg = 'No Active Lsp'
ins_left({ local buf_ft = vim.api.nvim_buf_get_option(0, 'filetype')
-- Lsp server name . local clients = vim.lsp.get_active_clients()
function() if next(clients) == nil then return msg end
local msg = "No Active Lsp" for _, client in ipairs(clients) do
local buf_ft = vim.api.nvim_buf_get_option(0, "filetype") local filetypes = client.config.filetypes
local clients = vim.lsp.get_clients() if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
if next(clients) == nil then return client.name
return msg end
end end
for _, client in ipairs(clients) do return msg
local filetypes = client.config.filetypes end,
if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then icon = ' LSP:',
return client.name color = {fg = '#ffffff', gui = 'bold'}
end }
end
return msg
end,
icon = " LSP:",
color = { fg = "#ffffff", gui = "bold" },
})
ins_left({ ins_left {
"diagnostics", 'diagnostics',
sources = { "nvim_diagnostic" }, sources = {'nvim_diagnostic'},
symbols = { error = "", warn = "", info = "" }, symbols = {error = '', warn = '', info = ''},
color_error = colors.red, color_error = colors.red,
color_warn = colors.yellow, color_warn = colors.yellow,
color_info = colors.cyan, color_info = colors.cyan
}) }
-- Insert mid section. You can make any number of sections in neovim :) -- Insert mid section. You can make any number of sections in neovim :)
-- for lualine it's any number greater then 2 -- for lualine it's any number greater then 2
ins_left({ ins_left {function() return '%=' end}
function()
return "%="
end,
})
ins_left({ ins_left {
"filename", 'filename',
file_status = true, file_status = true,
path = 1, path = 1,
condition = conditions.buffer_not_empty, condition = conditions.buffer_not_empty,
color = { fg = colors.magenta, gui = "bold" }, color = {fg = colors.magenta, gui = 'bold'}
}) }
-- Add components to right sections -- Add components to right sections
ins_right({ ins_right {
"o:encoding", -- option component same as &encoding in viml 'o:encoding', -- option component same as &encoding in viml
upper = true, -- I'm not sure why it's upper case either ;) upper = true, -- I'm not sure why it's upper case either ;)
condition = conditions.hide_in_width, condition = conditions.hide_in_width,
color = { fg = colors.green, gui = "bold" }, color = {fg = colors.green, gui = 'bold'}
}) }
ins_right({ ins_right {
"fileformat", 'fileformat',
upper = true, upper = true,
icons_enabled = false, -- I think icons are cool but Eviline doesn't have them. sigh icons_enabled = false, -- I think icons are cool but Eviline doesn't have them. sigh
color = { fg = colors.green, gui = "bold" }, color = {fg = colors.green, gui = 'bold'}
}) }
ins_right({ ins_right {
"branch", 'branch',
icon = "", icon = '',
condition = conditions.check_git_workspace, condition = conditions.check_git_workspace,
color = { fg = colors.violet, gui = "bold" }, color = {fg = colors.violet, gui = 'bold'}
}) }
ins_right({ ins_right {
"diff", 'diff',
-- Is it me or the symbol for modified us really weird -- Is it me or the symbol for modified us really weird
symbols = { added = "", modified = "", removed = "" }, symbols = {added = '', modified = '', removed = ''},
color_added = colors.green, color_added = colors.green,
color_modified = colors.orange, color_modified = colors.orange,
color_removed = colors.red, color_removed = colors.red,
condition = conditions.hide_in_width, condition = conditions.hide_in_width
}) }
ins_right({ "location" }) ins_right {'location'}
ins_right({ "progress", color = { fg = colors.fg, gui = "bold" } }) ins_right {'progress', color = {fg = colors.fg, gui = 'bold'}}
require("lualine").setup(config) require('lualine').setup(config)
end, end
} }

View File

@@ -1,29 +1,15 @@
return { return {
"folke/noice.nvim", "folke/noice.nvim",
event = "VeryLazy", event = "VeryLazy",
opts = {}, opts = {
dependencies = { -- add any options here
"MunifTanjim/nui.nvim", },
-- "rcarriga/nvim-notify", dependencies = {
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
"MunifTanjim/nui.nvim",
-- OPTIONAL:
-- `nvim-notify` is only needed, if you want to use the notification view.
-- If not available, we use `mini` as the fallback
"rcarriga/nvim-notify",
}, },
config = function()
require("noice").setup({
lsp = {
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
override = {
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
["vim.lsp.util.stylize_markdown"] = true,
["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp
},
},
-- you can enable a preset for easier configuration
presets = {
bottom_search = true, -- use a classic bottom cmdline for search
command_palette = true, -- position the cmdline and popupmenu together
long_message_to_split = true, -- long messages will be sent to a split
inc_rename = false, -- enables an input dialog for inc-rename.nvim
lsp_doc_border = false, -- add a border to hover docs and signature help
},
})
end,
} }

View File

@@ -1,71 +0,0 @@
return {
"folke/snacks.nvim",
priority = 1000,
lazy = false,
---@type snacks.Config
opts = {
indent = {
enabled = true,
char = "|",
},
input = {
enabled = true,
},
notifier = {
enabled = true,
},
git = {
enabled = true,
},
bigfile = { enabled = true },
dashboard = { enabled = true },
quickfile = { enabled = true },
scroll = { enabled = true },
statuscolumn = { enabled = true },
words = { enabled = false },
},
keys = {
{
"<leader>ns",
function()
Snacks.notifier.show_history()
end,
desc = "Notification History",
},
{
"<leader>nh",
function()
Snacks.notifier.hide()
end,
desc = "Dismiss All Notifications",
},
{
"<leader>gb",
function()
Snacks.git.blame_line()
end,
desc = "Git Blame Line",
},
{
"<leader>gf",
function()
Snacks.lazygit.log_file()
end,
desc = "Lazygit Current File History",
},
{
"<leader>gg",
function()
Snacks.lazygit()
end,
desc = "Lazygit",
},
{
"<leader>gl",
function()
Snacks.lazygit.log()
end,
desc = "Lazygit Log (cwd)",
},
},
}

View File

@@ -1,73 +1,27 @@
return { return {
"nvim-telescope/telescope.nvim", 'nvim-telescope/telescope.nvim', branch = '0.1.x',
branch = "0.1.x", dependencies = { 'nvim-lua/plenary.nvim' },
dependencies = { opts = {
"nvim-lua/plenary.nvim", defaults = {
{ file_ignore_patterns = { "**/*.pdf" },
"nvim-telescope/telescope-fzf-native.nvim", layout_strategy = "horizontal",
build = "make", layout_config = { prompt_position = "top" },
}, sorting_strategy = "ascending",
}, winblend = 0,
opts = { },
defaults = { },
file_ignore_patterns = { "**/*.pdf" }, keys = {
layout_strategy = "horizontal", {"<leader>ff", "<cmd>Telescope find_files<cr>", desc = "Find files"},
layout_config = { {"<leader>fe", "<cmd>Telescope git_files<cr>", desc = "Find file respecting .gitignore"},
horizontal = { {"<leader>fg", "<cmd>Telescope live_grep<cr>", desc = "Grep file in file"},
prompt_position = "top", {"<leader>fb", "<cmd>Telescope buffers<cr>", desc = "Search through buffers"},
preview_width = 0.55, {"<leader>ft", "<cmd>Telescope tags<cr>", desc = "Search through tags"},
}, {"<leader>fm", "<cmd>Telescope marks<cr>", desc = "Search through marks"},
width = 0.87, {"<leader>fs", "<cmd>Telescope search_history<cr>", desc = "Search through search"},
height = 0.80, },
preview_cutoff = 120, config = function()
}, require('telescope').setup(
sorting_strategy = "ascending",
borderchars = { "", "", "", "", "", "", "", "" },
prompt_prefix = " 🔍 ",
selection_caret = "",
entry_prefix = " ",
winblend = 0,
results_title = "",
prompt_title = "",
preview_title = "",
mappings = {
i = {
["<C-d>"] = require("telescope.actions").delete_buffer,
},
n = {
["<C-d>"] = require("telescope.actions").delete_buffer,
},
},
},
},
config = function(_, opts)
local telescope = require("telescope")
telescope.setup(opts)
telescope.load_extension("fzf")
local bg = vim.api.nvim_get_hl(0, { name = "CursorColumn" }).bg )
if type(bg) == "number" then end
bg = string.format("#%06x", bg)
end
vim.api.nvim_set_hl(0, "TelescopeNormal", { bg = bg })
vim.api.nvim_set_hl(0, "TelescopePromptNormal", { bg = bg })
vim.api.nvim_set_hl(0, "TelescopeResultsNormal", { bg = bg })
vim.api.nvim_set_hl(0, "TelescopePreviewNormal", { bg = bg })
vim.api.nvim_set_hl(0, "TelescopePromptBorder", { fg = bg, bg = bg })
vim.api.nvim_set_hl(0, "TelescopeResultsBorder", { fg = bg, bg = bg })
vim.api.nvim_set_hl(0, "TelescopePreviewBorder", { fg = bg, bg = bg })
vim.api.nvim_set_hl(0, "TelescopePromptTitle", { fg = bg, bg = bg })
vim.api.nvim_set_hl(0, "TelescopeResultsTitle", { fg = bg, bg = bg })
vim.api.nvim_set_hl(0, "TelescopePreviewTitle", { fg = bg, bg = bg })
end,
keys = {
{ "<leader>ff", "<cmd>Telescope find_files<cr>", desc = "Find files" },
{ "<leader>fe", "<cmd>Telescope git_files<cr>", desc = "Find file respecting .gitignore" },
{ "<leader>fg", "<cmd>Telescope live_grep<cr>", desc = "Grep file in file" },
{ "<leader>fb", "<cmd>Telescope buffers<cr>", desc = "Search through buffers" },
{ "<leader>ft", "<cmd>Telescope tags<cr>", desc = "Search through tags" },
{ "<leader>fm", "<cmd>Telescope marks<cr>", desc = "Search through marks" },
{ "<leader>fs", "<cmd>Telescope search_history<cr>", desc = "Search through search" },
},
} }

View File

@@ -1,47 +1,14 @@
return { return {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
build = ":TSUpdate", build = ":TSUpdate",
config = function() config = function ()
local configs = require("nvim-treesitter.configs") local configs = require("nvim-treesitter.configs")
configs.setup({ configs.setup({
ensure_installed = { ensure_installed = { "lua", "vim", "vimdoc", "javascript", "html", "python", "dockerfile", "latex", "yaml", "regex", "bash", "markdown", "markdown_inline" },
"lua", sync_install = false,
"vim", highlight = { enable = true },
"vimdoc", indent = { enable = true },
"javascript", })
"html", end
"python",
"dockerfile",
"latex",
"yaml",
"regex",
"bash",
"markdown",
"markdown_inline",
},
sync_install = false,
highlight = {
enable = true,
disable = { "latex" },
},
indent = { enable = true },
})
end,
-- opts = function(_, opts)
-- vim.treesitter.language.register("markdown", "mdx")
-- vim.list_extend(opts.highlight.disable, { "tsx" })
-- if type(opts.ensure_installed) == "table" then
-- vim.list_extend(opts.ensure_installed, {
-- "bibtex",
-- "latex",
-- -- you can add more here
-- })
-- end
-- if type(opts.highlight.disable) == "table" then
-- vim.list_extend(opts.highlight.disable, { "latex", "bibtex" })
-- else
-- opts.highlight.disable = { "latex", "bibtex" }
-- end
-- end,
} }

View File

@@ -0,0 +1,8 @@
return {
"folke/noice.nvim",
event = "VeryLazy",
dependencies = {
"MunifTanjim/nui.nvim",
"rcarriga/nvim-notify",
}
}

View File

@@ -1,27 +0,0 @@
return {
{
"lervag/vimtex",
lazy = false, -- lazy-loading will disable inverse search
config = function()
vim.api.nvim_create_autocmd({ "FileType" }, {
group = vim.api.nvim_create_augroup("lazyvim_vimtex_conceal", { clear = true }),
pattern = { "bib", "tex" },
callback = function()
vim.wo.conceallevel = 0
end,
})
vim.g.vimtex_mappings_disable = { ["n"] = { "K" } } -- disable `K` as it conflicts with LSP hover
vim.g.vimtex_quickfix_method = vim.fn.executable("pplatex") == 1 and "pplatex" or "latexlog"
vim.g.vimtex_view_method = "zathura" -- <== macos specific, you can use zathura or sumatra or something else.
vim.g.vimtex_view_skim_sync = 1
vim.g.vimtex_view_skim_activate = 1
vim.g.vimtex_view_skim_reading_bar = 1
vim.g.vimtex_compiler_latexmk = {
aux_dir = "./aux",
out_dir = "./",
}
end,
},
}

View File

@@ -1,22 +1,13 @@
return { return {
"folke/which-key.nvim", "folke/which-key.nvim",
event = "VeryLazy", event = "VeryLazy",
init = function() init = function()
vim.o.timeout = true vim.o.timeout = true
vim.o.timeoutlen = 300 vim.o.timeoutlen = 300
end, end,
opts = { opts = {
-- your configuration comes here -- your configuration comes here
-- or leave it empty to use the default settings -- or leave it empty to use the default settings
-- refer to the configuration section below -- refer to the configuration section below
}, }
keys = {
{
"<leader>?",
function()
require("which-key").show({ global = false })
end,
desc = "Buffer Local Keymaps (which-key)",
},
},
} }

View File

@@ -1,43 +1,45 @@
local cmd = vim.cmd local cmd = vim.cmd -- execute Vim commands
local exec = vim.api.nvim_exec local exec = vim.api.nvim_exec -- execute Vimscript
local g = vim.g -- local fn = vim.fn -- call Vim functions
local opt = vim.opt local g = vim.g -- global variables
local opt = vim.opt -- global/buffer/windows-scoped options
opt.mouse = 'a' g.showmode = true
opt.clipboard = 'unnamedplus' g.hidden = true -- Required to keep multiple buffers open multiple buffers
opt.swapfile = false opt.mouse = 'a' -- enable mouse
opt.clipboard = 'unnamedplus' -- copy/paste with system
opt.swapfile = false -- no swapfile
opt.wrap = true opt.wrap = true -- Display long lines as just one line
opt.expandtab = true opt.expandtab = true -- Use space instead of tabs
opt.tabstop = 4 opt.tabstop = 4 -- Insert 4 spaces for a tab
opt.shiftwidth = 4 opt.shiftwidth = 4 -- Change the number of space characters inserted for indentation
opt.smarttab = true opt.smarttab = true -- Makes tabbing smarter will realize you have 2 vs 4
opt.autoindent = true opt.autoindent = true -- Good auto indent
opt.foldmethod = 'indent' opt.foldmethod='indent'
opt.number = true opt.number = true -- show line number
opt.relativenumber = true opt.relativenumber = true -- show relative line number
opt.cursorline = true opt.cursorline = true -- highlight current line
opt.scrolloff = 8 opt.ignorecase = true -- Ignore case on search
opt.ignorecase = true opt.smartcase = true -- ignore lowercse for the whoel pattern
opt.smartcase = true
opt.completeopt = 'menuone,noselect,noinsert' opt.completeopt = 'menuone,noselect,noinsert' -- completion options
vim.api.nvim_create_autocmd("FileType", { opt.spell = true
pattern = { "markdown", "text", "tex", "gitcommit" }, opt.spelllang = {'fr', 'en'}
callback = function()
vim.opt_local.spell = true
vim.opt_local.spelllang = { "fr", "en" }
end,
})
opt.nrformats = opt.nrformats + 'alpha' opt.nrformats = opt.nrformats + 'alpha'
opt.showmatch = true
g.showtabline = true
-- don't auto commenting new lines
cmd[[au BufEnter * set fo-=c fo-=r fo-=o]] cmd[[au BufEnter * set fo-=c fo-=r fo-=o]]
opt.showmatch = true -- show parenthethis match
-- Highlight on yank
exec([[ exec([[
augroup YankHighlight augroup YankHighlight
autocmd! autocmd!
@@ -45,4 +47,6 @@ exec([[
augroup end augroup end
]], false) ]], false)
g.python3_host_prog = vim.fn.expand("~/.venv/nvim/bin/python")
-- Python 3
g.python3_host_prog="~/.venv/nvim/bin/python"

View File

@@ -1,15 +0,0 @@
{
"name": "custom-latex-snippets",
"contributes": {
"snippets": [
{
"language": "tex",
"path": "./snippets/latex.json"
},
{
"language": "latex",
"path": "./snippets/latex.json"
}
]
}
}

View File

@@ -1,57 +0,0 @@
local ls = require("luasnip")
local s = ls.snippet
local sn = ls.snippet_node
local t = ls.text_node
local i = ls.insert_node
local f = ls.function_node
local d = ls.dynamic_node
return {
-- Minipage avec texte sélectionné
s({ trig = "minipage", dscr = "Minipage environment" }, {
t("\\begin{minipage}{"),
i(1, "0.5"),
t("\\textwidth}"),
t({ "", "\t" }),
d(2, function(_, snip)
return sn(nil, i(1, snip.env.LS_SELECT_RAW or ""))
end),
t({ "", "\\end{minipage}" }),
}),
-- Multicols avec texte sélectionné
s({ trig = "multicols", dscr = "Multicols environment" }, {
t("\\begin{multicols}{"),
i(1, "2"),
t("}"),
t({ "", "\t" }),
d(2, function(_, snip)
return sn(nil, i(1, snip.env.LS_SELECT_RAW or ""))
end),
t({ "", "\\end{multicols}" }),
}),
-- Deux minipages côte à côte
s({ trig = "minipage2", dscr = "Two minipages side by side" }, {
t("\\begin{minipage}{"),
i(1, "0.48"),
t("\\textwidth}"),
t({ "", "\t" }),
i(2),
t({ "", "\\end{minipage}" }),
t({ "", "\\hfill" }),
t({ "", "\\begin{minipage}{" }),
f(function(args)
local width = tonumber(args[1][1])
if width then
return tostring(1 - width)
else
return "0.48"
end
end, { 1 }),
t("\\textwidth}"),
t({ "", "\t" }),
i(0),
t({ "", "\\end{minipage}" }),
}),
}

View File

@@ -122,6 +122,3 @@ action_menu="Alt+a"
type_menu="Alt+t" type_menu="Alt+t"
help="Alt+h" help="Alt+h"
switch="Alt+x" switch="Alt+x"
clipboard_backend=wl-clipboard
backend=wtype

View File

@@ -15,4 +15,4 @@ configuration {
sidebar-mode: false; sidebar-mode: false;
auto-select: false; auto-select: false;
} }
@theme "/home/lafrite/.local/share/rofi/rofi-themes-collection/themes/spotlight-dark.rasi" @theme "~/.local/share/rofi/themes/nord/nord.rasi"

View File

@@ -52,8 +52,7 @@ output * bg ~/Images/Wallpapers/coraill.jpg fill
input type:keyboard { input type:keyboard {
xkb_layout "fr" xkb_layout "fr"
# xkb_variant "ergol" xkb_variant ""
xkb_variant "azerty"
} }
input * xkb_numlock enable input * xkb_numlock enable
@@ -93,8 +92,7 @@ input type:pointer {
# Start your launcher # Start your launcher
bindsym $mod+d exec $menu bindsym $mod+d exec $menu
# bindsym $mod+p exec rofi-pass bindsym $mod+p exec rofi-pass
bindsym $mod+p exec tessen
bindsym Print exec ~/.local/bin/sway/rofi_screenshot.sh 2> ~/tmp/rofi_debug.log bindsym Print exec ~/.local/bin/sway/rofi_screenshot.sh 2> ~/tmp/rofi_debug.log
# Drag floating windows by holding down $mod and left mouse button. # Drag floating windows by holding down $mod and left mouse button.
@@ -137,15 +135,13 @@ bindsym $mod+Shift+Right move right
# #
# Workspaces: # Workspaces:
# #
set $ws1 1: 󰖟 set $ws1 1:
set $ws2 2: set $ws2 2:
set $ws3 3:  set $ws3 3: 
set $ws4 4: set $ws4 4:
set $ws5 5: set $ws5 5:
set $ws6 6: set $ws6 6:
set $ws7 7:  set $ws7 7: 
set $ws8 8: 󰖟
set $ws9 9: 
bindsym $mod+ampersand workspace $ws1 bindsym $mod+ampersand workspace $ws1
bindsym $mod+eacute workspace $ws2 bindsym $mod+eacute workspace $ws2
@@ -154,8 +150,8 @@ bindsym $mod+apostrophe workspace $ws4
bindsym $mod+parenleft workspace $ws5 bindsym $mod+parenleft workspace $ws5
bindsym $mod+minus workspace $ws6 bindsym $mod+minus workspace $ws6
bindsym $mod+egrave workspace $ws7 bindsym $mod+egrave workspace $ws7
bindsym $mod+underscore workspace $ws8 bindsym $mod+underscore workspace 8
bindsym $mod+ccedilla workspace $ws9 bindsym $mod+ccedilla workspace 9
bindsym $mod+1 move container to workspace $ws1 bindsym $mod+1 move container to workspace $ws1
bindsym $mod+2 move container to workspace $ws2 bindsym $mod+2 move container to workspace $ws2
@@ -164,29 +160,10 @@ bindsym $mod+4 move container to workspace $ws4
bindsym $mod+5 move container to workspace $ws5 bindsym $mod+5 move container to workspace $ws5
bindsym $mod+6 move container to workspace $ws6 bindsym $mod+6 move container to workspace $ws6
bindsym $mod+7 move container to workspace $ws7 bindsym $mod+7 move container to workspace $ws7
bindsym $mod+8 move container to workspace $ws8 bindsym $mod+8 move container to workspace 8
bindsym $mod+9 move container to workspace $ws9 bindsym $mod+9 move container to workspace 9
# bindsym $mod+1 workspace $ws1
# bindsym $mod+2 workspace $ws2
# bindsym $mod+3 workspace $ws3
# bindsym $mod+4 workspace $ws4
# bindsym $mod+5 workspace $ws5
# bindsym $mod+6 workspace $ws6
# bindsym $mod+7 workspace $ws7
# bindsym $mod+8 workspace $ws8
# bindsym $mod+9 workspace $ws9
#
# bindsym $mod+Shift+1 move container to workspace $ws1
# bindsym $mod+Shift+2 move container to workspace $ws2
# bindsym $mod+Shift+3 move container to workspace $ws3
# bindsym $mod+Shift+4 move container to workspace $ws4
# bindsym $mod+Shift+5 move container to workspace $ws5
# bindsym $mod+Shift+6 move container to workspace $ws6
# bindsym $mod+Shift+7 move container to workspace $ws7
# bindsym $mod+Shift+8 move container to workspace $ws8
# bindsym $mod+Shift+9 move container to workspace $ws9
#
bindsym $mod+Ctrl+greater move workspace to output right bindsym $mod+Ctrl+greater move workspace to output right
bindsym $mod+Ctrl+less move workspace to output left bindsym $mod+Ctrl+less move workspace to output left

View File

@@ -5,13 +5,13 @@ exec_always /usr/libexec/goa-daemon --replace
exec gammastep-indicator exec gammastep-indicator
exec mako exec mako
exec "avizo-service" exec "avizo-service"
exec_always autotiling-rs exec_always ~/.local/bin/sway/autotiling-rs
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
#exec_always pkill kanshi; exec_always kanshi #exec_always pkill kanshi; exec_always kanshi
exec_always "systemctl --user import-environment; systemctl --user start sway-session.target" exec_always "systemctl --user import-environment; systemctl --user start sway-session.target"
exec swaymsg "workspace $ws1; exec zen-browser;" exec swaymsg "workspace $ws1; exec firefox;"
exec swaymsg "workspace $ws2; exec thunderbird;" exec swaymsg "workspace $ws2; exec thunderbird;"
# exec swaymsg "workspace scratchpad; exec $term -e 'mocp';" exec swaymsg "workspace scratchpad; exec $term -e 'mocp';"

View File

@@ -2,8 +2,8 @@
"layer": "top", "layer": "top",
"output": "eDP-1", "output": "eDP-1",
"height": 30, "height": 30,
"modules-left": ["sway/mode","sway/window" ], "modules-left": ["sway/workspaces", "sway/mode"],
"modules-center": ["sway/workspaces" ], "modules-center": ["sway/window"],
"modules-right": ["pulseaudio", "battery", "tray", "clock"], "modules-right": ["pulseaudio", "battery", "tray", "clock"],
"sway/window": { "sway/window": {
"max-length": 50 "max-length": 50

View File

@@ -1,91 +1,70 @@
* { * {
border: none; border: none;
border-radius: 0; border-radius: 0;
font-family: Droid Nerd Font Mono; font-family: Droid Nerd Font Mono;
font-size: 14px; font-size: 14px;
min-height: 0; min-height: 0;
} }
@import "gruvbox.css"; @import "gruvbox.css";
window#waybar { window#waybar {
background: @background; background: @background;
color: @foreground; color: @white_b;
} }
#workspaces button { #workspaces button {
padding: 0 2px; padding: 0 2px;
background: transparent; background: transparent;
color: @foreground; color: @white_b;
border-bottom: 3px solid transparent; border-bottom: 3px solid transparent;
} }
#workspaces button.active { #workspaces button.focused {
background: @orange_b; background: @orange;
border-bottom: 3px solid @orange_b;
} }
#workspaces button.visible { #mode, #clock, #battery {
background: @orange; padding: 0 10px;
border-radius: 2px; margin: 0 5px;
border-top: 3px solid @orange_b;
}
#mode,
#clock,
#battery {
padding: 0 10px;
margin: 0 5px;
} }
#mode { #mode {
background: @red; background: @red;
border-bottom: 3px solid @foreground; border-bottom: 3px solid @white_b;
}
#window {
padding: 0 10px;
} }
#clock { #clock {
color: @foreground; color: @white_b;
} }
#battery { #battery {
color: @foreground; color: @white_b;
} }
#battery.charging { #battery.charging {
color: @green; color: @gree;
} }
@keyframes blink { @keyframes blink {
to { to {
background-color: @foreground; background-color: @white_b;
color: @background; color: @background;
} }
} }
#idle_inhibitor, #idle_inhibitor, #pulseaudio, #custom-openvpn, #network, #cpu, #memory, #temperature, #backlight, #battery, #clock, #tray {
#pulseaudio, padding: 0 6px;
#custom-openvpn, margin: 0 3px;
#network,
#cpu,
#memory,
#temperature,
#backlight,
#battery,
#clock,
#tray {
padding: 0 6px;
margin: 0 3px;
} }
#battery.warning:not(.charging) { #battery.warning:not(.charging) {
background: @red; background: @red;
color: @foreground; color: @white_b;
animation-name: blink; animation-name: blink;
animation-duration: 0.5s; animation-duration: 0.5s;
animation-timing-function: linear; animation-timing-function: linear;
animation-iteration-count: infinite; animation-iteration-count: infinite;
animation-direction: alternate; animation-direction: alternate;
} }

View File

@@ -47,10 +47,7 @@ alias rm='rm -i'
alias cat='bat -pp' alias cat='bat -pp'
alias less='bat -p' alias less='bat -p'
# Newsboat export PATH="$HOME/.local/bin/:$PATH"
alias newsboat='tmux new -As newsboat newsboat'
# Autosuggestions # Autosuggestions
# git clone https://github.com/zsh-users/zsh-autosuggestions ~/.config/zsh/ # git clone https://github.com/zsh-users/zsh-autosuggestions ~/.config/zsh/
source ~/.config/zsh/zsh-autosuggestions/zsh-autosuggestions.zsh source ~/.config/zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
@@ -75,7 +72,7 @@ bindkey -M vicmd 'j' history-substring-search-down
source ~/.config/zsh/auto-ls/auto-ls.zsh source ~/.config/zsh/auto-ls/auto-ls.zsh
# Pyenv # Pyenv
eval "$(pyenv init --path)" # eval "$(pyenv init --path)"
source ~/.config/zsh/completion.zsh source ~/.config/zsh/completion.zsh
@@ -90,10 +87,15 @@ _fzf_complete_pass() {
} }
# yarn global commands # yarn global commands
export PATH="/home/lafrite/.local/bin:$(yarn global bin):$PATH" # export PATH="$(yarn global bin):$PATH"
# zk # zk
export ZK_NOTEBOOK_DIR="/home/lafrite/Nextcloud/Documents/zettelkasten/" # export ZK_NOTEBOOK_DIR="/home/lafrite/Nextcloud/Documents/zettelkasten/"
# tea # tea
PROG=tea _CLI_ZSH_AUTOCOMPLETE_HACK=1 source "/home/lafrite/.config/tea/autocomplete.zsh" # PROG=tea _CLI_ZSH_AUTOCOMPLETE_HACK=1 source "/home/lafrite/.config/tea/autocomplete.zsh"
# Newsboat
# alias newsboat='tmux new -As newsboat newsboat'