{ config, pkgs, inputs, system ? "x86_64-linux", username ? "abby", use_syncthing ? false , ... }: { # Home Manager needs a bit of information about you and the # paths it should manage. home.username = username; home.homeDirectory = "/home/${username}"; # This value determines the Home Manager release that your # configuration is compatible with. This helps avoid breakage # when a new Home Manager release introduces backwards # incompatible changes. # # You can update Home Manager without changing this value. See # the Home Manager release notes for a list of state version # changes in each release. home.stateVersion = "25.05"; # Let Home Manager install and manage itself. programs.home-manager.enable = true; home.packages = with pkgs; [ tmux inputs.oscgoesbrrr.packages.${system}.default oscavmgr vrcadvert alcom vesktop vrcx mpv vlc moonlight-qt starship #inputs.ragenix.packges.${system}.default # htop #inputs.baballonia.${system}.default ] ++ lib.optionals (system == "x86-linux") (import ./unity_vrchat.nix {pkgs = pkgs; }).packages ++ lib.optionals (false) [ inputs.nixgl.nixGLIntel ] ++ [ stardust-xr-server stardust-xr-sphereland stardust-xr-protostar stardust-xr-magnetar stardust-xr-kiara stardust-xr-gravity stardust-xr-flatland stardust-xr-atmosphere ]; # importing secrets age.secrets = { syncthing_tin.file = ./secrets/syncthing_tin.age; syncthing_nicrosil.file = ./secrets/syncthing_nicrosil.age; }; # Wayvr customization xdg.configFile."wlxoverlay/openxr_actions.json5" = { source = ./xdg/wlxoverlay_openxr_actions.json5; }; # For wayvr-dashboard/wlx integration xdg.configFile."wlxoverlay/wayvr.conf.d/dashboard.yaml".text = '' dashboard: exec: "/run/current-system/sw/bin/wayvr-dashboard" args: "" env: [] ''; # Make vrchat pictures folder more accessable home.file."Pictures/VRChat".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.local/share/Steam/steamapps/compatdata/438100/pfx/drive_c/users/steamuser/Pictures/VRChat"; # For Monado: xdg.configFile."openxr/1/active_runtime.json".source = "${pkgs.monado}/share/openxr/1/openxr_monado.json"; xdg.configFile."openvr/openvrpaths.vrpath".text = '' { "config" : [ "${config.xdg.dataHome}/Steam/config" ], "external_drivers" : null, "jsonid" : "vrpathreg", "log" : [ "${config.xdg.dataHome}/Steam/logs" ], "runtime" : [ "${pkgs.xrizer}/lib/xrizer" ], "version" : 1 } ''; # For bsb2e cameras systemd.user.services.go-bsb-cams = { Unit = { Description = "Go bsb cams"; }; Install = { WantedBy = [ "default.target" ]; }; unitConfig = { Type = "simple"; }; Service = { ExecStart = "${inputs.go-bsb-cam.packages.${system}.default}/bin/go-bsb-cams"; }; }; # Emacs stuff - ported from dotfiles repo services.emacs = { enable = false; package = with pkgs; ( (emacsPackagesFor emacs-pgtk).emacsWithPackages( epkgs: [epkgs.vterm] ) ); defaultEditor = true; }; xdg.configFile."emacs" = { source = ./xdg/emacs; recursive = true; }; # Other misc conf files xdg.configFile."kitty/kitty.conf".source = ./xdg/kitty/kitty.conf; home.file.".zshrc".source = xdg/zshrc; services.syncthing = pkgs.lib.optionals (use_syncthing) import ./syncthing.nix { config = config; }; }