feat(nvim): bring clangd conf to hypr dev scripts and improve them
All checks were successful
Discord / discord commits (push) Has been skipped
All checks were successful
Discord / discord commits (push) Has been skipped
This commit is contained in:
parent
bb830b2ceb
commit
23d80380db
2 changed files with 62 additions and 18 deletions
|
@ -5,16 +5,11 @@
|
|||
...
|
||||
}: let
|
||||
inherit (lib) mkIf;
|
||||
inherit (pkgs.writers) writeYAML;
|
||||
|
||||
cfg = config.programs.neovim;
|
||||
flakeEnv = config.programs.bash.sessionVariables.FLAKE;
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
xdg.configFile."clangd/config.yaml".source = writeYAML "config.yaml" {
|
||||
CompileFlags.Add = ["-D__cpp_concepts=202002L"];
|
||||
};
|
||||
|
||||
programs = {
|
||||
neovim = {
|
||||
extraLuaConfig =
|
||||
|
|
|
@ -5,27 +5,76 @@
|
|||
...
|
||||
}: let
|
||||
inherit (lib) mkIf;
|
||||
inherit (pkgs.writers) writeJSON;
|
||||
|
||||
cfg = osConfig.roles.desktop;
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
programs.bash.shellAliases = {
|
||||
# https://wiki.hyprland.org/Contributing-and-Debugging/#lsp-and-formatting
|
||||
"mkCMakeFiles" = "${pkgs.cmake}/bin/cmake -S . -B build/ -G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON";
|
||||
};
|
||||
|
||||
clangdConf = writeJSON "clangd-hypr-conf" {
|
||||
CompileFlags.Add = ["-D__cpp_concepts=202002L"];
|
||||
};
|
||||
in {
|
||||
# https://wiki.hyprland.org/Contributing-and-Debugging/#lsp-and-formatting
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [
|
||||
(pkgs.writeShellApplication {
|
||||
name = "testChanges";
|
||||
runtimeInputs = [pkgs.cmake];
|
||||
name = "setupDev";
|
||||
|
||||
runtimeInputs = [
|
||||
pkgs.cmake
|
||||
osConfig.programs.direnv.nix-direnv.package
|
||||
osConfig.programs.git.package
|
||||
];
|
||||
|
||||
text = ''
|
||||
chmod +w -fR /home/matt/git/"$1/''${2:-"."}"/{.cache,build}
|
||||
rm -r /home/matt/git/"$1/''${2:-"."}"/{.cache,build}
|
||||
cd /home/matt/.nix || return
|
||||
if [[ $# -gt 0 ]]; then
|
||||
project="$1"
|
||||
subproject="''${2:-"."}"
|
||||
|
||||
cd "$HOME/git/$project/$subproject" || return
|
||||
fi
|
||||
|
||||
chmod +w -fR ./{.cache,build} || true
|
||||
git clean -xdf
|
||||
|
||||
if [ -e .envrc ] || [ -e ../.envrc ]; then
|
||||
if [[ $# -gt 0 ]]; then
|
||||
nix develop -c echo "load shellHook"
|
||||
else
|
||||
direnv reload
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -e CMakeLists.txt ] || [ -e ../CMakeLists.txt ]; then
|
||||
nix develop -c cmake -S . -B build/ -G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
||||
fi
|
||||
|
||||
cat ${clangdConf} > .clangd
|
||||
'';
|
||||
})
|
||||
|
||||
(pkgs.writeShellApplication {
|
||||
name = "testChanges";
|
||||
|
||||
runtimeInputs = [
|
||||
pkgs.cmake
|
||||
osConfig.programs.direnv.nix-direnv.package
|
||||
osConfig.programs.git.package
|
||||
];
|
||||
|
||||
text = ''
|
||||
project="$1"
|
||||
subproject="''${2:-"."}"
|
||||
|
||||
cd "$HOME/git/$project/$subproject" || return
|
||||
|
||||
chmod +w -fR ./{.cache,build} || true
|
||||
git clean -xdf
|
||||
|
||||
cd "$FLAKE" || return
|
||||
nix flake update "$1"
|
||||
nh os switch
|
||||
cd "/home/matt/git/$1/''${2:-"."}" || return
|
||||
nix develop "/home/matt/git/$1" -c cmake -S . -B build/ -G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
||||
|
||||
setupDev "$project" "$subproject"
|
||||
'';
|
||||
})
|
||||
];
|
||||
|
|
Loading…
Reference in a new issue