From 81f367e3aa49117b60822d313b93fafb2c44da44 Mon Sep 17 00:00:00 2001 From: Artur Manuel Date: Mon, 10 Feb 2025 20:55:07 +0000 Subject: [PATCH] feat(neovide): add neovide --- .gitignore | 1 + .../0001-feat-config-add-config-flag.patch | 50 +++++++++++++++++++ amadaluzian-neovide/default.nix | 6 +++ flake.nix | 1 + 4 files changed, 58 insertions(+) create mode 100644 .gitignore create mode 100644 amadaluzian-neovide/0001-feat-config-add-config-flag.patch create mode 100644 amadaluzian-neovide/default.nix diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..41fbeb0 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +**/result diff --git a/amadaluzian-neovide/0001-feat-config-add-config-flag.patch b/amadaluzian-neovide/0001-feat-config-add-config-flag.patch new file mode 100644 index 0000000..82ea38c --- /dev/null +++ b/amadaluzian-neovide/0001-feat-config-add-config-flag.patch @@ -0,0 +1,50 @@ +From 34ef90c1f4eb33123f975b5a07497e794f5bc57a Mon Sep 17 00:00:00 2001 +From: Artur Manuel +Date: Mon, 10 Feb 2025 03:18:21 +0000 +Subject: [PATCH] feat(config): add --config flag + +--- + src/cmd_line.rs | 4 ++++ + src/settings/config.rs | 11 ++++++++++- + 2 files changed, 14 insertions(+), 1 deletion(-) + +diff --git a/src/cmd_line.rs b/src/cmd_line.rs +index f2da7b5..7679383 100644 +--- a/src/cmd_line.rs ++++ b/src/cmd_line.rs +@@ -53,6 +53,10 @@ pub struct CmdLineSettings { + #[arg(long, env = "NEOVIDE_WSL")] + pub wsl: bool, + ++ /// Run Neovide with a config path ++ #[arg(long, env = "NEOVIDE_CONFIG")] ++ pub config: Option, ++ + /// Which window decorations to use (do note that the window might not be resizable + /// if this is "none") + #[arg(long, env = "NEOVIDE_FRAME", default_value_t)] +diff --git a/src/settings/config.rs b/src/settings/config.rs +index 705f046..166095f 100644 +--- a/src/settings/config.rs ++++ b/src/settings/config.rs +@@ -28,7 +28,16 @@ fn neovide_config_dir() -> PathBuf { + } + + pub fn config_path() -> PathBuf { +- let mut config_path = neovide_config_dir(); ++ let mut config_path = match env::var("NEOVIDE_CONFIG") { ++ Ok(val) => PathBuf::from(val), ++ Err(e) => { ++ if e != env::VarError::NotPresent { ++ println!("Not a valid config path! Using default value."); ++ } ++ ++ neovide_config_dir() ++ }, ++ }; + config_path.push(CONFIG_FILE); + config_path + } +-- +2.47.2 + diff --git a/amadaluzian-neovide/default.nix b/amadaluzian-neovide/default.nix new file mode 100644 index 0000000..215fe99 --- /dev/null +++ b/amadaluzian-neovide/default.nix @@ -0,0 +1,6 @@ +{neovide}: +neovide.overrideAttrs (finalAttrs: { + patches = (finalAttrs.patches or []) ++ [ + ./0001-feat-config-add-config-flag.patch + ]; +}) diff --git a/flake.nix b/flake.nix index bd0e0f4..70d56ed 100644 --- a/flake.nix +++ b/flake.nix @@ -17,6 +17,7 @@ in { overlays.default = final: prev: let packages = { + amadaluzian-neovide = prev.callPackage ./amadaluzian-neovide {}; amadaluzian-starship = prev.callPackage ./amadaluzian-starship {}; amadaluzian-xonsh = prev.callPackage ./amadaluzian-xonsh {inherit (packages) amadaluzian-starship;}; amadaluzian-nu = prev.callPackage ./amadaluzian-nu {inherit (packages) amadaluzian-starship;};