this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 380 lines 11 kB view raw
1{ 2 config, 3 lib, 4 pkgs, 5 ... 6}: { 7 options.cow.qmplay2.enable = lib.mkEnableOption "QMPlay2 + customizations and yt-dlp"; 8 9 config = let 10 mkQMPlayFile = lib.generators.toINI {}; 11 mkConfigDir = files: 12 lib.mapAttrs' ( 13 name: value: lib.nameValuePair ("QMPlay2/" + name + ".ini") {text = mkQMPlayFile value;} 14 ) 15 files; 16 in 17 lib.mkIf config.cow.qmplay2.enable { 18 home.packages = with pkgs; [ 19 qmplay2 20 ]; 21 22 xdg.configFile = mkConfigDir { 23 ALSA.General = { 24 AutoFindMultichnDev = true; 25 Delay = 0.1; 26 OutputDevice = "default"; 27 WriterEnabled = true; 28 }; 29 AudioCD.AudioCD = { 30 CDDB = true; 31 CDTEXT = true; 32 }; 33 AudioFilters = { 34 General = { 35 AVAudioFilter = false; 36 BS2B = false; 37 Compressor = false; 38 Echo = false; 39 Equalizer = false; 40 PhaseReverse = false; 41 SwapStereo = false; 42 VoiceRemoval = false; 43 }; 44 45 AVAudioFilter.Filters = "@ByteArray()"; 46 47 BS2B = { 48 Fcut = 700; 49 Feed = 4.5; 50 }; 51 52 Compressor = { 53 FastGainCompressionRatio = 0.9; 54 OverallCompressionRatio = 0.6; 55 PeakPercent = 90; 56 ReleaseTime = 0.2; 57 }; 58 59 Echo = { 60 Delay = 500; 61 Feedback = 50; 62 Surround = false; 63 Volume = 50; 64 }; 65 66 Equalizer = { 67 "-1" = 50; 68 "0" = 50; 69 "1" = 50; 70 "2" = 50; 71 "3" = 50; 72 "4" = 50; 73 "5" = 50; 74 "6" = 50; 75 "7" = 50; 76 count = 8; 77 maxFreq = 18000; 78 minFreq = 200; 79 nbits = 10; 80 }; 81 82 PhaseReverse = { 83 ReverseRight = false; 84 }; 85 }; 86 CUVID.General = { 87 DecodeMPEG4 = true; 88 DeintMethod = 2; 89 Enabled = true; 90 }; 91 Chiptune.General = { 92 DefaultLength = 180; 93 GME = true; 94 SIDPlay = true; 95 }; 96 Extensions = { 97 LastFM = { 98 AllowBigCovers = true; 99 DownloadCovers = true; 100 Login = null; 101 Password = null; 102 UpdateNowPlayingAndScrobble = false; 103 }; 104 105 MPRIS2.Enabled = true; 106 107 YouTube = { 108 ShowUserName = false; 109 SortBy = 0; 110 Subtitles = true; 111 }; 112 }; 113 FFmpeg.General = { 114 AllowExperimental = true; 115 DecoderEnabled = true; 116 DecoderVAAPIEnabled = true; 117 DecoderVkVideoEnabled = true; 118 DemuxerEnabled = true; 119 ForceSkipFrames = false; 120 HurryUP = true; 121 LowresValue = 0; 122 ReconnectNetwork = true; 123 SkipFrames = true; 124 TeletextPage = 0; 125 TeletextTransparent = false; 126 ThreadTypeSlice = false; 127 Threads = 0; 128 VAAPIDeintMethod = 1; 129 }; 130 Modplug.General = { 131 ModplugEnabled = true; 132 ModplugResamplingMethod = 3; 133 }; 134 Notify.General = { 135 CustomBody = null; 136 CustomMsg = false; 137 CustomSummary = null; 138 Enabled = false; 139 ShowPlayState = true; 140 ShowTitle = true; 141 ShowVolume = true; 142 Timeout = 5000; 143 }; 144 Playlists.General = { 145 M3U_enabled = true; 146 XSPF_enabled = true; 147 }; 148 PulseAudio.General = { 149 Delay = 0.1; 150 WriterEnabled = true; 151 }; 152 QMPlay2 = { 153 General = { 154 AVBufferLocal = 100; 155 AVBufferTimeNetwork = 500; 156 AVBufferTimeNetworkLive = 5; 157 AccurateSeek = 2; 158 AllowOnlyOneInstance = false; 159 AudioLanguage = null; 160 AutoDelNonGroupEntries = false; 161 AutoOpenVideoWindow = true; 162 AutoRestoreMainWindowOnVideo = true; 163 AutoUpdates = false; 164 BackwardBuffer = 1; 165 BlurCovers = true; 166 Channels = 2; 167 DisableSubtitlesAtStartup = false; 168 DisplayOnlyFileName = false; 169 EnlargeCovers = false; 170 FallbackSubtitlesEncoding = "@ByteArray(UTF-8)"; 171 ForceChannels = 0; 172 ForceSamplerate = false; 173 HideArtistMetadata = false; 174 IconsFromTheme = true; 175 IgnorePlaybackError = false; 176 KeepARatio = false; 177 KeepSpeed = false; 178 KeepSubtitlesDelay = false; 179 KeepSubtitlesScale = false; 180 KeepVideoDelay = false; 181 KeepZoom = false; 182 LastQMPlay2Path = "${pkgs.qmplay2}/bin"; 183 LeftMouseTogglePlay = 0; 184 LongSeek = 30; 185 MaxVol = 100; 186 MiddleMouseToggleFullscreen = false; 187 Mute = false; 188 NoCoversCache = false; 189 OutputFilePath = "/home/bean/Downloads"; 190 PlayIfBuffered = 1.75; 191 Renderer = "opengl"; 192 RepeatMode = 0; 193 ResamplerFirst = true; 194 RestoreAVSState = false; 195 RestoreRepeatMode = false; 196 RestoreVideoEqualizer = false; 197 Samplerate = 48000; 198 SavePos = false; 199 ShortSeek = 5; 200 ShowBufferedTimeOnSlider = true; 201 ShowCovers = true; 202 ShowDirCovers = true; 203 Silence = true; 204 SkipPlaylistsWithinFiles = true; 205 SkipYtDlpUpdate = false; 206 StillImages = false; 207 StoreARatioAndZoom = false; 208 StoreUrlPos = true; 209 Style = "kvantum"; 210 SubtitlesLanguage = null; 211 SyncVtoA = true; 212 TrayNotifiesDefault = false; 213 TrayVisible = true; 214 UnpauseWhenSeeking = false; 215 UpdateVersion = pkgs.qmplay2.version; 216 Version = "@ByteArray(${pkgs.qmplay2.version})"; 217 VideoFilters = "0FPS Doubler"; 218 VolumeL = 100; 219 VolumeR = 100; 220 WheelAction = true; 221 WheelSeek = true; 222 screenshotFormat = ".png"; 223 screenshotPth = "/home/bean/Pictures/Screenshots"; 224 }; 225 226 ApplyToASS = { 227 ApplyToASS = false; 228 ColorsAndBorders = true; 229 FontsAndSpacing = false; 230 MarginsAndAlignment = false; 231 }; 232 233 Deinterlace = { 234 Auto = true; 235 AutoParity = true; 236 Doubler = true; 237 ON = true; 238 SoftwareMethod = ''Yadif 2x''; 239 TFF = false; 240 }; 241 242 MainWidget = { 243 AlwaysOnTop = false; 244 CompactViewDockWidgetState = ''@ByteArray()''; 245 DockWidgetState = ''@ByteArray()''; 246 FullScreenDockWidgetState = ''@ByteArray()''; 247 Geometry = ''@Rect(226 151 1805 1203)''; 248 IsCompactView = false; 249 KeepDocksSize = false; 250 TabPositionNorth = false; 251 WidgetsLocked = true; 252 isMaximized = true; 253 isVisible = true; 254 }; 255 256 OSD = { 257 Alignment = 4; 258 Background = false; 259 BackgroundColor = ''@Variant(\0\0\0\x43\x1\x88\x88\0\0\0\0\0\0\0\0)''; 260 Bold = false; 261 Enabled = true; 262 FontName = "Sans Serif"; 263 FontSize = 32; 264 LeftMargin = 0; 265 Outline = 1.5; 266 OutlineColor = ''@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\0\0\0\0)''; 267 RightMargin = 0; 268 Shadow = 1.5; 269 ShadowColor = ''@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\0\0\0\0)''; 270 Spacing = 0; 271 TextColor = ''@Variant(\0\0\0\x43\x1\xff\xff\xaa\xaa\xff\xffUU\0\0)''; 272 VMargin = 0; 273 }; 274 275 OpenGL = { 276 BypassCompositor = false; 277 OnWindow = false; 278 VSync = true; 279 }; 280 281 Proxy = { 282 Host = null; 283 Login = false; 284 Password = ''@ByteArray()''; 285 Port = 80; 286 Use = false; 287 User = null; 288 }; 289 290 ReplayGain = { 291 Album = false; 292 Enabled = false; 293 Preamp = 0; 294 PreventClipping = true; 295 }; 296 297 SettingsWidget.Geometry = ''@Rect(395 263 2212 1308)''; 298 299 Subtitles = { 300 Alignment = 7; 301 Background = true; 302 BackgroundColor = ''@Variant(\0\0\0\x43\x1\x88\x88\0\0\0\0\0\0\0\0)''; 303 Bold = false; 304 FontName = "monospace"; 305 FontSize = 24; 306 LeftMargin = 15; 307 Outline = 1; 308 OutlineColor = ''@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\0\0\0\0)''; 309 RightMargin = 15; 310 Shadow = 0.5; 311 ShadowColor = ''@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\0\0\0\0)''; 312 Spacing = 2; 313 TextColor = ''@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xff\xff\xff\xff\0\0)''; 314 VMargin = 15; 315 }; 316 317 VideoAdjustment = { 318 Brightness = 0; 319 Contrast = 0; 320 Hue = 0; 321 Negative = 0; 322 Saturation = 0; 323 Sharpness = 0; 324 }; 325 326 Vulkan = { 327 AlwaysGPUDeint = true; 328 BypassCompositor = true; 329 Device = "@ByteArray()"; 330 ForceVulkanYadif = false; 331 HDR = false; 332 HQScaleDown = false; 333 HQScaleUp = false; 334 VSync = 1; 335 YadifSpatialCheck = true; 336 }; 337 338 YtDl = { 339 CookiesFromBrowser = null; 340 CookiesFromBrowserEnabled = false; 341 # CustomPath = "${pkgs.yt-dlp}/bin/yt-dlp"; TODO: Deno broken 342 CustomPathEnabled = true; 343 DefaultQuality = null; 344 DefaultQualityEnabled = false; 345 DontAutoUpdate = true; 346 }; 347 }; 348 QPainterSW.General.Enabled = true; 349 Subtitles.General = { 350 Classic_enabled = true; 351 SRT_enabled = true; 352 Sub_max_s = 5; 353 Use_mDVD_FPS = true; 354 }; 355 VideoFilters.FPSDoubler = { 356 MaxFPS = 29.99; 357 MinFPS = 21; 358 OnlyFullScreen = true; 359 }; 360 Visualizations = { 361 General = { 362 RefreshTime = 17; 363 }; 364 365 FFTSpectrum = { 366 LimitFreq = 20000; 367 Size = 8; 368 }; 369 370 SimpleVis = { 371 SoundLength = 17; 372 }; 373 }; 374 XVideo.General = { 375 Enabled = false; 376 UseSHM = false; 377 }; 378 }; 379 }; 380}