English is a programming language, fight me
This commit is contained in:
parent
eac22be095
commit
55756e4ae7
139
flake.lock
139
flake.lock
|
@ -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"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
|
@ -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
23
hm/dev/prose.nix
Normal 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -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 [
|
||||||
|
|
||||||
|
|
|
@ -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; }; }
|
||||||
|
|
||||||
|
|
|
@ -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?
|
||||||
|
|
|
@ -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 :/
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue