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
### 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)
### 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))
-- launchers
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 + N", hl.dsp.exec_cmd("kitty -e nvim"))
hl.bind("ALT + W", hl.dsp.exec_cmd(app_launcher))

View file

@ -1,13 +1,20 @@
hl.monitor({
output = monitorA,
mode = "1920x1080@120.00200",
mode = "preferred",
position = "0x0",
scale = "1",
})
hl.monitor({
output = monitorB,
mode = "1920x1080@60",
position = "1920x0",
mode = "preferred",
position = "auto",
scale = "1",
})
hl.monitor({
output = "",
mode = "preferred",
position = "auto",
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("systemctl --user start hyprpolkitagent")
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("hyprsunset")
-- hl.exec_cmd("xsettingsd")
-- hl.exec_cmd("nwg-look -a")
hl.exec_cmd("protonmail-bridge --noninteractive")
-- hl.exec_cmd("protonmail-bridge")
end)

View file

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

View file

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

View file

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

View file

@ -1,11 +1,6 @@
wallpaper {
monitor = eDP-1
path = /home/afoucaultc/Pictures/Wallpapers/wallpaper.jpg
monitor =
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
}
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
[Window0Column0]
Notebook0Dialogs=ObjectProperties;FillStroke;Export;AlignDistribute;Text;Objects;
Notebook0Dialogs=ObjectProperties;FillStroke;Export;AlignDistribute;Text;
Notebook0Height=921
Notebook0ActiveTab=1
ColumnWidth=540
Notebook0ActiveTab=2
ColumnWidth=633
NotebookCount=1
BeforeCanvas=false
@ -28,8 +28,10 @@ state6=
dialogs6=FilterGallery;
state7=
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
dialogs8=Preferences;
state9=
dialogs9=XMLEditor;
count=9
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=Objects;
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=Preferences;
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
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:
type: executable
emplacement: chemin
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:
type: executable
emplacement: chemin

View file

@ -643,6 +643,9 @@
<group
id="batchexportarea"
value="layer" />
<group
id="defaultdpi"
value="25.3999996185303" />
</group>
<group
id="save_as"
@ -1106,7 +1109,7 @@
org.inkscape.input.svg.scale="auto" />
<group
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
width="1912"
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" },
"NeoSolarized.nvim": { "branch": "master", "commit": "3c55ad358c062aa4879950c4f83b4deeac6b72df" },
"Tungsten": { "branch": "main", "commit": "329053bffc28762f2ca29b76405a9687b1747ff7" },
"alpha-nvim": { "branch": "main", "commit": "6c6a89d5b068b5251c8bdf0dd57bb921bcfeeb09" },
"baleia.nvim": { "branch": "main", "commit": "710537ff5cd669c5a76c5f5b6a9169fd9b913d18" },
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"catppuccin": { "branch": "main", "commit": "05e8787020dcfdb937bf2ff23855ea2415b4e072" },
"conform.nvim": { "branch": "master", "commit": "619363c30309d29ffa631e67c8183f2a72caa373" },
"csvview.nvim": { "branch": "main", "commit": "5c22774c3ecc7f8883af5d143b366e45b1f0875d" },
"debugpy.nvim": { "branch": "master", "commit": "490a0d7bfa23af8c6096bb3fbd867770b7d4a28b" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
"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" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
"lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" },
"lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" },
"markview.nvim": { "branch": "main", "commit": "301e431c7b618235f5447d54465c70934bd33668" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "21c5b3ebeaa0412e28096bb0701434c51c1fbf76" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "443f1ef8b5e6bf47045cb2217b6f748a223cf7dc" },
"markview.nvim": { "branch": "main", "commit": "092c0872fd2437b3b862d253910981142d2465aa" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "47059d71b42d74b0a1e9f61c1d99d301039c3b5b" },
"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" },
"neogit": { "branch": "master", "commit": "43ea1a0854052e583f647e0b35879f0158a70a78" },
"neogit": { "branch": "master", "commit": "6fc2fa890bd2031ed999c074daab0fb4feff20a5" },
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"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-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" },
"persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" },
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
"snacks.nvim": { "branch": "main", "commit": "882c996cf28183f4d63640de0b4c02ec886d01f2" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "b25b749b9db64d375d782094e2b9dce53ad53a40" },
"telescope.nvim": { "branch": "master", "commit": "427b576c16792edad01a92b89721d923c19ad60f" },
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
"ultisnips": { "branch": "master", "commit": "403da03d9169b53738be8ebc93cd73caff195bda" },
"vimtex": { "branch": "master", "commit": "63745fa542346e0f09a496d440645ef6ff75b62c" },
"tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" },
"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" }
}

View file

@ -40,3 +40,17 @@ vim.api.nvim_create_autocmd("FileType", {
vim.b.vimtex_syntax_enabled = 0
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 {
"OXY2DEV/markview.nvim",
lazy = false,
preview = {
icon_provider = "internal",
},
opts = {
preview = {
icon_provider = "internal",
},
modes = { "n", "i" },
latex = {
enable = true,

View file

@ -1,34 +1,5 @@
return {
{
"mason-org/mason-lspconfig.nvim",
opts = {
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",
},
},
},
{ "mason-org/mason.nvim", enabled = false },
{ "mason-org/mason-lspconfig.nvim", enabled = false },
{ "WhoIsSethDaniel/mason-tool-installer.nvim", enabled = false },
}

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 {
-- Configure le style de tokyonight
{
"folke/tokyonight.nvim",
lazy = false,
priority = 1000,
opts = {},
opts = {
style = "night", -- "night" (dark), "storm", "moon", "day"
},
},
-- Dit à LazyVim d'utiliser ce colorscheme
{
"LazyVim/LazyVim",
opts = {
colorscheme = "tokyonight-night",
},
},
}

View file

@ -1,39 +1,27 @@
return {
{ -- Highlight, edit, and navigate code
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
opts = {
ensure_installed = {
"c++",
"matlab",
"regex",
"octave",
"yaml",
"python",
"latex",
"typst",
"zsh",
"markdown_inline",
"typst",
"comment",
"bash",
"c",
"html",
"lua",
"markdown",
"vim",
"vimdoc",
},
auto_install = true,
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" } },
},
},
"nvim-treesitter/nvim-treesitter",
branch = "main",
build = ":TSUpdate",
config = function()
require("nvim-treesitter").setup({})
require("nvim-treesitter").install({
"cpp",
"matlab",
"regex",
"yaml",
"python",
"latex",
"typst",
"markdown_inline",
"comment",
"bash",
"c",
"html",
"lua",
"markdown",
"nix",
"vim",
"vimdoc",
})
end,
}

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_imaps_enabled = 0
vim.g.vimtex_complete_enabled = 0
vim.g.vimtex_syntax_enabled = 0
vim.g.vimtex_compiler_latexmk = {
aux_dir = vim.fn.expand("~/.aux-tex/"),
}

View file

@ -1,6 +1,4 @@
-- (~/.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"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
vim.fn.system({
@ -8,14 +6,20 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
"--branch=stable",
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
-- leaders AVANT lazy.setup (exigé par LazyVim)
vim.g.mapleader = " "
vim.g.maplocalleader = ","
require("lazy").setup({
spec = "neoconf.lazy",
spec = {
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
{ import = "neoconf.lazy" },
},
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
vim.diagnostic.config({
virtual_text = {

View file

@ -1,11 +1,4 @@
-- 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].foldmethod = "expr"

View file

@ -63,3 +63,13 @@ vim.api.nvim_create_user_command("OctaveRun", function()
vim.cmd("write")
vim.cmd('!octave -qf "%:p"')
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
vim.opt.spell = true
vim.opt.spelllang = "fr"
-- theme
vim.cmd("colorscheme tokyonight-night")
-- wrap
vim.o.wrap = true
vim.o.linebreak = true

71
flake.lock generated
View file

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

View file

@ -18,15 +18,7 @@
inputs.nixpkgs.follows = "nixpkgs";
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";
inputs.nixpkgs.follows = "nixpkgs";
};

View file

@ -1,6 +1,6 @@
{ pkgs, inputs, ... }:
{
programs.btop = {
enable = true;
};
programs.btop = {
enable = true;
};
}

View file

@ -1,8 +1,8 @@
{ pkgs, inputs, ... }:
{
programs.firefox = {
enable = true;
profiles.default = { };
};
stylix.targets.firefox.profileNames = [ "default" ];
programs.firefox = {
enable = true;
profiles.default = { };
};
stylix.targets.firefox.profileNames = [ "default" ];
}

View file

@ -1,10 +1,10 @@
{ pkgs, inputs, ... }:
{
programs.git = {
enable = true;
settings.user.name = "afoucaultc";
settings.user.email = "antoine.fo.ca@proton.me";
#userName = "afoucaultc";
#userEmail = "antoine.fo.ca@proton.me";
};
programs.git = {
enable = true;
settings.user.name = "afoucaultc";
settings.user.email = "antoine.fo.ca@proton.me";
#userName = "afoucaultc";
#userEmail = "antoine.fo.ca@proton.me";
};
}

View file

@ -3,14 +3,39 @@
home.packages = with pkgs; [
neovim-unwrapped
# outils dont lazy.nvim / les LSP ont besoin
ripgrep fd gcc gnumake nodejs unzip
lua-language-server stylua nil
(python3.withPackages (ps: with ps; [ pynvim ]))
ripgrep
fd
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.shellAliases = { vi = "nvim"; vim = "nvim"; };
# ~/.config/nvim -> tes dotfiles, éditables en place
xdg.configFile."nvim".source =
config.lib.file.mkOutOfStoreSymlink

View file

@ -4,7 +4,7 @@
# --- Others
hyfetch
fastfetch
pkg-config
pkg-config
# --- Bureautique ---
libreoffice-fresh

View file

@ -1,54 +1,57 @@
{ config, pkgs, ... }:
{
home.packages = with pkgs; [
# --- Infos système / divers ---
hyfetch # hyfetch
fastfetch # fastfetch
pkg-config
home.packages = with pkgs; [
# --- Infos système / divers ---
hyfetch # hyfetch
fastfetch # fastfetch
pkg-config
# --- Bureautique ---
libreoffice-fresh # libreoffice-fresh
zotero # zotero (AUR)
pandoc # pandoc-cli
# --- Bureautique ---
libreoffice-fresh # libreoffice-fresh
zotero # zotero (AUR)
pandoc # pandoc-cli
# --- Communication / mail ---
# thunderbird # thunderbird
signal-desktop # signal-desktop
mattermost-desktop # mattermost-desktop
protonmail-bridge # protonmail-bridge (CLI/bridge)
# --- Communication / mail ---
# thunderbird # thunderbird
signal-desktop # signal-desktop
mattermost-desktop # mattermost-desktop
protonmail-bridge # protonmail-bridge (CLI/bridge)
# --- Multimédia (léger) ---
gimp # gimp
inkscape # inkscape
nomacs # nomacs (AUR) — visionneuse d'images légère
imagemagick # imagemagick
librsvg # librsvg
# --- Multimédia (léger) ---
gimp # gimp
inkscape # inkscape
nomacs # nomacs (AUR) — visionneuse d'images légère
imagemagick # imagemagick
librsvg # librsvg
# --- Maths / sciences ---
(octave.withPackages (ps: with ps; [
image # octave-image
statistics # octave-statistics
symbolic # octave-symbolic
# dataframe # (octave-dataframe : indispo dans nixpkgs, à compiler via pkg si besoin)
]))
gnuplot # gnuplot
# --- Maths / sciences ---
(octave.withPackages (
ps: with ps; [
image # octave-image
statistics # octave-statistics
symbolic # octave-symbolic
# dataframe # (octave-dataframe : indispo dans nixpkgs, à compiler via pkg si besoin)
]
))
gnuplot # gnuplot
# --- Fichiers / bureau ---
nautilus # nautilus (gestionnaire léger)
nwg-look # nwg-look
papirus-icon-theme # papirus-icon-theme
brightnessctl # brightnessctl
mako # mako (notifications légères, remplace noctalia)
cliphist # cliphist
grim slurp # captures (grimblast côté script si besoin)
mullvad-vpn # GUI Mullvad (le service est côté système)
];
programs.gpg.enable = true;
# --- Fichiers / bureau ---
nautilus # nautilus (gestionnaire léger)
nwg-look # nwg-look
papirus-icon-theme # papirus-icon-theme
brightnessctl # brightnessctl
mako # mako (notifications légères, remplace noctalia)
cliphist # cliphist
grim
slurp # captures (grimblast côté script si besoin)
mullvad-vpn # GUI Mullvad (le service est côté système)
];
programs.gpg.enable = true;
services.gpg-agent = {
enable = true;
pinentry.package = pkgs.pinentry-gnome3;
};
services.gpg-agent = {
enable = true;
pinentry.package = pkgs.pinentry-curses;
};
services.protonmail-bridge.enable = true;
services.protonmail-bridge.enable = true;
}

View file

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

View file

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

View file

@ -3,7 +3,8 @@
stylix = {
enable = true;
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 = {
package = pkgs.bibata-cursors;
@ -25,6 +26,5 @@
terminal = 12;
};
};
polarity = "dark";
};
}