mirror of
https://git.adityakumar.xyz/nix-conf.git
synced 2024-11-09 23:49:43 +00:00
use home-manager as nixos module; add nixvim
This commit is contained in:
parent
8fa991fce6
commit
5d26a88ea6
8 changed files with 1033 additions and 62 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,2 +1 @@
|
||||||
hosts.nix
|
hosts.nix
|
||||||
hardware-configuration.nix
|
|
||||||
|
|
|
@ -3,12 +3,13 @@
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
# flake-overlays:
|
# flake-overlays:
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, lib, inputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ # Include the results of the hardware scan.
|
[ # Include the results of the hardware scan.
|
||||||
/etc/nixos/hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
inputs.home-manager.nixosModules.default
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enable Bluetooth
|
# Enable Bluetooth
|
||||||
|
@ -33,7 +34,7 @@
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
boot.loader.efi.efiSysMountPoint = "/boot";
|
||||||
boot.supportedFilesystems = [ "ntfs" ];
|
boot.supportedFilesystems = [ "ntfs" ];
|
||||||
|
|
||||||
# Kernel modules
|
# Kernel modules
|
||||||
|
@ -45,17 +46,19 @@
|
||||||
boot.kernelParams = [ "allow-discards" ];
|
boot.kernelParams = [ "allow-discards" ];
|
||||||
|
|
||||||
# Setup keyfile
|
# Setup keyfile
|
||||||
boot.initrd.secrets = {
|
# boot.initrd.secrets = {
|
||||||
"/crypto_keyfile.bin" = null;
|
# "/crypto_keyfile.bin" = null;
|
||||||
};
|
# };
|
||||||
|
|
||||||
|
fileSystems."/".options = [ "noatime" "nodiratime" "discard" ];
|
||||||
# Enable swap on luks
|
# Enable swap on luks
|
||||||
boot.initrd.luks.devices."luks-c0ef1093-a74e-4491-8c73-0009d3377c19".device = "/dev/disk/by-uuid/c0ef1093-a74e-4491-8c73-0009d3377c19";
|
boot.initrd.luks.devices."luks-3b571a97-616b-4dd7-9abb-d1e0491d178a".device = "/dev/disk/by-uuid/3b571a97-616b-4dd7-9abb-d1e0491d178a";
|
||||||
boot.initrd.luks.devices."luks-c0ef1093-a74e-4491-8c73-0009d3377c19".keyFile = "/crypto_keyfile.bin";
|
# boot.initrd.luks.devices."luks-c0ef1093-a74e-4491-8c73-0009d3377c19".keyFile = "/crypto_keyfile.bin";
|
||||||
boot.initrd.luks.devices."luks-c0ef1093-a74e-4491-8c73-0009d3377c19".allowDiscards = true;
|
boot.initrd.luks.devices."luks-3b571a97-616b-4dd7-9abb-d1e0491d178a".allowDiscards = true;
|
||||||
|
|
||||||
# Allow discard on /
|
# Allow discard on /
|
||||||
boot.initrd.luks.devices."luks-8c3d3196-26a2-4c79-8e1e-11160951ba8c".allowDiscards = true;
|
boot.initrd.luks.devices."a09877ce-f520-429a-9f3b-57b073e4d662".device = "/dev/disk/by-uuid/a09877ce-f520-429a-9f3b-57b073e4d662";
|
||||||
|
boot.initrd.luks.devices."a09877ce-f520-429a-9f3b-57b073e4d662".allowDiscards = true;
|
||||||
|
|
||||||
networking.hostName = "bridge"; # Define your hostname.
|
networking.hostName = "bridge"; # Define your hostname.
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
@ -176,6 +179,14 @@ networking = {
|
||||||
dnsmasq
|
dnsmasq
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
extraSpecialArgs = { inherit inputs; };
|
||||||
|
users = {
|
||||||
|
"user" = import ./home.nix;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
homeBinInPath = true; # Include ~/bin/ in $PATH
|
homeBinInPath = true; # Include ~/bin/ in $PATH
|
||||||
localBinInPath = true; # Include ~/.local/bin in $PATH
|
localBinInPath = true; # Include ~/.local/bin in $PATH
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
||||||
|
|
||||||
outputs = { self, nixpkgs }: {
|
|
||||||
nixosConfigurations.bridge = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
modules = [ ./configuration.nix ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
251
flake.lock
Normal file
251
flake.lock
Normal file
|
@ -0,0 +1,251 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-compat": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"revCount": 57,
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat_2": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1706830856,
|
||||||
|
"narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1701680307,
|
||||||
|
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gitignore": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"pre-commit-hooks",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1703887061,
|
||||||
|
"narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1708031129,
|
||||||
|
"narHash": "sha256-EH20hJfNnc1/ODdDVat9B7aKm0B95L3YtkIRwKLvQG8=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "3d6791b3897b526c82920a2ab5f61d71985b3cf8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1707919853,
|
||||||
|
"narHash": "sha256-qxmBGDzutuJ/tsX4gp+Mr7fjxOZBbeT9ixhS5o4iFOw=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "043ba285c6dc20f36441d48525402bcb9743c498",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-darwin": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1707707289,
|
||||||
|
"narHash": "sha256-YuDt/eSTXMEHv8jS8BEZJgqCcG8Tr3cyqaZjJFXZHsw=",
|
||||||
|
"owner": "lnl7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"rev": "44f50a5ecaab72a61d5fd8e5c5717bc4bf9c25dd",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "lnl7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1707956935,
|
||||||
|
"narHash": "sha256-ZL2TrjVsiFNKOYwYQozpbvQSwvtV/3Me7Zwhmdsfyu4=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "a4d4fe8c5002202493e87ec8dbc91335ff55552c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixvim": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"home-manager": "home-manager_2",
|
||||||
|
"nix-darwin": "nix-darwin",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pre-commit-hooks": "pre-commit-hooks"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1708092675,
|
||||||
|
"narHash": "sha256-v989FEEnL74uHxb5e2BNInJFbnVO5xmO3o/sX8+JwUU=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixvim",
|
||||||
|
"rev": "ca6240ddc2f507742f52650b3ea6a74d477afe30",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixvim",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pre-commit-hooks": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat_2",
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"gitignore": "gitignore",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1707297608,
|
||||||
|
"narHash": "sha256-ADjo/5VySGlvtCW3qR+vdFF4xM9kJFlRDqcC9ZGI8EA=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "pre-commit-hooks.nix",
|
||||||
|
"rev": "0db2e67ee49910adfa13010e7f012149660af7f0",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "pre-commit-hooks.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nixvim": "nixvim"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
28
flake.nix
Normal file
28
flake.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager/master";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
nixvim = {
|
||||||
|
url = "github:nix-community/nixvim";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, ... }@inputs:
|
||||||
|
let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
nixosConfigurations.bridge = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {inherit inputs;};
|
||||||
|
modules = [
|
||||||
|
./configuration.nix
|
||||||
|
inputs.home-manager.nixosModules.default
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
46
hardware-configuration.nix
Normal file
46
hardware-configuration.nix
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "vmd" "ahci" "nvme" "usbhid" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/e45731e0-2052-4bfa-a0e8-8cc8f688ad89";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.initrd.luks.devices."luks-a09877ce-f520-429a-9f3b-57b073e4d662".device = "/dev/disk/by-uuid/a09877ce-f520-429a-9f3b-57b073e4d662";
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/5E03-9FED";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/29f26db6-b544-4744-b6d8-74ed071b2baf"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.br-07ff78b90602.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.docker0.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.veth8ab8363.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.vetha05d8b1.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.virbr0.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
87
home.nix
87
home.nix
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Home Manager needs a bit of information about you and the
|
# Home Manager needs a bit of information about you and the
|
||||||
|
@ -7,6 +7,10 @@
|
||||||
home.homeDirectory = "/home/user";
|
home.homeDirectory = "/home/user";
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
|
];
|
||||||
|
|
||||||
# This value determines the Home Manager release that your
|
# This value determines the Home Manager release that your
|
||||||
# configuration is compatible with. This helps avoid breakage
|
# configuration is compatible with. This helps avoid breakage
|
||||||
# when a new Home Manager release introduces backwards
|
# when a new Home Manager release introduces backwards
|
||||||
|
@ -108,49 +112,50 @@
|
||||||
";
|
";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.nixvim = import ./nixvim.nix pkgs;
|
||||||
|
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = false;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
coc.enable = true;
|
# coc.enable = true;
|
||||||
extraLuaConfig = ''
|
# extraLuaConfig = ''
|
||||||
for _, source in ipairs {
|
# for _, source in ipairs {
|
||||||
"astronvim.bootstrap",
|
# "astronvim.bootstrap",
|
||||||
"astronvim.options",
|
# "astronvim.options",
|
||||||
"astronvim.lazy",
|
# "astronvim.lazy",
|
||||||
"astronvim.autocmds",
|
# "astronvim.autocmds",
|
||||||
"astronvim.mappings",
|
# "astronvim.mappings",
|
||||||
} do
|
# } do
|
||||||
local status_ok, fault = pcall(require, source)
|
# local status_ok, fault = pcall(require, source)
|
||||||
if not status_ok then vim.api.nvim_err_writeln("Failed to load " .. source .. "\n\n" .. fault
|
# if not status_ok then vim.api.nvim_err_writeln("Failed to load " .. source .. "\n\n" .. fault
|
||||||
) end
|
# ) end
|
||||||
end
|
# end
|
||||||
|
#
|
||||||
if astronvim.default_colorscheme then
|
# if astronvim.default_colorscheme then
|
||||||
if not pcall(vim.cmd.colorscheme, astronvim.default_colorscheme) then
|
# if not pcall(vim.cmd.colorscheme, astronvim.default_colorscheme) then
|
||||||
requrie("astronvim.utils").notify(
|
# requrie("astronvim.utils").notify(
|
||||||
"Error setting up colorscheme: " .. astronvim.default_colorscheme,
|
# "Error setting up colorscheme: " .. astronvim.default_colorscheme,
|
||||||
vim.log.levels.ERROR
|
# vim.log.levels.ERROR
|
||||||
)
|
# )
|
||||||
end
|
# end
|
||||||
end
|
# end
|
||||||
|
#
|
||||||
require("astronvim.utils").conditional_func(astronvim.user_opts("polish", nil, false), true)
|
# require("astronvim.utils").conditional_func(astronvim.user_opts("polish", nil, false), true)
|
||||||
'';
|
# '';
|
||||||
|
#
|
||||||
plugins = (with pkgs.vimPlugins; [
|
# plugins = (with pkgs.vimPlugins; [
|
||||||
rust-vim
|
# rust-vim
|
||||||
rust-tools-nvim
|
# rust-tools-nvim
|
||||||
coc-rust-analyzer
|
# coc-rust-analyzer
|
||||||
nvim-treesitter-parsers.rust
|
# nvim-treesitter-parsers.rust
|
||||||
nvim-treesitter-parsers.cpp
|
# nvim-treesitter-parsers.cpp
|
||||||
nvim-treesitter-parsers.c
|
# nvim-treesitter-parsers.c
|
||||||
nvim-treesitter-parsers.latex
|
# nvim-treesitter-parsers.latex
|
||||||
coc-rls
|
# coc-rls
|
||||||
coc-clangd
|
# coc-clangd
|
||||||
clangd_extensions-nvim
|
# clangd_extensions-nvim
|
||||||
vim-clang-format
|
# vim-clang-format
|
||||||
]);
|
# ]);
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
|
|
641
nixvim.nix
Normal file
641
nixvim.nix
Normal file
|
@ -0,0 +1,641 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
colorschemes.gruvbox.enable = true;
|
||||||
|
options = {
|
||||||
|
number = true;
|
||||||
|
relativenumber = true;
|
||||||
|
shiftwidth = 2;
|
||||||
|
expandtab = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
globals.mapleader = " ";
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>w";
|
||||||
|
action = "<cmd>w<cr>";
|
||||||
|
options.desc = "Save";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>q";
|
||||||
|
action = "<cmd>confirm q<cr>";
|
||||||
|
options.desc = "Quit";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>Q";
|
||||||
|
action = "<cmd>qall<cr>";
|
||||||
|
options.desc = "Quit all";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>n";
|
||||||
|
action = "<cmd>enew<cr>";
|
||||||
|
options.desc = "New File";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<C-s>";
|
||||||
|
action = "<cmd>w!<cr>";
|
||||||
|
options.desc = "Force write";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<C-q>";
|
||||||
|
action = "<cmd>qa!<cr>";
|
||||||
|
options.desc = "Force quit";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "|";
|
||||||
|
action = "<cmd>vsplit<cr>";
|
||||||
|
options.desc = "Vertical Split";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "\\";
|
||||||
|
action = "<cmd>split<cr>";
|
||||||
|
options.desc = "Horizontal split";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>c";
|
||||||
|
action = "<cmd>bd<cr>";
|
||||||
|
options.desc = "Close buffer";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>[";
|
||||||
|
action = "<cmd>bp<cr>";
|
||||||
|
options.desc = "Switch to previous buffer";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>]";
|
||||||
|
action = "<cmd>bn<cr>";
|
||||||
|
options.desc = "Switch to next buffer";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "g]";
|
||||||
|
action = "<cmd>GitGutterNextHunk<cr>";
|
||||||
|
options.desc = "Next Git hunk";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "g[";
|
||||||
|
action = "<cmd>GitGutterPrevHunk<cr>";
|
||||||
|
options.desc = "Previous Git hunk";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "gp";
|
||||||
|
action = "<cmd>GitGutterPreviewHunk<cr>";
|
||||||
|
options.desc = "Preview Git hunk";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "gSs";
|
||||||
|
action = "<cmd>GitGutterStageHunk<cr>";
|
||||||
|
options.desc = "Stage Git hunk";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "gSs";
|
||||||
|
action = "<cmd>GitGutterStageHunk<cr>";
|
||||||
|
options.desc = "Stage Git hunk";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "gSu";
|
||||||
|
action = "<cmd>GitGutterUndoHunk<cr>";
|
||||||
|
options.desc = "Undo Git hunk";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "gd";
|
||||||
|
action = "<cmd>GitGutterDiffOrig<cr>";
|
||||||
|
options.desc = "View Git diff";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>e";
|
||||||
|
action = "<cmd>Neotree toggle<cr>";
|
||||||
|
options.desc = "Toggle Neotree";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>oe";
|
||||||
|
action = ":Ollama Explain_Code<CR>";
|
||||||
|
options.desc = "Explain Code Snippet";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>oo";
|
||||||
|
action = ":Ollama Raw<CR>";
|
||||||
|
options.desc = "Ask LLM";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>os";
|
||||||
|
action = ":Ollama Simplify_Code<CR>";
|
||||||
|
options.desc = "Simplify code snippet";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
plugins = {
|
||||||
|
alpha = {
|
||||||
|
enable = true;
|
||||||
|
theme = "dashboard";
|
||||||
|
};
|
||||||
|
auto-save = {
|
||||||
|
enable = false;
|
||||||
|
enableAutoSave = true;
|
||||||
|
};
|
||||||
|
barbar = {
|
||||||
|
enable = true;
|
||||||
|
animation = true;
|
||||||
|
clickable = true;
|
||||||
|
};
|
||||||
|
barbecue = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
bufferline = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
chadtree = {
|
||||||
|
enable = false;
|
||||||
|
};
|
||||||
|
clangd-extensions = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-buffer = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-cmdline = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-cmdline-history = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-dap = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-dictionary = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-digraphs = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-emoji = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-fuzzy-buffer = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-fuzzy-path = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-latex-symbols = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-git = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-look = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-nvim-lsp = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-nvim-lsp-document-symbol = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-nvim-lsp-signature-help = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-nvim-lua = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-nvim-ultisnips = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-omni = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-path = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-rg = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-spell = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-treesitter = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-vim-lsp = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp-zsh = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cmp_luasnip = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
comment-nvim = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
coq-nvim = {
|
||||||
|
enable = true;
|
||||||
|
alwaysComplete = true;
|
||||||
|
autoStart = true;
|
||||||
|
installArtifacts = true;
|
||||||
|
recommendedKeymaps = true;
|
||||||
|
};
|
||||||
|
crates-nvim = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
cursorline = {
|
||||||
|
enable = true;
|
||||||
|
cursorline.number = true;
|
||||||
|
cursorline.timeout = 0;
|
||||||
|
};
|
||||||
|
dap = {
|
||||||
|
enable = true;
|
||||||
|
extensions = {
|
||||||
|
dap-python = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
dap-ui = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dashboard = {
|
||||||
|
enable = true;
|
||||||
|
footer = [ "Footer text" ];
|
||||||
|
header = [ "Header text" ];
|
||||||
|
};
|
||||||
|
diffview = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
efmls-configs = {
|
||||||
|
setup = {
|
||||||
|
all.linter = [ "codespell" ];
|
||||||
|
bash.formatter = [ "beautysh" ];
|
||||||
|
c = {
|
||||||
|
formatter = [ "clang_tidy" ];
|
||||||
|
linter = [ "clang_tidy" ];
|
||||||
|
};
|
||||||
|
"c++" = {
|
||||||
|
formatter = [ "clang_tidy" ];
|
||||||
|
linter = [ "clang_tidy" ];
|
||||||
|
};
|
||||||
|
cmake = {
|
||||||
|
formatter = [ "gersemi" ];
|
||||||
|
linter = [ "cmake_lint" ];
|
||||||
|
};
|
||||||
|
css = {
|
||||||
|
formatter = [ "prettier" ];
|
||||||
|
linter = [ "proselint" ];
|
||||||
|
};
|
||||||
|
gitcommit.linter = [ "gitlint" ];
|
||||||
|
html = {
|
||||||
|
formatter = [ "prettier" ];
|
||||||
|
linter = [ "proselint" ];
|
||||||
|
};
|
||||||
|
lua = {
|
||||||
|
formatter = [ "lua_format" ];
|
||||||
|
linter = [ "luacheck" ];
|
||||||
|
};
|
||||||
|
markdown = {
|
||||||
|
formatter = [ "mdformat" ];
|
||||||
|
linter = [ "proselint" ];
|
||||||
|
};
|
||||||
|
nix = {
|
||||||
|
formatter = [ "nixfmt" ];
|
||||||
|
linter = [ "statix" ];
|
||||||
|
};
|
||||||
|
python = {
|
||||||
|
formatter = [ "black" ];
|
||||||
|
linter = [ "ruff" ];
|
||||||
|
};
|
||||||
|
rust.formatter = [ "rustfmt" ];
|
||||||
|
sh = {
|
||||||
|
formatter = [ "beautysh" ];
|
||||||
|
linter = [ "shellcheck" ];
|
||||||
|
};
|
||||||
|
tex = {
|
||||||
|
formatter = [ "latexindent" ];
|
||||||
|
linter = [ "chktex" ];
|
||||||
|
};
|
||||||
|
vim.linter = [ "vint" ];
|
||||||
|
zsh.formatter = [ "beautysh" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
endwise = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
fidget = {
|
||||||
|
enable = true;
|
||||||
|
integration.nvim-tree.enable = true;
|
||||||
|
};
|
||||||
|
flash = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
floaterm = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
git-worktree = {
|
||||||
|
enable = true;
|
||||||
|
enableTelescope = false;
|
||||||
|
};
|
||||||
|
gitblame = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
gitgutter = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
hmts = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
illuminate = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
image = {
|
||||||
|
enable = true;
|
||||||
|
backend = "ueberzug";
|
||||||
|
};
|
||||||
|
inc-rename = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
indent-blankline = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
intellitab = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
leap = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
lightline = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
lint = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
lsp = {
|
||||||
|
enable = true;
|
||||||
|
servers = {
|
||||||
|
bashls = {
|
||||||
|
enable = true;
|
||||||
|
autostart = true;
|
||||||
|
};
|
||||||
|
clangd = {
|
||||||
|
enable = true;
|
||||||
|
autostart = true;
|
||||||
|
cmd = [ "clangd" "--offset-encoding=utf-16" ];
|
||||||
|
extraOptions = { };
|
||||||
|
};
|
||||||
|
cmake = {
|
||||||
|
enable = true;
|
||||||
|
autostart = true;
|
||||||
|
};
|
||||||
|
cssls = {
|
||||||
|
enable = true;
|
||||||
|
autostart = true;
|
||||||
|
};
|
||||||
|
dockerls = {
|
||||||
|
enable = true;
|
||||||
|
autostart = true;
|
||||||
|
};
|
||||||
|
efm = {
|
||||||
|
enable = true;
|
||||||
|
autostart = true;
|
||||||
|
};
|
||||||
|
html = {
|
||||||
|
enable = true;
|
||||||
|
autostart = true;
|
||||||
|
};
|
||||||
|
ltex = {
|
||||||
|
enable = false;
|
||||||
|
autostart = true;
|
||||||
|
};
|
||||||
|
lua-ls = {
|
||||||
|
enable = true;
|
||||||
|
autostart = true;
|
||||||
|
};
|
||||||
|
marksman = {
|
||||||
|
enable = true;
|
||||||
|
autostart = true;
|
||||||
|
};
|
||||||
|
nil_ls = {
|
||||||
|
enable = true;
|
||||||
|
autostart = true;
|
||||||
|
};
|
||||||
|
pyright = {
|
||||||
|
enable = true;
|
||||||
|
autostart = true;
|
||||||
|
};
|
||||||
|
rust-analyzer = {
|
||||||
|
enable = true;
|
||||||
|
autostart = true;
|
||||||
|
installCargo = true;
|
||||||
|
installRustc = true;
|
||||||
|
};
|
||||||
|
texlab = {
|
||||||
|
enable = true;
|
||||||
|
autostart = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lsp-format = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
lsp-lines = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
lspkind = {
|
||||||
|
enable = true;
|
||||||
|
cmp = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lspsaga = {
|
||||||
|
enable = true;
|
||||||
|
beacon = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
luasnip = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
magma-nvim = {
|
||||||
|
enable = true;
|
||||||
|
automaticallyOpenOutput = true;
|
||||||
|
imageProvider = "ueberzug";
|
||||||
|
wrapOutput = true;
|
||||||
|
};
|
||||||
|
markdown-preview = {
|
||||||
|
enable = true;
|
||||||
|
autoStart = true;
|
||||||
|
};
|
||||||
|
navbuddy = {
|
||||||
|
enable = true;
|
||||||
|
lsp.autoAttach = true;
|
||||||
|
};
|
||||||
|
neo-tree = {
|
||||||
|
enable = true;
|
||||||
|
enableGitStatus = true;
|
||||||
|
enableModifiedMarkers = true;
|
||||||
|
enableRefreshOnWrite = true;
|
||||||
|
};
|
||||||
|
neorg = {
|
||||||
|
enable = true;
|
||||||
|
lazyLoading = true;
|
||||||
|
};
|
||||||
|
nix = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
nix-develop = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
none-ls = {
|
||||||
|
enable = true;
|
||||||
|
enableLspFormat = true;
|
||||||
|
};
|
||||||
|
nvim-autopairs = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
nvim-bqf = {
|
||||||
|
enable = true;
|
||||||
|
autoEnable = true;
|
||||||
|
preview = {
|
||||||
|
autoPreview = true;
|
||||||
|
bufLabel = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
nvim-cmp = {
|
||||||
|
enable = true;
|
||||||
|
autoEnableSources = true;
|
||||||
|
formatting.expandableIndicator = true;
|
||||||
|
};
|
||||||
|
nvim-colorizer = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
nvim-tree = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
nvim-ufo = {
|
||||||
|
enable = false;
|
||||||
|
};
|
||||||
|
obsidian = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
ollama = {
|
||||||
|
enable = true;
|
||||||
|
model = "tinyllama";
|
||||||
|
url = "http://127.0.0.1:11435";
|
||||||
|
};
|
||||||
|
packer = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
project-nvim = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
quickmath = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
rainbow-delimiters = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
refactoring = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
rust-tools = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
rustaceanvim = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
sniprun = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
spider = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
surround = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
tagbar = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
telescope = {
|
||||||
|
enable = true;
|
||||||
|
keymaps = { };
|
||||||
|
extensions = {
|
||||||
|
file_browser.enable = true;
|
||||||
|
frecency.enable = true;
|
||||||
|
fzf-native = {
|
||||||
|
enable = true;
|
||||||
|
caseMode = "ignore_case";
|
||||||
|
fuzzy = true;
|
||||||
|
};
|
||||||
|
fzy-native.enable = true;
|
||||||
|
media_files.enable = true;
|
||||||
|
project-nvim.enable = true;
|
||||||
|
undo.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
toggleterm = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
treesitter = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
treesitter-context = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
treesitter-refactor = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
trouble = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
ts-autotag = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
undotree = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
which-key = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
wilder = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
extraPlugins = with pkgs.vimPlugins; [
|
||||||
|
# Rust
|
||||||
|
rust-vim
|
||||||
|
rust-tools-nvim
|
||||||
|
coc-rust-analyzer
|
||||||
|
# Treesitter
|
||||||
|
nvim-treesitter-parsers.rust
|
||||||
|
nvim-treesitter-parsers.cpp
|
||||||
|
nvim-treesitter-parsers.c
|
||||||
|
nvim-treesitter-parsers.latex
|
||||||
|
# Coc
|
||||||
|
coc-rls
|
||||||
|
coc-clangd
|
||||||
|
clangd_extensions-nvim
|
||||||
|
vim-clang-format
|
||||||
|
# Mason
|
||||||
|
mason-nvim
|
||||||
|
mason-tool-installer-nvim
|
||||||
|
mason-lspconfig-nvim
|
||||||
|
# Telescope
|
||||||
|
telescope-nvim
|
||||||
|
];
|
||||||
|
clipboard.providers.xsel.enable = true;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue