diff --git a/.forgejo/workflows/release.yml b/.forgejo/workflows/release.yml index bef91f5..7c93504 100644 --- a/.forgejo/workflows/release.yml +++ b/.forgejo/workflows/release.yml @@ -49,17 +49,12 @@ jobs: if: steps.version.outputs.SKIP != 'true' run: nix build .#streamd-musl -o result-musl - - name: Build Windows binary - if: steps.version.outputs.SKIP != 'true' - run: nix build .#streamd-windows -o result-windows - - name: Prepare release artifacts if: steps.version.outputs.SKIP != 'true' run: | mkdir -p release cp result-deb release/streamd_${{ steps.version.outputs.VERSION }}_amd64.deb cp result-musl/bin/streamd release/streamd-${{ steps.version.outputs.VERSION }}-linux-x86_64 - cp result-windows/bin/streamd.exe release/streamd-${{ steps.version.outputs.VERSION }}-windows-x86_64.exe - name: Create release if: steps.version.outputs.SKIP != 'true' diff --git a/flake.nix b/flake.nix index 12cdf69..38723ae 100644 --- a/flake.nix +++ b/flake.nix @@ -132,38 +132,6 @@ in craneLib.buildPackage (commonArgs // { inherit cargoArtifacts; }); - mkWindowsCraneLib = - system: - let - pkgs = mkPkgs system; - toolchain = pkgs.rust-bin.stable.latest.default.override { - targets = [ "x86_64-pc-windows-gnu" ]; - }; - in - (crane.mkLib pkgs).overrideToolchain toolchain; - - mkStreamdWindows = - system: - let - pkgs = mkPkgs system; - pkgsCross = pkgs.pkgsCross.mingwW64; - craneLib = mkWindowsCraneLib system; - commonArgs = { - src = craneLib.path ./.; - pname = "streamd"; - inherit version; - strictDeps = true; - CARGO_BUILD_TARGET = "x86_64-pc-windows-gnu"; - CC_x86_64_pc_windows_gnu = "${pkgsCross.stdenv.cc}/bin/x86_64-w64-mingw32-gcc"; - CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER = "${pkgsCross.stdenv.cc}/bin/x86_64-w64-mingw32-gcc"; - nativeBuildInputs = [ pkgsCross.stdenv.cc ]; - buildInputs = [ pkgsCross.windows.pthreads ]; - doCheck = false; - }; - cargoArtifacts = craneLib.buildDepsOnly commonArgs; - in - craneLib.buildPackage (commonArgs // { inherit cargoArtifacts; }); - mkStreamdDeb = system: let @@ -213,10 +181,9 @@ streamd = mkStreamd system; streamd-musl = mkStreamdMusl system; streamd-deb = mkStreamdDeb system; - streamd-windows = mkStreamdWindows system; in { - inherit streamd streamd-musl streamd-deb streamd-windows; + inherit streamd streamd-musl streamd-deb; default = streamd; } ); diff --git a/src/cli/commands/edit.rs b/src/cli/commands/edit.rs index 4c15017..a8761f3 100644 --- a/src/cli/commands/edit.rs +++ b/src/cli/commands/edit.rs @@ -67,13 +67,7 @@ pub fn run(number: i32) -> Result<(), StreamdError> { }; if let Some(file_path) = sorted_shards[selected_index].location.get("file") { - let editor = std::env::var("EDITOR").unwrap_or_else(|_| { - if cfg!(windows) { - "notepad".to_string() - } else { - "vi".to_string() - } - }); + let editor = std::env::var("EDITOR").unwrap_or_else(|_| "vi".to_string()); Command::new(&editor).arg(file_path).status()?; } diff --git a/src/cli/commands/new.rs b/src/cli/commands/new.rs index 5c3eecb..de7d351 100644 --- a/src/cli/commands/new.rs +++ b/src/cli/commands/new.rs @@ -24,13 +24,7 @@ pub fn run() -> Result<(), StreamdError> { drop(file); // Open in editor - let editor = std::env::var("EDITOR").unwrap_or_else(|_| { - if cfg!(windows) { - "notepad".to_string() - } else { - "vi".to_string() - } - }); + let editor = std::env::var("EDITOR").unwrap_or_else(|_| "vi".to_string()); let status = Command::new(&editor).arg(&preliminary_path).status()?; if !status.success() { diff --git a/src/cli/commands/todo.rs b/src/cli/commands/todo.rs index e54d1e2..17bfba2 100644 --- a/src/cli/commands/todo.rs +++ b/src/cli/commands/todo.rs @@ -92,19 +92,13 @@ pub fn run_edit(number: usize) -> Result<(), StreamdError> { .get("file") .ok_or(StreamdError::MissingFilePath)?; - let editor = std::env::var("EDITOR").unwrap_or_else(|_| { - if cfg!(windows) { - "notepad".to_string() - } else { - "vi".to_string() - } - }); + let editor = std::env::var("EDITOR").unwrap_or_else(|_| "vi".to_string()); + let line_arg = format!("+{}", task.start_line); - let mut cmd = Command::new(&editor); - if !editor.to_lowercase().contains("notepad") { - cmd.arg(format!("+{}", task.start_line)); - } - let status = cmd.arg(file_path).status()?; + let status = Command::new(&editor) + .arg(&line_arg) + .arg(file_path) + .status()?; if !status.success() { return Err(StreamdError::IoError(std::io::Error::other( diff --git a/src/config.rs b/src/config.rs index 417e8f0..c828ba9 100644 --- a/src/config.rs +++ b/src/config.rs @@ -37,10 +37,8 @@ impl Settings { fn config_path() -> PathBuf { if let Some(proj_dirs) = ProjectDirs::from("", "", "streamd") { proj_dirs.config_dir().join("config.toml") - } else if let Some(base_dirs) = directories::BaseDirs::new() { - base_dirs.config_dir().join("streamd").join("config.toml") } else { - PathBuf::from("streamd_config.toml") + PathBuf::from("~/.config/streamd/config.toml") } } }