diff --git a/home/bin/executable_linux-add-nonsteam-games b/home/bin/executable_linux-add-nonsteam-games index da0e2d1f..cdbbe218 100644 --- a/home/bin/executable_linux-add-nonsteam-games +++ b/home/bin/executable_linux-add-nonsteam-games @@ -9,7 +9,6 @@ apps=( "/run/current-system/sw/bin/dolphin-emu Dolphin Emulator" "/run/current-system/sw/bin/yuzu Yuzu Emulator" "/run/current-system/sw/bin/ppsspp PPSSPP Emulator" - "/run/current-system/sw/bin/citra-qt Citra Emulator" "/run/current-system/sw/bin/retroarch Retroarch Emulator" ) diff --git a/provision/additional-setup.md b/provision/additional-setup.md index fe4b3c9b..27b7b67f 100644 --- a/provision/additional-setup.md +++ b/provision/additional-setup.md @@ -22,6 +22,14 @@ or `/run/secrets/keys/github_personal` to `~/.ssh/keys/github_personal`. Encrypted keys for various aspects of the config are stored in `./secrets/secrets.yaml` to the required key for decryption must be placed at `~/.config/sops/age/keys.txt`. +### NIPR email, Teams, etc. + + + +[Teams](https://dod.teams.microsoft.us) +[Outlook](https://webmail.apps.mil/owa) +[OneDrive](https://usaf-my.dps.mil) + ## Wireguard Client Wireguard is nice for a home vpn. NixOS setus up all of the configurations for diff --git a/provision/hosts/bulwark/configuration.nix b/provision/hosts/bulwark/configuration.nix index ac8b7cb5..0aca6fa9 100644 --- a/provision/hosts/bulwark/configuration.nix +++ b/provision/hosts/bulwark/configuration.nix @@ -94,6 +94,7 @@ virt-manager.enable = false; }; system = { + nipr.enable = true; ssh.enable = true; terminal.enable = true; secrets.enable = true; diff --git a/provision/hosts/kestrel/configuration.nix b/provision/hosts/kestrel/configuration.nix index f17ba0a8..86dd99f5 100644 --- a/provision/hosts/kestrel/configuration.nix +++ b/provision/hosts/kestrel/configuration.nix @@ -101,6 +101,7 @@ virt-manager.enable = true; }; system = { + nipr.enable = true; secrets.enable = true; ssh.enable = true; terminal.enable = true; diff --git a/provision/hosts/torus/configuration.nix b/provision/hosts/torus/configuration.nix index 2349ae52..4f481d22 100644 --- a/provision/hosts/torus/configuration.nix +++ b/provision/hosts/torus/configuration.nix @@ -80,15 +80,6 @@ gollum # Wiki software that provides a simple, Git-based wiki engine. ]; - # Enable the OpenSSH daemon. - services.openssh.enable = true; - services.pcscd.enable = true; - programs.gnupg.agent = { - enable = true; - pinentryPackage = pkgs.pinentry-curses; - enableSSHSupport = true; - }; - security.acme = { acceptTerms = true; defaults.email = "starrtyler88@gmail.com"; @@ -123,6 +114,18 @@ "git.tstarr.us" = (SSL // { locations."/".proxyPass = "http://localhost:3001/"; }); + "workspace.tstarr.us" = (SSL // { + locations."/".proxyPass = "http://localhost:5000/"; + }); + "code.tstarr.us" = (SSL // { + locations."/" = { + proxyPass = "http://localhost:8443/"; + proxyWebsockets = true; + }; + }); + "plot.tstarr.us" = (SSL // { + locations."/".proxyPass = "http://localhost:8988/"; + }); "share.tstarr.us" = (SSL // { locations."/".proxyPass = "http://localhost:5001/"; extraConfig = '' diff --git a/provision/hosts/torus/rss.nix b/provision/hosts/torus/rss.nix index ae767124..23e5a169 100644 --- a/provision/hosts/torus/rss.nix +++ b/provision/hosts/torus/rss.nix @@ -30,7 +30,7 @@ in services.rss-bridge = { enable = true; - whitelist = [ "*" ]; + config.system.enabled_bridges = [ "*" ]; virtualHost = "${domain}"; }; diff --git a/provision/modules/gaming/emulation.nix b/provision/modules/gaming/emulation.nix index 26a67949..f252012e 100644 --- a/provision/modules/gaming/emulation.nix +++ b/provision/modules/gaming/emulation.nix @@ -7,7 +7,6 @@ in { environment.systemPackages = with pkgs; [ yuzu-archive # Nintendo Switch emulator. - citra-archive # Nintendo 3DS emulator. dolphin-emu # GameCube and Wii emulator. ppsspp # PSP emulator. mgba # Game Boy Advance emulator. @@ -17,6 +16,7 @@ in { snes9x # Super Nintendo Entertainment System (SNES) emulator. mgba # Game Boy Advance emulator. melonds # Nintendo DS emulator. + citra # Nintendo 3DS emulator. ]; }) ]; diff --git a/provision/modules/system/default.nix b/provision/modules/system/default.nix index a322d1f3..97e0427b 100644 --- a/provision/modules/system/default.nix +++ b/provision/modules/system/default.nix @@ -1,4 +1,4 @@ { ... }: { - imports = [ ./secrets.nix ./ssh.nix ./backup.nix ./terminal.nix ./wireguard-client.nix ]; + imports = [ ./nipr.nix ./secrets.nix ./ssh.nix ./backup.nix ./terminal.nix ./wireguard-client.nix ]; } diff --git a/provision/modules/system/nipr.nix b/provision/modules/system/nipr.nix new file mode 100644 index 00000000..5416ba8b --- /dev/null +++ b/provision/modules/system/nipr.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, user, ... }: + +let cfg = config.modules.system.nipr; +in { + options.modules.system.nipr.enable = lib.mkEnableOption "nipr"; + config = lib.mkIf cfg.enable { + + environment.systemPackages = with pkgs; [ + opensc + pcsc-tools + pkcs11helper + firefox + ]; + }; +} diff --git a/provision/modules/system/terminal.nix b/provision/modules/system/terminal.nix index d4d4f59a..ab4b8a06 100644 --- a/provision/modules/system/terminal.nix +++ b/provision/modules/system/terminal.nix @@ -39,6 +39,10 @@ in { timewarrior # Command-line time tracking utility. ollama # Command-line tool for viewing and managing Open Location Codes. docker-compose + opensc + pcsc-tools + firefox + pkcs11helper ]; }; } diff --git a/provision/overlays/default.nix b/provision/overlays/default.nix index 47d2d4e8..0dc67353 100644 --- a/provision/overlays/default.nix +++ b/provision/overlays/default.nix @@ -8,7 +8,6 @@ final: prev: { cookcli = final.callPackage ../pkgs/cookcli.nix {}; nx_tzdb = final.callPackage ../pkgs/nx_tzdb.nix {}; yuzu-archive = final.libsForQt5.callPackage ../pkgs/yuzu-archive.nix {}; - citra-archive = final.qt6Packages.callPackage ../pkgs/citra-archive.nix {}; gnome-set-panel-monitor = final.callPackage ../pkgs/gnome-set-panel-monitor.nix {}; gnome-maximize-lonely-window = final.callPackage ../pkgs/gnome-maximize-lonely-window.nix {}; gnome-fullscreen-to-empty-workspace = final.callPackage ../pkgs/gnome-fullscreen-to-empty-workspace.nix {}; diff --git a/provision/pkgs/citra-archive.nix b/provision/pkgs/citra-archive.nix deleted file mode 100644 index 63dec79a..00000000 --- a/provision/pkgs/citra-archive.nix +++ /dev/null @@ -1,156 +0,0 @@ -{ lib -, stdenv -, cmake -, boost -, pkg-config -, catch2_3 -, cpp-jwt -, cryptopp -, enet -, ffmpeg -, fmt -, gamemode -, glslang -, httplib -, inih -, libusb1 -, nlohmann_json -, openal -, openssl -, SDL2 -, soundtouch -, spirv-tools -, zstd -, vulkan-headers -, vulkan-loader -, enableSdl2Frontend ? true -, enableQt ? true, qtbase, qtmultimedia, qtwayland, wrapQtAppsHook -, enableQtTranslation ? enableQt, qttools -, enableWebService ? true -, enableCubeb ? true, cubeb -, useDiscordRichPresence ? false, rapidjson -, fetchFromGitea -}: -let - branch = "archive"; - version = "2088"; -in -stdenv.mkDerivation { - - pname = "citra-archive"; - version = "2088"; - - src = fetchFromGitea { - domain = "git.tstarr.us"; - owner = "tstarr"; - repo = "citra"; - rev = "813d0c2a302cd5b7cb23ed0307d8984df3df4a21"; - hash = "sha256-k07BdZr8Y4S8cUDJVnCw4NkeeRJoXfuK0aRx6EJ3bAQ="; - fetchSubmodules = true; - }; - - nativeBuildInputs = [ - cmake - pkg-config - ffmpeg - glslang - ] ++ lib.optionals enableQt [ wrapQtAppsHook ]; - - buildInputs = [ - boost - catch2_3 - cpp-jwt - cryptopp - # intentionally omitted: dynarmic - prefer vendored version for compatibility - enet - fmt - httplib - inih - libusb1 - nlohmann_json - openal - openssl - SDL2 - soundtouch - spirv-tools - vulkan-headers - # intentionally omitted: xbyak - prefer vendored version for compatibility - zstd - ] ++ lib.optionals enableQt [ qtbase qtmultimedia qtwayland ] - ++ lib.optional enableQtTranslation qttools - ++ lib.optional enableCubeb cubeb - ++ lib.optional useDiscordRichPresence rapidjson; - - cmakeFlags = [ - (lib.cmakeBool "USE_SYSTEM_LIBS" true) - - (lib.cmakeBool "DISABLE_SYSTEM_DYNARMIC" true) - (lib.cmakeBool "DISABLE_SYSTEM_GLSLANG" true) # The following imported targets are referenced, but are missing: SPIRV-Tools-opt - (lib.cmakeBool "DISABLE_SYSTEM_LODEPNG" true) # Not packaged in nixpkgs - (lib.cmakeBool "DISABLE_SYSTEM_VMA" true) - (lib.cmakeBool "DISABLE_SYSTEM_XBYAK" true) - - # We don't want to bother upstream with potentially outdated compat reports - (lib.cmakeBool "CITRA_ENABLE_COMPATIBILITY_REPORTING" true) - (lib.cmakeBool "ENABLE_COMPATIBILITY_LIST_DOWNLOAD" false) # We provide this deterministically - - (lib.cmakeBool "ENABLE_SDL2_FRONTEND" enableSdl2Frontend) - (lib.cmakeBool "ENABLE_QT" enableQt) - (lib.cmakeBool "ENABLE_QT_TRANSLATION" enableQtTranslation) - (lib.cmakeBool "ENABLE_WEB_SERVICE" enableWebService) - (lib.cmakeBool "ENABLE_CUBEB" enableCubeb) - (lib.cmakeBool "USE_DISCORD_PRESENCE" useDiscordRichPresence) - ]; - - # causes redefinition of _FORTIFY_SOURCE - hardeningDisable = [ "fortify3" ]; - - postPatch = let - branchCaptialized = (lib.toUpper (lib.substring 0 1 branch) + lib.substring 1 (-1) branch); - in '' - # Fix file not found when looking in var/empty instead of opt - mkdir -p externals/dynarmic/src/dynarmic/ir/var - ln -s ../opt externals/dynarmic/src/dynarmic/ir/var/empty - - # We already know the submodules are present - substituteInPlace CMakeLists.txt \ - --replace "check_submodules_present()" "" - - # Add versions - echo 'set(BUILD_FULLNAME "${branchCaptialized} ${version}")' >> CMakeModules/GenerateBuildInfo.cmake - - # Add gamemode - substituteInPlace externals/gamemode/include/gamemode_client.h --replace "libgamemode.so.0" "${lib.getLib gamemode}/lib/libgamemode.so.0" - ''; - - postInstall = let - libs = lib.makeLibraryPath [ vulkan-loader ]; - in lib.optionalString enableSdl2Frontend '' - wrapProgram "$out/bin/citra" \ - --prefix LD_LIBRARY_PATH : ${libs} - '' + lib.optionalString enableQt '' - qtWrapperArgs+=( - --prefix LD_LIBRARY_PATH : ${libs} - ) - ''; - - meta = with lib; { - broken = (stdenv.isLinux && stdenv.isAarch64); - homepage = "https://citra-emu.org"; - description = "The ${branch} branch of an open-source emulator for the Nintendo 3DS"; - longDescription = '' - A Nintendo 3DS Emulator written in C++ - Using the nightly branch is recommended for general usage. - Using the canary branch is recommended if you would like to try out - experimental features, with a cost of stability. - ''; - mainProgram = if enableQt then "citra-qt" else "citra"; - platforms = platforms.linux; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ - abbradar - ashley - ivar - ]; - }; -}