This commit is contained in:
afoucaultc 2026-07-07 19:38:23 +02:00
commit 2e640a1e57
43 changed files with 317 additions and 411 deletions

View file

@ -68,30 +68,3 @@ nix search nixpkgs nom_du_package
2. Package pas encore dans nixpkgs : chercher un flake upstream officiel (packages.<system>.degault), ajouter comme input et le référencer 2. Package pas encore dans nixpkgs : chercher un flake upstream officiel (packages.<system>.degault), ajouter comme input et le référencer
### Machine ancienne ### Machine ancienne
Bien utiliser la version `laptop` qui prend la plupart des paquets par cachix (pour éviter la compilation en locale qui dépasse les capacités de la RAM) Bien utiliser la version `laptop` qui prend la plupart des paquets par cachix (pour éviter la compilation en locale qui dépasse les capacités de la RAM)
### Ensuite
#### Thunderbird
Générer clé GPG
`gpg --quick-generate-key "afoucaultc" default default never`
Afficher la clé
`gpg --list-secret-keys --keyid-format=long`
Initialiser avec pass (empreinte = dernière partie après sec)
`pass init <empreinte>`
Fermer en partie les permissions sur .gnupg
```bash
chmod 700 ~/.gnupg
chmod 600 ~/.gnupg/* 2>/dev/null
find ~/.gnupg -type d -exec chmod 700 {} \;
find ~/.gnupg -type f -exec chmod 600 {} \;
```
Lancer le proton mail bridge
```shell
protonmail-bridge --cli
>>> login #(puis se login)
```
Ensuite normalement c'est bon, taper "info" pour récupérer le mot de passe
Puis `cert export` et le mettre dans le home par exemple. Ensuite :
`parametres -> vie privée et sécurité -> certificats -> gérer -> autorités -> importer`
Importer et cocher site web.
Puis se connecter à son compte sur thunderbird : il faut faire `info` sur le protonmail bridge, pour récupérer son mot de passe, puis valider l'exception pour le certificat.

View file

@ -7,6 +7,7 @@ hl.bind(
hl.bind("CTRL + ALT + L", hl.dsp.exec_cmd(lockscreen)) hl.bind("CTRL + ALT + L", hl.dsp.exec_cmd(lockscreen))
-- launchers -- launchers
hl.bind("ALT + D", hl.dsp.exec_cmd(fileManager)) hl.bind("ALT + D", hl.dsp.exec_cmd(fileManager))
hl.bind("ALT + D", hl.dsp.exec_cmd(fileManager2))
hl.bind("ALT + Q", hl.dsp.exec_cmd(terminal)) hl.bind("ALT + Q", hl.dsp.exec_cmd(terminal))
hl.bind("ALT + N", hl.dsp.exec_cmd("kitty -e nvim")) hl.bind("ALT + N", hl.dsp.exec_cmd("kitty -e nvim"))
hl.bind("ALT + W", hl.dsp.exec_cmd(app_launcher)) hl.bind("ALT + W", hl.dsp.exec_cmd(app_launcher))

View file

@ -1,13 +1,20 @@
hl.monitor({ hl.monitor({
output = monitorA, output = monitorA,
mode = "1920x1080@120.00200", mode = "preferred",
position = "0x0", position = "0x0",
scale = "1", scale = "1",
}) })
hl.monitor({ hl.monitor({
output = monitorB, output = monitorB,
mode = "1920x1080@60", mode = "preferred",
position = "1920x0", position = "auto",
scale = "1",
})
hl.monitor({
output = "",
mode = "preferred",
position = "auto",
scale = "1", scale = "1",
}) })

View file

@ -4,10 +4,11 @@ hl.on("hyprland.start", function()
hl.exec_cmd("wl-paste --type image --watch cliphist store") hl.exec_cmd("wl-paste --type image --watch cliphist store")
hl.exec_cmd("systemctl --user start hyprpolkitagent") hl.exec_cmd("systemctl --user start hyprpolkitagent")
hl.exec_cmd("hyprctl setcursor Bibata-Modern-Ice 24") hl.exec_cmd("hyprctl setcursor Bibata-Modern-Ice 24")
hl.exec_cmd("noctalia-shell") hl.exec_cmd("./~/nixos-config/dotfiles/hypr/unlockbridge.sh")
-- hl.exec_cmd("noctalia-shell")
-- hl.exec_cmd("hyprpanel") -- hl.exec_cmd("hyprpanel")
-- hl.exec_cmd("hyprsunset") -- hl.exec_cmd("hyprsunset")
-- hl.exec_cmd("xsettingsd") -- hl.exec_cmd("xsettingsd")
-- hl.exec_cmd("nwg-look -a") -- hl.exec_cmd("nwg-look -a")
hl.exec_cmd("protonmail-bridge --noninteractive") -- hl.exec_cmd("protonmail-bridge")
end) end)

View file

@ -10,7 +10,7 @@ hl.config({
resize_on_border = true, resize_on_border = true,
hover_icon_on_border = true, hover_icon_on_border = true,
allow_tearing = true, allow_tearing = true,
layout = "dwindle", layout = "master",
snap = { snap = {
enabled = true, enabled = true,
}, },
@ -20,8 +20,8 @@ hl.config({
rounding_power = 10, rounding_power = 10,
-- Change transparency of focused and unfocused windows -- Change transparency of focused and unfocused windows
active_opacity = 1.0, active_opacity = 0.9,
inactive_opacity = 1.0, inactive_opacity = 0.9,
shadow = { shadow = {
enabled = false, enabled = false,
@ -31,7 +31,7 @@ hl.config({
}, },
blur = { blur = {
enabled = false, enabled = true,
size = 3, size = 3,
passes = 1, passes = 1,
vibrancy = 0.1696, vibrancy = 0.1696,
@ -47,9 +47,9 @@ hl.config({
preserve_split = true, preserve_split = true,
}, },
master = { master = {
new_status = "master", new_status = "slave",
orientation = "center", orientation = "left",
mfact = "0.5", mfact = "0.7",
}, },
scrolling = { scrolling = {
fullscreen_on_one_column = true, fullscreen_on_one_column = true,

View file

@ -1,5 +1,6 @@
terminal = "kitty" terminal = "kitty"
fileManager = "dolphin" fileManager = "dolphin"
fileManager2 = "nautilus"
menu = "wofi --show drun" menu = "wofi --show drun"
home = "/home/afoucaultc/" home = "/home/afoucaultc/"
lockscreen = "hyprlock" lockscreen = "hyprlock"
@ -7,3 +8,4 @@ browser = "zen-beta"
app_launcher = "~/.config/rofi/launchers/type-1/launcher.sh" app_launcher = "~/.config/rofi/launchers/type-1/launcher.sh"
monitorA = "eDP-1" monitorA = "eDP-1"
monitorB = "HDMI-A-1" monitorB = "HDMI-A-1"
monitorC = "DP-2"

View file

@ -5,3 +5,10 @@ hl.window_rule({
}, },
opacity = "0.9", opacity = "0.9",
}) })
hl.window_rule({
name = "opacity zathura",
match = {
class = "org.pwmt.zathura",
},
opacity = 2,
})

View file

@ -1,11 +1,6 @@
wallpaper { wallpaper {
monitor = eDP-1 monitor =
path = /home/afoucaultc/Pictures/Wallpapers/wallpaper.jpg path = /home/afoucaultc/Pictures/Wallpapers/nix-wallpaper.png
fit_mode = cover
}
wallpaper {
monitor = HDMI-A-1
path = /home/afoucaultc/Pictures/Wallpapers/wallpaper.jpg
fit_mode = cover fit_mode = cover
} }
splash = false splash = false

2
dotfiles/hypr/unlockbridge.sh Executable file
View file

@ -0,0 +1,2 @@
#!/usr/bin/env bash
protonmail-bridge --cli

View file

@ -2,10 +2,10 @@
Count=1 Count=1
[Window0Column0] [Window0Column0]
Notebook0Dialogs=ObjectProperties;FillStroke;Export;AlignDistribute;Text;Objects; Notebook0Dialogs=ObjectProperties;FillStroke;Export;AlignDistribute;Text;
Notebook0Height=921 Notebook0Height=921
Notebook0ActiveTab=1 Notebook0ActiveTab=2
ColumnWidth=540 ColumnWidth=633
NotebookCount=1 NotebookCount=1
BeforeCanvas=false BeforeCanvas=false
@ -28,8 +28,10 @@ state6=
dialogs6=FilterGallery; dialogs6=FilterGallery;
state7= state7=
dialogs7=FontCollections; dialogs7=FontCollections;
state8=[Windows]\nCount=1\n\n[Window0Column0]\nNotebook0Dialogs=Preferences;\nNotebookCount=1\n\n[Window0]\nColumnCount=1\nPosition=true\nx=0\ny=0\nwidth=1447\nheight=672\n state8=[Windows]\nCount=1\n\n[Window0Column0]\nNotebook0Dialogs=Objects;\nNotebookCount=1\n\n[Window0]\nColumnCount=1\nPosition=true\nx=0\ny=0\nwidth=360\nheight=520\n
dialogs8=Preferences; dialogs8=Objects;
state9= state9=[Windows]\nCount=1\n\n[Window0Column0]\nNotebook0Dialogs=Preferences;\nNotebookCount=1\n\n[Window0]\nColumnCount=1\nPosition=true\nx=0\ny=0\nwidth=1447\nheight=672\n
dialogs9=XMLEditor; dialogs9=Preferences;
count=9 state10=
dialogs10=XMLEditor;
count=10

View file

@ -3,16 +3,16 @@ L'extension « Optimized PNG » n'a pas été chargée, car une dépendance e
emplacement: chemin emplacement: chemin
chaîne: optipng chaîne: optipng
L'extension « Formula (typst) » n'a pas été chargée, car une dépendance est manquante. Dépendance:
type: executable
emplacement: chemin
chaîne: typst
L'extension « Export to PDF via Scribus » n'a pas été chargée, car une dépendance est manquante. Dépendance: L'extension « Export to PDF via Scribus » n'a pas été chargée, car une dépendance est manquante. Dépendance:
type: executable type: executable
emplacement: chemin emplacement: chemin
chaîne: scribus chaîne: scribus
L'extension « Formula (typst) » n'a pas été chargée, car une dépendance est manquante. Dépendance:
type: executable
emplacement: chemin
chaîne: typst
L'extension « XFIG Input » n'a pas été chargée, car une dépendance est manquante. Dépendance: L'extension « XFIG Input » n'a pas été chargée, car une dépendance est manquante. Dépendance:
type: executable type: executable
emplacement: chemin emplacement: chemin

View file

@ -643,6 +643,9 @@
<group <group
id="batchexportarea" id="batchexportarea"
value="layer" /> value="layer" />
<group
id="defaultdpi"
value="25.3999996185303" />
</group> </group>
<group <group
id="save_as" id="save_as"
@ -1106,7 +1109,7 @@
org.inkscape.input.svg.scale="auto" /> org.inkscape.input.svg.scale="auto" />
<group <group
id="desktop" id="desktop"
style="text-orientation:auto;-inkscape-font-specification:'Sans, Normal';font-family:Sans;stroke-linejoin:bevel;stroke-width:2.64944882;font-size:8px;fill:#1a1b26"> style="text-orientation:auto;-inkscape-font-specification:'Sans, Normal';font-family:Sans;stroke-linejoin:bevel;stroke-width:0.62740157;font-size:8px;fill:#bb9af7">
<group <group
width="1912" width="1912"
height="1072" height="1072"

View file

@ -1 +0,0 @@
/nix/store/rfw72smdji7qh183n7jr7ms7rx7xx2bl-home-manager-files/.config/kitty/diff.conf

1
dotfiles/kitty/diff.conf Executable file
View file

@ -0,0 +1 @@
/nix/store/d0jmg6rl00w0f105z3z8g7344glg2jlz-home-manager-files/.config/kitty/diff.conf

View file

@ -1 +0,0 @@
/nix/store/rfw72smdji7qh183n7jr7ms7rx7xx2bl-home-manager-files/.config/kitty/kitty.conf

1
dotfiles/kitty/kitty.conf Executable file
View file

@ -0,0 +1 @@
/nix/store/d0jmg6rl00w0f105z3z8g7344glg2jlz-home-manager-files/.config/kitty/kitty.conf

View file

@ -1,37 +1,53 @@
{ {
"LazyVim": { "branch": "main", "commit": "c10948c50b18fae7f256433afdef09e432410480" },
"LuaSnip": { "branch": "master", "commit": "0abc8f390b278c3b4aabc4c004ac8a088b65cf24" }, "LuaSnip": { "branch": "master", "commit": "0abc8f390b278c3b4aabc4c004ac8a088b65cf24" },
"NeoSolarized.nvim": { "branch": "master", "commit": "3c55ad358c062aa4879950c4f83b4deeac6b72df" },
"Tungsten": { "branch": "main", "commit": "329053bffc28762f2ca29b76405a9687b1747ff7" },
"alpha-nvim": { "branch": "main", "commit": "6c6a89d5b068b5251c8bdf0dd57bb921bcfeeb09" }, "alpha-nvim": { "branch": "main", "commit": "6c6a89d5b068b5251c8bdf0dd57bb921bcfeeb09" },
"baleia.nvim": { "branch": "main", "commit": "710537ff5cd669c5a76c5f5b6a9169fd9b913d18" }, "baleia.nvim": { "branch": "main", "commit": "710537ff5cd669c5a76c5f5b6a9169fd9b913d18" },
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" }, "blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"catppuccin": { "branch": "main", "commit": "05e8787020dcfdb937bf2ff23855ea2415b4e072" },
"conform.nvim": { "branch": "master", "commit": "619363c30309d29ffa631e67c8183f2a72caa373" }, "conform.nvim": { "branch": "master", "commit": "619363c30309d29ffa631e67c8183f2a72caa373" },
"csvview.nvim": { "branch": "main", "commit": "5c22774c3ecc7f8883af5d143b366e45b1f0875d" }, "csvview.nvim": { "branch": "main", "commit": "5c22774c3ecc7f8883af5d143b366e45b1f0875d" },
"debugpy.nvim": { "branch": "master", "commit": "490a0d7bfa23af8c6096bb3fbd867770b7d4a28b" }, "debugpy.nvim": { "branch": "master", "commit": "490a0d7bfa23af8c6096bb3fbd867770b7d4a28b" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" }, "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
"fzf-lua": { "branch": "main", "commit": "ed4059deb9237f7f4cc8832ffef69779ffe2e265" },
"gitsigns.nvim": { "branch": "main", "commit": "eb60cc7b94c46005237fd34170d76f3a089a90aa" },
"grug-far.nvim": { "branch": "main", "commit": "c69859c1d5427ab5fc7ed12380ab521b4e336691" },
"image.nvim": { "branch": "master", "commit": "88351f1f7d9dbae286e671ce3690a49660dd8a5c" }, "image.nvim": { "branch": "master", "commit": "88351f1f7d9dbae286e671ce3690a49660dd8a5c" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
"lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" },
"lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" }, "lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" },
"markview.nvim": { "branch": "main", "commit": "301e431c7b618235f5447d54465c70934bd33668" }, "markview.nvim": { "branch": "main", "commit": "092c0872fd2437b3b862d253910981142d2465aa" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "21c5b3ebeaa0412e28096bb0701434c51c1fbf76" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "47059d71b42d74b0a1e9f61c1d99d301039c3b5b" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "443f1ef8b5e6bf47045cb2217b6f748a223cf7dc" },
"mason.nvim": { "branch": "main", "commit": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d" }, "mason.nvim": { "branch": "main", "commit": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d" },
"mini.icons": { "branch": "main", "commit": "e56797f90192d81f1fda02e662fc3e8e3d775027" }, "mini.ai": { "branch": "main", "commit": "2f763720771e192bdf9d2e25bfae339930ba4231" },
"mini.icons": { "branch": "main", "commit": "98faae31e9be1cc054ae63485e58ceb185efcad0" },
"mini.pairs": { "branch": "main", "commit": "b1fd9df3bb4a41c8f45778a3859ee80ef6b367e3" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "ebd66767191714e008ce73b769518a763ff31bdc" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "ebd66767191714e008ce73b769518a763ff31bdc" },
"neogit": { "branch": "master", "commit": "43ea1a0854052e583f647e0b35879f0158a70a78" }, "neogit": { "branch": "master", "commit": "6fc2fa890bd2031ed999c074daab0fb4feff20a5" },
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" }, "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-dap": { "branch": "master", "commit": "9e848e09a697ee95302a3ef2dd43fd6eb709e570" }, "nvim-dap": { "branch": "master", "commit": "9e848e09a697ee95302a3ef2dd43fd6eb709e570" },
"nvim-lspconfig": { "branch": "master", "commit": "bfcc0171a43f22afa61d927ffe9fcb6cb85dc99e" }, "nvim-lint": { "branch": "master", "commit": "a219b2c9e5b4765e5c845aba119dad55806fcaf1" },
"nvim-lspconfig": { "branch": "master", "commit": "d224a1920728ba129880efc700d4a0180ac4ecbb" },
"nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" }, "nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
"nvim-web-devicons": { "branch": "master", "commit": "dfbfaa967a6f7ec50789bead7ef87e336c1fa63c" }, "nvim-treesitter-textobjects": { "branch": "main", "commit": "851e865342e5a4cb1ae23d31caf6e991e1c99f1e" },
"nvim-ts-autotag": { "branch": "main", "commit": "88c1453db4ba7dd24131086fe51fdf74e587d275" },
"nvim-web-devicons": { "branch": "master", "commit": "dad71387de386a946b123079d0e53f23028f3abd" },
"oil.nvim": { "branch": "master", "commit": "b73018b75affd13fa38e2fc94ef753b465f770d7" }, "oil.nvim": { "branch": "master", "commit": "b73018b75affd13fa38e2fc94ef753b465f770d7" },
"persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" },
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" }, "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
"snacks.nvim": { "branch": "main", "commit": "882c996cf28183f4d63640de0b4c02ec886d01f2" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "b25b749b9db64d375d782094e2b9dce53ad53a40" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "b25b749b9db64d375d782094e2b9dce53ad53a40" },
"telescope.nvim": { "branch": "master", "commit": "427b576c16792edad01a92b89721d923c19ad60f" }, "telescope.nvim": { "branch": "master", "commit": "427b576c16792edad01a92b89721d923c19ad60f" },
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" }, "toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
"ultisnips": { "branch": "master", "commit": "403da03d9169b53738be8ebc93cd73caff195bda" }, "tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" },
"vimtex": { "branch": "master", "commit": "63745fa542346e0f09a496d440645ef6ff75b62c" }, "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
"ts-comments.nvim": { "branch": "main", "commit": "a59d6092213447450191122c9346f309161504cb" },
"ultisnips": { "branch": "master", "commit": "62aca2a735b76d24a8fc7862f902330ac688849b" },
"vimtex": { "branch": "master", "commit": "a5949d2800c1866c878956d49c51fc8d003c6b99" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" } "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
} }

View file

@ -40,3 +40,17 @@ vim.api.nvim_create_autocmd("FileType", {
vim.b.vimtex_syntax_enabled = 0 vim.b.vimtex_syntax_enabled = 0
end, end,
}) })
vim.api.nvim_create_autocmd("FileType", {
pattern = "*",
callback = function()
pcall(vim.treesitter.start)
end,
})
vim.api.nvim_create_autocmd("User", {
pattern = "VeryLazy",
callback = function()
pcall(vim.keymap.del, "n", "<leader>l")
end,
})

View file

@ -1,44 +0,0 @@
return { -- Autoformat
"stevearc/conform.nvim",
event = { "BufWritePre" },
cmd = { "ConformInfo" },
keys = {
{
"<leader>f",
function()
require("conform").format({ async = true, lsp_format = "fallback" })
end,
mode = "",
desc = "[F]ormat buffer",
},
},
opts = {
notify_on_error = false,
format_on_save = function(bufnr)
-- Disable "format_on_save lsp_fallback" for languages that don't
-- have a well standardized coding style. You can add additional
-- languages here or re-enable it for the disabled ones.
local disable_filetypes = { c = true, cpp = true }
if disable_filetypes[vim.bo[bufnr].filetype] then
return nil
else
return {
timeout_ms = 500,
lsp_format = "fallback",
}
end
end,
formatters_by_ft = {
lua = { "stylua" },
-- Conform can also run multiple formatters sequentially
python = { "isort", "black" },
--
-- You can use 'stop_after_first' to run the first available formatter from the list
-- javascript = { "prettierd", "prettier", stop_after_first = true },
},
format_on_save = {
timeout_ms = 2000,
lsp_fallback = true,
},
},
}

View file

@ -1,24 +0,0 @@
return {
{
"hat0uma/csvview.nvim",
---@module "csvview"
---@type CsvView.Options
opts = {
parser = { comments = { "#", "//" } },
keymaps = {
-- Text objects for selecting fields
textobject_field_inner = { "if", mode = { "o", "x" } },
textobject_field_outer = { "af", mode = { "o", "x" } },
-- Excel-like navigation:
-- Use <Tab> and <S-Tab> to move horizontally between fields.
-- Use <Enter> and <S-Enter> to move vertically between rows and place the cursor at the end of the field.
-- Note: In terminals, you may need to enable CSI-u mode to use <S-Tab> and <S-Enter>.
jump_next_field_end = { "<Tab>", mode = { "n", "v" } },
jump_prev_field_end = { "<S-Tab>", mode = { "n", "v" } },
jump_next_row = { "<Enter>", mode = { "n", "v" } },
jump_prev_row = { "<S-Enter>", mode = { "n", "v" } },
},
},
cmd = { "CsvViewEnable", "CsvViewDisable", "CsvViewToggle" },
},
}

View file

@ -0,0 +1,30 @@
return {
"neovim/nvim-lspconfig",
config = function()
-- lua_ls avec tes settings perso
vim.lsp.config("lua_ls", {
settings = {
Lua = {
diagnostics = { globals = { "vim" } },
workspace = { library = vim.api.nvim_get_runtime_file("", true) },
},
},
})
-- active tous les serveurs ; leurs configs viennent des
-- fichiers lsp/*.lua fournis par nvim-lspconfig (chargé ici)
vim.lsp.enable({
"lua_ls",
"texlab",
"marksman",
"pyright",
"bashls",
"clangd",
"cssls",
"jsonls",
"html",
"ts_ls",
"vimls",
})
end,
}

View file

@ -2,10 +2,11 @@
return { return {
"OXY2DEV/markview.nvim", "OXY2DEV/markview.nvim",
lazy = false, lazy = false,
opts = {
preview = { preview = {
icon_provider = "internal", icon_provider = "internal",
}, },
opts = {
modes = { "n", "i" }, modes = { "n", "i" },
latex = { latex = {
enable = true, enable = true,

View file

@ -1,34 +1,5 @@
return { return {
{ { "mason-org/mason.nvim", enabled = false },
"mason-org/mason-lspconfig.nvim", { "mason-org/mason-lspconfig.nvim", enabled = false },
opts = { { "WhoIsSethDaniel/mason-tool-installer.nvim", enabled = false },
ensure_installed = {
"clangd",
"texlab",
"lua_ls",
"vimls",
"marksman",
"pyright",
"bashls",
"cssls",
"jsonls",
"jdtls",
"ts_ls",
"html",
},
},
dependencies = {
{ "mason-org/mason.nvim", opts = {} },
"neovim/nvim-lspconfig",
},
},
{
"WhoIsSethDaniel/mason-tool-installer.nvim",
opts = {
ensure_installed = {
"black",
"isort",
},
},
},
} }

View file

@ -1,5 +0,0 @@
return {
{
"nvim-lua/plenary.nvim",
},
}

View file

@ -1,22 +0,0 @@
return {
"nvim-lualine/lualine.nvim",
opts = {
options = {
section_separators = { left = "", right = "" },
component_separators = { left = "", right = "" },
},
sections = {
lualine_a = { {
"mode",
fmt = function(str)
return str:upper()
end,
} },
lualine_b = { "branch", "diff" },
lualine_c = { "filename" },
lualine_x = { "diagnostics" },
lualine_y = { "filetype" },
lualine_z = { "progress", "location" },
},
},
}

View file

@ -1,8 +1,17 @@
return { return {
-- Configure le style de tokyonight
{ {
"folke/tokyonight.nvim", "folke/tokyonight.nvim",
lazy = false, opts = {
priority = 1000, style = "night", -- "night" (dark), "storm", "moon", "day"
opts = {}, },
},
-- Dit à LazyVim d'utiliser ce colorscheme
{
"LazyVim/LazyVim",
opts = {
colorscheme = "tokyonight-night",
},
}, },
} }

View file

@ -1,39 +1,27 @@
return { return {
{ -- Highlight, edit, and navigate code
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
branch = "main",
build = ":TSUpdate", build = ":TSUpdate",
opts = { config = function()
ensure_installed = { require("nvim-treesitter").setup({})
"c++", require("nvim-treesitter").install({
"cpp",
"matlab", "matlab",
"regex", "regex",
"octave",
"yaml", "yaml",
"python", "python",
"latex", "latex",
"typst", "typst",
"zsh",
"markdown_inline", "markdown_inline",
"typst",
"comment", "comment",
"bash", "bash",
"c", "c",
"html", "html",
"lua", "lua",
"markdown", "markdown",
"nix",
"vim", "vim",
"vimdoc", "vimdoc",
}, })
auto_install = true, end,
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
-- Some languages depend on vim's regex highlighting system (such as Ruby) for indent rules.
-- If you are experiencing weird indenting issues, add the language to
-- the list of additional_vim_regex_highlighting and disabled languages for indent.
additional_vim_regex_highlighting = { "ruby", "markdown" },
},
indent = { enable = true, disable = { "ruby, markdown" } },
},
},
} }

View file

@ -1,14 +0,0 @@
return {
{
"B1gum/Tungsten",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope.nvim", -- Optional
"folke/which-key.nvim", -- Optional
},
build = "./scripts/install_python_deps.sh", -- This automates the packaging!
opts = {
backend = "python",
},
},
}

View file

@ -10,6 +10,7 @@ return {
vim.g.vimtex_format_enabled = 1 vim.g.vimtex_format_enabled = 1
vim.g.vimtex_imaps_enabled = 0 vim.g.vimtex_imaps_enabled = 0
vim.g.vimtex_complete_enabled = 0 vim.g.vimtex_complete_enabled = 0
vim.g.vimtex_syntax_enabled = 0
vim.g.vimtex_compiler_latexmk = { vim.g.vimtex_compiler_latexmk = {
aux_dir = vim.fn.expand("~/.aux-tex/"), aux_dir = vim.fn.expand("~/.aux-tex/"),
} }

View file

@ -1,6 +1,4 @@
-- (~/.config/nvim/lua/neoconf/lazy_init.lua) -- (~/.config/nvim/lua/neoconf/lazy_init.lua)
-- lazy is the package manager used for this nvim config
--
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then if not (vim.uv or vim.loop).fs_stat(lazypath) then
vim.fn.system({ vim.fn.system({
@ -8,14 +6,20 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then
"clone", "clone",
"--filter=blob:none", "--filter=blob:none",
"https://github.com/folke/lazy.nvim.git", "https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release "--branch=stable",
lazypath, lazypath,
}) })
end end
vim.opt.rtp:prepend(lazypath) vim.opt.rtp:prepend(lazypath)
-- leaders AVANT lazy.setup (exigé par LazyVim)
vim.g.mapleader = " "
vim.g.maplocalleader = ","
require("lazy").setup({ require("lazy").setup({
spec = "neoconf.lazy", spec = {
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
{ import = "neoconf.lazy" },
},
change_detection = { notify = false }, change_detection = { notify = false },
}) })

View file

@ -1,15 +1,3 @@
vim.lsp.config("lua_ls", {
settings = {
Lua = {
diagnostics = { globals = { "vim" } },
workspace = { library = vim.api.nvim_get_runtime_file("", true) },
},
},
})
-- Enable servers (mason-lspconfig handles this automatically for installed ones)
-- vim.lsp.enable("lua_ls")
-- diagnostic -- diagnostic
vim.diagnostic.config({ vim.diagnostic.config({
virtual_text = { virtual_text = {

View file

@ -1,11 +1,4 @@
-- treesitter -- treesitter
vim.api.nvim_create_autocmd("FileType", {
pattern = { "<filetype>" },
callback = function()
vim.treesitter.start()
end,
})
vim.wo[0][0].foldexpr = "v:lua.vim.treesitter.foldexpr()" vim.wo[0][0].foldexpr = "v:lua.vim.treesitter.foldexpr()"
vim.wo[0][0].foldmethod = "expr" vim.wo[0][0].foldmethod = "expr"

View file

@ -63,3 +63,13 @@ vim.api.nvim_create_user_command("OctaveRun", function()
vim.cmd("write") vim.cmd("write")
vim.cmd('!octave -qf "%:p"') vim.cmd('!octave -qf "%:p"')
end, {}) end, {})
-- set vimtex main to current file
local function vimtex_set_main()
vim.b.vimtex_main = vim.fn.expand("%:p")
vim.b.vimtex = nil
vim.fn["vimtex#init"]()
print("VimTeX main → " .. vim.b.vimtex_main)
end
vim.keymap.set("n", "<leader>lm", vimtex_set_main, { desc = "VimTeX: set main to current file" })

View file

@ -41,5 +41,6 @@ vim.o.confirm = true
-- spell checking -- spell checking
vim.opt.spell = true vim.opt.spell = true
vim.opt.spelllang = "fr" vim.opt.spelllang = "fr"
-- theme -- wrap
vim.cmd("colorscheme tokyonight-night") vim.o.wrap = true
vim.o.linebreak = true

71
flake.lock generated
View file

@ -170,28 +170,6 @@
"type": "github" "type": "github"
} }
}, },
"gitignore": {
"inputs": {
"nixpkgs": [
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gnome-shell": { "gnome-shell": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -216,11 +194,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1783222121, "lastModified": 1783388784,
"narHash": "sha256-E/ElL373TO8lQ2aMvYyzN+k4xkVaUGoRqoa8AtM71tI=", "narHash": "sha256-w+YU5vatysjLZIg1wOKSzo/RL9Z66eBQuIjVnBM/1Zg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "a1645f40777620c4bd2b6d854b290c2fc354a266", "rev": "63d02d1c19f1c2b47a5bc7e55c620b6af7b218a6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -304,11 +282,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1783198893, "lastModified": 1783354131,
"narHash": "sha256-UgdXpHgsg700hROak8RspFTfa/PDClxfyCEKs12nhxU=", "narHash": "sha256-u/55nD/fpx7RXpm+wGLs+JXN4/anmouGIh0oj6F8N4M=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "7a5214614b2f5bec4dbe1d0bddbc128c79cd2dfb", "rev": "7046c0ff531661288ba5d672546144d6191d0f71",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -553,11 +531,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1782562157, "lastModified": 1783370751,
"narHash": "sha256-a7+T6QSeowynwZ1ZJJbP8T8ntAytvrui8kFGJmIZt2c=", "narHash": "sha256-E+3MIMvKuo9k+K+qLQ9YXzsBzkgHuyVLnsEbN2DFfuc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "a9cf7546a938c737b079e738de73934a13de9784", "rev": "662bd6e312d2c8b212e32cb377abaee190749320",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -568,11 +546,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1782467914, "lastModified": 1783224372,
"narHash": "sha256-pGvFkM8N0xEkIIXDe5YYfbEAvHrk4IxBrjB/x8OomhE=", "narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e73de5be04e0eff4190a1432b946d469c794e7b4", "rev": "d407951447dcd00442e97087bf374aad70c04cea",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -639,18 +617,17 @@
"pre-commit-hooks": { "pre-commit-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [ "nixpkgs": [
"hyprland", "hyprland",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1781733627, "lastModified": 1783008725,
"narHash": "sha256-U3yTuGBnmXvXoQI3qkpfEDsn9RovQPAjN7ndRco+3u0=", "narHash": "sha256-jGiy6+sxjNWXSjp25uoJuNfyH9zBK1PEDY0lVoL4ibQ=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "3bbec39bc90eadfa031e6f3b77272f3f60803e39", "rev": "bca82caa46d5ec0f5d422c61fb1e30bc51313cbe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -689,11 +666,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1783101802, "lastModified": 1783358511,
"narHash": "sha256-/Ti+wDco0f3C9s94RxyBKJyc0BklwYh0a/jFWKeHNYw=", "narHash": "sha256-/F85cBWvU8b2hpawuCog464065ZTJtdMgVPWwJ9yHjE=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "718c14e8ecba215a65ff955c187fadb9732ddd01", "rev": "14814ef555d8148ab82eba5054e654cd9eae3a1f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -824,11 +801,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1782311043, "lastModified": 1782644412,
"narHash": "sha256-07zLc2M3/ax+JsjxGTft17/Joua41LHE9/9AC/F9zeU=", "narHash": "sha256-/iSa/bL1QQFLv+uJ9gI0N87J8gOeZXvca7EjoPGKE6w=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "882ad01e195ce201b07c618bbee44a0cad8b9e5a", "rev": "c01c99fc278ec68c82e9865923088f043c7c1621",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -847,11 +824,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1783190846, "lastModified": 1783371882,
"narHash": "sha256-UcdKHKcDxLxBon0HsOjDRRA7l1vVT28R83LkCIAlYYc=", "narHash": "sha256-Z0ESbxSeHR5p3CD1LLVKttX2vaPPnjNfZbqCJlQgcF8=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "0758bc86f7a55bbe002f0cede9e1a49e5a6e34d9", "rev": "9357f05e60643b057038ff3f89c87d4a1d08cae1",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -18,14 +18,6 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager"; inputs.home-manager.follows = "home-manager";
}; };
#noctalia = {
# url = "github:noctalia-dev/noctalia/legacy-v4";
# inputs.nixpkgs.follows = "nixpkgs";
#};
#lavi = {
# url = "github:b0o/lavi";
# inputs.nixpkgs.follows = "lavi";
#};
stylix = { stylix = {
url = "github:danth/stylix"; url = "github:danth/stylix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";

View file

@ -3,14 +3,39 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
neovim-unwrapped neovim-unwrapped
# outils dont lazy.nvim / les LSP ont besoin # outils dont lazy.nvim / les LSP ont besoin
ripgrep fd gcc gnumake nodejs unzip ripgrep
lua-language-server stylua nil fd
(python3.withPackages (ps: with ps; [ pynvim ])) gcc
gnumake
nodejs
unzip
# formatters généraux
lua-language-server
stylua
nil
nixfmt-rfc-style # binaire "nixfmt" pour conform
# LSP serveurs (remplacent Mason)
marksman
pyright
# LSP que tu avais dans Mason — décommente selon besoin
clang-tools # clangd
bash-language-server # bashls
vscode-langservers-extracted # cssls, jsonls, html, eslint
typescript-language-server # ts_ls
vim-language-server # vimls
jdt-language-server # jdtls (Java)
# formatters / linters shell + python
shellcheck
shfmt
black
isort
# vimtex forward search + treesitter CLI
xdotool
tree-sitter
(python3.withPackages (ps: with ps; [ pynvim debugpy ]))
]; ];
home.sessionVariables.EDITOR = "nvim"; home.sessionVariables.EDITOR = "nvim";
home.shellAliases = { vi = "nvim"; vim = "nvim"; }; home.shellAliases = { vi = "nvim"; vim = "nvim"; };
# ~/.config/nvim -> tes dotfiles, éditables en place # ~/.config/nvim -> tes dotfiles, éditables en place
xdg.configFile."nvim".source = xdg.configFile."nvim".source =
config.lib.file.mkOutOfStoreSymlink config.lib.file.mkOutOfStoreSymlink

View file

@ -25,12 +25,14 @@
librsvg # librsvg librsvg # librsvg
# --- Maths / sciences --- # --- Maths / sciences ---
(octave.withPackages (ps: with ps; [ (octave.withPackages (
ps: with ps; [
image # octave-image image # octave-image
statistics # octave-statistics statistics # octave-statistics
symbolic # octave-symbolic symbolic # octave-symbolic
# dataframe # (octave-dataframe : indispo dans nixpkgs, à compiler via pkg si besoin) # dataframe # (octave-dataframe : indispo dans nixpkgs, à compiler via pkg si besoin)
])) ]
))
gnuplot # gnuplot gnuplot # gnuplot
# --- Fichiers / bureau --- # --- Fichiers / bureau ---
@ -40,14 +42,15 @@
brightnessctl # brightnessctl brightnessctl # brightnessctl
mako # mako (notifications légères, remplace noctalia) mako # mako (notifications légères, remplace noctalia)
cliphist # cliphist cliphist # cliphist
grim slurp # captures (grimblast côté script si besoin) grim
slurp # captures (grimblast côté script si besoin)
mullvad-vpn # GUI Mullvad (le service est côté système) mullvad-vpn # GUI Mullvad (le service est côté système)
]; ];
programs.gpg.enable = true; programs.gpg.enable = true;
services.gpg-agent = { services.gpg-agent = {
enable = true; enable = true;
pinentry.package = pkgs.pinentry-gnome3; pinentry.package = pkgs.pinentry-curses;
}; };
services.protonmail-bridge.enable = true; services.protonmail-bridge.enable = true;

View file

@ -2,8 +2,8 @@
{ {
stylix = { stylix = {
enable = true; enable = true;
polarity = "dark"; targets.gtksourceview.enable = false;
base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-dark.yaml"; base16Scheme = "${pkgs.base16-schemes}/share/themes/solarized-dark.yaml";
cursor = { cursor = {
package = pkgs.bibata-cursors; package = pkgs.bibata-cursors;
@ -25,6 +25,6 @@
terminal = 12; terminal = 12;
}; };
}; };
targets.gtksourceview.enable = false; polarity = "dark";
}; };
} }

View file

@ -18,7 +18,6 @@
pciutils pciutils
usbutils usbutils
inxi inxi
gnupg
]; ];
} }

View file

@ -3,7 +3,8 @@
stylix = { stylix = {
enable = true; enable = true;
targets.gtksourceview.enable = false; targets.gtksourceview.enable = false;
base16Scheme = "${pkgs.base16-schemes}/share/themes/solarized-dark.yaml"; base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-dark.yaml";
polarity = "dark";
cursor = { cursor = {
package = pkgs.bibata-cursors; package = pkgs.bibata-cursors;
@ -25,6 +26,5 @@
terminal = 12; terminal = 12;
}; };
}; };
polarity = "dark";
}; };
} }