138 lines
3.7 KiB
Nix
138 lines
3.7 KiB
Nix
{ 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
|
|
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 (system == "x86-linux") [ vrcx ]
|
|
++ 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;
|
|
xdg.configFile."starship.toml".source = ./xdg/starship.toml;
|
|
home.file.".zshrc".source = xdg/zshrc;
|
|
|
|
services.syncthing = pkgs.lib.mkIf use_syncthing (import ./syncthing.nix { config = config; });
|
|
# services.syncthing = pkgs.lib.mkIf use_syncthing import ./syncthing.nix { config = config; };
|
|
}
|