diff --git a/Droidnix/README.org b/Droidnix/README.org index a582f6768..ceca6afac 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -466,7 +466,8 @@ in USERNAME = username; }; }; -}#+END_SRC +} +#+END_SRC ** =generated/modules/traveldroid/apps/wofi.nix= This is the install for Wofi, the launcher diff --git a/Droidnix/generated/modules/traveldroid/apps/thunar.nix b/Droidnix/generated/modules/traveldroid/apps/thunar.nix new file mode 100644 index 000000000..15e2d9026 --- /dev/null +++ b/Droidnix/generated/modules/traveldroid/apps/thunar.nix @@ -0,0 +1,31 @@ +{ pkgs, config, lib, ... }: + +let + # Resolve the default username from host config + username = config.defaultUser or "henrov"; +in +{ + ############################ + # System-level packages + ############################ + environment.systemPackages = with pkgs; [ + thunar # main file manager + thunar-archive-plugin # zip, tar, rar, 7z support + thunar-volman # auto-mount removable drives + gvfs # support for external drives and network shares + xarchiver # optional GUI archive manager + ]; + + ############################ + # Home Manager user-level configuration + ############################ + # Direct assignment to the user avoids recursiveUpdate issues + home-manager.users."${username}" = { + home.stateVersion = "26.05"; # required + + home.sessionVariables = { + FILE_MANAGER = "thunar"; + USERNAME = username; + }; + }; +} diff --git a/Droidnix/generated/modules/traveldroid/apps/wofi.nix b/Droidnix/generated/modules/traveldroid/apps/wofi.nix new file mode 100644 index 000000000..e22faa26c --- /dev/null +++ b/Droidnix/generated/modules/traveldroid/apps/wofi.nix @@ -0,0 +1,36 @@ +{ lib, config, pkgs, flakeRoot, home-manager, ... }: + +let + programName = "wofi"; + username = config.defaultUser or "henrov"; + assetPath = "${flakeRoot}/assets/traveldroid/conf/${programName}"; + + # Read all files in the asset directory if it exists + assetFiles = + if builtins.pathExists assetPath then + builtins.attrNames (builtins.readDir assetPath) + else + []; + + # Convert files to Home Manager xdg config entries + wofiFiles = lib.genAttrs assetFiles (f: { + name = ".config/${programName}/${f}"; + value = { source = "${assetPath}/${f}"; }; + }); +in +{ + # Install Wofi via system packages + environment.systemPackages = [ + pkgs.wofi + ]; + + # Home Manager configuration + _module.args.hmUsers = { + ${username} = { + home.packages = [ pkgs.wofi ]; + + # Deploy all files to ~/.config/wofi/ + home.file = lib.mkMerge wofiFiles; + }; + }; +}