Replaced nixvim with nix-cats external flake.
This commit is contained in:
parent
221524709e
commit
dc1e99a104
44 changed files with 57 additions and 1455 deletions
|
@ -27,7 +27,6 @@
|
|||
"fuzzy"
|
||||
"info"
|
||||
"lastgenre"
|
||||
"lyrics"
|
||||
"mbsync"
|
||||
"missing"
|
||||
"replaygain"
|
||||
|
|
|
@ -40,7 +40,7 @@ in {
|
|||
|
||||
# packages that should be on every system.
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim
|
||||
inputs.nvim-config.packages.${pkgs.system}.nvim-minimal
|
||||
rsync
|
||||
];
|
||||
|
||||
|
|
162
flake.lock
generated
162
flake.lock
generated
|
@ -84,27 +84,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749398372,
|
||||
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
|
@ -123,24 +102,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -161,34 +122,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ixx": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748294338,
|
||||
"narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.0.8",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-secrets": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -206,6 +139,21 @@
|
|||
"url": "ssh://forgejo@git.venberg.xyz/Gabe/nix-secrets.git"
|
||||
}
|
||||
},
|
||||
"nixCats": {
|
||||
"locked": {
|
||||
"lastModified": 1750385475,
|
||||
"narHash": "sha256-jxssG9BjbGlxXGhAhtwIIaazpQxROpO0919aGaKuIiY=",
|
||||
"owner": "BirdeeHub",
|
||||
"repo": "nixCats-nvim",
|
||||
"rev": "0dbb19a5688f045e6e8b4f9f35bc32cdb777b1a9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "BirdeeHub",
|
||||
"repo": "nixCats-nvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1750431636,
|
||||
|
@ -262,50 +210,26 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"nvim-config": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixCats": "nixCats",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nuschtosSearch": "nuschtosSearch",
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750788551,
|
||||
"narHash": "sha256-7tQIndetzeVtTuYQ7vYTaABUS1muiigdXK3XyXuPzvg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "6a15c2ffc50ca7998df2fd6b86c3c9f298e9137a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749730855,
|
||||
"narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742",
|
||||
"type": "github"
|
||||
"lastModified": 1751659985,
|
||||
"narHash": "sha256-4LMFT6fLrkHs/JJa58QWHJe+fjoqqoj/0T2xEx+gR5w=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "2553d039fd579b59026cdba1422cfac8384e74f9",
|
||||
"shallow": true,
|
||||
"type": "git",
|
||||
"url": "ssh://forgejo@git.venberg.xyz/Gabe/nvim-config.git"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"type": "github"
|
||||
"shallow": true,
|
||||
"type": "git",
|
||||
"url": "ssh://forgejo@git.venberg.xyz/Gabe/nvim-config.git"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
|
@ -320,7 +244,7 @@
|
|||
"nixos-hardware": "nixos-hardware",
|
||||
"nixos-wsl": "nixos-wsl",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixvim": "nixvim",
|
||||
"nvim-config": "nvim-config",
|
||||
"sops-nix": "sops-nix"
|
||||
}
|
||||
},
|
||||
|
@ -358,36 +282,6 @@
|
|||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"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",
|
||||
|
|
12
flake.nix
12
flake.nix
|
@ -16,11 +16,6 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nixvim = {
|
||||
url = "github:nix-community/nixvim";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
disko = {
|
||||
url = "github:nix-community/disko";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
@ -45,6 +40,13 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
#My nvim config.
|
||||
nvim-config = {
|
||||
url = "git+ssh://forgejo@git.venberg.xyz/Gabe/nvim-config.git?shallow=1";
|
||||
# url = "git+file:///home/gabe/nvim-config";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nix-secrets = {
|
||||
url = "git+ssh://forgejo@git.venberg.xyz/Gabe/nix-secrets.git?shallow=1";
|
||||
# url = "git+https://git.venberg.xyz/Gabe/nix-secrets.git?shallow=1";
|
||||
|
|
|
@ -1,94 +0,0 @@
|
|||
{
|
||||
inputs,
|
||||
myLib,
|
||||
...
|
||||
}:
|
||||
inputs.nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {inherit inputs myLib;};
|
||||
# > Our main nixos configuration file <
|
||||
modules = [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
./hardware-configuration.nix
|
||||
../../roles/nixos/graphical-vm.nix
|
||||
../../configs/nixos/common.nix
|
||||
../../configs/nixos/printing.nix
|
||||
../../configs/nixos/sound.nix
|
||||
../../configs/nixos/interactive-networking.nix
|
||||
../../configs/nixos/i3
|
||||
../../configs/nixos/sshd.nix
|
||||
../../configs/nixos/secrets.nix
|
||||
({
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
host = {
|
||||
user = "gabe";
|
||||
fullName = "Gabe Venberg";
|
||||
gui.enable = true;
|
||||
isVm = true;
|
||||
};
|
||||
networking.hostName = "archlaptop-vm"; # Define your hostname.
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.${config.host.details.user} = {
|
||||
packages = with pkgs; [firefox];
|
||||
};
|
||||
|
||||
home-manager.sharedModules = [
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
];
|
||||
home-manager.users.${config.host.details.user} = {
|
||||
inputs,
|
||||
osConfig,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
host = osConfig.host;
|
||||
user = {
|
||||
git = {
|
||||
profile = {
|
||||
name = config.host.details.fullName;
|
||||
email = "gabevenberg@gmail.com";
|
||||
};
|
||||
workProfile.enable = false;
|
||||
};
|
||||
};
|
||||
imports = [
|
||||
../../roles/home-manager/terminal.nix
|
||||
../../configs/home-manager/common.nix
|
||||
../../configs/home-manager/email.nix
|
||||
../../configs/home-manager/tiny-irc.nix
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
../../configs/home-manager/secrets.nix
|
||||
];
|
||||
|
||||
sops = lib.mkIf (inputs ? nix-secrets) {
|
||||
secrets = {
|
||||
gmail-password.sopsFile = "${inputs.nix-secrets}/workstations.yaml";
|
||||
irc-cert.sopsFile = "${inputs.nix-secrets}/workstations.yaml";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "23.11"; # Did you read the comment?
|
||||
})
|
||||
];
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
# 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 + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-amd"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/1000b969-f089-4b1e-bbef-3d0c39da8a91";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/AB75-97AD";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/home/gabe/nix-config-host" = {
|
||||
device = "nix-config-host";
|
||||
fsType = "virtiofs";
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{device = "/dev/disk/by-uuid/506f2ef4-c9ee-4fe6-8590-95e0821d5903";}
|
||||
];
|
||||
|
||||
# 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.enp1s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
}
|
|
@ -83,7 +83,6 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||
}: {
|
||||
host.details = osConfig.host.details;
|
||||
user = {
|
||||
nvim.enable-lsp = false;
|
||||
git = {
|
||||
profile = {
|
||||
name = config.host.details.fullName;
|
||||
|
@ -95,7 +94,6 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||
imports = [
|
||||
../../roles/home-manager/terminal.nix
|
||||
../../configs/home-manager/common.nix
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
];
|
||||
};
|
||||
boot = {
|
||||
|
|
|
@ -79,7 +79,6 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||
imports = [
|
||||
../../roles/home-manager/minimal-terminal.nix
|
||||
../../configs/home-manager/common.nix
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
@ -46,6 +46,5 @@ inputs.home-manager.lib.homeManagerConfiguration {
|
|||
};
|
||||
};
|
||||
})
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
];
|
||||
}
|
||||
|
|
|
@ -48,6 +48,5 @@ inputs.home-manager.lib.homeManagerConfiguration {
|
|||
};
|
||||
};
|
||||
})
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
];
|
||||
}
|
||||
|
|
|
@ -86,7 +86,6 @@ inputs.nixpkgs.lib.nixosSystem {
|
|||
imports = [
|
||||
../../roles/home-manager/minimal-terminal.nix
|
||||
../../configs/home-manager/common.nix
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
# ../../configs/home-manager/secrets.nix
|
||||
];
|
||||
|
||||
|
|
|
@ -49,6 +49,5 @@ inputs.home-manager.lib.homeManagerConfiguration {
|
|||
};
|
||||
};
|
||||
})
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
];
|
||||
}
|
||||
|
|
3
justfile
3
justfile
|
@ -28,3 +28,6 @@ nixos-gc:
|
|||
|
||||
update-secrets:
|
||||
nix flake update nix-secrets
|
||||
|
||||
update-nvim:
|
||||
nix flake update nvim-config
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./git.nix
|
||||
./nvim
|
||||
./voice.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
options.user.nvim.enable-completions = lib.mkEnableOption "basic completion in nvim";
|
||||
|
||||
config =
|
||||
lib.mkIf (config.user.nvim.enable-completions && config.user.nvim.enable)
|
||||
{
|
||||
programs.nixvim = {
|
||||
plugins.luasnip.enable = true;
|
||||
plugins.friendly-snippets.enable = true;
|
||||
plugins.cmp = {
|
||||
enable = true;
|
||||
autoEnableSources = true;
|
||||
settings = {
|
||||
sources = [
|
||||
{name = "luasnip";}
|
||||
{name = "treesitter";}
|
||||
{name = "path";}
|
||||
{name = "emoji";}
|
||||
{name = "buffer";}
|
||||
{name = "latex_symbols";}
|
||||
{name = "digraphs";}
|
||||
{name = "spell";}
|
||||
];
|
||||
snippet = {
|
||||
expand = "function(args) require('luasnip').lsp_expand(args.body) end";
|
||||
};
|
||||
mapping = {
|
||||
"<C-Space>" = "cmp.mapping.complete()";
|
||||
"<C-d>" = "cmp.mapping.scroll_docs(-4)";
|
||||
"<C-e>" = "cmp.mapping.close()";
|
||||
"<C-f>" = "cmp.mapping.scroll_docs(4)";
|
||||
"<CR>" = "cmp.mapping.confirm({ select = false })";
|
||||
"<Tab>" = ''
|
||||
function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif require("luasnip").expand_or_jumpable() then
|
||||
vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-expand-or-jump", true, true, true), "")
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end
|
||||
'';
|
||||
"<S-Tab>" = ''
|
||||
function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif require("luasnip").jumpable(-1) then
|
||||
vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-jump-prev", true, true, true), "")
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,49 +0,0 @@
|
|||
{
|
||||
configs,
|
||||
pkgs,
|
||||
helpers,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options.user.nvim.enable = lib.mkEnableOption "enable nvim";
|
||||
config = lib.mkIf config.user.nvim.enable {
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
|
||||
colorschemes.base16 = {
|
||||
colorscheme = "gruvbox-dark-medium";
|
||||
enable = true;
|
||||
};
|
||||
|
||||
clipboard.providers.xsel.enable = true;
|
||||
};
|
||||
home.sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
VISUAL = "nvim";
|
||||
};
|
||||
|
||||
programs.nushell.extraEnv = ''
|
||||
$env.EDITOR = 'nvim'
|
||||
$env.VISUAL = 'nvim'
|
||||
'';
|
||||
};
|
||||
|
||||
imports = [
|
||||
./keybinds.nix
|
||||
./options.nix
|
||||
./simpleplugins.nix
|
||||
./lualine.nix
|
||||
./nvim-tree.nix
|
||||
./toggleterm.nix
|
||||
./gitsigns.nix
|
||||
./which-key.nix
|
||||
./telescope.nix
|
||||
./zk.nix
|
||||
./treesitter
|
||||
./cmp
|
||||
./lsp
|
||||
];
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.user.nvim.enable {
|
||||
programs.nixvim = {
|
||||
plugins.gitsigns = {
|
||||
enable = true;
|
||||
};
|
||||
plugins.which-key.settings.spec = [
|
||||
{
|
||||
__unkeyed-1 = "<leader>g";
|
||||
group = "+git";
|
||||
}
|
||||
];
|
||||
keymaps = [
|
||||
{
|
||||
action = ":Gitsigns toggle_current_line_blame<CR>";
|
||||
key = "<leader>gb";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "toggle git blame";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,103 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.user.nvim.enable {
|
||||
programs.nixvim = {
|
||||
globals = {
|
||||
mapleader = ";";
|
||||
};
|
||||
plugins.which-key.settings.spec = [
|
||||
{
|
||||
__unkeyed-1 = "<leader>c";
|
||||
group = "+check";
|
||||
}
|
||||
];
|
||||
keymaps = [
|
||||
{
|
||||
action = ":setlocal spell!<CR>";
|
||||
key = "<leader>cs";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "toggle spell check";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":bnext<CR>";
|
||||
key = "gf";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "next buffer";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":bprevious<CR>";
|
||||
key = "gF";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "prev buffer";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<C-w>h";
|
||||
key = "<C-h>";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "move to right split";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<C-w>j";
|
||||
key = "<C-j>";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "move to below split";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<C-w>k";
|
||||
key = "<C-k>";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "move to above split";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<C-w>l";
|
||||
key = "<C-l>";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "move to left split";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "za";
|
||||
key = "<Space>";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "toggle fold";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":nohls<CR>";
|
||||
key = "<leader>h";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "clear highlighting";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf (config.user.nvim.enable && config.user.nvim.enable-lsp) {
|
||||
home.file = {
|
||||
".clangd".text = ''
|
||||
# keeps clangd from choking when it sees a compiler flag for a different
|
||||
# compiler. (sutch as when acting as an lsp for a project that uses GCC.)
|
||||
CompileFlags:
|
||||
Add: -Wno-unknown-warning-option
|
||||
Remove: [-m*, -f*]
|
||||
'';
|
||||
".clang-format".text = ''
|
||||
---
|
||||
#this syncronizes with settings used by neovims treesitters so that the lsp formatting and treesitter formatting do not fight eatch other.
|
||||
PointerAlignment: Left
|
||||
ColumnLimit: 80
|
||||
IndentWidth: 4
|
||||
TabWidth: 4
|
||||
UseCRLF: false
|
||||
UseTab: Never
|
||||
AlignAfterOpenBracket: BlockIndent
|
||||
AlwaysBreakBeforeMultilineStrings: true
|
||||
BreakBeforeBraces: Attach
|
||||
AlignOperands: Align
|
||||
BreakBeforeBinaryOperators: NonAssignment
|
||||
...
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,192 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
options.user.nvim.enable-lsp = lib.mkEnableOption "nvim lsp";
|
||||
|
||||
config =
|
||||
lib.mkIf (config.user.nvim.enable-lsp && config.user.nvim.enable)
|
||||
{
|
||||
user.nvim.enable-completions = true;
|
||||
programs.nixvim = {helpers, ...}: {
|
||||
plugins.lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
basedpyright.enable = true;
|
||||
bashls.enable = true;
|
||||
clangd.enable = true;
|
||||
hls.enable = true;
|
||||
hls.installGhc = true;
|
||||
jsonls.enable = true;
|
||||
lua_ls.enable = true;
|
||||
nil_ls.enable = true;
|
||||
nil_ls.settings.formatting.command = ["alejandra"];
|
||||
nushell.enable = true;
|
||||
ruff.enable = true;
|
||||
taplo.enable = true;
|
||||
texlab.enable = true;
|
||||
tinymist.enable = true;
|
||||
ts_ls.enable = true;
|
||||
uiua.enable = true;
|
||||
yamlls.enable = true;
|
||||
};
|
||||
};
|
||||
plugins.cmp.settings.sources = [
|
||||
{name = "nvim_lsp";}
|
||||
];
|
||||
plugins.which-key.settings.spec = [
|
||||
{
|
||||
__unkeyed-1 = "<leader>l";
|
||||
group = "+lsp";
|
||||
}
|
||||
];
|
||||
keymaps = [
|
||||
{
|
||||
action = helpers.mkRaw "vim.lsp.buf.declaration";
|
||||
key = "<leader>lc";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "declaration";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = helpers.mkRaw "vim.lsp.buf.definition";
|
||||
key = "<leader>ld";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "definition";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = helpers.mkRaw "vim.lsp.buf.hover";
|
||||
key = "<leader>lh";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "hover";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = helpers.mkRaw "vim.lsp.buf.implementation";
|
||||
key = "<leader>li";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "implementation";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = helpers.mkRaw "vim.lsp.buf.signature_help";
|
||||
key = "<leader>ls";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "signature_help";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = helpers.mkRaw "vim.lsp.buf.add_workspace_folder";
|
||||
key = "<leader>lwa";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "add folder";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = helpers.mkRaw "vim.lsp.buf.remove_workspace_folder";
|
||||
key = "<leader>lwr";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "remove folder";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = helpers.mkRaw "vim.lsp.buf.list_workspace_folders";
|
||||
key = "<leader>lw";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "workspace";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = helpers.mkRaw "vim.lsp.buf.rename";
|
||||
key = "<leader>lr";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "rename";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = helpers.mkRaw "vim.lsp.buf.code_action";
|
||||
key = "<leader>la";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "code action";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = helpers.mkRaw "vim.lsp.buf.references";
|
||||
key = "<leader>le";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "list references";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = helpers.mkRaw "function() vim.lsp.buf.format{async=true} end";
|
||||
key = "<leader>lm";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "format buffer";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = helpers.mkRaw "vim.diagnostic.open_float";
|
||||
key = "<leader>lo";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "open float";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = helpers.mkRaw "vim.diagnostic.goto_next";
|
||||
key = "]d";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "next diagnostic";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = helpers.mkRaw "vim.diagnostic.goto_prev";
|
||||
key = "[d";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "prev diagnostic";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
alejandra
|
||||
];
|
||||
};
|
||||
imports = [
|
||||
./rustaceanvim.nix
|
||||
./clangd.nix
|
||||
./zig.nix
|
||||
];
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
config =
|
||||
lib.mkIf (config.user.nvim.enable-lsp && config.user.nvim.enable)
|
||||
{
|
||||
programs.nixvim = {
|
||||
plugins.rustaceanvim.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf (config.user.nvim.enable-lsp && config.user.nvim.enable) {
|
||||
programs.nixvim = {
|
||||
plugins.lsp.servers.zls = {
|
||||
enable = true;
|
||||
settings = {
|
||||
enable_build_on_save = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,84 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.user.nvim.enable {
|
||||
programs.nixvim = {
|
||||
plugins.lualine = {
|
||||
enable = true;
|
||||
settings = {
|
||||
options = {
|
||||
alwaysDivideMiddle = true;
|
||||
icons_enabled = true;
|
||||
};
|
||||
sections = {
|
||||
lualine_a = [
|
||||
"mode"
|
||||
];
|
||||
lualine_b = [
|
||||
"branch"
|
||||
"diff"
|
||||
"diagnostics"
|
||||
];
|
||||
lualine_c = [
|
||||
{
|
||||
__unkeyed = "filename";
|
||||
path = 1;
|
||||
}
|
||||
];
|
||||
lualine_x = [
|
||||
"encoding"
|
||||
"fileformat"
|
||||
"filetype"
|
||||
];
|
||||
lualine_y = [
|
||||
"progress"
|
||||
];
|
||||
lualine_z = [
|
||||
"location"
|
||||
];
|
||||
};
|
||||
|
||||
inactiveSections = {
|
||||
lualine_a = [];
|
||||
lualine_b = [];
|
||||
lualine_c = ["filename"];
|
||||
lualine_x = ["filetype"];
|
||||
lualine_y = [];
|
||||
lualine_z = [];
|
||||
};
|
||||
|
||||
tabline = {
|
||||
lualine_a = [
|
||||
{
|
||||
__unkeyed = "buffers";
|
||||
mode = 4;
|
||||
}
|
||||
];
|
||||
lualine_b = [];
|
||||
lualine_c = [];
|
||||
lualine_x = [];
|
||||
lualine_y = [];
|
||||
lualine_z = [
|
||||
{
|
||||
__unkeyed = "tabs";
|
||||
mode = 2;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
winbar = {
|
||||
lualine_a = [];
|
||||
lualine_b = [];
|
||||
lualine_c = [];
|
||||
lualine_x = [];
|
||||
lualine_y = [];
|
||||
lualine_z = [];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.user.nvim.enable {
|
||||
programs.nixvim = {
|
||||
plugins.web-devicons.enable = true;
|
||||
plugins.nvim-tree = {
|
||||
enable = true;
|
||||
disableNetrw = true;
|
||||
hijackCursor = true;
|
||||
hijackNetrw = true;
|
||||
hijackUnnamedBufferWhenOpening = true;
|
||||
actions = {
|
||||
useSystemClipboard = true;
|
||||
changeDir.enable = true;
|
||||
};
|
||||
filesystemWatchers.enable = true;
|
||||
};
|
||||
keymaps = [
|
||||
{
|
||||
action = ":NvimTreeToggle<CR>";
|
||||
key = "<leader>t";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "toggle file browser";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,72 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.user.nvim.enable {
|
||||
programs.nixvim = {
|
||||
opts = {
|
||||
mouse = "a";
|
||||
lazyredraw = true;
|
||||
termguicolors = true;
|
||||
autoread = true;
|
||||
swapfile = false;
|
||||
history = 500;
|
||||
formatoptions = "rojq";
|
||||
# dont hard wrap
|
||||
textwidth = 0;
|
||||
wrapmargin = 0;
|
||||
breakindent = true;
|
||||
# highlight after col
|
||||
colorcolumn = "80,100,120";
|
||||
# add ruler to side of screen
|
||||
number = true;
|
||||
numberwidth = 3;
|
||||
#display cursor cordinates
|
||||
ruler = true;
|
||||
#always leave 5 cells between cursor and side of window
|
||||
scrolloff = 5;
|
||||
# better command line completion
|
||||
wildmenu = true;
|
||||
# ignore case if all lowercase
|
||||
ignorecase = true;
|
||||
smartcase = true;
|
||||
# show unfinished keycombos in statusbar
|
||||
showcmd = true;
|
||||
# regex stuff
|
||||
magic = true;
|
||||
# always show statusline
|
||||
laststatus = 2;
|
||||
# tab stuff
|
||||
tabstop = 4;
|
||||
shiftwidth = 0;
|
||||
autoindent = true;
|
||||
smartindent = true;
|
||||
smarttab = true;
|
||||
# for true tabs, change to false
|
||||
expandtab = true;
|
||||
softtabstop = -1;
|
||||
# highlight search results as you type
|
||||
hlsearch = true;
|
||||
incsearch = true;
|
||||
# folding stuff
|
||||
foldlevelstart = 5;
|
||||
foldmethod = lib.mkDefault "indent";
|
||||
foldcolumn = "auto:4";
|
||||
foldenable = true;
|
||||
# display whitespace as other chars
|
||||
list = true;
|
||||
listchars = {
|
||||
tab = ">-";
|
||||
eol = "↲";
|
||||
nbsp = "␣";
|
||||
trail = "•";
|
||||
extends = "⟩";
|
||||
precedes = "⟨";
|
||||
};
|
||||
showbreak = "↪";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.user.nvim.enable {
|
||||
programs.nixvim = {
|
||||
plugins.comment.enable = true;
|
||||
plugins.marks.enable = true;
|
||||
plugins.vim-surround.enable = true;
|
||||
plugins.todo-comments.enable = true;
|
||||
plugins.leap = {
|
||||
enable = true;
|
||||
addDefaultMappings = true;
|
||||
};
|
||||
extraPlugins = with pkgs.vimPlugins; [
|
||||
vim-numbertoggle
|
||||
dressing-nvim
|
||||
];
|
||||
extraConfigLua = ''require("dressing").setup({})'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,126 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.user.nvim.enable {
|
||||
programs.nixvim = {
|
||||
plugins.web-devicons.enable = true;
|
||||
plugins.telescope = {
|
||||
enable = true;
|
||||
};
|
||||
plugins.which-key.settings.spec = [
|
||||
{
|
||||
__unkeyed-1 = "<leader>f";
|
||||
group = "+telescope";
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>fg";
|
||||
group = "+telescope git";
|
||||
}
|
||||
];
|
||||
keymaps = [
|
||||
{
|
||||
action = ":Telescope find_files<CR>";
|
||||
key = "<leader>ff";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "files";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":Telescope live_grep<CR>";
|
||||
key = "<leader>fg";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "grep";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":Telescope buffers<CR>";
|
||||
key = "<leader>fb";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "buffers";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":Telescope marks<CR>";
|
||||
key = "<leader>fm";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "marks";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":Telescope registers<CR>";
|
||||
key = "<leader>fr";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "registers";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":Telescope keymaps<CR>";
|
||||
key = "<leader>fk";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "keymaps";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":Telescope current_buffer_fuzzy_find<CR>";
|
||||
key = "<leader>fz";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "fuzzy find";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":Telescope git_commits<CR>";
|
||||
key = "<leader>fgc";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "commits";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":Telescope git_branches<CR>";
|
||||
key = "<leader>fgb";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "branches";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":Telescope git_stash<CR>";
|
||||
key = "<leader>fgs";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "stash";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":Telescope git_commits<CR>";
|
||||
key = "<leader>fgc";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "commits";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,38 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.user.nvim.enable {
|
||||
programs.nixvim = {helpers, ...}: {
|
||||
plugins.toggleterm = {
|
||||
enable = true;
|
||||
settings = {
|
||||
direction = "horizontal";
|
||||
insert_mappings = false;
|
||||
terminal_mappings = false;
|
||||
open_mapping = ''[[<c-\>]]'';
|
||||
};
|
||||
};
|
||||
keymaps = [
|
||||
{
|
||||
action = helpers.mkRaw "function() Floatingterm:toggle() end";
|
||||
key = "<leader>s";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "toggle scratch terminal";
|
||||
};
|
||||
}
|
||||
];
|
||||
extraConfigLuaPre = ''
|
||||
local Terminal = require('toggleterm.terminal').Terminal
|
||||
Floatingterm = Terminal:new({
|
||||
hidden = true,
|
||||
direction = "float"
|
||||
})
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
config =
|
||||
lib.mkIf (config.user.nvim.enable-treesitter && config.user.nvim.enable)
|
||||
{
|
||||
programs.nixvim = {
|
||||
keymaps = [
|
||||
{
|
||||
action = ":AerialToggle!<CR>";
|
||||
key = "<leader>o";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "toggle outline";
|
||||
};
|
||||
}
|
||||
];
|
||||
extraPlugins = with pkgs.vimPlugins; [
|
||||
aerial-nvim
|
||||
];
|
||||
extraConfigLua = ''require("aerial").setup({})'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,58 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
options.user.nvim.enable-treesitter = lib.mkEnableOption "enable nvim treesitter";
|
||||
|
||||
config =
|
||||
lib.mkIf (config.user.nvim.enable-treesitter && config.user.nvim.enable)
|
||||
{
|
||||
user.nvim.enable-completions = true;
|
||||
programs.nixvim = {
|
||||
opts.foldmethod = "expr";
|
||||
plugins.treesitter = {
|
||||
enable = true;
|
||||
folding = true;
|
||||
settings.indent.enable = true;
|
||||
nixvimInjections = true;
|
||||
};
|
||||
plugins.treesitter-context.enable = true;
|
||||
plugins.indent-blankline.enable = true;
|
||||
extraPlugins = with pkgs.vimPlugins; [
|
||||
treesj
|
||||
];
|
||||
extraConfigLua = ''
|
||||
require("treesj").setup({
|
||||
use_default_keymaps=false,
|
||||
})
|
||||
'';
|
||||
keymaps = [
|
||||
{
|
||||
action = ":TSContextToggle<CR>";
|
||||
key = "<leader>x";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "tree context toggle";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":TSJToggle<CR>";
|
||||
key = "<leader>j";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "tree sitter join toggle";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
imports = [
|
||||
./rainbow-delimiters.nix
|
||||
./arial.nix
|
||||
./tree-sitter-nu.nix
|
||||
];
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
config =
|
||||
lib.mkIf (config.user.nvim.enable-treesitter && config.user.nvim.enable)
|
||||
{
|
||||
programs.nixvim = {
|
||||
plugins.rainbow-delimiters = {
|
||||
enable = true;
|
||||
highlight = [
|
||||
"RainbowDelimiterYellow"
|
||||
"RainbowDelimiterBlue"
|
||||
"RainbowDelimiterOrange"
|
||||
"RainbowDelimiterGreen"
|
||||
"RainbowDelimiterViolet"
|
||||
"RainbowDelimiterCyan"
|
||||
# "RainbowDelimiterRed"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,53 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
config =
|
||||
lib.mkIf (config.user.nvim.enable-treesitter && config.user.nvim.enable)
|
||||
{
|
||||
programs.nixvim = let
|
||||
nu-grammar = pkgs.tree-sitter.buildGrammar {
|
||||
language = "nu";
|
||||
version = "0.0.0+rev=358c4f5";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "nushell";
|
||||
repo = "tree-sitter-nu";
|
||||
rev = "c5b7816043992b1cdc1462a889bc74dc08576fa6";
|
||||
hash = "sha256-P+ixE359fAW7R5UJLwvMsmju7UFmJw5SN+kbMEw7Kz0=";
|
||||
};
|
||||
};
|
||||
in {
|
||||
# Set filetype to "nu" for files named "*.nu"
|
||||
filetype.extension.nu = "nu";
|
||||
|
||||
# Add our nu parser to treesitter and associate it with nu filetype.
|
||||
extraConfigLua = ''
|
||||
local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
|
||||
parser_config.nu = {
|
||||
filetype = "nu",
|
||||
}
|
||||
'';
|
||||
|
||||
# Add the nu injections
|
||||
extraFiles = {
|
||||
"/queries/nu/highlights.scm".source = "${nu-grammar}/queries/nu/highlights.scm";
|
||||
"/queries/nu/injections.scm".source = "${nu-grammar}/queries/nu/injections.scm";
|
||||
"/queries/nu/indents.scm".source = "${nu-grammar}/queries/nu/indents.scm";
|
||||
};
|
||||
|
||||
plugins = {
|
||||
treesitter = {
|
||||
# Register the nu parser for files with "nu" filetype
|
||||
languageRegister.nu = "nu";
|
||||
grammarPackages =
|
||||
[
|
||||
nu-grammar
|
||||
]
|
||||
++ pkgs.vimPlugins.nvim-treesitter.allGrammars;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.user.nvim.enable {
|
||||
programs.nixvim = {
|
||||
opts = {
|
||||
timeout = true;
|
||||
timeoutlen = 300;
|
||||
};
|
||||
plugins.which-key.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,77 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.user.nvim.enable {
|
||||
programs.nixvim = {
|
||||
plugins.zk = {
|
||||
enable = true;
|
||||
settings.picker = "telescope";
|
||||
};
|
||||
plugins.which-key.settings.spec = [
|
||||
{
|
||||
__unkeyed-1 = "<leader>z";
|
||||
group = "+zk";
|
||||
}
|
||||
];
|
||||
keymaps = [
|
||||
{
|
||||
action = ":ZkNewFromTitleSelection<CR>";
|
||||
key = "<leader>zn";
|
||||
mode = "v";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "New zk note with title from selection";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":ZkaMatch<CR>";
|
||||
key = "<leader>zs";
|
||||
mode = "v";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Search zk notes from selection";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":ZkNotes<CR>";
|
||||
key = "<leader>zn";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Search zk notes";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":ZkLinks<CR>";
|
||||
key = "<leader>zl";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Search outgoing links";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":ZkBacklinks<CR>";
|
||||
key = "<leader>zb";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Search incoming links";
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":ZkTags<CR>";
|
||||
key = "<leader>zt";
|
||||
mode = "n";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Search tags";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -58,7 +58,6 @@
|
|||
}: {
|
||||
host.details = osConfig.host.details;
|
||||
user = {
|
||||
nvim.enable-lsp = false;
|
||||
git = {
|
||||
profile = {
|
||||
name = "Gabe Venberg";
|
||||
|
@ -70,7 +69,6 @@
|
|||
imports = [
|
||||
../roles/home-manager/terminal.nix
|
||||
../configs/home-manager/common.nix
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
@ -56,7 +56,6 @@
|
|||
}: {
|
||||
host.details = osConfig.host.details;
|
||||
user = {
|
||||
nvim.enable-lsp = false;
|
||||
git = {
|
||||
profile = {
|
||||
name = "Gabe Venberg";
|
||||
|
@ -68,7 +67,6 @@
|
|||
imports = [
|
||||
../roles/home-manager/terminal.nix
|
||||
../configs/home-manager/common.nix
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
@ -44,7 +44,6 @@
|
|||
imports = [
|
||||
../roles/home-manager/minimal-terminal.nix
|
||||
../configs/home-manager/common.nix
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
@ -73,7 +73,6 @@
|
|||
imports = [
|
||||
../roles/home-manager/minimal-terminal.nix
|
||||
../configs/home-manager/common.nix
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
# ../configs/home-manager/secrets.nix
|
||||
];
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
|
@ -15,7 +16,6 @@
|
|||
|
||||
user = {
|
||||
git.enable = lib.mkDefault true;
|
||||
nvim.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
|
@ -31,6 +31,7 @@
|
|||
curl
|
||||
rsync
|
||||
p7zip
|
||||
inputs.nvim-config.packages.${pkgs.system}.nvim-minimal
|
||||
];
|
||||
|
||||
home.sessionVariables = {
|
||||
|
@ -38,6 +39,8 @@
|
|||
POETRY_VIRTUALENVS_IN_PROJECT = 1;
|
||||
};
|
||||
|
||||
home.sessionVariables.EDITOR = lib.mkDefault "nvim-minimal";
|
||||
|
||||
home.sessionPath = [
|
||||
"$HOME/.nix-profile/bin/"
|
||||
"$HOME/.local/bin/"
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
|
@ -11,13 +12,6 @@
|
|||
../../configs/home-manager/zk.nix
|
||||
];
|
||||
|
||||
user = {
|
||||
nvim = {
|
||||
enable-lsp = lib.mkDefault true;
|
||||
enable-treesitter = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
tre-command
|
||||
ripgrep-all
|
||||
|
@ -25,8 +19,11 @@
|
|||
fclones
|
||||
libqalculate
|
||||
f2
|
||||
inputs.nvim-config.packages.${pkgs.system}.nvim
|
||||
];
|
||||
|
||||
home.sessionVariables.EDITOR = "nvim";
|
||||
|
||||
programs = {
|
||||
zoxide.enable = true;
|
||||
tealdeer.enable = true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue