aboutsummaryrefslogtreecommitdiffstats
path: root/modules/scripts/lib.nix
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-23 18:30:05 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-23 18:42:18 +0530
commit5032239a236595451f22ea948c42281f8aa04645 (patch)
tree5e6be8235a04614c676d8883c3c756e1b9a5f4ff /modules/scripts/lib.nix
parent2ad7b06ced0ffa39d20e6be41466e5bd834ee956 (diff)
downloadhome-manager-config-5032239a236595451f22ea948c42281f8aa04645.tar.gz
home-manager-config-5032239a236595451f22ea948c42281f8aa04645.zip
feat: migrate from lf to yazi as default file manager
- Replace lf module with yazi module including base16 theme - Remove file-preview and file-preview-clean scripts (no longer needed) - Add yazi-file-chooser script for XDG Desktop Portal integration - Update i3 keybinding to use yazi - Add GTK_USE_PORTAL and TERMCMD session variables - Add extraLinks support to mkScriptModule
Diffstat (limited to 'modules/scripts/lib.nix')
-rw-r--r--modules/scripts/lib.nix18
1 files changed, 17 insertions, 1 deletions
diff --git a/modules/scripts/lib.nix b/modules/scripts/lib.nix
index 8b04b5f..cab897d 100644
--- a/modules/scripts/lib.nix
+++ b/modules/scripts/lib.nix
@@ -41,9 +41,13 @@ let
env ? { },
deps ? [ ],
desktop ? null,
+ extraLinks ? [ ],
config,
description ? "",
}:
+ let
+ scriptDrv = mkScript name path description env deps;
+ in
{
options.scripts.${name} = {
enable = lib.mkOption {
@@ -73,10 +77,22 @@ let
moduleConfig = {
scripts.${name} = lib.mkIf config.scripts.${name}.enable (
{
- package = mkScript name path description env deps;
+ package = scriptDrv;
}
// lib.optionalAttrs (desktop != null) { inherit desktop; }
);
+
+ home.file = lib.mkIf config.scripts.${name}.enable (
+ builtins.listToAttrs (
+ map (linkPath: {
+ name = lib.removePrefix "~/" linkPath;
+ value = {
+ source = "${scriptDrv}/bin/${name}";
+ };
+ }) extraLinks
+ )
+ );
+
assertions = [
{
assertion =