This commit is contained in:
mjallen18
2025-02-19 16:56:13 -06:00
parent 3c636cb507
commit debc590187
4 changed files with 98 additions and 11 deletions

View File

@@ -43,12 +43,14 @@
# Set your time zone.
time.timeZone = "America/Chicago";
services.xserver.desktopManager.gnome.enable = true;
services.desktopManager.plasma6 = {
enable = true;
enable = false;
enableQt5Integration = true;
};
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ];
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
services.xserver.enable = true;

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ lib, pkgs, ... }:
let
shellAliases = {
ll = "ls -alh";
@@ -46,6 +46,7 @@ in
romFolder = "gc";
binaryName = "dolphin-emu";
fileTypes = [ ".iso" ".ISO" ".gcm" ".GCM" ".ciso" ".CISO" "rvz" ];
extraArgs = "-b -e \"\${filePath}\"";
};
pcsx2 = {
@@ -92,9 +93,16 @@ in
home.packages = with pkgs; [
age
apple-cursor
chromium
colloid-icon-theme
colloid-gtk-theme
dolphin-emu
fastfetch
gnome-tweaks
gnomeExtensions.appindicator
gnomeExtensions.dash-to-dock
gnomeExtensions.tiling-assistant
heroic
lm_sensors
mgba
@@ -108,4 +116,36 @@ in
vmware-horizon-client
vscode
];
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface".clock-format = "12h";
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
"org/gnome/desktop/interface".cursor-theme = lib.mkDefault "macOS";
"org/gnome/desktop/interface".enable-hot-corners = false;
"org/gnome/desktop/interface".font-antialiasing = "grayscale";
"org/gnome/desktop/interface".font-hinting = "slight";
"org/gnome/desktop/interface".gtk-theme = lib.mkDefault "Colloid-Dark";
"org/gnome/desktop/interface".icon-theme = lib.mkDefault "Colloid-Dark";
"org/gnome/desktop/peripherals/mouse".accel-profile = "flat";
"org/gnome/desktop/peripherals/touchpad".two-finger-scrolling-enabled = true;
"org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
"org/gnome/mutter".experimental-features = [
"scale-monitor-framebuffer"
"variable-refresh-rate"
];
"org/gnome/tweaks".show-extensions-notice = false;
"org/gnome/shell".enabled-extensions = [
"appindicatorsupport@rgcjonas.gmail.com"
"user-theme@gnome-shell-extensions.gcampax.github.com"
"tiling-assistant@leleat-on-github"
"dash-to-dock@micxgx.gmail.com"
];
"org/gnome/shell/extensions/dash-to-panel".primary-monitor = 1;
"org/gnome/shell/extensions/dash-to-panel".multi-monitors = false;
"org/gnome/shell/extensions/user-theme".name = lib.mkDefault "Colloid-Dark";
"org/gtk/settings/file-chooser".clock-format = "12h";
};
};
}

View File

@@ -5,7 +5,7 @@
enable = true;
autoStart = true;
user = "deck";
desktopSession = "plasma"; # plasma, plasmaX11, or gamescope-wayland
desktopSession = "gnome"; # plasma, plasmaX11, or gamescope-wayland
};
steamos = {

View File

@@ -179,11 +179,41 @@ let
in
makeOrderedJSON orderedConfig;
# Create AppImage package
steam-rom-manager = pkgs.fetchurl {
name = "steam-rom-manager-2.5.29.AppImage";
url = "https://github.com/SteamGridDB/steam-rom-manager/releases/download/v2.5.29/Steam-ROM-Manager-2.5.29.AppImage";
hash = "sha256-6ZJ+MGIgr2osuQuqD6N9NnPiJFNq/HW6ivG8tyXUhvs=";
# Fetch the SVG icon file directly
steam-rom-manager-icon = pkgs.fetchurl {
name = "steam-rom-manager.svg";
url = "https://raw.githubusercontent.com/SteamGridDB/steam-rom-manager/master/src/assets/icons/steam-rom-manager.svg";
hash = "sha256-DKzNIs5UhIWAVRTfinvCb8WqeDniPWw9Z08/p/Zpa9E=";
};
# Create our Steam ROM Manager package
steam-rom-manager = pkgs.stdenv.mkDerivation {
name = "steam-rom-manager-2.5.29";
src = pkgs.fetchurl {
name = "steam-rom-manager-2.5.29.AppImage";
url = "https://github.com/SteamGridDB/steam-rom-manager/releases/download/v2.5.29/Steam-ROM-Manager-2.5.29.AppImage";
hash = "sha256-6ZJ+MGIgr2osuQuqD6N9NnPiJFNq/HW6ivG8tyXUhvs=";
};
nativeBuildInputs = [ pkgs.makeWrapper ];
# Skip unnecessary build phases since we're just installing files
dontUnpack = true;
dontBuild = true;
dontPatch = true;
dontConfigure = true;
installPhase = ''
# Create our directory structure
mkdir -p $out/{bin,share/icons/hicolor/scalable/apps,share/applications}
# Install the AppImage
cp $src $out/bin/steam-rom-manager.AppImage
chmod +x $out/bin/steam-rom-manager.AppImage
# Install the SVG icon
cp ${steam-rom-manager-icon} $out/share/icons/hicolor/scalable/apps/steam-rom-manager.svg
'';
};
in {
options.programs.steam-rom-manager = {
@@ -252,12 +282,27 @@ in {
home.packages = [ pkgs.appimage-run ]
++ mapAttrsToList (_: v: v.package) (filterAttrs (_: v: v.enable) cfg.emulators);
# Install the icon
xdg.dataFile = {
"icons/hicolor/scalable/apps/steam-rom-manager.svg".source = steam-rom-manager-icon;
};
# Create the desktop entry
xdg.desktopEntries.steam-rom-manager = {
name = "Steam ROM Manager";
exec = "${pkgs.appimage-run}/bin/appimage-run ${cfg.package}";
icon = "steam";
exec = "${pkgs.appimage-run}/bin/appimage-run ${steam-rom-manager}/bin/steam-rom-manager.AppImage";
icon = "steam-rom-manager";
categories = [ "Game" "Utility" ];
type = "Application";
terminal = false;
comment = "Add ROMs to Steam with artwork";
# Add KDE-specific entries
settings = {
# Ensure it appears in Plasma menus
"X-KDE-StartupNotify" = "true";
"X-KDE-SubstituteUID" = "false";
"X-DBUS-StartupType" = "Unique";
};
};
# Configuration files using xdg.configFile