diff --git a/flake.nix b/flake.nix index a4ad5e5..404b4df 100644 --- a/flake.nix +++ b/flake.nix @@ -19,10 +19,13 @@ sops-nix.inputs.nixpkgs.follows = "nixpkgs"; chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; + + try.url = "github:tobi/try"; + try.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = inputs@{ self, nixpkgs, darwin, home-manager, ghostty, nix-ai-tools - , sops-nix, chaotic, ... }: + , sops-nix, chaotic, try, ... }: let inherit (nixpkgs.lib) genAttrs; lib = nixpkgs.lib; @@ -63,7 +66,7 @@ home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.backupFileExtension = "backup"; - home-manager.extraSpecialArgs = { inherit inputs user; }; + home-manager.extraSpecialArgs = { inherit inputs user try; }; home-manager.users.${user} = import homeFile; } ]; @@ -82,7 +85,7 @@ home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = { inherit inputs user; }; + home-manager.extraSpecialArgs = { inherit inputs user try; }; home-manager.users.${user} = import homeFile; } ]; diff --git a/modules/home/rsydn/base.nix b/modules/home/rsydn/base.nix index f8391e7..3da97ee 100644 --- a/modules/home/rsydn/base.nix +++ b/modules/home/rsydn/base.nix @@ -8,6 +8,7 @@ ./devtools/ai-tools.nix ./devtools/languages.nix ./devtools/default.nix + ./devtools/try.nix ./secrets.nix ]; @@ -28,6 +29,11 @@ claude.zai.enable = lib.mkDefault true; }; + rsydn.try = { + enable = lib.mkDefault true; + path = "~/src/tries"; + }; + rsydn.devTools = { enable = lib.mkDefault true; packages = with pkgs; [ diff --git a/modules/home/rsydn/devtools/try.nix b/modules/home/rsydn/devtools/try.nix new file mode 100644 index 0000000..2b85c74 --- /dev/null +++ b/modules/home/rsydn/devtools/try.nix @@ -0,0 +1,24 @@ +{ config, lib, pkgs, try, ... }: +let + inherit (lib) mkEnableOption mkOption types mkIf; + cfg = config.rsydn.try; +in { + imports = [ try.homeModules.default ]; + + options.rsydn.try = { + enable = mkEnableOption "Try - temporary project directory manager"; + + path = mkOption { + type = types.str; + default = "~/src/tries"; + description = "Storage directory for try experiment instances."; + }; + }; + + config = mkIf cfg.enable { + programs.try = { + enable = true; + path = cfg.path; + }; + }; +}