English is a programming language, fight me

This commit is contained in:
Geoffrey Frogeye 2024-01-19 22:50:01 +01:00
parent eac22be095
commit 55756e4ae7
Signed by: geoffrey
GPG key ID: C72403E7F82E6AD8
9 changed files with 165 additions and 62 deletions

View file

@ -311,6 +311,56 @@
"type": "github" "type": "github"
} }
}, },
"nix-formatter-pack": {
"inputs": {
"nixpkgs": [
"nix-on-droid",
"nixpkgs"
],
"nmd": "nmd",
"nmt": "nmt"
},
"locked": {
"lastModified": 1666720474,
"narHash": "sha256-iWojjDS1D19zpeZXbBdjWb9MiKmVVFQCqtJmtTXgPx8=",
"owner": "Gerschtli",
"repo": "nix-formatter-pack",
"rev": "14876cc8fe94a3d329964ecb073b4c988c7b61f5",
"type": "github"
},
"original": {
"owner": "Gerschtli",
"repo": "nix-formatter-pack",
"type": "github"
}
},
"nix-on-droid": {
"inputs": {
"home-manager": [
"home-manager"
],
"nix-formatter-pack": "nix-formatter-pack",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap",
"nmd": "nmd_2"
},
"locked": {
"lastModified": 1688144254,
"narHash": "sha256-8KL1l/7eP2Zm1aJjdVaSOk0W5kTnJo9kcgW03gqWuiI=",
"owner": "nix-community",
"repo": "nix-on-droid",
"rev": "2301e01d48c90b60751005317de7a84a51a87eb6",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-23.05",
"repo": "nix-on-droid",
"type": "github"
}
},
"nixgl": { "nixgl": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
@ -361,6 +411,22 @@
"type": "indirect" "type": "indirect"
} }
}, },
"nixpkgs-for-bootstrap": {
"locked": {
"lastModified": 1686921029,
"narHash": "sha256-J1bX9plPCFhTSh6E3TWn9XSxggBh/zDD4xigyaIQBy8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c7ff1b9b95620ce8728c0d7bd501c458e6da9e04",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c7ff1b9b95620ce8728c0d7bd501c458e6da9e04",
"type": "github"
}
},
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1685801374, "lastModified": 1685801374,
@ -386,17 +452,78 @@
"pre-commit-hooks": "pre-commit-hooks" "pre-commit-hooks": "pre-commit-hooks"
}, },
"locked": { "locked": {
"dirtyRev": "c96d7b46d05a78e695ed1c725d1596b65509b4f9-dirty",
"dirtyShortRev": "c96d7b46-dirty",
"lastModified": 1702044539, "lastModified": 1702044539,
"narHash": "sha256-TNmEd6MipLxsrWromxqNfU4y17MoBr15QF7iEOagPy8=", "narHash": "sha256-YAWtzc+5KDOHDGz/NBB7ysIusXbYYKtsbDOsRhSWKYk=",
"type": "git",
"url": "file:/home/geoffrey/nixvim"
},
"original": {
"type": "git",
"url": "file:/home/geoffrey/nixvim"
}
},
"nmd": {
"flake": false,
"locked": {
"lastModified": 1666190571,
"narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=",
"owner": "rycee",
"repo": "nmd",
"rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169",
"type": "gitlab"
},
"original": {
"owner": "rycee",
"repo": "nmd",
"type": "gitlab"
}
},
"nmd_2": {
"flake": false,
"locked": {
"lastModified": 1666190571,
"narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=",
"owner": "rycee",
"repo": "nmd",
"rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169",
"type": "gitlab"
},
"original": {
"owner": "rycee",
"repo": "nmd",
"type": "gitlab"
}
},
"nmt": {
"flake": false,
"locked": {
"lastModified": 1648075362,
"narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=",
"owner": "rycee",
"repo": "nmt",
"rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae",
"type": "gitlab"
},
"original": {
"owner": "rycee",
"repo": "nmt",
"type": "gitlab"
}
},
"nur": {
"locked": {
"lastModified": 1705693547,
"narHash": "sha256-/6rVfbj1oaycjvYJeZRqL+ApzNL2FNf6pmfWuk+9Bhs=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "NUR",
"rev": "c96d7b46d05a78e695ed1c725d1596b65509b4f9", "rev": "868aa9b52241ad7c8cb89cdd207f8d0149ebf95b",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "NUR",
"rev": "c96d7b46d05a78e695ed1c725d1596b65509b4f9",
"type": "github" "type": "github"
} }
}, },
@ -429,10 +556,12 @@
"inputs": { "inputs": {
"disko": "disko", "disko": "disko",
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-on-droid": "nix-on-droid",
"nixgl": "nixgl", "nixgl": "nixgl",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixvim": "nixvim", "nixvim": "nixvim",
"nur": "nur",
"stylix": "stylix" "stylix": "stylix"
} }
}, },

View file

@ -25,8 +25,9 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixvim = { nixvim = {
url = "github:nix-community/nixvim/c96d7b46d05a78e695ed1c725d1596b65509b4f9"; url = "github:GeoffreyFrogeye/nixvim/frogeye-23.11";
# 24.05 Anything after this commit works # 24.05 Ensure merged: https://github.com/nix-community/nixvim/pull/953
# url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixgl = { nixgl = {

View file

@ -4,6 +4,7 @@
./common.nix ./common.nix
./go.nix ./go.nix
./node.nix ./node.nix
./prose.nix
./python.nix ./python.nix
]; ];
} }

23
hm/dev/prose.nix Normal file
View file

@ -0,0 +1,23 @@
# Prose is a programming language, fight me
{ pkgs, lib, config, ... }:
{
config = lib.mkIf config.frogeye.dev.prose {
home = {
packages = with pkgs; [
hunspell
hunspellDicts.en_GB-ize
hunspellDicts.en_US
hunspellDicts.fr-moderne
hunspellDicts.nl_NL
# TODO libreoffice-extension-languagetool or libreoffice-extension-grammalecte-fr
];
};
programs.nixvim.plugins.none-ls = {
enable = true;
sources = {
code_actions.ltrs.enable = true;
diagnostics.ltrs.enable = true;
};
};
};
}

View file

@ -34,12 +34,6 @@
# TODO Convert existing LaTeX documents into using Nix build system # TODO Convert existing LaTeX documents into using Nix build system
# texlive is big and not that much used, sooo # texlive is big and not that much used, sooo
pdftk pdftk
hunspell
hunspellDicts.en_GB-ize
hunspellDicts.en_US
hunspellDicts.fr-moderne
hunspellDicts.nl_NL
# TODO libreoffice-extension-languagetool or libreoffice-extension-grammalecte-fr
] ++ lib.optionals config.frogeye.desktop.xorg [ ] ++ lib.optionals config.frogeye.desktop.xorg [

View file

@ -91,8 +91,6 @@
# Language-specific # Language-specific
tcomment_vim # Language-aware (un)commenting tcomment_vim # Language-aware (un)commenting
] ++ lib.optionals config.frogeye.extra [
vim-LanguageTool # Check grammar for human languages
] ++ lib.optionals config.programs.pandoc.enable [ ] ++ lib.optionals config.programs.pandoc.enable [
vim-pandoc # Pandoc-specific stuff because there's no LSP for it vim-pandoc # Pandoc-specific stuff because there's no LSP for it
vim-pandoc-syntax vim-pandoc-syntax
@ -100,7 +98,6 @@
ansible-vim ansible-vim
# Doesn't generate snippets, but those are for UltiSnip anyways # Doesn't generate snippets, but those are for UltiSnip anyways
]; ];
extraConfigLua = builtins.readFile ./symbols-outline-nvim.lua;
extraConfigVim = '' extraConfigVim = ''
" GENERAL " GENERAL
@ -110,11 +107,6 @@
command Reload source $MYVIMRC command Reload source $MYVIMRC
" PLUGINS " PLUGINS
'' + lib.optionalString config.frogeye.extra ''
" languagetool
let g:languagetool_cmd = "${pkgs.languagetool}/bin/languagetool-commandline"
" TODO Doesn't work
'' + lib.optionalString config.programs.pandoc.enable '' '' + lib.optionalString config.programs.pandoc.enable ''
" vim-pandox " vim-pandox
let g:pandoc#modules#disabled = ["folding"] let g:pandoc#modules#disabled = ["folding"]
@ -153,9 +145,6 @@
# PLUGINS # PLUGINS
# symbols-outline-nvim
{ key = "<Space>s"; action = "<Cmd>SymbolsOutline<CR>"; options = { silent = true; }; }
# undotree # undotree
{ key = "<Space>u"; action = "<Cmd>UndotreeToggle<CR>"; options = { silent = true; }; } { key = "<Space>u"; action = "<Cmd>UndotreeToggle<CR>"; options = { silent = true; }; }

View file

@ -12,25 +12,6 @@
lsp_signature-nvim # Show argument definition when typing a function lsp_signature-nvim # Show argument definition when typing a function
]; ];
keymaps = [ keymaps = [
# barbar
{ key = "<C-H>"; action = "<Cmd>BufferPrevious<CR>"; options = { silent = true; }; }
{ key = "<C-L>"; action = "<Cmd>BufferNext<CR>"; options = { silent = true; }; }
# TODO https://www.reddit.com/r/neovim/comments/mbj8m5/how_to_setup_ctrlshiftkey_mappings_in_neovim_and/
{ key = "<Space><C-H>"; action = "<Cmd>BufferMovePrevious<CR>"; options = { silent = true; }; }
{ key = "<Space><C-L>"; action = "<Cmd>BufferMoveNext<CR>"; options = { silent = true; }; }
# TODO gotos don't work
{ key = "<C-1>"; action = "<Cmd>BufferGoto 1<CR>"; options = { silent = true; }; }
{ key = "<C-2>"; action = "<Cmd>BufferGoto 2<CR>"; options = { silent = true; }; }
{ key = "<C-3>"; action = "<Cmd>BufferGoto 3<CR>"; options = { silent = true; }; }
{ key = "<C-4>"; action = "<Cmd>BufferGoto 4<CR>"; options = { silent = true; }; }
{ key = "<C-5>"; action = "<Cmd>BufferGoto 5<CR>"; options = { silent = true; }; }
{ key = "<C-6>"; action = "<Cmd>BufferGoto 6<CR>"; options = { silent = true; }; }
{ key = "<C-7>"; action = "<Cmd>BufferGoto 7<CR>"; options = { silent = true; }; }
{ key = "<C-8>"; action = "<Cmd>BufferGoto 8<CR>"; options = { silent = true; }; }
{ key = "<C-9>"; action = "<Cmd>BufferGoto 9<CR>"; options = { silent = true; }; }
{ key = "<C-0>"; action = "<Cmd>BufferLast<CR>"; options = { silent = true; }; }
{ key = "gb"; action = "<Cmd>BufferPick<CR>"; options = { silent = true; }; }
# TODO Other useful options?
]; ];
plugins = { plugins = {
# Language Server # Language Server
@ -44,6 +25,7 @@
"]e" = "goto_next"; "]e" = "goto_next";
}; };
lspBuf = { lspBuf = {
# TODO Include the Telescope ones in this file
"gD" = "declaration"; "gD" = "declaration";
"K" = "hover"; "K" = "hover";
"gi" = "implementation"; "gi" = "implementation";
@ -55,6 +37,7 @@
# Also makes nvim crash like this, so uncommented # Also makes nvim crash like this, so uncommented
"<space>D" = "type_definition"; "<space>D" = "type_definition";
"<space>rn" = "rename"; "<space>rn" = "rename";
"<space>ca" = "code_action";
"<space>f" = "format"; "<space>f" = "format";
# TODO Full thing was function() vim.lsp.buf.format { async = true } end, so async while this isn't # TODO Full thing was function() vim.lsp.buf.format { async = true } end, so async while this isn't
# Maybe replace this with lsp-format? # Maybe replace this with lsp-format?

View file

@ -1,19 +0,0 @@
vim.g.symbols_outline = {
highlight_hovered_item = true,
show_guides = true,
auto_preview = true,
position = 'right',
show_numbers = false,
show_relative_numbers = false,
show_symbol_details = true,
keymaps = {
close = "<Esc>",
goto_location = "<Cr>",
focus_location = "o",
hover_symbol = "<C-space>",
rename_symbol = "r",
code_actions = "a",
},
lsp_blacklist = {},
}
-- TODO Should be hierarchical, doesn't seem to be :/

View file

@ -40,6 +40,7 @@
node = lib.mkEnableOption "NodeJS dev stuff"; node = lib.mkEnableOption "NodeJS dev stuff";
perl = lib.mkEnableOption "Perl dev stuff"; perl = lib.mkEnableOption "Perl dev stuff";
php = lib.mkEnableOption "PHP dev stuff"; php = lib.mkEnableOption "PHP dev stuff";
prose = lib.mkEnableOption "Writing stuff";
python = lib.mkEnableOption "Python dev stuff"; python = lib.mkEnableOption "Python dev stuff";
}; };
}; };
@ -47,6 +48,7 @@
config = { config = {
frogeye = { frogeye = {
dev = { dev = {
prose = lib.mkDefault true;
python = lib.mkDefault true; python = lib.mkDefault true;
}; };
}; };