Compare commits

...

3 Commits

Author SHA1 Message Date
Moritz Böhme 8f6650bbd1
overlays: improve mkVersion
Add dash to mkVersionInput
Add mkVersionSrc for normal src.
2023-03-02 09:15:09 +01:00
Moritz Böhme 05631f016d
nvim: add json formatter 2023-03-02 09:14:27 +01:00
Moritz Böhme e2d4143c2a
nvim: add neovide 2023-03-02 09:13:46 +01:00
4 changed files with 96 additions and 67 deletions

View File

@ -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

View File

@ -19,66 +19,77 @@ 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
jq
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
];
};
}; };
}; };
} }

View File

@ -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 = {
@ -189,11 +193,10 @@ require("formatter").setup({
log_level = vim.log.levels.WARN, log_level = vim.log.levels.WARN,
-- All formatter configurations are opt-in -- All formatter configurations are opt-in
filetype = { filetype = {
-- Formatter configurations for filetype "lua" go here json = {
-- and will be executed in order require("formatter.filetypes.json").jq,
},
lua = { lua = {
-- "formatter.filetypes.lua" defines default configurations for the
-- "lua" filetype
require("formatter.filetypes.lua").stylua, require("formatter.filetypes.lua").stylua,
}, },
nix = { nix = {

View File

@ -5,7 +5,8 @@ let
(builtins.substring 4 2 longDate) (builtins.substring 4 2 longDate)
(builtins.substring 6 2 longDate) (builtins.substring 6 2 longDate)
]); ]);
mkVersionInput = input: "unstable" + mkDate (input.lastModifiedDate or "19700101") + "_" + (input.shortRev or "dirty"); mkVersionSrc = src: "unstable-" + builtins.substring 0 7 src.rev;
mkVersionInput = input: "unstable-" + mkDate (input.lastModifiedDate or "19700101") + "_" + (input.shortRev or "dirty");
in in
{ {
agenix = inputs.agenix.packages.${prev.system}.default; agenix = inputs.agenix.packages.${prev.system}.default;
@ -56,6 +57,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;