Compare commits

..

17 Commits

Author SHA1 Message Date
f7af499573 Feat (nvim): cmdline on the middle of the screen 2025-01-05 06:07:54 +01:00
cd9ba86fca remove duplicate 2025-01-02 07:23:48 +01:00
938db338fc update ytb feeds 2025-01-02 07:23:32 +01:00
c95ee6f650 create alacritty config 2025-01-02 07:23:04 +01:00
cbe9a6c55c Feat: add vimtex to nivm 2024-12-24 10:58:39 +01:00
d812c32e37 Feat: replace rofi-pass with tessen 2024-11-09 13:04:54 +01:00
9cf5d8d5e0 Fix(sway): workspace switch 2024-03-01 06:00:32 +01:00
2131bb57c4 Feat(sway): cosmetics 2024-02-10 22:12:38 +01:00
5210b2a15a Feat(nvim): add noice 2024-01-06 20:42:56 +01:00
158c7a60a3 Feat: clean and add channels 2024-01-06 20:37:06 +01:00
39a18835a1 Feat(nvim): add mason_tool_installer 2023-11-15 06:14:35 +01:00
fa519bd74d Feat(nvim): add linting 2023-11-15 06:12:30 +01:00
f98a52e613 Feat(nvim): add formater for web tech, lua and python 2023-11-15 06:06:39 +01:00
44fb8a49fa Feat(newsboat): clean channel 2023-11-05 06:46:52 +01:00
52b956c423 Feat(sway): add reverse cable config 2023-11-05 06:46:09 +01:00
e43a76a132 Feat(nvim): add option for buffer completion 2023-11-05 06:44:33 +01:00
3029561478 Feat(nvim): add path and buffer 2023-11-05 06:40:03 +01:00
16 changed files with 484 additions and 107 deletions

View File

@@ -0,0 +1,119 @@
[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

@@ -1,6 +1,4 @@
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=UCeeFfhMcJa1kjtfZAGskOCA "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=UCV0qA-eDDICsRR9rPcnG7tw "Tech"
@@ -9,8 +7,6 @@ https://www.youtube.com/feeds/videos.xml?channel_id=UCVRJ6D343dX-x730MRP8tNw "Te
https://www.youtube.com/feeds/videos.xml?channel_id=UCG5Ph9Mm6UEQLJJ-kGIC2AQ "Tech" "OneMarcFifty"
https://www.youtube.com/feeds/videos.xml?channel_id=UCWedHS9qKebauVIK2J7383g "Tech" "Underscore_"
https://www.youtube.com/feeds/videos.xml?channel_id=UC9C07cryUrKzLuAzwITPA3A "SC2" "SC2HL"
https://www.youtube.com/feeds/videos.xml?channel_id=UCr_3nQ4eRCwm_XUDpf62MAg "Information "Partager C'est Sympa"
@@ -59,14 +55,17 @@ https://www.youtube.com/feeds/videos.xml?channel_id=UCy0I5Hcl2k7dN4UdZTedfeQ "Sp
https://www.youtube.com/feeds/videos.xml?channel_id=UCgkhWgBGRp0sdFy2MHDWfSg "Math" "El Ji"
https://www.youtube.com/feeds/videos.xml?channel_id=UCYO_jab_esuFRV4b17AJtAw "Math" "3Blue1Brown"
https://www.youtube.com/feeds/videos.xml?channel_id=UCLXDNUOO3EQ80VmD9nQBHPg "???" "Fouloscopie"
https://www.youtube.com/feeds/videos.xml?channel_id=UCaNlbnghtwlsGF-KzAFThqA "Science "ScienceEtonnante"
https://www.youtube.com/feeds/videos.xml?channel_id=UCLXDNUOO3EQ80VmD9nQBHPg "Science "Fouloscopie"
https://www.youtube.com/feeds/videos.xml?channel_id=UCoJtk2M8bme9KXTe6F3K-Yg "CLI" "The Mouseless Dev"
https://www.youtube.com/feeds/videos.xml?channel_id=UC8ENHE5xdFSwx71u3fDH5Xw "Vim" "ThePrimeagen"
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=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=UCvjgXvBlbQiydffZU7m1_aw "Programmation" "~Coding Train"
https://www.youtube.com/feeds/videos.xml?channel_id=UCj_iGliGCkLcHSZ8eqVNPDQ "Programmation" "~Grafikart.fr"
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=UCiZxJB0xWfPBE2omVZeWPpQ "Programmation" "Mehdio DataTV"

View File

@@ -24,6 +24,16 @@ return {
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' },
})

View File

@@ -0,0 +1,37 @@
return {
"stevearc/conform.nvim",
event = { "BufReadPre", "BufNewFile" },
config = function()
local conform = require("conform")
conform.setup({
formatters_by_ft = {
javascript = { "prettier" },
typescript = { "prettier" },
javascriptreact = { "prettier" },
typescriptreact = { "prettier" },
svelte = { "prettier" },
css = { "prettier" },
html = { "prettier" },
json = { "prettier" },
yaml = { "prettier" },
markdown = { "prettier" },
graphql = { "prettier" },
lua = { "stylua" },
python = { "isort", "black" },
},
format_on_save = {
lsp_fallback = true,
async = false,
timeout_ms = 500,
},
})
vim.keymap.set({ "n", "v" }, "<leader>mp", function()
conform.format({
lsp_fallback = true,
async = true,
timeout_ms = 500,
})
end, { desc = "Format file or range (in visual mode)" })
end,
}

View File

@@ -1,10 +0,0 @@
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

@@ -0,0 +1,31 @@
return {
"mfussenegger/nvim-lint",
event = {
"BufReadPre",
"BufNewFile",
},
config = function()
local lint = require("lint")
lint.linters_by_ft = {
javascript = { "eslint_d" },
typescript = { "eslint_d" },
javascriptreact = { "eslint_d" },
typescriptreact = { "eslint_d" },
python = { "flake8" },
}
local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true })
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
group = lint_augroup,
callback = function()
lint.try_lint()
end,
})
vim.keymap.set("n", "<leader>ml", function()
lint.try_lint()
end, { desc = "Trigger linting for current file" })
end,
}

View File

@@ -1,25 +1,38 @@
return {
'VonHeikemen/lsp-zero.nvim',
branch = 'v3.x',
dependencies = {
{'neovim/nvim-lspconfig'},
{'williamboman/mason.nvim'},
{'williamboman/mason-lspconfig.nvim'},
},
config = function ()
local lsp_zero = require('lsp-zero')
lsp_zero.on_attach(function(client, bufnr)
-- see :help lsp-zero-keybindings
-- to learn the available actions
lsp_zero.default_keymaps({buffer = bufnr})
end)
"VonHeikemen/lsp-zero.nvim",
branch = "v3.x",
dependencies = {
{ "neovim/nvim-lspconfig" },
{ "williamboman/mason.nvim" },
{ "williamboman/mason-lspconfig.nvim" },
{ "WhoIsSethDaniel/mason-tool-installer.nvim" },
},
config = function()
local lsp_zero = require("lsp-zero")
lsp_zero.on_attach(function(client, bufnr)
-- see :help lsp-zero-keybindings
-- to learn the available actions
lsp_zero.default_keymaps({ buffer = bufnr })
end)
require('mason').setup({})
require('mason-lspconfig').setup({
ensure_installed = {},
handlers = {
lsp_zero.default_setup,
},
})
end
require("mason").setup({})
require("mason-lspconfig").setup({
ensure_installed = {},
handlers = {
lsp_zero.default_setup,
},
})
local mason_tool_installer = require("mason-tool-installer")
mason_tool_installer.setup({
ensure_installed = {
"prettier", -- prettier formatter
"stylua", -- lua formatter
"isort", -- python formatter
"black", -- python formatter
"flake8", -- python linter
"eslint_d", -- js linter
},
})
end,
}

View File

@@ -0,0 +1,29 @@
return {
"folke/noice.nvim",
event = "VeryLazy",
opts = {},
dependencies = {
"MunifTanjim/nui.nvim",
-- "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

@@ -0,0 +1,71 @@
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,14 +1,44 @@
return {
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
config = function ()
local configs = require("nvim-treesitter.configs")
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
config = function()
local configs = require("nvim-treesitter.configs")
configs.setup({
ensure_installed = { "lua", "vim", "vimdoc", "javascript", "html", "python", "dockerfile", "latex", "yaml", "regex", "bash", "markdown", "markdown_inline" },
sync_install = false,
highlight = { enable = true },
indent = { enable = true },
})
end
configs.setup({
ensure_installed = {
"lua",
"vim",
"vimdoc",
"javascript",
"html",
"python",
"dockerfile",
"latex",
"yaml",
"regex",
"bash",
"markdown",
"markdown_inline",
},
sync_install = false,
highlight = { enable = true },
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

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

View File

@@ -0,0 +1,27 @@
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 = "./out",
}
end,
},
}

View File

@@ -1,3 +1,8 @@
profile maison2 {
output eDP-1 disable
output "Dell Inc. DELL E2216H 2XT766B1AVTI" position 0,0 transform 90 mode 1920x1080
output "Samsung Electric Company LS27A600U HNMR502540" position 1080,240 mode 2560x1440
}
profile maison {
output eDP-1 disable
output "Philips Consumer Electronics Company PHL 223V5 ZV01622003292" position 0,0 transform 90 mode 1920x1080

View File

@@ -92,7 +92,8 @@ input type:pointer {
# Start your launcher
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
# Drag floating windows by holding down $mod and left mouse button.
@@ -135,13 +136,15 @@ bindsym $mod+Shift+Right move right
#
# Workspaces:
#
set $ws1 1:
set $ws2 2:
set $ws1 1: 󰖟
set $ws2 2:
set $ws3 3: 
set $ws4 4:
set $ws5 5:
set $ws6 6:
set $ws7 7: 
set $ws4 4:
set $ws5 5:
set $ws6 6:
set $ws7 7: 
set $ws8 8: 󰖟
set $ws9 9: 
bindsym $mod+ampersand workspace $ws1
bindsym $mod+eacute workspace $ws2
@@ -150,8 +153,8 @@ bindsym $mod+apostrophe workspace $ws4
bindsym $mod+parenleft workspace $ws5
bindsym $mod+minus workspace $ws6
bindsym $mod+egrave workspace $ws7
bindsym $mod+underscore workspace 8
bindsym $mod+ccedilla workspace 9
bindsym $mod+underscore workspace $ws8
bindsym $mod+ccedilla workspace $ws9
bindsym $mod+1 move container to workspace $ws1
bindsym $mod+2 move container to workspace $ws2
@@ -160,8 +163,8 @@ bindsym $mod+4 move container to workspace $ws4
bindsym $mod+5 move container to workspace $ws5
bindsym $mod+6 move container to workspace $ws6
bindsym $mod+7 move container to workspace $ws7
bindsym $mod+8 move container to workspace 8
bindsym $mod+9 move container to workspace 9
bindsym $mod+8 move container to workspace $ws8
bindsym $mod+9 move container to workspace $ws9
bindsym $mod+Ctrl+greater move workspace to output right

View File

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

View File

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