nvim: add neovide
parent
67271f3ab9
commit
e2d4143c2a
|
@ -137,12 +137,13 @@ in
|
||||||
# Emacs
|
# Emacs
|
||||||
windowrulev2 = opaque, class:^emacs$
|
windowrulev2 = opaque, class:^emacs$
|
||||||
|
|
||||||
|
|
||||||
# Fullscreen Applications
|
# Fullscreen Applications
|
||||||
# ${mkRules ["opaque" "noblur" "noborder" "noshadow" "forceinput"] ["fullscreen:1"]}
|
${mkRules ["opaque" "noblur" "noborder" "noshadow" "forceinput"] ["fullscreen:1"]}
|
||||||
|
|
||||||
${mkRules ["opaque" "noblur" "noshadow"] ["class:^jetbrains-pycharm$"]}
|
${mkRules ["opaque" "noblur" "noshadow"] ["class:^jetbrains-pycharm$"]}
|
||||||
|
|
||||||
|
${mkRules ["tile" "opaque"] ["class:^neovide$"]}
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
$mainMod = SUPER
|
$mainMod = SUPER
|
||||||
$windowMod = ALT
|
$windowMod = ALT
|
||||||
|
|
|
@ -19,66 +19,76 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.moritz.programs.neovim = {
|
home-manager.users.moritz = {
|
||||||
enable = true;
|
home.packages = with pkgs; [
|
||||||
package = pkgs.neovim-nightly;
|
(
|
||||||
vimAlias = true;
|
if config.my.programs.hyprland.enable
|
||||||
vimdiffAlias = true;
|
then neovide-hyprland
|
||||||
withNodeJs = true;
|
else neovide
|
||||||
withPython3 = true;
|
)
|
||||||
extraLuaConfig = builtins.readFile ./init.lua;
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
alejandra
|
|
||||||
black
|
|
||||||
isort
|
|
||||||
nil
|
|
||||||
nixpkgs-fmt
|
|
||||||
rustfmt
|
|
||||||
shfmt
|
|
||||||
stylua
|
|
||||||
sumneko-lua-language-server
|
|
||||||
taplo
|
|
||||||
yamlfmt
|
|
||||||
];
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
|
||||||
catppuccin-nvim
|
|
||||||
cmp-nvim-lsp
|
|
||||||
cmp_luasnip
|
|
||||||
comment-nvim
|
|
||||||
copilot-cmp
|
|
||||||
copilot-lua
|
|
||||||
dashboard-nvim
|
|
||||||
formatter-nvim
|
|
||||||
gitsigns-nvim
|
|
||||||
lsp_lines-nvim
|
|
||||||
lspkind-nvim
|
|
||||||
lspsaga-nvim-original
|
|
||||||
lualine-lsp-progress
|
|
||||||
lualine-nvim
|
|
||||||
luasnip
|
|
||||||
neogit
|
|
||||||
noice-nvim
|
|
||||||
nui-nvim # for noice-nvim
|
|
||||||
nvim-autopairs
|
|
||||||
nvim-cmp
|
|
||||||
nvim-lastplace
|
|
||||||
nvim-lspconfig
|
|
||||||
nvim-surround
|
|
||||||
nvim-tree-lua
|
|
||||||
nvim-treesitter-textsubjects
|
|
||||||
nvim-treesitter.withAllGrammars
|
|
||||||
nvim-ts-context-commentstring
|
|
||||||
nvim-web-devicons # for dashboard-nvim
|
|
||||||
orgmode
|
|
||||||
plenary-nvim # for telescope, neogit
|
|
||||||
popup-nvim
|
|
||||||
smartcolumn-nvim
|
|
||||||
telescope-fzf-native-nvim
|
|
||||||
telescope-nvim
|
|
||||||
telescope-zoxide
|
|
||||||
vim-lion
|
|
||||||
which-key-nvim
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.neovim-nightly;
|
||||||
|
vimAlias = true;
|
||||||
|
vimdiffAlias = true;
|
||||||
|
withNodeJs = true;
|
||||||
|
withPython3 = true;
|
||||||
|
extraLuaConfig = builtins.readFile ./init.lua;
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
alejandra
|
||||||
|
black
|
||||||
|
isort
|
||||||
|
nil
|
||||||
|
nixpkgs-fmt
|
||||||
|
rustfmt
|
||||||
|
shfmt
|
||||||
|
stylua
|
||||||
|
sumneko-lua-language-server
|
||||||
|
taplo
|
||||||
|
yamlfmt
|
||||||
|
];
|
||||||
|
plugins = with pkgs.vimPlugins; [
|
||||||
|
catppuccin-nvim
|
||||||
|
cmp-nvim-lsp
|
||||||
|
cmp_luasnip
|
||||||
|
comment-nvim
|
||||||
|
copilot-cmp
|
||||||
|
copilot-lua
|
||||||
|
dashboard-nvim
|
||||||
|
formatter-nvim
|
||||||
|
gitsigns-nvim
|
||||||
|
lsp_lines-nvim
|
||||||
|
lspkind-nvim
|
||||||
|
lspsaga-nvim-original
|
||||||
|
lualine-lsp-progress
|
||||||
|
lualine-nvim
|
||||||
|
luasnip
|
||||||
|
neogit
|
||||||
|
noice-nvim
|
||||||
|
nui-nvim # for noice-nvim
|
||||||
|
nvim-autopairs
|
||||||
|
nvim-cmp
|
||||||
|
nvim-lastplace
|
||||||
|
nvim-lspconfig
|
||||||
|
nvim-surround
|
||||||
|
nvim-tree-lua
|
||||||
|
nvim-treesitter-textsubjects
|
||||||
|
nvim-treesitter.withAllGrammars
|
||||||
|
nvim-ts-context-commentstring
|
||||||
|
nvim-web-devicons # for dashboard-nvim
|
||||||
|
orgmode
|
||||||
|
plenary-nvim # for telescope, neogit
|
||||||
|
popup-nvim
|
||||||
|
smartcolumn-nvim
|
||||||
|
telescope-fzf-native-nvim
|
||||||
|
telescope-nvim
|
||||||
|
telescope-zoxide
|
||||||
|
vim-lion
|
||||||
|
which-key-nvim
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,6 @@ vim.opt.backupdir = { vim.fn.stdpath("state") .. "/nvim/backup//" } -- don't sto
|
||||||
vim.opt.clipboard = "unnamedplus" -- sync with system clipboard
|
vim.opt.clipboard = "unnamedplus" -- sync with system clipboard
|
||||||
vim.opt.conceallevel = 2
|
vim.opt.conceallevel = 2
|
||||||
vim.opt.expandtab = true -- spaces instead of tabs
|
vim.opt.expandtab = true -- spaces instead of tabs
|
||||||
vim.opt.guifont = "Fira Code Nerd Font:h1"
|
|
||||||
vim.opt.ignorecase = true
|
vim.opt.ignorecase = true
|
||||||
vim.opt.mouse = "a" -- mouse for all modes
|
vim.opt.mouse = "a" -- mouse for all modes
|
||||||
vim.opt.number = true
|
vim.opt.number = true
|
||||||
|
@ -33,6 +32,11 @@ vim.opt.updatetime = 300
|
||||||
vim.opt_local.spell = true
|
vim.opt_local.spell = true
|
||||||
vim.opt_local.spelllang = { "en", "de_20" } -- all English regions and new German spelling
|
vim.opt_local.spelllang = { "en", "de_20" } -- all English regions and new German spelling
|
||||||
|
|
||||||
|
if vim.g.neovide then
|
||||||
|
vim.opt.guifont = "Fira Code Nerd Font:h10"
|
||||||
|
vim.g.neovide_scale_factor = 0.7
|
||||||
|
end
|
||||||
|
|
||||||
require("catppuccin").setup({
|
require("catppuccin").setup({
|
||||||
compile_path = vim.fn.stdpath("cache") .. "/catppuccin", -- fix issue of writing to nix store
|
compile_path = vim.fn.stdpath("cache") .. "/catppuccin", -- fix issue of writing to nix store
|
||||||
integrations = {
|
integrations = {
|
||||||
|
|
|
@ -56,6 +56,19 @@ in
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
neovide-hyprland = final.symlinkJoin {
|
||||||
|
name = "neovide-hyprland-${final.neovide.version}";
|
||||||
|
paths = [ final.neovide ];
|
||||||
|
nativeBuildInputs = [ final.makeWrapper ];
|
||||||
|
postBuild = ''
|
||||||
|
rm $out/bin/neovide
|
||||||
|
makeWrapper ${final.neovide}/bin/neovide $out/bin/neovide --set WINIT_UNIX_BACKEND x11
|
||||||
|
'';
|
||||||
|
meta = final.neovide.meta // {
|
||||||
|
mainProgram = "neovide";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
master = import inputs.master {
|
master = import inputs.master {
|
||||||
inherit (prev) system;
|
inherit (prev) system;
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
|
|
Loading…
Reference in New Issue