diff --git a/modules/build-types/gui.nix b/modules/build-types/gui.nix index 214d60a..fe2a69e 100644 --- a/modules/build-types/gui.nix +++ b/modules/build-types/gui.nix @@ -81,4 +81,70 @@ programs.firefox.enable = true; nixpkgs.config.allowUnfree = true; + + # GUI-specific Home Manager additions for the IPA primary user, extending + # the baseline in modules/ipa/client.nix with desktop apps and services + # that only make sense on a graphical workstation. + home-manager.users.${vars.ipaUser} = { pkgs, ... }: { + home = { + packages = with pkgs; [ + git + vim + nextcloud-client + chromium + claude-code + fish + sops + ]; + sessionVariables = { + EDITOR = "vim"; + SOPS_AGE_KEY_FILE = "/home/${vars.ipaUser}/.config/sops/age/keys.txt"; + }; + file = { + ".local/share/applications/proxmox-chromium-app.desktop".text = '' + [Desktop Entry] + Type=Application + Name=Proxmox (Chromium) + Exec=chromium --app=https://pve.${vars.homeDomain}:${toString vars.ports.pveWeb} --window-size=1920,1080 --window-position=0,0 + Icon=/home/${vars.ipaUser}/.local/share/icons/proxmox.png + Terminal=false + Categories=Hypervisor; + StartupWMClass=PVE + ''; + ".local/share/applications/pbs-chromium-app.desktop".text = '' + [Desktop Entry] + Type=Application + Name=Proxmox Backup Server (Chromium) + Exec=chromium --app=https://${vars.pbsIp}:${toString vars.ports.pbsWeb} --window-size=1920,1080 --window-position=0,0 + Icon=/home/${vars.ipaUser}/.local/share/icons/proxmox.png + Terminal=false + Categories=backup; + ''; + ".local/share/applications/proxmox-firefox-app.desktop".text = '' + [Desktop Entry] + Type=Application + Name=Proxmox (Firefox) + Exec=firefox --new-instance https://pve.${vars.homeDomain}:${toString vars.ports.pveWeb} --profile ProxmoxWebApp --window-size=1920,1080 --class ProxmoxWebApp + Icon=/home/${vars.ipaUser}/.local/share/icons/proxmox.png + Terminal=false + Categories=Hypervisor; + StartupWMClass=PVE + ''; + ".local/share/applications/pbs-firefox-app.desktop".text = '' + [Desktop Entry] + Type=Application + Name=Proxmox Backup Server (Firefox) + Exec=firefox --new-window https://${vars.pbsIp}:${toString vars.ports.pbsWeb} --profile PbsWebApp --window-size=1920,1080 --class PbsWebApp + Icon=/home/${vars.ipaUser}/.local/share/icons/proxmox.png + Terminal=false + Categories=backup; + StartupWMClass=PBS + ''; + }; + }; + services.nextcloud-client = { + enable = true; + startInBackground = true; + }; + }; } diff --git a/modules/ipa/client.nix b/modules/ipa/client.nix index 3880be2..76514e3 100644 --- a/modules/ipa/client.nix +++ b/modules/ipa/client.nix @@ -202,7 +202,7 @@ lib.mkIf enabled { homeDirectory = lib.mkForce "/home/${vars.ipaUser}"; stateVersion = "26.05"; packages = with pkgs; [ tmux sshfs ]; - sessionVariables.EDITOR = "nano"; + sessionVariables.EDITOR = lib.mkDefault "nano"; }; programs.home-manager.enable = true; programs.bash.enable = true;