{pkgs, ...}: { imports = [ ./generic.nix ./features/desktop/hyprland ./features/desktop/wireless ./features/productivity ./features/productivity/accounts/mgc.nix ./features/pass ./features/ai ]; accounts = { email.accounts.mgc.primary = true; calendar.accounts.mgc.primary = true; }; targets.genericLinux = { enable = true; # System Manager owns /run/opengl-driver through nix-system-graphics. gpu.enable = false; }; monitors = [ { name = "eDP-1"; width = 1920; height = 1080; workspace = "1"; primary = true; scale = 1.25; } ]; # Green (160°) wallpaper = pkgs.wallpapers.aenami-northern-lights; home.packages = [ pkgs.wireguard-tools pkgs.sshuttle pkgs.glab pkgs.juju ]; # System Manager and the upstream Nix installer only ship POSIX # /etc/profile.d fragments to set up PATH / XDG_DATA_DIRS; fish never sources # /etc/profile, and SM's own fish support is an unfinished upstream TODO. So a # bare fish shell misses /run/wrappers/bin, /run/system-manager/sw/bin, the # nix default profile, and /run/system-manager/sw/share. Translate the two # relevant fragments with babelfish and source them. The guard makes it a # cheap no-op once the env is present (e.g. a terminal inside the # bash-login-wrapped graphical session). programs.fish.interactiveShellInit = /* fish */ '' if not contains /run/system-manager/sw/bin $PATH for profile_script in /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh /etc/profile.d/system-manager-path.sh test -r $profile_script; and ${pkgs.babelfish}/bin/babelfish <$profile_script | source end end ''; }