Compare commits
	
		
			No commits in common. "9d73b0d728c81aeab28b0af68b390532279f0ab1" and "592f5dc0ef457b0e3861f14fed7ce45d448d6254" have entirely different histories.
		
	
	
		
			9d73b0d728
			...
			592f5dc0ef
		
	
		
							
								
								
									
										42
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										42
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							| @ -366,11 +366,11 @@ | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1737762889, | ||||
|         "narHash": "sha256-5HGG09bh/Yx0JA8wtBMAzt0HMCL1bYZ93x4IqzVExio=", | ||||
|         "lastModified": 1737669579, | ||||
|         "narHash": "sha256-v9WQ3c4ctwPMfdBZMZxpdM9xXev4uChce4BxOpvsu0E=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "home-manager", | ||||
|         "rev": "daf04c5950b676f47a794300657f1d3d14c1a120", | ||||
|         "rev": "7b9ece1bf3c8780cde9b975b28c2d9ccd7e9cdb9", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -387,11 +387,11 @@ | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1737762889, | ||||
|         "narHash": "sha256-5HGG09bh/Yx0JA8wtBMAzt0HMCL1bYZ93x4IqzVExio=", | ||||
|         "lastModified": 1737630279, | ||||
|         "narHash": "sha256-wJQCxyMRc4P26zDrHmZiRD5bbfcJpqPG3e2djdGG3pk=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "home-manager", | ||||
|         "rev": "daf04c5950b676f47a794300657f1d3d14c1a120", | ||||
|         "rev": "0db5c8bfcce78583ebbde0b2abbc95ad93445f7c", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -493,11 +493,11 @@ | ||||
|     }, | ||||
|     "nixpkgs": { | ||||
|       "locked": { | ||||
|         "lastModified": 1737746512, | ||||
|         "narHash": "sha256-nU6AezEX4EuahTO1YopzueAXfjFfmCHylYEFCagduHU=", | ||||
|         "lastModified": 1737469691, | ||||
|         "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "825479c345a7f806485b7f00dbe3abb50641b083", | ||||
|         "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -509,11 +509,11 @@ | ||||
|     }, | ||||
|     "nixpkgs_2": { | ||||
|       "locked": { | ||||
|         "lastModified": 1737717945, | ||||
|         "narHash": "sha256-ET91TMkab3PmOZnqiJQYOtSGvSTvGeHoegAv4zcTefM=", | ||||
|         "lastModified": 1737525964, | ||||
|         "narHash": "sha256-3wFonKmNRWKq1himW9N3TllbeGIHFACI5vmLpk6moF8=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "ecd26a469ac56357fd333946a99086e992452b6a", | ||||
|         "rev": "5757bbb8bd7c0630a0cc4bb19c47e588db30b97c", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -552,11 +552,11 @@ | ||||
|         "treefmt-nix": "treefmt-nix" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1737832569, | ||||
|         "narHash": "sha256-VkK73VRVgvSQOPw9qx9HzvbulvUM9Ae4nNd3xNP+pkI=", | ||||
|         "lastModified": 1737667561, | ||||
|         "narHash": "sha256-BKUapQPTji3V2uxymGq62/UWF1XMjfHvKd565jj1HlA=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "nixvim", | ||||
|         "rev": "d7df58321110d3b0e12a829bbd110db31ccd34b1", | ||||
|         "rev": "aab2b81792567237c104b90c3936e073d28a9ac6", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -574,11 +574,11 @@ | ||||
|         "treefmt-nix": "treefmt-nix_2" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1737897819, | ||||
|         "narHash": "sha256-oVr0st3IHSgIPLDCoDtbI/TiLcMqs85KGBfLqFV3xQU=", | ||||
|         "lastModified": 1737676011, | ||||
|         "narHash": "sha256-NqRCQ98D1LY1txY8juG8ufvdSCfvvnoYjV6U6KLRHQ8=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "NUR", | ||||
|         "rev": "ee6e560d3cbfdbb2d92d1d95c83aaa434ed42dc5", | ||||
|         "rev": "470a60434e82a09ea60adb564919923e1017feb7", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @ -640,11 +640,11 @@ | ||||
|         "tinted-zed": "tinted-zed" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1737861120, | ||||
|         "narHash": "sha256-V/GWU1BQwbxyZif9RBvwn10S1KX+86uPkkI41KQEcQQ=", | ||||
|         "lastModified": 1737657729, | ||||
|         "narHash": "sha256-TIDR1zKoP2uaqRot/LnarugfAC9U7geycjbJqA1naVM=", | ||||
|         "owner": "danth", | ||||
|         "repo": "stylix", | ||||
|         "rev": "d6951d0b2ffe74e4779a180e9b6a0e17627756e1", | ||||
|         "rev": "e594886eb0951a0a0c28ffa333a9df6fb13857a1", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | ||||
| @ -44,11 +44,6 @@ | ||||
|                 nixvim.homeManagerModules.nixvim | ||||
|                 nur.modules.homeManager.default | ||||
|                 { | ||||
|                   # TODO: Remove insecure package exception | ||||
|                   nixpkgs.config.permittedInsecurePackages = [ | ||||
|                     "freeimage-unstable-2021-11-01" # For emulation station | ||||
|                     "electron-31.7.7" # For feishin | ||||
|                   ]; | ||||
|                   nixpkgs.overlays = [ | ||||
|                     nix-matlab.overlay | ||||
|                   ]; | ||||
|  | ||||
| @ -61,7 +61,7 @@ in | ||||
|       neovim.enable = true; | ||||
|       systemd-boot.enable = true; | ||||
|       tuigreet.enable = true; | ||||
|       networkmanager.enable = true; | ||||
|       # tailscale.enable = true; | ||||
|     }; | ||||
| 
 | ||||
|     # TODO: Remove everything below, it is here out of convenience and should be elsewhere | ||||
|  | ||||
| @ -21,7 +21,6 @@ with lib; | ||||
|     ./greeter/greetd/tuigreet.nix | ||||
|     ./locale/default.nix | ||||
|     ./neovim/default.nix | ||||
|     ./networkmanager/default.nix | ||||
|     ./power-saving/default.nix | ||||
|     ./sound/pipewire.nix | ||||
|     ./users/default.nix | ||||
|  | ||||
| @ -1,25 +0,0 @@ | ||||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   ... | ||||
| }: | ||||
| 
 | ||||
| with lib; | ||||
| let | ||||
|   cfg = config.modules.power-saving; | ||||
| in | ||||
| { | ||||
|   options.modules.networkmanager = { | ||||
|     enable = mkEnableOption "networkmanager"; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     machine.sudo-groups = [ "networkmanager" ]; | ||||
|     networking = { | ||||
|       networkmanager = { | ||||
|         enable = true; | ||||
|         wifi.powersave = true; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
| @ -1,6 +1,7 @@ | ||||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										59
									
								
								pkgs/custom/jellyfin-tui.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								pkgs/custom/jellyfin-tui.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,59 @@ | ||||
| { | ||||
|   fetchFromGitHub, | ||||
|   lib, | ||||
|   linux-pam, | ||||
|   rustPlatform, | ||||
|   testers, | ||||
|   lemurs, | ||||
|   pkgs, | ||||
| }: | ||||
| 
 | ||||
| rustPlatform.buildRustPackage rec { | ||||
|   pname = "jellyfin-tui"; | ||||
|   version = "1.0.1"; | ||||
| 
 | ||||
|   src = fetchFromGitHub { | ||||
|     owner = "dhonus"; | ||||
|     repo = "jellyfin-tui"; | ||||
|     rev = "v${version}"; | ||||
|     hash = "sha256-jHjTckdyPMJO1INF1AdJvvWTJ0ZJJGOxkBc0YZx9HWI="; | ||||
|   }; | ||||
| 
 | ||||
|   cargoHash = "sha256-H6JTupGh1ec6/RIkoAPMl2agNSbF9B5CuJlxDNEwDc4="; | ||||
| 
 | ||||
|   buildInputs = with pkgs; [ | ||||
|     mpv | ||||
|   ]; | ||||
| 
 | ||||
|   nativeBuildInputs = with pkgs; [ | ||||
|     pkg-config | ||||
|     openssl | ||||
|     openssl.dev | ||||
|   ]; | ||||
| 
 | ||||
|   desktopItems = | ||||
|     let | ||||
|       desktopEntry = pkgs.makeDesktopItem { | ||||
|         name = "siyuan"; | ||||
|         desktopName = "SiYuan"; | ||||
|         comment = "Refactor your thinking"; | ||||
|         terminal = true; | ||||
|         exec = "jellyfin-tui"; | ||||
|       }; | ||||
|     in | ||||
|     [ | ||||
|       desktopEntry | ||||
|     ]; | ||||
| 
 | ||||
|   PKG_CONFIG_PATH = "${pkgs.openssl.dev}/lib/pkgconfig"; | ||||
| 
 | ||||
|   meta = with lib; { | ||||
|     description = "Jellyfin TUI music client written in Rust"; | ||||
|     homepage = "https://github.com/dhonus/jellyfin-tui"; | ||||
|     license = with licenses; [ | ||||
|       gpl3 | ||||
|     ]; | ||||
|     maintainers = with maintainers; [ ]; | ||||
|     mainProgram = "jellyfin-tui"; | ||||
|   }; | ||||
| } | ||||
| @ -4,11 +4,15 @@ | ||||
| 
 | ||||
| { | ||||
|   nixpkgs.config = { | ||||
|     # android_sdk.accept_license = true; # TODO: Move to android module | ||||
|     packageOverrides = pkgs: { | ||||
|       dina-vector = pkgs.callPackage ./fonts/dina-vector.nix { }; | ||||
|       wqy-zenhei = pkgs.callPackage ./fonts/wqy-zenhei.nix { }; | ||||
|       wqy-microhei = pkgs.callPackage ./fonts/wqy-microhei.nix { }; | ||||
|       wqy-bitmapsong = pkgs.callPackage ./fonts/wqy-bitmapsong.nix { }; | ||||
|       temp-quickgui = pkgs.callPackage ./temp/quickgui.nix { }; | ||||
|       # qutebrowser = pkgs.callPackage ./fixes/qutebrowser/default.nix { }; | ||||
|       jellyfin-tui = pkgs.callPackage ./custom/jellyfin-tui.nix { }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | ||||
							
								
								
									
										167
									
								
								pkgs/fixes/qutebrowser/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										167
									
								
								pkgs/fixes/qutebrowser/default.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,167 @@ | ||||
| { | ||||
|   pkgs, | ||||
|   stdenv, | ||||
|   lib, | ||||
|   fetchurl, | ||||
|   fetchzip, | ||||
|   python3, | ||||
|   glib-networking, | ||||
|   asciidoc, | ||||
|   docbook_xml_dtd_45, | ||||
|   docbook_xsl, | ||||
|   libxml2, | ||||
|   libxslt, | ||||
|   withPdfReader ? true, | ||||
|   pipewireSupport ? stdenv.hostPlatform.isLinux, | ||||
|   pipewire, | ||||
|   enableWideVine ? false, | ||||
|   widevine-cdm, | ||||
|   # can cause issues on some graphics chips | ||||
|   enableVulkan ? false, | ||||
|   vulkan-loader, | ||||
| }: | ||||
| 
 | ||||
| let | ||||
|   # Load in Qt packages. | ||||
|   qtbase = pkgs.kdePackages.qtbase; | ||||
|   qtwebengine = pkgs.kdePackages.qtwebengine; | ||||
|   qtwayland = pkgs.kdePackages.qtwayland; | ||||
|   wrapQtAppsHook = pkgs.kdePackages.wrapQtAppsHook; | ||||
| 
 | ||||
|   isQt6 = lib.versions.major qtbase.version == "6"; | ||||
|   pdfjs = | ||||
|     let | ||||
|       version = "4.2.67"; | ||||
|     in | ||||
|     fetchzip { | ||||
|       url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/pdfjs-${version}-dist.zip"; | ||||
|       hash = "sha256-7kfT3+ZwoGqZ5OwkO9h3DIuBFd0v8fRlcufxoBdcy8c="; | ||||
|       stripRoot = false; | ||||
|     }; | ||||
| 
 | ||||
|   version = "3.2.1"; | ||||
| in | ||||
| 
 | ||||
| python3.pkgs.buildPythonApplication { | ||||
|   pname = "qutebrowser" + lib.optionalString (!isQt6) "-qt5"; | ||||
|   inherit version; | ||||
|   src = fetchurl { | ||||
|     url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/qutebrowser-${version}.tar.gz"; | ||||
|     hash = "sha256-AqevKmxds42HsiWwuEEsgNmDgzXzLQ6KOPbX+804iX0="; | ||||
|   }; | ||||
| 
 | ||||
|   # Needs tox | ||||
|   doCheck = false; | ||||
| 
 | ||||
|   buildInputs = | ||||
|     [ | ||||
|       qtbase | ||||
|       glib-networking | ||||
|     ] | ||||
|     ++ lib.optionals stdenv.hostPlatform.isLinux [ | ||||
|       qtwayland | ||||
|     ]; | ||||
| 
 | ||||
|   nativeBuildInputs = [ | ||||
|     wrapQtAppsHook | ||||
|     asciidoc | ||||
|     docbook_xml_dtd_45 | ||||
|     docbook_xsl | ||||
|     libxml2 | ||||
|     libxslt | ||||
|   ]; | ||||
| 
 | ||||
|   dependencies = with python3.pkgs; [ | ||||
|     colorama | ||||
|     pyyaml | ||||
|     (if isQt6 then pyqt6-webengine else pyqtwebengine) | ||||
|     jinja2 | ||||
|     pygments | ||||
|     # scripts and userscripts libs | ||||
|     tldextract | ||||
|     beautifulsoup4 | ||||
|     readability-lxml | ||||
|     pykeepass | ||||
|     stem | ||||
|     pynacl | ||||
|     # extensive ad blocking | ||||
|     adblock | ||||
|     # for the qute-bitwarden user script to be able to copy the TOTP token to clipboard | ||||
|     pyperclip | ||||
|   ]; | ||||
| 
 | ||||
|   patches = [ | ||||
|     ./fix-restart.patch | ||||
|   ]; | ||||
| 
 | ||||
|   dontWrapQtApps = true; | ||||
| 
 | ||||
|   postPatch = | ||||
|     '' | ||||
|       substituteInPlace qutebrowser/misc/quitter.py --subst-var-by qutebrowser "$out/bin/qutebrowser" | ||||
| 
 | ||||
|       sed -i "s,/usr,$out,g" qutebrowser/utils/standarddir.py | ||||
|     '' | ||||
|     + lib.optionalString withPdfReader '' | ||||
|       sed -i "s,/usr/share/pdf.js,${pdfjs},g" qutebrowser/browser/pdfjs.py | ||||
|     ''; | ||||
| 
 | ||||
|   installPhase = '' | ||||
|     runHook preInstall | ||||
| 
 | ||||
|     make -f misc/Makefile \ | ||||
|       PYTHON=${(python3.pythonOnBuildForHost.withPackages (ps: with ps; [ setuptools ])).interpreter} \ | ||||
|       PREFIX=. \ | ||||
|       DESTDIR="$out" \ | ||||
|       DATAROOTDIR=/share \ | ||||
|       install | ||||
| 
 | ||||
|     runHook postInstall | ||||
|   ''; | ||||
| 
 | ||||
|   postInstall = '' | ||||
|     # Patch python scripts | ||||
|     buildPythonPath "$out $propagatedBuildInputs" | ||||
|     scripts=$(grep -rl python "$out"/share/qutebrowser/{user,}scripts/) | ||||
|     for i in $scripts; do | ||||
|       patchPythonScript "$i" | ||||
|     done | ||||
|   ''; | ||||
| 
 | ||||
|   preFixup = | ||||
|     let | ||||
|       libPath = lib.makeLibraryPath [ pipewire ]; | ||||
|     in | ||||
|     '' | ||||
|       makeWrapperArgs+=( | ||||
|         # Force the app to use QT_PLUGIN_PATH values from wrapper | ||||
|         --unset QT_PLUGIN_PATH | ||||
|         "''${qtWrapperArgs[@]}" | ||||
|         # avoid persistant warning on starup | ||||
|         --set QT_STYLE_OVERRIDE Fusion | ||||
|         ${lib.optionalString pipewireSupport ''--prefix LD_LIBRARY_PATH : ${libPath}''} | ||||
|         ${lib.optionalString (enableVulkan) '' | ||||
|           --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]} | ||||
|           --set-default QSG_RHI_BACKEND vulkan | ||||
|         ''} | ||||
|         ${lib.optionalString enableWideVine ''--add-flags "--qt-flag widevine-path=${widevine-cdm}/share/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"''} | ||||
|         --set QTWEBENGINE_RESOURCES_PATH "${qtwebengine}/resources" | ||||
|       ) | ||||
|     ''; | ||||
| 
 | ||||
|   meta = with lib; { | ||||
|     homepage = "https://github.com/qutebrowser/qutebrowser"; | ||||
|     changelog = "https://github.com/qutebrowser/qutebrowser/blob/v${version}/doc/changelog.asciidoc"; | ||||
|     description = "Keyboard-focused browser with a minimal GUI"; | ||||
|     license = licenses.gpl3Plus; | ||||
|     mainProgram = "qutebrowser"; | ||||
|     platforms = if enableWideVine then [ "x86_64-linux" ] else qtwebengine.meta.platforms; | ||||
|     maintainers = with maintainers; [ | ||||
|       jagajaga | ||||
|       rnhmjoj | ||||
|       ebzzry | ||||
|       dotlambda | ||||
|       nrdxp | ||||
|     ]; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										19
									
								
								pkgs/fixes/qutebrowser/fix-restart.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								pkgs/fixes/qutebrowser/fix-restart.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | ||||
| diff --git a/quitter.py b/quitter.py
 | ||||
| index a42b9d0..f544ccb 100644
 | ||||
| --- a/qutebrowser/misc/quitter.py
 | ||||
| +++ b/qutebrowser/misc/quitter.py
 | ||||
| @@ -112,13 +112,7 @@ class Quitter(QObject):
 | ||||
|          Return: | ||||
|              The commandline as a list of strings. | ||||
|          """ | ||||
| -        if os.path.basename(sys.argv[0]) == 'qutebrowser':
 | ||||
| -            # Launched via launcher script
 | ||||
| -            args = [sys.argv[0]]
 | ||||
| -        elif hasattr(sys, 'frozen'):
 | ||||
| -            args = [sys.executable]
 | ||||
| -        else:
 | ||||
| -            args = [sys.executable, '-m', 'qutebrowser']
 | ||||
| +        args = ['@qutebrowser@']
 | ||||
|   | ||||
|          # Add all open pages so they get reopened. | ||||
|          page_args = []  # type: typing.MutableSequence[str] | ||||
| @ -1,4 +1,6 @@ | ||||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
|  | ||||
| @ -1,4 +1,6 @@ | ||||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
|  | ||||
| @ -1,4 +1,6 @@ | ||||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
|  | ||||
| @ -1,4 +1,6 @@ | ||||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
|  | ||||
							
								
								
									
										20
									
								
								pkgs/river/owm.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								pkgs/river/owm.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| 
 | ||||
| pkgs.rustPlatform.buildRustPackage rec { | ||||
|   pname = "owm"; | ||||
|   version = "0.1.0"; | ||||
| 
 | ||||
|   src = pkgs.fetchFromGitHub { | ||||
|     owner = "justinlovinger"; | ||||
|     repo = pname; | ||||
|     rev = "master"; | ||||
|     sha256 = "sha256-l9usg0XGtghCX8elvjExYJgMuMGeujOoS2n1hCQkN78="; | ||||
|   }; | ||||
| 
 | ||||
|   cargoSha256 = ""; | ||||
| } | ||||
							
								
								
									
										1189
									
								
								pkgs/temp/pubspec.lock.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1189
									
								
								pkgs/temp/pubspec.lock.json
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										70
									
								
								pkgs/temp/quickgui.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								pkgs/temp/quickgui.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,70 @@ | ||||
| { | ||||
|   fetchFromGitHub, | ||||
|   makeDesktopItem, | ||||
|   copyDesktopItems, | ||||
|   lib, | ||||
|   flutter, | ||||
|   quickemu, | ||||
|   zenity, | ||||
| }: | ||||
| flutter.buildFlutterApplication rec { | ||||
|   pname = "quickgui"; | ||||
|   version = "1.2.10"; | ||||
|   src = fetchFromGitHub { | ||||
|     owner = "quickemu-project"; | ||||
|     repo = "quickgui"; | ||||
|     rev = version; | ||||
|     hash = "sha256-M2Qy66RqsjXg7ZpHwaXCN8qXRIsisnIyaENx3KqmUfQ="; | ||||
|   }; | ||||
| 
 | ||||
|   pubspecLock = lib.importJSON ./pubspec.lock.json; | ||||
| 
 | ||||
|   gitHashes = { | ||||
|     window_size = "sha256-XelNtp7tpZ91QCEcvewVphNUtgQX7xrp5QP0oFo6DgM="; | ||||
|   }; | ||||
| 
 | ||||
|   extraWrapProgramArgs = "--prefix PATH : ${ | ||||
|     lib.makeBinPath [ | ||||
|       quickemu | ||||
|       zenity | ||||
|     ] | ||||
|   }"; | ||||
| 
 | ||||
|   nativeBuildInputs = [ | ||||
|     copyDesktopItems | ||||
|   ]; | ||||
| 
 | ||||
|   postFixup = '' | ||||
|     for SIZE in 16 32 48 64 128 256 512; do | ||||
|       mkdir -p $out/share/icons/hicolor/$SIZEx$SIZE/apps/ | ||||
|       cp -av assets/resources/quickgui_$SIZE.png $out/share/icons/hicolor/$SIZEx$SIZE/apps/quickgui.png | ||||
|     done | ||||
|   ''; | ||||
| 
 | ||||
|   desktopItems = [ | ||||
|     (makeDesktopItem { | ||||
|       name = "quickgui"; | ||||
|       exec = "quickgui"; | ||||
|       icon = "quickgui"; | ||||
|       desktopName = "Quickgui"; | ||||
|       comment = "An elegant virtual machine manager for the desktop"; | ||||
|       categories = [ | ||||
|         "Development" | ||||
|         "System" | ||||
|       ]; | ||||
|     }) | ||||
|   ]; | ||||
| 
 | ||||
|   meta = with lib; { | ||||
|     description = "Elegant virtual machine manager for the desktop"; | ||||
|     homepage = "https://github.com/quickemu-project/quickgui"; | ||||
|     changelog = "https://github.com/quickemu-project/quickgui/releases/"; | ||||
|     license = licenses.mit; | ||||
|     maintainers = with maintainers; [ | ||||
|       flexiondotorg | ||||
|       heyimnova | ||||
|     ]; | ||||
|     platforms = [ "x86_64-linux" ]; | ||||
|     mainProgram = "quickgui"; | ||||
|   }; | ||||
| } | ||||
| @ -11,11 +11,18 @@ | ||||
|     ./desktop/default.nix | ||||
|     ./development/default.nix | ||||
|     ./discord/default.nix | ||||
|     ./eduvpn/default.nix | ||||
|     ./feishin/default.nix | ||||
|     ./fontconfig/default.nix | ||||
|     ./gaming/default.nix | ||||
|     ./games/modrinth.nix | ||||
|     ./git/default.nix | ||||
|     ./language/cpp.nix | ||||
|     ./language/haskell.nix | ||||
|     ./language/js.nix | ||||
|     ./language/jupyter.nix | ||||
|     ./language/nix.nix | ||||
|     ./language/python.nix | ||||
|     ./language/rust.nix | ||||
|     ./language/tex.nix | ||||
|     ./mako/default.nix | ||||
|     ./neovim/default.nix | ||||
|     ./obsidian/default.nix | ||||
| @ -25,6 +32,7 @@ | ||||
|     ./shell/bash.nix | ||||
|     ./shell/fish.nix | ||||
|     ./spotify/default.nix | ||||
|     ./steam/default.nix | ||||
|     ./terminal/default.nix | ||||
|     ./terminal/foot/default.nix | ||||
|     ./theming/default.nix | ||||
|  | ||||
| @ -3,14 +3,6 @@ | ||||
| { | ||||
|   imports = [ | ||||
|     ./ide/matlab.nix | ||||
|     ./language/cpp.nix | ||||
|     ./language/haskell.nix | ||||
|     ./language/js.nix | ||||
|     ./language/jupyter.nix | ||||
|     ./language/nix.nix | ||||
|     ./language/python.nix | ||||
|     ./language/rust.nix | ||||
|     ./language/tex.nix | ||||
|     ./utility/docker.nix | ||||
|     ./utilities/docker.nix | ||||
|   ]; | ||||
| } | ||||
|  | ||||
| @ -1,23 +0,0 @@ | ||||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| 
 | ||||
| with lib; | ||||
| let | ||||
|   cfg = config.modules.eduvpn; | ||||
| in | ||||
| { | ||||
|   options.modules.eduvpn = { | ||||
|     enable = mkEnableOption "EduVPN"; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     # Development packages | ||||
|     home.packages = with pkgs; [ | ||||
|       eduvpn-client | ||||
|     ]; | ||||
|   }; | ||||
| } | ||||
| @ -13,6 +13,9 @@ in | ||||
|   options.modules.feishin.enable = mkEnableOption "feishin"; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     # TODO: Remove insecure package exception | ||||
|     nixpkgs.config.permittedInsecurePackages = [ "electron-31.7.7" ]; | ||||
| 
 | ||||
|     # TODO: Move to audioling | ||||
|     home.packages = with pkgs; [ feishin ]; | ||||
|   }; | ||||
|  | ||||
| @ -1,10 +0,0 @@ | ||||
| { ... }: | ||||
| 
 | ||||
| { | ||||
|   imports = [ | ||||
|     ./emulators/ryujinx.nix | ||||
|     ./launchers/es-de.nix | ||||
|     ./launchers/modrinth.nix | ||||
|     ./launchers/steam.nix | ||||
|   ]; | ||||
| } | ||||
| @ -1,22 +0,0 @@ | ||||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| 
 | ||||
| with lib; | ||||
| let | ||||
|   cfg = config.modules.ryujinx; | ||||
| in | ||||
| { | ||||
|   options.modules.ryujinx = { | ||||
|     enable = mkEnableOption "ryujinx"; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     home.packages = with pkgs; [ | ||||
|       ryujinx | ||||
|     ]; | ||||
|   }; | ||||
| } | ||||
| @ -1,26 +0,0 @@ | ||||
| { | ||||
|   lib, | ||||
|   config, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| 
 | ||||
| with lib; | ||||
| let | ||||
|   cfg = config.modules.es-de; | ||||
| in | ||||
| { | ||||
|   options.modules.es-de = { | ||||
|     enable = mkEnableOption "Emulation Station Desktop Edition"; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     home.packages = with pkgs; [ | ||||
|       emulationstation-de | ||||
|     ]; | ||||
| 
 | ||||
|     home.sessionVariables = { | ||||
|       ESDE_APPDATA_DIR = "$HOME/.config/ES-DE"; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
| @ -10,6 +10,4 @@ with lib; | ||||
|   options.modules.steam = { | ||||
|     enable = mkEnableOption "steam"; | ||||
|   }; | ||||
| 
 | ||||
|   # The rest of the configuration is in a systemwide module | ||||
| } | ||||
| @ -65,8 +65,6 @@ | ||||
|       # Gaming | ||||
|       steam.enable = true; | ||||
|       modrinth.enable = true; | ||||
|       es-de.enable = true; | ||||
|       ryujinx.enable = true; | ||||
| 
 | ||||
|       # Media | ||||
|       spotify.enable = true; | ||||
| @ -85,7 +83,6 @@ | ||||
|       winbox.enable = true; | ||||
|       obsidian.enable = true; | ||||
|       zathura.enable = true; | ||||
|       eduvpn.enable = true; | ||||
| 
 | ||||
|       # Development | ||||
|       neovim.enable = true; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user