mirror of
https://github.com/NotAShelf/neovim-flake.git
synced 2024-11-09 14:45:58 +01:00
Compare commits
4 commits
2476ee1596
...
0a38bafada
Author | SHA1 | Date | |
---|---|---|---|
|
0a38bafada | ||
aa62e904d6 | |||
efd8b44ce1 | |||
|
9fe96ce010 |
4 changed files with 42 additions and 93 deletions
|
@ -2,6 +2,7 @@
|
||||||
inputs,
|
inputs,
|
||||||
nixosTest,
|
nixosTest,
|
||||||
homeManagerModules,
|
homeManagerModules,
|
||||||
|
testProfile,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
nixosTest {
|
nixosTest {
|
||||||
|
@ -10,8 +11,8 @@ nixosTest {
|
||||||
|
|
||||||
nodes.machine = {
|
nodes.machine = {
|
||||||
imports = [
|
imports = [
|
||||||
|
testProfile
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
../profiles/minimal.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
@ -28,39 +29,5 @@ nixosTest {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript = "";
|
||||||
import subprocess
|
|
||||||
machine.wait_for_unit("default.target")
|
|
||||||
|
|
||||||
def check_errs(process):
|
|
||||||
# Check for errors
|
|
||||||
print("Connecting to Neovim process")
|
|
||||||
|
|
||||||
# Capture stdout and stderr
|
|
||||||
stdout, stderr = process.communicate()
|
|
||||||
|
|
||||||
# Print captured stdout and stderr
|
|
||||||
if stdout:
|
|
||||||
print("Captured stdout:")
|
|
||||||
print(stdout.decode('utf-8'))
|
|
||||||
if stderr:
|
|
||||||
print("Captured stderr:")
|
|
||||||
print(stderr.decode('utf-8'))
|
|
||||||
|
|
||||||
def run_neovim_headless():
|
|
||||||
print("Running Neovim in headless mode.")
|
|
||||||
|
|
||||||
# Run Neovim in headless mode
|
|
||||||
nvim_process = subprocess.Popen(['nvim', '--headless'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
|
||||||
|
|
||||||
check_errs(nvim_process)
|
|
||||||
|
|
||||||
# Load configuration file
|
|
||||||
nvim_process.stdin.write(b':NonExistentCommand\n')
|
|
||||||
nvim_process.stdin.flush()
|
|
||||||
|
|
||||||
# run Neovim in headless mode
|
|
||||||
# and expect it to return sucessfully
|
|
||||||
machine.succeed(run_neovim_headless())
|
|
||||||
'';
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
nixosTest,
|
nixosTest,
|
||||||
nixosModules,
|
nixosModules,
|
||||||
|
testProfile,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
nixosTest {
|
nixosTest {
|
||||||
|
@ -8,8 +9,8 @@ nixosTest {
|
||||||
|
|
||||||
nodes.machine = {
|
nodes.machine = {
|
||||||
imports = [
|
imports = [
|
||||||
|
testProfile
|
||||||
nixosModules.nvf
|
nixosModules.nvf
|
||||||
../profiles/minimal.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
@ -17,5 +18,39 @@ nixosTest {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = "";
|
testScript = ''
|
||||||
|
import subprocess
|
||||||
|
machine.wait_for_unit("default.target")
|
||||||
|
|
||||||
|
def check_errs(process):
|
||||||
|
# Check for errors
|
||||||
|
print("Connecting to Neovim process")
|
||||||
|
|
||||||
|
# Capture stdout and stderr
|
||||||
|
stdout, stderr = process.communicate()
|
||||||
|
|
||||||
|
# Print captured stdout and stderr
|
||||||
|
if stdout:
|
||||||
|
print("Captured stdout:")
|
||||||
|
print(stdout.decode('utf-8'))
|
||||||
|
if stderr:
|
||||||
|
print("Captured stderr:")
|
||||||
|
print(stderr.decode('utf-8'))
|
||||||
|
|
||||||
|
def run_neovim_headless():
|
||||||
|
print("Running Neovim in headless mode.")
|
||||||
|
|
||||||
|
# Run Neovim in headless mode
|
||||||
|
nvim_process = subprocess.Popen(['nvim', '--headless'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||||
|
|
||||||
|
check_errs(nvim_process)
|
||||||
|
|
||||||
|
# Load configuration file
|
||||||
|
nvim_process.stdin.write(b':NonExistentCommand\n')
|
||||||
|
nvim_process.stdin.flush()
|
||||||
|
|
||||||
|
# run Neovim in headless mode
|
||||||
|
# and expect it to return sucessfully
|
||||||
|
machine.succeed(run_neovim_headless())
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,20 +16,20 @@
|
||||||
defaultInherits = {
|
defaultInherits = {
|
||||||
inherit (config.flake) homeManagerModules nixosModules;
|
inherit (config.flake) homeManagerModules nixosModules;
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
|
testProfile = ./profiles/minimal.nix;
|
||||||
};
|
};
|
||||||
|
|
||||||
callPackage = callPackageWith (recursiveUpdate pkgs defaultInherits);
|
callPackage = callPackageWith (recursiveUpdate pkgs defaultInherits);
|
||||||
in {
|
in {
|
||||||
checks = packagesFromDirectoryRecursive {
|
checks = packagesFromDirectoryRecursive {
|
||||||
inherit callPackage;
|
inherit callPackage;
|
||||||
testProfile = ../profiles/minimal.nix;
|
|
||||||
directory = ./checks;
|
directory = ./checks;
|
||||||
};
|
};
|
||||||
|
|
||||||
# expose checks as packages to be built
|
# expose checks as packages to be built
|
||||||
packages = {
|
packages = {
|
||||||
test-home-manager-module = self'.checks.homeManagerModule.driverInteractive;
|
test-home-manager-module = self'.checks.homeManagerModule.driverInteractive;
|
||||||
test-nixos-module = self'.checks.nixosModule.driverInteractive;
|
# test-nixos-module = self'.checks.nixosModule.driverInteractive;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (lib) mkMappingOption mkEnableOption mkOption types;
|
|
||||||
in {
|
|
||||||
options.vim.telescope = {
|
|
||||||
mappings = {
|
|
||||||
findProjects = mkMappingOption "Find files [Telescope]" "<leader>fp";
|
|
||||||
|
|
||||||
findFiles = mkMappingOption "Find files [Telescope]" "<leader>ff";
|
|
||||||
liveGrep = mkMappingOption "Live grep [Telescope]" "<leader>fg";
|
|
||||||
buffers = mkMappingOption "Buffers [Telescope]" "<leader>fb";
|
|
||||||
helpTags = mkMappingOption "Help tags [Telescope]" "<leader>fh";
|
|
||||||
open = mkMappingOption "Open [Telescope]" "<leader>ft";
|
|
||||||
|
|
||||||
gitCommits = mkMappingOption "Git commits [Telescope]" "<leader>fvcw";
|
|
||||||
gitBufferCommits = mkMappingOption "Git buffer commits [Telescope]" "<leader>fvcb";
|
|
||||||
gitBranches = mkMappingOption "Git branches [Telescope]" "<leader>fvb";
|
|
||||||
gitStatus = mkMappingOption "Git status [Telescope]" "<leader>fvs";
|
|
||||||
gitStash = mkMappingOption "Git stash [Telescope]" "<leader>fvx";
|
|
||||||
|
|
||||||
lspDocumentSymbols = mkMappingOption "LSP Document Symbols [Telescope]" "<leader>flsb";
|
|
||||||
lspWorkspaceSymbols = mkMappingOption "LSP Workspace Symbols [Telescope]" "<leader>flsw";
|
|
||||||
lspReferences = mkMappingOption "LSP References [Telescope]" "<leader>flr";
|
|
||||||
lspImplementations = mkMappingOption "LSP Implementations [Telescope]" "<leader>fli";
|
|
||||||
lspDefinitions = mkMappingOption "LSP Definitions [Telescope]" "<leader>flD";
|
|
||||||
lspTypeDefinitions = mkMappingOption "LSP Type Definitions [Telescope]" "<leader>flt";
|
|
||||||
diagnostics = mkMappingOption "Diagnostics [Telescope]" "<leader>fld";
|
|
||||||
|
|
||||||
treesitter = mkMappingOption "Treesitter [Telescope]" "<leader>fs";
|
|
||||||
};
|
|
||||||
|
|
||||||
enable = mkEnableOption "telescope.nvim: multi-purpose search and picker utility";
|
|
||||||
|
|
||||||
vimgrep_arguments = mkOption {
|
|
||||||
description = "Arguments to use for the grep command";
|
|
||||||
type = types.listOf types.str;
|
|
||||||
default = [
|
|
||||||
"${pkgs.ripgrep}/bin/rg"
|
|
||||||
"--color=never"
|
|
||||||
"--no-heading"
|
|
||||||
"--with-filename"
|
|
||||||
"--line-number"
|
|
||||||
"--column"
|
|
||||||
"--smart-case"
|
|
||||||
"--hidden"
|
|
||||||
"--no-ignore"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in a new issue