aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-12-30 22:33:46 +0100
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-12-30 22:33:46 +0100
commit58eed70ed403d109e0e416f765dd2035db6e393b (patch)
treebe39dcfbfb967acb8cbb67c3035b7e459fd99b21
parentfix(modules/lf/ctpv/prev/achrive): Remove `arj` (diff)
downloadnixos-config-58eed70ed403d109e0e416f765dd2035db6e393b.zip
fix(pkgs/{atuin,ctpv}): Extend instead of replace
This allows me, to still benefit from upstream version updates.
-rw-r--r--modules/by-name/at/atuin/module.nix2
-rw-r--r--modules/by-name/lf/lf/ctpv/default.nix2
-rw-r--r--pkgs/by-name/at/atuin-dvorak/package.nix23
-rw-r--r--pkgs/by-name/at/atuin-dvorak/set-dvorak-keybindings.patch (renamed from pkgs/by-name/at/atuin/set-dvorak-keybindings.patch)0
-rw-r--r--pkgs/by-name/at/atuin/package.nix94
-rw-r--r--pkgs/by-name/ct/ctpv-64-types/allow-up-to-64-types.patch (renamed from pkgs/by-name/ct/ctpv/allow-up-to-64-types.patch)0
-rw-r--r--pkgs/by-name/ct/ctpv-64-types/package.nix15
-rw-r--r--pkgs/by-name/ct/ctpv/package.nix45
8 files changed, 41 insertions, 140 deletions
diff --git a/modules/by-name/at/atuin/module.nix b/modules/by-name/at/atuin/module.nix
index 2b9f32cf..604ee4ef 100644
--- a/modules/by-name/at/atuin/module.nix
+++ b/modules/by-name/at/atuin/module.nix
@@ -1,6 +1,7 @@
{
config,
lib,
+ pkgs,
...
}: let
cfg = config.soispha.programs.atuin;
@@ -20,6 +21,7 @@ in {
home-manager.users.soispha = {
programs.atuin = {
enable = true;
+ package = pkgs.atuin-dvorak;
enableZshIntegration = config.soispha.programs.zsh.enable;
settings = {
key_path = "${config.age.secrets.atuin_encryption_key.path}";
diff --git a/modules/by-name/lf/lf/ctpv/default.nix b/modules/by-name/lf/lf/ctpv/default.nix
index e25fa344..3748eca4 100644
--- a/modules/by-name/lf/lf/ctpv/default.nix
+++ b/modules/by-name/lf/lf/ctpv/default.nix
@@ -151,7 +151,7 @@ in {
default = config.home-manager.users.soispha.xdg.dataHome;
};
- package = lib.mkPackageOption pkgs "ctpv" {};
+ package = lib.mkPackageOption pkgs "ctpv-64-types" {};
# TODO: This is necessary, as the `./prev` dir is imported separately and as such
# cannot access the `./helpers.sh` file in it's parent directory.
diff --git a/pkgs/by-name/at/atuin-dvorak/package.nix b/pkgs/by-name/at/atuin-dvorak/package.nix
new file mode 100644
index 00000000..c651eb75
--- /dev/null
+++ b/pkgs/by-name/at/atuin-dvorak/package.nix
@@ -0,0 +1,23 @@
+{atuin}:
+atuin.overrideAttrs (finalAttrs: previousAttrs: {
+ pname = previousAttrs.pname + "-dvorak";
+ patches =
+ previousAttrs.patches
+ ++ [
+ ./set-dvorak-keybindings.patch
+ ];
+
+ # atuin's default features include 'check-updates', which do not make sense
+ # for distribution builds. List all other default features.
+ buildNoDefaultFeatures = true;
+ buildFeatures = [
+ "client"
+ # "sync"
+ # "server"
+ "clipboard"
+ # "daemon"
+ ];
+
+ # The checks don't compile without the `server` feature
+ doCheck = false;
+})
diff --git a/pkgs/by-name/at/atuin/set-dvorak-keybindings.patch b/pkgs/by-name/at/atuin-dvorak/set-dvorak-keybindings.patch
index 9ab3700a..9ab3700a 100644
--- a/pkgs/by-name/at/atuin/set-dvorak-keybindings.patch
+++ b/pkgs/by-name/at/atuin-dvorak/set-dvorak-keybindings.patch
diff --git a/pkgs/by-name/at/atuin/package.nix b/pkgs/by-name/at/atuin/package.nix
deleted file mode 100644
index 7f58697a..00000000
--- a/pkgs/by-name/at/atuin/package.nix
+++ /dev/null
@@ -1,94 +0,0 @@
-# This has been taken from nixpkgs at:
-# https://github.com/NixOS/nixpkgs/blob/5785b6bb5eaae44e627d541023034e1601455827/pkgs/by-name/at/atuin/package.nix
-# I have just removed some features and added a patch for dvorak input.
-{
- lib,
- stdenv,
- fetchFromGitHub,
- installShellFiles,
- rustPlatform,
- libiconv,
- buildPackages,
- darwin,
- nixosTests,
-}:
-rustPlatform.buildRustPackage rec {
- pname = "atuin";
- version = "18.3.0";
-
- src = fetchFromGitHub {
- owner = "atuinsh";
- repo = "atuin";
- rev = "v${version}";
- hash = "sha256-Q3UI1IUD5Jz2O4xj3mFM7DqY3lTy3WhWYPa8QjJHTKE=";
- };
-
- # TODO: unify this to one hash because updater do not support this
- cargoHash =
- if stdenv.hostPlatform.isLinux
- then "sha256-K4Vw/d0ZOROWujWr76I3QvfKefLhXLeFufUrgStAyjQ="
- else "sha256-8NAfE7cGFT64ntNXK9RT0D/MbDJweN7vvsG/KlrY4K4=";
-
- patches = [
- ./set-dvorak-keybindings.patch
- ];
-
- # atuin's default features include 'check-updates', which do not make sense
- # for distribution builds. List all other default features.
- buildNoDefaultFeatures = true;
- buildFeatures = [
- "client"
- # "sync"
- # "server"
- "clipboard"
- # "daemon"
- ];
-
- nativeBuildInputs = [installShellFiles];
-
- buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
- libiconv
- darwin.apple_sdk_11_0.frameworks.AppKit
- darwin.apple_sdk_11_0.frameworks.Security
- darwin.apple_sdk_11_0.frameworks.SystemConfiguration
- ];
-
- preBuild = ''
- export PROTOC=${buildPackages.protobuf}/bin/protoc
- export PROTOC_INCLUDE="${buildPackages.protobuf}/include";
- '';
-
- postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
- installShellCompletion --cmd atuin \
- --bash <($out/bin/atuin gen-completions -s bash) \
- --fish <($out/bin/atuin gen-completions -s fish) \
- --zsh <($out/bin/atuin gen-completions -s zsh)
- '';
-
- passthru.tests = {
- inherit (nixosTests) atuin;
- };
-
- # The checks don't compile without the `server` feature
- doCheck = false;
- checkFlags = [
- # tries to make a network access
- "--skip=registration"
- # No such file or directory (os error 2)
- "--skip=sync"
- # PermissionDenied (Operation not permitted)
- "--skip=change_password"
- "--skip=multi_user_test"
- "--skip=store::var::tests::build_vars"
- # Tries to touch files
- "--skip=build_aliases"
- ];
-
- meta = with lib; {
- description = "Replacement for a shell history which records additional commands context with optional encrypted synchronization between machines";
- homepage = "https://github.com/atuinsh/atuin";
- license = licenses.mit;
- maintainers = with maintainers; [SuperSandro2000 sciencentistguy _0x4A6F];
- mainProgram = "atuin";
- };
-}
diff --git a/pkgs/by-name/ct/ctpv/allow-up-to-64-types.patch b/pkgs/by-name/ct/ctpv-64-types/allow-up-to-64-types.patch
index fdecb754..fdecb754 100644
--- a/pkgs/by-name/ct/ctpv/allow-up-to-64-types.patch
+++ b/pkgs/by-name/ct/ctpv-64-types/allow-up-to-64-types.patch
diff --git a/pkgs/by-name/ct/ctpv-64-types/package.nix b/pkgs/by-name/ct/ctpv-64-types/package.nix
new file mode 100644
index 00000000..763b0325
--- /dev/null
+++ b/pkgs/by-name/ct/ctpv-64-types/package.nix
@@ -0,0 +1,15 @@
+{ctpv}:
+ctpv.overrideAttrs (finalAttrs: previousAttrs: {
+ pname = previousAttrs.pname + "-64-types";
+ patches =
+ (previousAttrs.patches or [])
+ ++ [
+ ./allow-up-to-64-types.patch
+ ];
+
+ preFixup = ''
+ wrapProgram $out/bin/ctpv --set PATH "";
+ '';
+
+ meta.mainProgram = "ctpv";
+})
diff --git a/pkgs/by-name/ct/ctpv/package.nix b/pkgs/by-name/ct/ctpv/package.nix
deleted file mode 100644
index 905366bf..00000000
--- a/pkgs/by-name/ct/ctpv/package.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- lib,
- stdenv,
- fetchFromGitHub,
- makeWrapper,
- file,
- openssl,
-}:
-stdenv.mkDerivation rec {
- pname = "ctpv";
- version = "1.1-unstable-2024-11-24";
-
- src = fetchFromGitHub {
- owner = "NikitaIvanovV";
- repo = pname;
- rev = "4efa0f976eaf8cb814e0aba4f4f1a1d12ee9262e";
- hash = "sha256-tFBXCUey1lsNAg1mB0iQjDoH70qL8aytE6h9rhHlBe4=";
- };
-
- nativeBuildInputs = [makeWrapper];
-
- buildInputs = [
- file # libmagic
- openssl
- ];
-
- patches = [
- ./allow-up-to-64-types.patch
- ];
-
- makeFlags = ["PREFIX=$(out)"];
-
- preFixup = ''
- wrapProgram $out/bin/ctpv \
- --set PATH "${lib.makeBinPath []}";
- '';
-
- meta = with lib; {
- description = "File previewer for a terminal";
- homepage = "https://github.com/NikitaIvanovV/ctpv";
- license = licenses.mit;
- platforms = platforms.linux;
- maintainers = [maintainers.wesleyjrz];
- };
-}