[feat] Added some neovim plugins and removed mozilla folder

This commit is contained in:
Uttarayan Mondal
2024-03-03 04:14:14 +05:30
parent b85a7c2970
commit 567fe38ac0
9 changed files with 144 additions and 147 deletions

View File

@@ -3,14 +3,13 @@ let
start-tmux = (import ../scripts/start-tmux.nix) pkgs; start-tmux = (import ../scripts/start-tmux.nix) pkgs;
# https://mipmip.github.io/home-manager-option-search/ # https://mipmip.github.io/home-manager-option-search/
lazy = false; lazy = false;
in in {
{
imports = [ imports = [
# Include the results of the hardware scan. # Include the results of the hardware scan.
./tmux.nix ./tmux.nix
./wezterm.nix ./wezterm.nix
] ++ (if device.isLinux then [ ../linux ] else [ ]) ] ++ (if device.isLinux then [ ../linux ] else [ ])
++ (if !lazy then [ ./nvim ] else [ ]); ++ (if !lazy then [ ./nvim ] else [ ]);
home.packages = with pkgs; home.packages = with pkgs;
[ [
@@ -113,6 +112,10 @@ in
ls = "exa"; ls = "exa";
t = "${start-tmux}"; t = "${start-tmux}";
}; };
shellAliases = {
g = "git";
};
shellInit = '' shellInit = ''
set fish_greeting set fish_greeting
''; '';
@@ -141,19 +144,17 @@ in
enable = true; enable = true;
enableFishIntegration = true; enableFishIntegration = true;
enableNushellIntegration = true; enableNushellIntegration = true;
settings = settings = let flavour = "mocha"; # Replace with your preferred palette
let flavour = "mocha"; # Replace with your preferred palette in {
in { # Other config here
# Other config here format = "$all"; # Remove this line to disable the default prompt format
format = "$all"; # Remove this line to disable the default prompt format palette = "catppuccin_${flavour}";
palette = "catppuccin_${flavour}"; } // builtins.fromTOML (builtins.readFile (pkgs.fetchFromGitHub {
} // builtins.fromTOML (builtins.readFile (pkgs.fetchFromGitHub owner = "catppuccin";
{ repo = "starship";
owner = "catppuccin"; rev = "main"; # Replace with the latest commit hash
repo = "starship"; sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0";
rev = "main"; # Replace with the latest commit hash } + /palettes/${flavour}.toml));
sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0";
} + /palettes/${flavour}.toml));
}; };
eza = { eza = {
enable = true; enable = true;
@@ -181,17 +182,16 @@ in
enable = true; enable = true;
config = { theme = "catppuccin"; }; config = { theme = "catppuccin"; };
themes = { themes = {
catppuccin = catppuccin = let flavor = "mocha";
let flavor = "mocha"; in {
in { src = pkgs.fetchFromGitHub {
src = pkgs.fetchFromGitHub { owner = "catppuccin";
owner = "catppuccin"; repo = "bat";
repo = "bat"; rev = "main";
rev = "main"; sha256 = "sha256-6WVKQErGdaqb++oaXnY3i6/GuH2FhTgK0v4TN4Y0Wbw";
sha256 = "sha256-6WVKQErGdaqb++oaXnY3i6/GuH2FhTgK0v4TN4Y0Wbw";
};
file = "Catppuccin-${flavor}.tmTheme";
}; };
file = "Catppuccin-${flavor}.tmTheme";
};
}; };
}; };
@@ -204,11 +204,10 @@ in
# Home Manager needs a bit of information about you and the paths it should # Home Manager needs a bit of information about you and the paths it should
# manage. # manage.
username = device.user; username = device.user;
homeDirectory = homeDirectory = if device.isMac then
if device.isMac then lib.mkForce "/Users/${device.user}"
lib.mkForce "/Users/${device.user}" else
else lib.mkForce "/home/${device.user}";
lib.mkForce "/home/${device.user}";
stateVersion = "23.11"; stateVersion = "23.11";

View File

@@ -69,6 +69,8 @@
commentary.enable = true; commentary.enable = true;
surround.enable = true; surround.enable = true;
which-key.enable = true; which-key.enable = true;
ufo.enable = true;
fugitive.enable = true;
treesitter = { treesitter = {
enable = true; enable = true;
@@ -80,6 +82,7 @@
ai.enable = true; ai.enable = true;
pairs.enable = true; pairs.enable = true;
cursorword.enable = true; cursorword.enable = true;
starter.enable = true;
}; };
}; };
@@ -95,6 +98,8 @@
"<leader>gg" = "require'telescope.builtin'.live_grep"; "<leader>gg" = "require'telescope.builtin'.live_grep";
"<leader>;" = "require'telescope.builtin'.buffers"; "<leader>;" = "require'telescope.builtin'.buffers";
"<leader>o" = "[[<cmd>TroubleToggle<cr>]]"; "<leader>o" = "[[<cmd>TroubleToggle<cr>]]";
"<leader>ee" = "[[<Plug>RestNvim]]";
"<leader>ec" = "[[<Plug>RestNvimPreview]]";
"<leader>\\\"" = ''[["+]]''; "<leader>\\\"" = ''[["+]]'';
"<leader><leader>" = "'<c-^>'"; "<leader><leader>" = "'<c-^>'";
"vff" = "'<cmd>vertical Gdiffsplit<cr>'"; "vff" = "'<cmd>vertical Gdiffsplit<cr>'";
@@ -109,37 +114,41 @@
}; };
}; };
extraPlugins = extraPlugins = with pkgs.vimPlugins; [
[ comfortable-motion
pkgs.vimPlugins.comfortable-motion vim-abolish
pkgs.vimPlugins.vim-abolish telescope-nvim
pkgs.vimPlugins.telescope-nvim telescope-ui-select-nvim
pkgs.vimPlugins.telescope-ui-select-nvim telescope-fzf-native-nvim
pkgs.vimPlugins.telescope-fzf-native-nvim telescope-file-browser-nvim
pkgs.vimPlugins.telescope-file-browser-nvim telescope-dap-nvim
pkgs.vimPlugins.telescope-dap-nvim rustaceanvim
pkgs.vimPlugins.rustaceanvim
# lsp stuff # lsp stuff
pkgs.vimPlugins.nvim-cmp nvim-cmp
pkgs.vimPlugins.cmp-buffer cmp-buffer
pkgs.vimPlugins.cmp-path cmp-path
pkgs.vimPlugins.cmp-cmdline cmp-cmdline
pkgs.vimPlugins.cmp-nvim-lsp cmp-nvim-lsp
pkgs.vimPlugins.cmp-nvim-lua cmp-nvim-lua
pkgs.vimPlugins.cmp_luasnip cmp_luasnip
pkgs.vimPlugins.luasnip cmp-tmux
pkgs.vimPlugins.fidget-nvim cmp-treesitter
pkgs.vimPlugins.copilot-lua luasnip
pkgs.vimPlugins.lsp-zero-nvim fidget-nvim
pkgs.vimPlugins.trouble-nvim copilot-lua
pkgs.vimPlugins.nvim-web-devicons lsp-zero-nvim
trouble-nvim
crates-nvim
pkgs.vimPlugins.rest-nvim # No more postman
rest-nvim
pkgs.vimPlugins.noice-nvim # UI
noice-nvim
nvim-web-devicons
]; ];
extraConfigLua = builtins.readFile ./extraConfig.lua; extraConfigLua = builtins.readFile ./extraConfig.lua;
package = pkgs.neovim-nightly; package = pkgs.neovim-nightly;
}; };

View File

@@ -71,8 +71,10 @@ cmp.setup({
{ name = 'buffer' }, { name = 'buffer' },
{ name = 'nvim_lsp' }, { name = 'nvim_lsp' },
{ name = 'luasnip' }, { name = 'luasnip' },
{ name = 'treesitter' },
{ name = 'path' }, { name = 'path' },
{ name = 'git' }, { name = 'git' },
{ name = 'tmux' }
}), }),
mapping = cmp.mapping.preset.insert({ mapping = cmp.mapping.preset.insert({
['<CR>'] = cmp.mapping.confirm(), ['<CR>'] = cmp.mapping.confirm(),
@@ -111,6 +113,7 @@ cmp.setup.filetype('gitcommit', {
{ name = 'buffer' }, { name = 'buffer' },
}) })
}) })
require('crates').setup()
require("noice").setup({ require("noice").setup({
lsp = { lsp = {
@@ -123,10 +126,10 @@ require("noice").setup({
}, },
-- you can enable a preset for easier configuration -- you can enable a preset for easier configuration
presets = { presets = {
bottom_search = true, -- use a classic bottom cmdline for search bottom_search = true, -- use a classic bottom cmdline for search
command_palette = true, -- position the cmdline and popupmenu together command_palette = true, -- position the cmdline and popupmenu together
long_message_to_split = true, -- long messages will be sent to a split long_message_to_split = true, -- long messages will be sent to a split
inc_rename = false, -- enables an input dialog for inc-rename.nvim inc_rename = false, -- enables an input dialog for inc-rename.nvim
lsp_doc_border = false, -- add a border to hover docs and signature help lsp_doc_border = true, -- add a border to hover docs and signature help
}, },
}) })

View File

@@ -1,15 +1,5 @@
{ pkgs, ... }: { pkgs, ... }:
let let
tmux-super-fingers = pkgs.tmuxPlugins.mkTmuxPlugin {
pluginName = "tmux-super-fingers";
version = "v1-2024-02-14";
src = pkgs.fetchFromGitHub {
owner = "artemave";
repo = "tmux_super_fingers";
rev = "518044ef78efa1cf3c64f2e693fef569ae570ddd";
sha256 = "sha256-iKfx9Ytk2vSuINvQTB6Kww8Vv7i51cFEnEBHLje+IJw=";
};
};
scratchpad = pkgs.writeShellScript "scratchpad" '' scratchpad = pkgs.writeShellScript "scratchpad" ''
width=''${2:-95%} width=''${2:-95%}
height=''${2:-95%} height=''${2:-95%}
@@ -19,8 +9,7 @@ let
tmux popup -d '#{pane_current_path}' -xC -yC -w$width -h$height -E "tmux attach -t scratch || tmux new -s scratch" tmux popup -d '#{pane_current_path}' -xC -yC -w$width -h$height -E "tmux attach -t scratch || tmux new -s scratch"
fi fi
''; '';
in in {
{
programs.tmux = { programs.tmux = {
enable = true; enable = true;
shell = "${pkgs.nushellFull}/bin/nu"; shell = "${pkgs.nushellFull}/bin/nu";
@@ -30,8 +19,9 @@ in
keyMode = "vi"; keyMode = "vi";
plugins = with pkgs; [ plugins = with pkgs; [
tmuxPlugins.better-mouse-mode tmuxPlugins.better-mouse-mode
tmuxPlugins.tmux-fzf
{ {
plugin = tmux-super-fingers; plugin = tmuxPlugins.tmux-super-fingers;
extraConfig = "set -g @super-fingers-key o"; extraConfig = "set -g @super-fingers-key o";
} }
{ {

View File

@@ -1,29 +1,27 @@
{ devices, inputs, overlays, home-manager, nix-darwin, ... }: { devices, inputs, overlays, home-manager, nix-darwin, ... }:
builtins.listToAttrs (builtins.map builtins.listToAttrs (builtins.map (device: {
(device: { name = device.name;
name = device.name; value = nix-darwin.lib.darwinSystem {
value = nix-darwin.lib.darwinSystem { system = device.system;
system = device.system; modules = [
modules = [ {
{ nixpkgs.overlays = overlays;
nixpkgs.overlays = overlays; # nixpkgs.hostPlatform.config = device.system;
# nixpkgs.hostPlatform.config = device.system; }
} ./configuration.nix
./configuration.nix home-manager.darwinModules.home-manager
home-manager.darwinModules.home-manager {
{ nixpkgs.config.allowUnfree = true;
nixpkgs.config.allowUnfree = true; home-manager = {
home-manager = { useGlobalPkgs = true;
useGlobalPkgs = true; useUserPackages = true;
useUserPackages = true; extraSpecialArgs = {
extraSpecialArgs = { inherit inputs;
inherit inputs; inherit device;
inherit device;
};
users.${device.user}.imports = [ ../common/home.nix ];
}; };
} users.${device.user}.imports = [ ../common/home.nix ];
]; };
}; }
}) ];
devices) };
}) devices)

View File

@@ -78,16 +78,8 @@
}; };
outputs = outputs = { nixpkgs, home-manager, nix-darwin, flake-utils, anyrun, nur
{ nixpkgs , neovim-nightly-overlay, ... }@inputs:
, home-manager
, nix-darwin
, flake-utils
, anyrun
, nur
, neovim-nightly-overlay
, ...
}@inputs:
let let
config_devices = [ config_devices = [
{ {
@@ -144,48 +136,58 @@
}; };
vimPlugins = final: prev: { vimPlugins = final: prev: {
vimPlugins = vimPlugins = prev.vimPlugins // {
prev.vimPlugins comfortable-motion = final.pkgs.vimUtils.buildVimPlugin {
// name = "comfortable-motion";
{ src = final.pkgs.fetchFromGitHub {
comfortable-motion = final.pkgs.vimUtils.buildVimPlugin { owner = "yuttie";
name = "comfortable-motion"; repo = "comfortable-motion.vim";
src = final.pkgs.fetchFromGitHub { rev = "master";
owner = "yuttie"; sha256 = "sha256-S1LJXmShhpCJIg/FEPx3jFbmPpS/1U4MAQN2RY/nkI0";
repo = "comfortable-motion.vim";
rev = "master";
sha256 = "sha256-S1LJXmShhpCJIg/FEPx3jFbmPpS/1U4MAQN2RY/nkI0";
};
}; };
}; };
};
};
tmuxPlugins = final: prev: {
tmuxPlugins = prev.tmuxPlugins // {
tmux-super-fingers = final.pkgs.tmuxPlugins.mkTmuxPlugin {
pluginName = "tmux-super-fingers";
version = "v1-2024-02-14";
src = final.pkgs.fetchFromGitHub {
owner = "artemave";
repo = "tmux_super_fingers";
rev = "518044ef78efa1cf3c64f2e693fef569ae570ddd";
sha256 = "sha256-iKfx9Ytk2vSuINvQTB6Kww8Vv7i51cFEnEBHLje+IJw=";
};
};
};
}; };
overlays = [ overlays = [
vimPlugins
tmuxPlugins
inputs.neovim-nightly-overlay.overlay inputs.neovim-nightly-overlay.overlay
anyrun-overlay anyrun-overlay
vimPlugins
inputs.nixneovim.overlays.default inputs.nixneovim.overlays.default
inputs.nixneovimplugins.overlays.default inputs.nixneovimplugins.overlays.default
nur.overlay nur.overlay
]; ];
in in {
{ nixosConfigurations = let devices = nixos_devices;
nixosConfigurations = in import ./nixos/device.nix {
let devices = nixos_devices; inherit devices inputs nixpkgs home-manager overlays nur;
in import ./nixos/device.nix { };
inherit devices inputs nixpkgs home-manager overlays nur;
};
darwinConfigurations = darwinConfigurations = let devices = darwin_devices;
let devices = darwin_devices; in import ./darwin/device.nix {
in import ./darwin/device.nix { inherit devices inputs nixpkgs home-manager overlays nix-darwin;
inherit devices inputs nixpkgs home-manager overlays nix-darwin; };
};
homeConfigurations = homeConfigurations = let devices = linux_devices;
let devices = linux_devices; in import ./linux/device.nix {
in import ./linux/device.nix { inherit devices inputs nixpkgs home-manager overlays;
inherit devices inputs nixpkgs home-manager overlays; };
};
}; };
} }

View File

@@ -98,8 +98,7 @@
fish fish
nushellFull nushellFull
(pkgs.wrapFirefox (pkgs.wrapFirefox
(pkgs.firefox-unwrapped.override { pipewireSupport = true; }) (pkgs.firefox-unwrapped.override { pipewireSupport = true; }) { })
{ })
gnumake gnumake
python3 python3
(nerdfonts.override { fonts = [ "FiraCode" "Hasklig" ]; }) (nerdfonts.override { fonts = [ "FiraCode" "Hasklig" ]; })

View File

@@ -1,2 +0,0 @@
@import url(firefox-csshacks/chrome/tabs_on_bottom.css);
@import url(firefox-csshacks/chrome/toolbars_below_content.css);