refactor: clean up a bit
parent
bee307ae9c
commit
a5a784b2d5
|
@ -4,8 +4,8 @@
|
||||||
, ...
|
, ...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
let
|
||||||
|
inherit (lib) mkEnableOption mkIf mkDefault;
|
||||||
cfg = config.my.profiles.desktop;
|
cfg = config.my.profiles.desktop;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -101,10 +101,6 @@ in
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
|
||||||
"electron-25.9.0" # obsidian
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.nix-ld.enable = true;
|
programs.nix-ld.enable = true;
|
||||||
|
|
||||||
home-manager.users.moritz = {
|
home-manager.users.moritz = {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{ config, lib, pkgs, inputs, ... }:
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
let
|
||||||
cfg = config.my.programs.nvim;
|
cfg = config.my.programs.nvim;
|
||||||
|
inherit (lib) mkEnableOption mkIf readFile;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = lib.my.listModulesRec ./plugins;
|
imports = lib.my.listModulesRec ./plugins;
|
||||||
|
|
|
@ -1,26 +1,28 @@
|
||||||
{ pkgs, lib, inputs, ... }:
|
{ pkgs, lib, inputs, ... }:
|
||||||
|
|
||||||
with builtins;
|
let
|
||||||
|
inherit (builtins) readFile;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
config.home-manager.users.moritz.programs.neovim.lazy.plugins = with pkgs.vimPlugins; [
|
config.home-manager.users.moritz.programs.neovim.lazy.plugins = [
|
||||||
{
|
{
|
||||||
plugin = oil-nvim;
|
plugin = pkgs.vimPlugins.oil-nvim;
|
||||||
lazy = false;
|
lazy = false;
|
||||||
opts = { };
|
opts = { };
|
||||||
dependencies = [{ plugin = nvim-web-devicons; }];
|
dependencies = [{ plugin = pkgs.vimPlugins.nvim-web-devicons; }];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
plugin = lualine-nvim;
|
plugin = pkgs.vimPlugins.lualine-nvim;
|
||||||
opts = { };
|
opts = { };
|
||||||
dependencies = [{ plugin = nvim-web-devicons; }];
|
dependencies = [{ plugin = pkgs.vimPlugins.nvim-web-devicons; }];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
plugin = mini-nvim;
|
plugin = pkgs.vimPlugins.mini-nvim;
|
||||||
lazy = false;
|
lazy = false;
|
||||||
conf = readFile ./lua/mini-nvim.lua;
|
conf = readFile ./lua/mini-nvim.lua;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
plugin = nvim-cmp;
|
plugin = pkgs.vimPlugins.nvim-cmp;
|
||||||
keys = [
|
keys = [
|
||||||
{ key = "<leader>tc"; cmd = "<cmd>CmpToggle<cr>"; desc = "Toggle Cmp sources"; }
|
{ key = "<leader>tc"; cmd = "<cmd>CmpToggle<cr>"; desc = "Toggle Cmp sources"; }
|
||||||
];
|
];
|
||||||
|
@ -28,26 +30,43 @@ with builtins;
|
||||||
event = [ "InsertEnter" ];
|
event = [ "InsertEnter" ];
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{
|
{
|
||||||
plugin = nvim-autopairs;
|
plugin = pkgs.vimPlugins.nvim-autopairs;
|
||||||
opts = { };
|
opts = { };
|
||||||
}
|
}
|
||||||
{ plugin = cmp-async-path; }
|
{ plugin = pkgs.vimPlugins.cmp-async-path; }
|
||||||
{ plugin = cmp-buffer; }
|
{ plugin = pkgs.vimPlugins.cmp-buffer; }
|
||||||
{ plugin = cmp-cmdline; }
|
{ plugin = pkgs.vimPlugins.cmp-cmdline; }
|
||||||
{ plugin = cmp-nvim-lsp; }
|
{ plugin = pkgs.vimPlugins.cmp-nvim-lsp; }
|
||||||
{ plugin = cmp_luasnip; }
|
{ plugin = pkgs.vimPlugins.cmp_luasnip; }
|
||||||
{ plugin = cmp-spell; }
|
{ plugin = pkgs.vimPlugins.cmp-spell; }
|
||||||
{ plugin = cmp-nvim-lsp-signature-help; }
|
{ plugin = pkgs.vimPlugins.cmp-nvim-lsp-signature-help; }
|
||||||
{ plugin = friendly-snippets; }
|
|
||||||
{ plugin = lspkind-nvim; }
|
|
||||||
{
|
{
|
||||||
plugin = luasnip;
|
plugin = pkgs.vimPlugins.copilot-cmp;
|
||||||
|
opts = { };
|
||||||
|
dependencies = [
|
||||||
|
{
|
||||||
|
plugin = pkgs.vimPlugins.copilot-lua;
|
||||||
|
opts = {
|
||||||
|
suggestion = { enabled = false; };
|
||||||
|
panel = { enabled = false; };
|
||||||
|
};
|
||||||
|
conf = /* lua */ ''
|
||||||
|
require("copilot").setup(opts)
|
||||||
|
vim.cmd("Copilot disable")
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{ plugin = pkgs.vimPlugins.friendly-snippets; }
|
||||||
|
{ plugin = pkgs.vimPlugins.lspkind-nvim; }
|
||||||
|
{
|
||||||
|
plugin = pkgs.vimPlugins.luasnip;
|
||||||
conf = readFile ./lua/luasnip.lua;
|
conf = readFile ./lua/luasnip.lua;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
plugin = direnv-vim;
|
plugin = pkgs.vimPlugins.direnv-vim;
|
||||||
lazy = false;
|
lazy = false;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -60,25 +79,26 @@ with builtins;
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{
|
{
|
||||||
# TODO: add all required tools to neovim or silence warnings
|
# TODO: add all required tools to neovim or silence warnings
|
||||||
plugin = pkgs.vimPlugins.null-ls-nvim.overrideAttrs (_: {
|
plugin = pkgs.vimPlugins.none-ls-nvim;
|
||||||
version = lib.my.mkVersionInput inputs.none-ls-nvim;
|
|
||||||
src = inputs.none-ls-nvim;
|
|
||||||
});
|
|
||||||
conf = readFile ./lua/null-ls-nvim.lua;
|
conf = readFile ./lua/null-ls-nvim.lua;
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ plugin = which-key-nvim; }
|
{
|
||||||
{ plugin = plenary-nvim; }
|
plugin = pkgs.vimUtils.buildVimPlugin {
|
||||||
|
pname = "none-ls-shellcheck.nvim";
|
||||||
|
version = lib.my.mkVersionInput inputs.none-ls-shellcheck-nvim;
|
||||||
|
src = inputs.none-ls-shellcheck-nvim;
|
||||||
|
};
|
||||||
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
{ plugin = which-key-nvim; }
|
{ plugin = pkgs.vimPlugins.lsp_lines-nvim; }
|
||||||
{ plugin = lsp_lines-nvim; }
|
|
||||||
{
|
{
|
||||||
plugin = inc-rename-nvim;
|
plugin = pkgs.vimPlugins.inc-rename-nvim;
|
||||||
opts = {
|
opts = {
|
||||||
input_buffer_type = "dressing";
|
input_buffer_type = "dressing";
|
||||||
};
|
};
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ plugin = dressing-nvim; }
|
{ plugin = pkgs.vimPlugins.dressing-nvim; }
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -91,7 +111,7 @@ with builtins;
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
plugin = vim-fugitive;
|
plugin = pkgs.vimPlugins.vim-fugitive;
|
||||||
cmd = [
|
cmd = [
|
||||||
"G"
|
"G"
|
||||||
"Git"
|
"Git"
|
||||||
|
@ -122,11 +142,11 @@ with builtins;
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
plugin = vim-tmux-navigator;
|
plugin = pkgs.vimPlugins.vim-tmux-navigator;
|
||||||
event = [ "VeryLazy" ];
|
event = [ "VeryLazy" ];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
plugin = nvim-lastplace;
|
plugin = pkgs.vimPlugins.nvim-lastplace;
|
||||||
event = [ "BufReadPost" "BufNewFile" ];
|
event = [ "BufReadPost" "BufNewFile" ];
|
||||||
opts = {
|
opts = {
|
||||||
lastplace_ignore_buftype = [ "quickfix" "nofile" "help" ];
|
lastplace_ignore_buftype = [ "quickfix" "nofile" "help" ];
|
||||||
|
@ -135,7 +155,7 @@ with builtins;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
plugin = telescope-nvim;
|
plugin = pkgs.vimPlugins.telescope-nvim;
|
||||||
cmd = [ "Telescope" ];
|
cmd = [ "Telescope" ];
|
||||||
conf = builtins.readFile ./lua/telescope.lua;
|
conf = builtins.readFile ./lua/telescope.lua;
|
||||||
keys = [
|
keys = [
|
||||||
|
@ -159,31 +179,31 @@ with builtins;
|
||||||
{ key = "<leader>fr"; cmd = "<cmd>Telescope oldfiles<cr>"; desc = "Recent files"; }
|
{ key = "<leader>fr"; cmd = "<cmd>Telescope oldfiles<cr>"; desc = "Recent files"; }
|
||||||
];
|
];
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ plugin = plenary-nvim; }
|
{ plugin = pkgs.vimPlugins.plenary-nvim; }
|
||||||
{ plugin = telescope-fzf-native-nvim; }
|
{ plugin = pkgs.vimPlugins.telescope-fzf-native-nvim; }
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
plugin = vim-startuptime;
|
plugin = pkgs.vimPlugins.vim-startuptime;
|
||||||
cmd = [ "StartupTime" ];
|
cmd = [ "StartupTime" ];
|
||||||
conf = readFile ./lua/vim-startuptime.lua;
|
conf = readFile ./lua/vim-startuptime.lua;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
plugin = typst-vim;
|
plugin = pkgs.vimPlugins.typst-vim;
|
||||||
ft = [ "typst" "typ" ];
|
ft = [ "typst" "typ" ];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
plugin = comment-nvim;
|
plugin = pkgs.vimPlugins.comment-nvim;
|
||||||
event = [ "BufReadPost" "BufNewFile" ];
|
event = [ "BufReadPost" "BufNewFile" ];
|
||||||
opts = { };
|
opts = { };
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
plugin = nvim-surround;
|
plugin = pkgs.vimPlugins.nvim-surround;
|
||||||
event = [ "BufReadPost" "BufNewFile" ];
|
event = [ "BufReadPost" "BufNewFile" ];
|
||||||
opts = { };
|
opts = { };
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
plugin = conform-nvim;
|
plugin = pkgs.vimPlugins.conform-nvim;
|
||||||
keys = [
|
keys = [
|
||||||
{ key = "="; cmd = "<cmd>lua require('conform').format()<cr>"; desc = "format buffer"; mode = [ "n" "v" ]; }
|
{ key = "="; cmd = "<cmd>lua require('conform').format()<cr>"; desc = "format buffer"; mode = [ "n" "v" ]; }
|
||||||
];
|
];
|
||||||
|
|
|
@ -4,8 +4,10 @@
|
||||||
, ...
|
, ...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
let
|
||||||
|
inherit (lib) range filterAttrs attrNames foldl' head tail mkOption mkEnableOption intersectLists genAttrs flip getAttr;
|
||||||
|
inherit (lib.types) listOf enum package;
|
||||||
|
|
||||||
cfg = config.my.programs.python;
|
cfg = config.my.programs.python;
|
||||||
|
|
||||||
pythonVersions = map (version: "3${toString version}") (range 8 11);
|
pythonVersions = map (version: "3${toString version}") (range 8 11);
|
||||||
|
@ -23,7 +25,7 @@ let
|
||||||
enable = mkEnableOption (toString version);
|
enable = mkEnableOption (toString version);
|
||||||
pythonPackages = mkOption {
|
pythonPackages = mkOption {
|
||||||
default = [ ];
|
default = [ ];
|
||||||
type = with types; listOf (enum (pythonPackages version));
|
type = listOf (enum (pythonPackages version));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
@ -32,11 +34,11 @@ in
|
||||||
versions = genAttrs pythonVersions versionOpts;
|
versions = genAttrs pythonVersions versionOpts;
|
||||||
defaultPackages = mkOption {
|
defaultPackages = mkOption {
|
||||||
default = [ ];
|
default = [ ];
|
||||||
type = with types; listOf (enum commonPackages);
|
type = listOf (enum commonPackages);
|
||||||
};
|
};
|
||||||
extraPackages = mkOption {
|
extraPackages = mkOption {
|
||||||
default = [ ];
|
default = [ ];
|
||||||
type = with types; listOf package;
|
type = listOf package;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue