Dynamically fetched the /etc/nixos/configuration.nix file containing 3339 lines hosted on my GitHub repository.
1 # By Abdullah As-Sadeed 2 3 { 4 config, 5 pkgs, 6 ... 7 }: 8 let 9 android_nixpkgs = 10 pkgs.callPackage 11 (import ( 12 builtins.fetchGit { 13 url = "https://github.com/tadfisher/android-nixpkgs.git"; 14 } 15 )) 16 { 17 channel = "stable"; 18 }; 19 android_sdk = android_nixpkgs.sdk ( 20 sdkPkgs: with sdkPkgs; [ 21 build-tools-36-0-0 22 cmdline-tools-latest 23 emulator 24 platform-tools 25 platforms-android-36 26 system-images-android-36-google-apis-playstore-x86-64 27 tools 28 ] 29 ); 30 android_sdk_path = "${android_sdk}/share/android-sdk"; 31 32 home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/refs/heads/master.tar.gz"; 33 34 font_preferences = { 35 package = pkgs.nerd-fonts.noto; 36 37 name = { 38 mono = "NotoMono Nerd Font"; 39 sans_serif = "NotoSans Nerd Font"; 40 serif = "NotoSerif Nerd Font"; 41 emoji = "Noto Color Emoji"; 42 }; 43 44 size = 12; 45 }; 46 47 cursor = { 48 theme = { 49 package = pkgs.gnome-themes-extra; 50 name = "Adwaita"; 51 }; 52 53 size = 24; 54 }; 55 56 secrets = import ./secrets.nix; 57 in 58 { 59 imports = [ 60 (import "${home-manager}/nixos") 61 62 ./hardware-configuration.nix 63 ]; 64 65 boot = { 66 loader = { 67 efi.canTouchEfiVariables = true; 68 timeout = 2; 69 70 systemd-boot = { 71 enable = true; 72 consoleMode = "max"; 73 configurationLimit = null; 74 75 memtest86.enable = true; 76 }; 77 }; 78 79 initrd = { 80 enable = true; 81 82 kernelModules = config.boot.kernelModules; 83 84 systemd = { 85 enable = true; 86 package = config.systemd.package; 87 }; 88 89 network.ssh.enable = true; 90 91 verbose = true; 92 }; 93 94 kernelPackages = pkgs.linuxPackages_zen; 95 96 extraModulePackages = with config.boot.kernelPackages; [ 97 ]; 98 99 kernelModules = [ 100 "at24" 101 "ee1004" 102 "kvm-intel" 103 "spd5118" 104 ]; 105 106 extraModprobeConfig = "options kvm_intel nested=1"; 107 108 kernelParams = [ 109 "intel_iommu=on" 110 "iommu=pt" 111 "kvm.ignore_msrs=1" 112 "boot.shell_on_fail" 113 "rd.systemd.show_status=true" 114 "rd.udev.log_level=err" 115 "udev.log_level=err" 116 "udev.log_priority=err" 117 ]; 118 119 consoleLogLevel = 4; # 4 = KERN_WARNING 120 121 tmp.cleanOnBoot = true; 122 123 plymouth = { 124 enable = true; 125 126 themePackages = [ 127 pkgs.nixos-bgrt-plymouth 128 ]; 129 theme = "nixos-bgrt"; 130 131 extraConfig = '' 132 UseFirmwareBackground=true 133 ''; 134 }; 135 }; 136 137 time = { 138 timeZone = "Asia/Dhaka"; 139 hardwareClockInLocalTime = true; 140 }; 141 142 system = { 143 copySystemConfiguration = true; 144 145 switch.enable = true; 146 tools = { 147 nixos-build-vms.enable = true; 148 nixos-enter.enable = true; 149 nixos-generate-config.enable = true; 150 nixos-install.enable = true; 151 nixos-option.enable = true; 152 nixos-rebuild.enable = true; 153 nixos-version.enable = true; 154 }; 155 156 autoUpgrade = { 157 enable = false; 158 channel = "https://nixos.org/channels/nixos-unstable"; 159 operation = "boot"; 160 allowReboot = false; 161 }; 162 163 activationScripts = { }; 164 165 userActivationScripts = { }; 166 167 stateVersion = "24.11"; 168 }; 169 170 nix = { 171 enable = true; 172 channel.enable = true; 173 174 settings = { 175 experimental-features = [ 176 "nix-command" 177 ]; 178 179 require-sigs = true; 180 sandbox = true; 181 auto-optimise-store = true; 182 183 cores = 0; # 0 = All 184 # max-jobs = 1; 185 }; 186 187 gc = { 188 automatic = true; 189 dates = "weekly"; 190 persistent = true; 191 }; 192 }; 193 194 nixpkgs = { 195 hostPlatform = "x86_64-linux"; 196 197 config = { 198 allowUnfree = true; 199 android_sdk.accept_license = true; 200 }; 201 202 overlays = [ 203 204 ]; 205 }; 206 207 appstream.enable = true; 208 209 i18n = { 210 defaultLocale = "en_US.UTF-8"; 211 extraLocales = [ 212 "C.UTF-8" 213 "ar_SA.UTF-8" 214 "bn_BD" 215 ]; 216 217 extraLocaleSettings = { 218 LC_ADDRESS = config.i18n.defaultLocale; 219 LC_COLLATE = config.i18n.defaultLocale; 220 LC_CTYPE = config.i18n.defaultLocale; 221 LC_IDENTIFICATION = config.i18n.defaultLocale; 222 LC_MEASUREMENT = config.i18n.defaultLocale; 223 LC_MESSAGES = config.i18n.defaultLocale; 224 LC_MONETARY = config.i18n.defaultLocale; 225 LC_NAME = config.i18n.defaultLocale; 226 LC_NUMERIC = config.i18n.defaultLocale; 227 LC_PAPER = config.i18n.defaultLocale; 228 LC_TELEPHONE = config.i18n.defaultLocale; 229 LC_TIME = config.i18n.defaultLocale; 230 LC_ALL = config.i18n.defaultLocale; 231 }; 232 233 inputMethod = { 234 enable = true; 235 type = "ibus"; 236 ibus.engines = with pkgs.ibus-engines; [ 237 openbangla-keyboard 238 ]; 239 }; 240 }; 241 242 networking = { 243 enableIPv6 = true; 244 245 domain = "bitscoper"; 246 hostName = "Bitscoper-WorkStation"; 247 fqdn = "${config.networking.hostName}.${config.networking.domain}"; 248 249 wireless = { 250 dbusControlled = true; 251 userControlled.enable = true; 252 }; 253 254 networkmanager = { 255 enable = true; 256 package = pkgs.networkmanager; 257 258 ethernet.macAddress = "permanent"; 259 260 wifi = { 261 backend = "wpa_supplicant"; 262 263 powersave = false; 264 265 scanRandMacAddress = true; 266 macAddress = "permanent"; 267 }; 268 269 logLevel = "WARN"; 270 }; 271 272 firewall = { 273 enable = false; 274 275 allowPing = true; 276 277 allowedTCPPorts = [ 278 279 ]; 280 allowedUDPPorts = [ 281 282 ]; 283 }; 284 285 nameservers = [ 286 "1.1.1.3#one.one.one.one" 287 "1.0.0.3#one.one.one.one" 288 ]; 289 290 timeServers = [ 291 "0.nixos.pool.ntp.org" 292 "1.nixos.pool.ntp.org" 293 "2.nixos.pool.ntp.org" 294 "3.nixos.pool.ntp.org" 295 ]; 296 }; 297 298 security = { 299 allowSimultaneousMultithreading = true; 300 301 tpm2.enable = true; 302 303 lockKernelModules = false; 304 305 pam = { 306 mount = { 307 enable = true; 308 309 createMountPoints = true; 310 removeCreatedMountPoints = true; 311 312 logoutHup = true; 313 logoutTerm = false; 314 logoutKill = false; 315 316 logoutWait = 0; 317 }; 318 319 services = { 320 login = { 321 unixAuth = true; 322 nodelay = false; 323 324 # fprintAuth = true; 325 326 logFailures = true; 327 328 enableGnomeKeyring = true; 329 330 gnupg = { 331 enable = true; 332 storeOnly = false; 333 noAutostart = false; 334 }; 335 }; 336 337 sudo = { 338 unixAuth = true; 339 nodelay = false; 340 341 fprintAuth = true; 342 343 logFailures = true; 344 }; 345 346 polkit-1 = { 347 unixAuth = true; 348 nodelay = false; 349 350 fprintAuth = true; 351 352 logFailures = true; 353 }; 354 }; 355 }; 356 357 sudo = { 358 enable = true; 359 package = pkgs.sudo; 360 361 execWheelOnly = true; 362 wheelNeedsPassword = true; 363 }; 364 365 polkit = { 366 enable = true; 367 package = pkgs.polkit; 368 }; 369 370 rtkit.enable = true; 371 372 wrappers = { 373 spice-client-glib-usb-acl-helper.source = "${pkgs.spice-gtk}/bin/spice-client-glib-usb-acl-helper"; 374 }; 375 376 audit = { 377 enable = false; 378 }; 379 }; 380 381 hardware = { 382 enableAllFirmware = true; 383 enableRedistributableFirmware = true; 384 385 cpu = { 386 intel = { 387 updateMicrocode = true; 388 }; 389 }; 390 391 graphics = { 392 enable = true; 393 enable32Bit = true; 394 395 extraPackages = with pkgs; [ 396 intel-media-driver 397 intel-compute-runtime 398 ]; 399 }; 400 401 sensor = { 402 hddtemp = { 403 enable = true; 404 unit = "C"; 405 drives = [ 406 "/dev/disk/by-path/*" 407 ]; 408 }; 409 }; 410 411 bluetooth = { 412 enable = true; 413 package = pkgs.bluez; 414 415 hsphfpd.enable = false; # Conflicts wwth WirePlumber 416 417 powerOnBoot = true; 418 419 input.General = { 420 IdleTimeout = 0; # 0 = Disabled 421 LEAutoSecurity = true; 422 ClassicBondedOnly = true; 423 UserspaceHID = true; 424 }; 425 426 network.General = { 427 DisableSecurity = false; 428 }; 429 430 settings = { 431 General = { 432 MaxControllers = 0; # 0 = Unlimited 433 ControllerMode = "dual"; 434 435 Name = config.networking.hostName; 436 437 DiscoverableTimeout = 0; # 0 = Disabled 438 PairableTimeout = 0; # 0 = Disabled 439 AlwaysPairable = true; 440 FastConnectable = true; 441 442 ReverseServiceDiscovery = true; 443 NameResolving = true; 444 RemoteNameRequestRetryDelay = 60; # Seconds 445 RefreshDiscovery = true; 446 TemporaryTimeout = 0; # 0 = Disabled 447 448 SecureConnections = "on"; 449 Privacy = "off"; 450 451 Experimental = true; 452 KernelExperimental = true; 453 }; 454 455 Policy = { 456 AutoEnable = true; 457 458 ResumeDelay = 2; # Seconds 459 ReconnectAttempts = 7; 460 ReconnectIntervals = "1, 2, 4, 8, 16, 32, 64"; 461 }; 462 463 GATT = { 464 Cache = "always"; 465 }; 466 467 CSIS = { 468 Encryption = true; 469 }; 470 471 AVRCP = { 472 VolumeCategory = true; 473 VolumeWithoutTarget = false; 474 }; 475 476 AVDTP = { 477 SessionMode = "ertm"; 478 }; 479 480 AdvMon = { 481 RSSISamplingPeriod = "0x00"; 482 }; 483 }; 484 }; 485 486 rtl-sdr = { 487 enable = true; 488 package = pkgs.rtl-sdr; 489 }; 490 491 sane = { 492 enable = true; 493 openFirewall = true; 494 }; 495 }; 496 497 virtualisation = { 498 libvirtd = { 499 enable = true; 500 package = pkgs.libvirt; 501 502 qemu = { 503 package = pkgs.qemu_kvm; 504 505 swtpm = { 506 enable = true; 507 package = pkgs.swtpm; 508 }; 509 510 ovmf = { 511 enable = true; 512 packages = [ 513 (pkgs.OVMFFull.override { 514 secureBoot = true; 515 tpmSupport = true; 516 }).fd 517 ]; 518 }; 519 520 runAsRoot = true; 521 }; 522 }; 523 spiceUSBRedirection.enable = true; 524 525 containers.enable = true; 526 527 podman = { 528 enable = true; 529 package = pkgs.podman; 530 dockerCompat = true; 531 532 defaultNetwork.settings.dns_enabled = true; 533 }; 534 535 oci-containers.backend = "podman"; 536 537 waydroid.enable = true; 538 }; 539 540 systemd = { 541 package = pkgs.systemd; 542 543 packages = with pkgs; [ 544 cloudflare-warp 545 hardinfo2 546 ]; 547 548 globalEnvironment = { }; 549 550 targets = { 551 multi-user.wants = [ 552 "warp-svc.service" 553 ]; 554 }; 555 }; 556 557 services = { 558 dbus = { 559 enable = true; 560 dbusPackage = pkgs.dbus; 561 562 implementation = "broker"; 563 564 packages = with pkgs; [ 565 ]; 566 }; 567 568 timesyncd = { 569 enable = true; 570 571 servers = config.networking.timeServers; 572 fallbackServers = config.networking.timeServers; 573 574 extraConfig = ''''; 575 }; 576 577 fwupd = { 578 enable = true; 579 package = pkgs.fwupd; 580 }; 581 582 btrfs.autoScrub = { 583 enable = true; 584 585 interval = "weekly"; 586 fileSystems = [ 587 "/" 588 ]; 589 }; 590 591 acpid = { 592 enable = true; 593 594 powerEventCommands = ''''; 595 acEventCommands = ''''; 596 lidEventCommands = ''''; 597 598 logEvents = false; 599 }; 600 601 power-profiles-daemon = { 602 enable = true; 603 package = pkgs.power-profiles-daemon; 604 }; 605 606 logind = { 607 killUserProcesses = true; 608 609 lidSwitch = "ignore"; 610 lidSwitchDocked = "ignore"; 611 lidSwitchExternalPower = "ignore"; 612 613 powerKey = "poweroff"; 614 powerKeyLongPress = "poweroff"; 615 616 rebootKey = "reboot"; 617 rebootKeyLongPress = "reboot"; 618 619 suspendKey = "ignore"; 620 suspendKeyLongPress = "ignore"; 621 622 hibernateKey = "ignore"; 623 hibernateKeyLongPress = "ignore"; 624 }; 625 626 udev = { 627 enable = true; 628 packages = with pkgs; [ 629 android-udev-rules 630 game-devices-udev-rules 631 gnome-settings-daemon 632 libmtp.out 633 rtl-sdr 634 ]; 635 }; 636 637 libinput = { 638 enable = true; 639 640 mouse = { 641 leftHanded = false; 642 disableWhileTyping = false; 643 tapping = true; 644 middleEmulation = true; 645 clickMethod = "buttonareas"; 646 scrollMethod = "twofinger"; 647 naturalScrolling = true; 648 horizontalScrolling = true; 649 tappingDragLock = true; 650 sendEventsMode = "enabled"; 651 }; 652 653 touchpad = { 654 leftHanded = false; 655 disableWhileTyping = false; 656 tapping = true; 657 middleEmulation = true; 658 clickMethod = "buttonareas"; 659 scrollMethod = "twofinger"; 660 naturalScrolling = true; 661 horizontalScrolling = true; 662 tappingDragLock = true; 663 sendEventsMode = "enabled"; 664 }; 665 }; 666 667 fprintd = { 668 enable = true; 669 package = if config.services.fprintd.tod.enable then pkgs.fprintd-tod else pkgs.fprintd; 670 # tod = { 671 # enable = true; 672 # driver = ; 673 # }; 674 }; 675 676 displayManager = { 677 enable = true; 678 preStart = ''''; 679 680 defaultSession = "gnome"; 681 682 autoLogin = { 683 enable = false; 684 user = null; 685 }; 686 687 logToJournal = true; 688 logToFile = true; 689 }; 690 691 xserver = { 692 enable = true; 693 694 displayManager = { 695 gdm = { 696 enable = true; 697 wayland = true; 698 699 banner = config.networking.hostName; 700 autoSuspend = false; 701 702 settings = { }; 703 704 debug = false; 705 }; 706 }; 707 708 desktopManager = { 709 gnome = { 710 enable = true; 711 712 extraGSettingsOverridePackages = with pkgs; [ 713 ]; 714 extraGSettingsOverrides = ''''; 715 716 debug = false; 717 }; 718 719 xterm.enable = false; 720 }; 721 722 excludePackages = with pkgs; [ 723 xterm 724 ]; 725 }; 726 727 gnome = { 728 core-apps.enable = true; 729 core-os-services.enable = true; 730 core-shell.enable = true; 731 glib-networking.enable = true; 732 gnome-browser-connector.enable = true; 733 gnome-keyring.enable = true; 734 gnome-online-accounts.enable = true; 735 gnome-remote-desktop.enable = true; 736 gnome-settings-daemon.enable = true; 737 gnome-user-share.enable = true; 738 }; 739 740 gvfs = { 741 enable = true; 742 package = pkgs.gnome.gvfs; 743 }; 744 745 pipewire = { 746 enable = true; 747 package = pkgs.pipewire; 748 systemWide = false; 749 750 audio.enable = true; 751 752 alsa.enable = true; 753 alsa.support32Bit = true; 754 pulse.enable = true; 755 jack.enable = true; 756 757 socketActivation = true; 758 759 wireplumber = { 760 enable = true; 761 package = pkgs.wireplumber; 762 763 extraConfig.bluetoothEnhancements = { 764 "monitor.bluez.properties" = { 765 "bluez5.enable-hw-volume" = true; 766 767 "bluez5.enable-sbc-xq" = true; 768 "bluez5.enable-msbc" = true; 769 770 "bluez5.roles" = [ 771 "a2dp_sink" 772 "a2dp_source" 773 "bap_sink" 774 "bap_source" 775 "hfp_ag" 776 "hfp_hf" 777 "hsp_ag" 778 "hsp_hs" 779 ]; 780 781 "bluez5.codecs" = [ 782 "aac" 783 "aptx" 784 "aptx_hd" 785 "aptx_ll" 786 "aptx_ll_duplex" 787 "faststream" 788 "faststream_duplex" 789 "lc3" 790 "lc3plus_h3" 791 "ldac" 792 "opus_05" 793 "opus_05_51" 794 "opus_05_71" 795 "opus_05_duplex" 796 "opus_05_pro" 797 "sbc" 798 "sbc_xq" 799 ]; 800 }; 801 }; 802 }; 803 804 raopOpenFirewall = true; 805 }; 806 807 pulseaudio.enable = false; 808 809 phpfpm = { 810 settings = { }; 811 812 phpOptions = '' 813 default_charset = "UTF-8" 814 error_reporting = E_ALL 815 display_errors = Off 816 log_errors = On 817 cgi.force_redirect = 1 818 expose_php = On 819 file_uploads = On 820 session.cookie_lifetime = 0 821 session.use_cookies = 1 822 session.use_only_cookies = 1 823 session.use_strict_mode = 1 824 session.cookie_httponly = 1 825 session.cookie_secure = 1 826 session.cookie_samesite = "Strict" 827 session.gc_maxlifetime = 43200 828 session.use_trans_sid = O 829 session.cache_limiter = nocache 830 session.sid_length = 248 831 ''; 832 }; 833 834 avahi = { 835 enable = true; 836 package = pkgs.avahi; 837 838 ipv4 = true; 839 ipv6 = true; 840 841 nssmdns4 = true; 842 nssmdns6 = true; 843 844 wideArea = true; 845 846 publish = { 847 enable = true; 848 domain = true; 849 addresses = true; 850 workstation = true; 851 hinfo = true; 852 userServices = true; 853 }; 854 855 domainName = config.networking.hostName; 856 hostName = config.networking.hostName; 857 858 openFirewall = true; 859 }; 860 861 openssh = { 862 enable = true; 863 package = pkgs.openssh; 864 865 listenAddresses = [ 866 { 867 addr = "0.0.0.0"; 868 } 869 { 870 addr = "::"; 871 } 872 ]; 873 ports = [ 874 22 875 ]; 876 allowSFTP = true; 877 878 banner = config.networking.hostName; 879 880 authorizedKeysInHomedir = true; 881 882 settings = { 883 PermitRootLogin = "yes"; 884 PasswordAuthentication = true; 885 X11Forwarding = false; 886 StrictModes = true; 887 UseDns = true; 888 LogLevel = "ERROR"; 889 }; 890 891 openFirewall = true; 892 }; 893 sshd.enable = true; 894 895 cockpit = { 896 enable = true; 897 package = pkgs.cockpit; 898 899 port = 9090; 900 openFirewall = true; 901 }; 902 903 printing = { 904 enable = true; 905 package = pkgs.cups; 906 907 drivers = with pkgs; [ 908 gutenprint 909 gutenprintBin 910 ]; 911 912 cups-pdf.enable = true; 913 914 listenAddresses = [ 915 "*:631" 916 ]; 917 918 allowFrom = [ 919 "all" 920 ]; 921 922 browsing = true; 923 webInterface = true; 924 925 defaultShared = true; 926 startWhenNeeded = true; 927 928 extraConf = '' 929 DefaultLanguage en 930 ServerName ${config.networking.hostName} 931 ServerAlias * 932 ServerTokens Full 933 ServerAdmin bitscoper@${config.networking.hostName} 934 BrowseLocalProtocols all 935 BrowseWebIF On 936 HostNameLookups On 937 AccessLogLevel config 938 AutoPurgeJobs Yes 939 PreserveJobHistory Off 940 PreserveJobFiles Off 941 DirtyCleanInterval 30 942 LogTimeFormat standard 943 ''; 944 945 logLevel = "warn"; 946 947 openFirewall = true; 948 }; 949 ipp-usb.enable = true; 950 system-config-printer.enable = true; 951 952 bind = { 953 enable = false; 954 package = pkgs.bind; 955 956 listenOn = [ 957 "any" 958 ]; 959 ipv4Only = false; 960 listenOnIpv6 = [ 961 "any" 962 ]; 963 964 cacheNetworks = [ 965 "127.0.0.0/24" 966 "::1/128" 967 ]; 968 969 extraOptions = '' 970 recursion no; 971 ''; 972 }; 973 974 memcached = { 975 enable = true; 976 listen = "*"; 977 port = 11211; 978 enableUnixSocket = false; 979 maxMemory = 64; # Megabytes 980 maxConnections = 256; 981 }; 982 983 postgresql = { 984 enable = true; 985 package = pkgs.postgresql; 986 987 enableTCPIP = true; 988 989 settings = pkgs.lib.mkForce { 990 listen_addresses = "*"; 991 port = 5432; 992 jit = true; 993 }; 994 995 authentication = pkgs.lib.mkOverride 10 '' 996 local all all md5 997 host all all 0.0.0.0/0 md5 998 host all all ::/0 md5 999 local replication all md5 1000 host replication all 0.0.0.0/0 md5 1001 host replication all ::/0 md5 1002 ''; 1003 1004 checkConfig = true; 1005 1006 initialScript = pkgs.writeText "initScript" '' 1007 ALTER USER postgres WITH PASSWORD '${secrets.password_1_of_bitscoper}'; 1008 ''; 1009 }; 1010 1011 mysql = { 1012 enable = true; 1013 package = pkgs.mariadb; 1014 1015 settings = { 1016 mysqld = { 1017 bind-address = "*"; 1018 port = 3306; 1019 1020 sql_mode = ""; 1021 }; 1022 }; 1023 1024 initialScript = pkgs.writeText "initScript" '' 1025 grant all privileges on *.* to 'root'@'%' identified by password '${secrets.hashed_password_1_of_bitscoper}' with grant option; 1026 DELETE FROM mysql.user WHERE `Host`='localhost' AND `User`='root'; 1027 flush privileges; 1028 ''; 1029 }; 1030 1031 postfix = { 1032 enable = true; 1033 1034 enableSmtp = true; 1035 enableSubmission = true; 1036 enableSubmissions = true; 1037 1038 domain = config.networking.hostName; 1039 hostname = config.networking.hostName; 1040 origin = config.networking.hostName; 1041 1042 virtualMapType = "pcre"; 1043 aliasMapType = "pcre"; 1044 enableHeaderChecks = true; 1045 1046 setSendmail = true; 1047 1048 config = { }; 1049 }; 1050 1051 opendkim = { 1052 enable = true; 1053 1054 domains = "csl:${config.networking.hostName}"; 1055 selector = "default"; 1056 1057 settings = { }; 1058 }; 1059 1060 dovecot2 = { 1061 enable = true; 1062 1063 enableImap = true; 1064 enableLmtp = true; 1065 enablePop3 = false; 1066 protocols = [ 1067 "imap" 1068 "lmtp" 1069 ]; 1070 1071 enableQuota = true; 1072 quotaPort = "12340"; 1073 1074 enableDHE = true; 1075 1076 createMailUser = true; 1077 1078 enablePAM = true; 1079 showPAMFailure = true; 1080 1081 pluginSettings = { }; 1082 1083 extraConfig = ''''; 1084 }; 1085 1086 jellyfin = { 1087 enable = true; 1088 package = pkgs.jellyfin; 1089 1090 openFirewall = true; 1091 }; 1092 1093 ollama = { 1094 enable = true; 1095 package = pkgs.ollama; 1096 1097 host = "0.0.0.0"; 1098 port = 11434; 1099 openFirewall = true; 1100 }; 1101 1102 open-webui = { 1103 enable = true; 1104 package = pkgs.open-webui; 1105 1106 host = "*"; 1107 port = 11111; 1108 1109 environment = { 1110 ANONYMIZED_TELEMETRY = "False"; 1111 DO_NOT_TRACK = "True"; 1112 1113 DEFAULT_LOCALE = "en"; 1114 1115 ENABLE_ADMIN_CHAT_ACCESS = "True"; 1116 ENABLE_ADMIN_EXPORT = "True"; 1117 SHOW_ADMIN_DETAILS = "True"; 1118 ADMIN_EMAIL = "bitscoper@${config.networking.hostName}"; 1119 1120 USER_PERMISSIONS_WORKSPACE_MODELS_ACCESS = "True"; 1121 USER_PERMISSIONS_WORKSPACE_KNOWLEDGE_ACCESS = "True"; 1122 USER_PERMISSIONS_WORKSPACE_PROMPTS_ACCESS = "True"; 1123 USER_PERMISSIONS_WORKSPACE_TOOLS_ACCESS = "True"; 1124 1125 USER_PERMISSIONS_CHAT_TEMPORARY = "True"; 1126 USER_PERMISSIONS_CHAT_FILE_UPLOAD = "True"; 1127 USER_PERMISSIONS_CHAT_EDIT = "True"; 1128 USER_PERMISSIONS_CHAT_DELETE = "True"; 1129 1130 ENABLE_CHANNELS = "True"; 1131 1132 ENABLE_REALTIME_CHAT_SAVE = "True"; 1133 1134 ENABLE_AUTOCOMPLETE_GENERATION = "True"; 1135 AUTOCOMPLETE_GENERATION_INPUT_MAX_LENGTH = "-1"; 1136 1137 ENABLE_RAG_WEB_SEARCH = "True"; 1138 ENABLE_SEARCH_QUERY_GENERATION = "True"; 1139 1140 ENABLE_TAGS_GENERATION = "True"; 1141 1142 ENABLE_IMAGE_GENERATION = "True"; 1143 1144 YOUTUBE_LOADER_LANGUAGE = "en"; 1145 1146 ENABLE_MESSAGE_RATING = "True"; 1147 1148 ENABLE_COMMUNITY_SHARING = "True"; 1149 1150 ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION = "True"; 1151 WEBUI_SESSION_COOKIE_SAME_SITE = "strict"; 1152 WEBUI_SESSION_COOKIE_SECURE = "True"; 1153 WEBUI_AUTH = "False"; 1154 1155 ENABLE_OLLAMA_API = "True"; 1156 OLLAMA_BASE_URL = "http://127.0.0.1:11434"; 1157 }; 1158 1159 openFirewall = true; 1160 }; 1161 1162 wordpress = { 1163 sites = { }; 1164 }; 1165 1166 tailscale = { 1167 enable = true; 1168 package = pkgs.tailscale; 1169 1170 disableTaildrop = false; 1171 1172 port = 0; # 0 = Automatic 1173 openFirewall = true; 1174 }; 1175 1176 sysprof.enable = true; 1177 1178 logrotate = { 1179 enable = true; 1180 1181 checkConfig = true; 1182 allowNetworking = true; 1183 }; 1184 }; 1185 1186 programs = { 1187 command-not-found.enable = true; 1188 1189 nix-ld = { 1190 enable = true; 1191 package = pkgs.nix-ld; 1192 1193 libraries = with pkgs; [ 1194 glib.out 1195 libGL 1196 llvmPackages.stdenv.cc.cc.lib 1197 stdenv.cc.cc.lib 1198 ]; 1199 }; 1200 1201 java = { 1202 enable = true; 1203 package = pkgs.jdk23; 1204 1205 binfmt = true; 1206 }; 1207 1208 appimage = { 1209 enable = true; 1210 package = pkgs.appimage-run; 1211 1212 binfmt = true; 1213 }; 1214 1215 xwayland.enable = true; 1216 1217 bash = { 1218 completion = { 1219 enable = true; 1220 package = pkgs.bash-completion; 1221 }; 1222 1223 enableLsColors = true; 1224 1225 shellAliases = { }; 1226 1227 loginShellInit = ''''; 1228 1229 shellInit = ''''; 1230 1231 interactiveShellInit = '' 1232 PROMPT_COMMAND="history -a" 1233 ''; 1234 }; 1235 1236 fish = { 1237 enable = true; 1238 package = pkgs.fish; 1239 1240 vendor = { 1241 config.enable = true; 1242 functions.enable = true; 1243 completions.enable = true; 1244 }; 1245 1246 shellAbbrs = { }; 1247 shellAliases = { }; 1248 1249 promptInit = ''''; 1250 1251 loginShellInit = ''''; 1252 1253 shellInit = ''''; 1254 1255 interactiveShellInit = '' 1256 if command -q nix-your-shell 1257 nix-your-shell fish | source 1258 end 1259 ''; 1260 }; 1261 1262 direnv = { 1263 enable = true; 1264 package = pkgs.direnv; 1265 1266 nix-direnv.enable = true; 1267 loadInNixShell = true; 1268 1269 enableBashIntegration = true; 1270 enableFishIntegration = true; 1271 1272 direnvrcExtra = ''''; 1273 1274 silent = false; 1275 }; 1276 1277 nix-index = { 1278 package = pkgs.nix-index; 1279 1280 enableBashIntegration = true; 1281 enableFishIntegration = true; 1282 }; 1283 1284 gnupg = { 1285 package = pkgs.gnupg; 1286 1287 agent = { 1288 enable = true; 1289 1290 enableBrowserSocket = true; 1291 enableExtraSocket = true; 1292 enableSSHSupport = false; 1293 1294 pinentryPackage = pkgs.pinentry-gnome3; 1295 }; 1296 1297 dirmngr.enable = true; 1298 }; 1299 1300 ssh = { 1301 package = pkgs.openssh; 1302 1303 startAgent = true; 1304 agentTimeout = null; 1305 }; 1306 1307 git = { 1308 enable = true; 1309 package = pkgs.gitFull; 1310 1311 lfs = { 1312 enable = true; 1313 package = pkgs.git-lfs; 1314 1315 enablePureSSHTransfer = true; 1316 }; 1317 1318 prompt.enable = true; 1319 1320 config = { 1321 init.defaultBranch = "main"; 1322 1323 credential.helper = "${pkgs.gitFull}/bin/git-credential-libsecret"; 1324 1325 user = { 1326 name = "Abdullah As-Sadeed"; 1327 email = "bitscoper@gmail.com"; 1328 }; 1329 }; 1330 }; 1331 1332 usbtop.enable = true; 1333 1334 adb.enable = true; 1335 1336 nano = { 1337 enable = true; 1338 package = pkgs.nano; 1339 1340 syntaxHighlight = true; 1341 1342 nanorc = '' 1343 set linenumbers 1344 set softwrap 1345 set indicator 1346 set autoindent 1347 ''; 1348 }; 1349 1350 bat = { 1351 enable = true; 1352 package = pkgs.bat; 1353 extraPackages = with pkgs.bat-extras; [ 1354 batdiff 1355 batgrep 1356 batman 1357 batpipe 1358 batwatch 1359 prettybat 1360 ]; 1361 1362 settings = { }; 1363 }; 1364 1365 virt-manager = { 1366 enable = true; 1367 package = pkgs.virt-manager; 1368 }; 1369 1370 system-config-printer.enable = true; 1371 1372 file-roller.enable = true; 1373 gnome-disks.enable = true; 1374 seahorse.enable = true; 1375 1376 firefox = { 1377 enable = true; 1378 package = pkgs.firefox-devedition; 1379 languagePacks = [ 1380 "ar" 1381 "bn" 1382 "en-US" 1383 ]; 1384 1385 nativeMessagingHosts = { 1386 packages = with pkgs; [ 1387 gnomeExtensions.gsconnect 1388 keepassxc 1389 ]; 1390 }; 1391 1392 policies = { 1393 Extensions = { 1394 Install = [ 1395 "https://addons.mozilla.org/firefox/downloads/latest/decentraleyes/latest.xpi" 1396 "https://addons.mozilla.org/firefox/downloads/latest/gnome-shell-integration/latest.xpi" 1397 "https://addons.mozilla.org/firefox/downloads/latest/gsconnect/latest.xpi" 1398 "https://addons.mozilla.org/firefox/downloads/latest/keepassxc-browser/latest.xpi" 1399 "https://addons.mozilla.org/firefox/downloads/latest/languagetool/latest.xpi" 1400 "https://addons.mozilla.org/firefox/downloads/latest/search_by_image/latest.xpi" 1401 "https://addons.mozilla.org/firefox/downloads/latest/single-file/latest.xpi" 1402 "https://addons.mozilla.org/firefox/downloads/latest/tab-disguiser/latest.xpi" 1403 "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi" 1404 "https://addons.mozilla.org/firefox/downloads/latest/zjm-whatfont/latest.xpi" 1405 ]; 1406 1407 Locked = [ 1408 "chrome-gnome-shell@gnome.org" # GNOME Shell Integration 1409 "gsconnect@andyholmes.github.io" # GSConnect 1410 "jid1-BoFifL9Vbdl2zQ@jetpack" # Decentraleyes 1411 "uBlock0@raymondhill.net" # uBlock Origin 1412 "{19b92b95-9cca-4f8d-b364-37a81f7133d5}" # Tab Disguiser 1413 "{2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c}" # Search by Image 1414 "{531906d3-e22f-4a6c-a102-8057b88a1a63}" # SingleFile 1415 "{dcb8caa2-63fa-41aa-a508-a45c5990ebdd}" # WhatFont 1416 ]; 1417 }; 1418 }; 1419 1420 autoConfig = ''''; 1421 1422 preferences = { 1423 "browser.contentblocking.category" = "strict"; 1424 "browser.search.region" = "BD"; 1425 "browser.search.suggest.enabled.private" = true; 1426 "dom.security.https_only_mode" = true; 1427 "privacy.globalprivacycontrol.enabled" = true; 1428 "security.warn_submit_secure_to_insecure" = true; 1429 # "privacy.fingerprintingProtection" = true; 1430 # "privacy.trackingprotection.enabled" = true; 1431 }; 1432 preferencesStatus = "locked"; 1433 }; 1434 1435 thunderbird = { 1436 enable = true; 1437 package = pkgs.thunderbird-latest; 1438 1439 preferences = { }; 1440 }; 1441 1442 wireshark = { 1443 enable = true; 1444 package = pkgs.wireshark; 1445 1446 dumpcap.enable = true; 1447 usbmon.enable = true; 1448 }; 1449 1450 localsend = { 1451 enable = true; 1452 package = pkgs.localsend; 1453 1454 openFirewall = true; 1455 }; 1456 1457 dconf = { 1458 enable = true; 1459 profiles.user.databases = [ 1460 { 1461 lockAll = true; 1462 1463 settings = { 1464 "system/locale" = { 1465 region = config.i18n.defaultLocale; 1466 }; 1467 "system/proxy" = { 1468 mode = "auto"; 1469 }; 1470 1471 "org/gnome/system/location" = { 1472 enabled = true; 1473 }; 1474 "org/gnome/settings-daemon/plugins/power" = { 1475 idle-dim = false; 1476 power-button-action = "interactive"; 1477 power-saver-profile-on-low-battery = false; 1478 sleep-inactive-ac-type = "nothing"; 1479 sleep-inactive-battery-type = "nothing"; 1480 }; 1481 "org/gnome/settings-daemon/plugins/color" = { 1482 night-light-enabled = false; 1483 }; 1484 "org/gnome/desktop/peripherals/keyboard" = { 1485 numlock-state = true; 1486 repeat = true; 1487 }; 1488 "org/gnome/desktop/peripherals/mouse" = { 1489 accel-profile = "default"; 1490 left-handed = false; 1491 natural-scroll = false; 1492 }; 1493 "org/gnome/desktop/peripherals/touchpad" = { 1494 click-method = "areas"; 1495 disable-while-typing = true; 1496 edge-scrolling-enabled = false; 1497 natural-scroll = true; 1498 send-events = "enabled"; 1499 tap-to-click = true; 1500 two-finger-scrolling-enabled = true; 1501 }; 1502 "org/gnome/desktop/peripherals/pointingstick" = { 1503 scroll-method = "default"; 1504 }; 1505 "org/gnome/desktop/media-handling" = { 1506 autorun-never = false; 1507 }; 1508 "org/gnome/desktop/input-sources" = { 1509 per-window = false; 1510 show-all-sources = true; 1511 sources = [ 1512 (pkgs.lib.gvariant.mkTuple [ 1513 "xkb" 1514 "us" 1515 ]) 1516 (pkgs.lib.gvariant.mkTuple [ 1517 "ibus" 1518 "OpenBangla" 1519 ]) 1520 (pkgs.lib.gvariant.mkTuple [ 1521 "xkb" 1522 "bd" 1523 ]) 1524 (pkgs.lib.gvariant.mkTuple [ 1525 "xkb" 1526 "ara" 1527 ]) 1528 ]; 1529 }; 1530 "org/gnome/desktop/sound" = { 1531 allow-volume-above-100-percent = true; 1532 event-sounds = true; 1533 }; 1534 "org/gnome/desktop/datetime" = { 1535 automatic-timezone = false; 1536 }; 1537 "org/gnome/desktop/session" = { 1538 idle-delay = pkgs.lib.gvariant.mkUint32 0; # 0 = Disabled 1539 }; 1540 "org/gnome/desktop/privacy" = { 1541 disable-camera = false; 1542 old-files-age = pkgs.lib.gvariant.mkUint32 1; # 1 = 1 day 1543 remember-app-usage = false; 1544 remember-recent-files = false; 1545 remove-old-temp-files = true; 1546 remove-old-trash-files = true; 1547 report-technical-problems = false; 1548 send-software-usage-stats = false; 1549 usb-protection = true; 1550 }; 1551 "org/gnome/desktop/screensaver" = { 1552 lock-enabled = false; 1553 }; 1554 "org/gnome/desktop/notifications" = { 1555 show-in-lock-screen = true; 1556 }; 1557 "org/gnome/desktop/interface" = { 1558 # overlay-scrolling = true; 1559 clock-format = "12h"; 1560 clock-show-date = true; 1561 clock-show-weekday = true; 1562 color-scheme = "prefer-dark"; 1563 cursor-blink = true; 1564 document-font-name = "${font_preferences.name.sans_serif} ${toString font_preferences.size}"; 1565 enable-animations = true; 1566 enable-hot-corners = true; 1567 gtk-enable-primary-paste = true; 1568 gtk-key-theme = "Default"; 1569 locate-pointer = true; 1570 monospace-font-name = "${font_preferences.name.mono} ${toString font_preferences.size}"; 1571 show-battery-percentage = true; 1572 }; 1573 "org/gnome/desktop/wm/preferences" = { 1574 action-double-click-titlebar = "toggle-maximize"; 1575 action-middle-click-titlebar = "toggle-maximize-vertically"; 1576 action-right-click-titlebar = "menu"; 1577 auto-raise = true; 1578 button-layout = "appmenu:minimize,maximize,close"; 1579 focus-mode = "mouse"; 1580 mouse-button-modifier = "<Super>"; 1581 resize-with-right-button = false; 1582 visual-bell = false; 1583 }; 1584 "org/gnome/desktop/calendar" = { 1585 show-weekdate = true; 1586 }; 1587 "org/gnome/desktop/search-providers" = { 1588 disable-external = false; 1589 }; 1590 "org/gnome/desktop/file-sharing" = { 1591 require-password = "always"; 1592 }; 1593 "org/gnome/desktop/a11y" = { 1594 always-show-universal-access-status = false; 1595 }; 1596 "org/gnome/desktop/a11y/keyboard" = { 1597 enable = false; 1598 bouncekeys-enable = false; 1599 mousekeys-enable = false; 1600 slowkeys-enable = false; 1601 stickykeys-enable = false; 1602 togglekeys-enable = true; 1603 }; 1604 "org/gnome/desktop/a11y/mouse" = { 1605 secondary-click-enabled = false; 1606 dwell-click-enabled = false; 1607 }; 1608 "org/gnome/desktop/a11y/interface" = { 1609 high-contrast = false; 1610 show-status-shapes = true; 1611 }; 1612 "org/gnome/desktop/a11y/magnifier" = { 1613 invert-lightness = false; 1614 }; 1615 "org/gnome/shell" = { 1616 # app-picker-layout = pkgs.lib.gvariant.mkEmptyArray (pkgs.lib.gvariant.type.string); # Alphabetical Sort 1617 always-show-log-out = true; 1618 disable-extension-version-validation = false; 1619 disable-user-extensions = false; 1620 enabled-extensions = [ 1621 "Vitals@CoreCoding.com" 1622 "appindicatorsupport@rgcjonas.gmail.com" 1623 "blur-my-shell@aunetx" 1624 "desktop-cube@schneegans.github.com" 1625 "drive-menu@gnome-shell-extensions.gcampax.github.com" 1626 "gsconnect@andyholmes.github.io" 1627 "pano@elhan.io" 1628 "places-menu@gnome-shell-extensions.gcampax.github.com" 1629 ]; 1630 favorite-apps = [ 1631 "org.gnome.Console.desktop" 1632 "org.gnome.Nautilus.desktop" 1633 "firefox-devedition.desktop" 1634 "thunderbird.desktop" 1635 "org.fritzing.Fritzing.desktop" 1636 "org.kicad.kicad.desktop" 1637 "serial-studio.desktop" 1638 "code.desktop" 1639 "com.obsproject.Studio.desktop" 1640 "sdrangel.desktop" 1641 "sdrpp.desktop" 1642 "virt-manager.desktop" 1643 ]; 1644 last-selected-power-profile = "performance"; 1645 }; 1646 "org/gnome/shell/app-switcher" = { 1647 current-workspace-only = false; 1648 }; 1649 "org/gnome/shell/extensions/appindicator" = { 1650 legacy-tray-enabled = true; 1651 }; 1652 "org/gnome/shell/extensions/gsconnect" = { 1653 keep-alive-when-locked = true; 1654 name = config.networking.hostName; 1655 show-indicators = true; 1656 }; 1657 "org/gnome/shell/extensions/pano" = { 1658 item-date-font-family = font_preferences.name.sans_serif; 1659 item-title-font-family = font_preferences.name.sans_serif; 1660 keep-search-entry = false; 1661 link-previews = true; 1662 open-links-in-browser = true; 1663 paste-on-select = false; 1664 play-audio-on-copy = false; 1665 search-bar-font-family = font_preferences.name.sans_serif; 1666 send-notification-on-copy = false; 1667 session-only-mode = true; 1668 show-indicator = true; 1669 sync-primary = true; 1670 watch-exclusion-list = true; 1671 wiggle-indicator = true; 1672 }; 1673 "org/gnome/shell/extensions/vitals" = { 1674 fixed-widths = false; 1675 hide-icons = false; 1676 hide-zeros = false; 1677 hot-sensors = [ 1678 "_processor_usage_" 1679 "_memory_usage_" 1680 "__network-rx_max__" 1681 "__network-tx_max__" 1682 ]; 1683 include-public-ip = true; 1684 include-static-gpu-info = true; 1685 include-static-info = true; 1686 menu-centered = true; 1687 show-battery = true; 1688 show-fan = true; 1689 show-gpu = true; 1690 show-memory = true; 1691 show-network = true; 1692 show-processor = true; 1693 show-storage = true; 1694 show-system = true; 1695 show-temperature = true; 1696 show-voltage = true; 1697 use-higher-precision = true; 1698 }; 1699 "org/gnome/shell/extensions/desktop-cube" = { 1700 do-explode = true; 1701 enable-desktop-dragging = true; 1702 enable-desktop-edge-switch = true; 1703 enable-overview-dragging = true; 1704 enable-overview-edge-switch = true; 1705 enable-panel-dragging = true; 1706 last-first-gap = true; 1707 }; 1708 "org/gnome/mutter" = { 1709 attach-modal-dialogs = false; 1710 center-new-windows = true; 1711 dynamic-workspaces = true; 1712 edge-tiling = true; 1713 workspaces-only-on-primary = false; 1714 }; 1715 1716 "org/gtk/settings/file-chooser" = { 1717 clock-format = "12h"; 1718 }; 1719 "org/gtk/gtk4/settings/file-chooser" = { 1720 sort-directories-first = true; 1721 }; 1722 "org/gnome/nautilus/preferences" = { 1723 click-policy = "double"; 1724 recursive-search = "always"; 1725 show-create-link = true; 1726 show-delete-permanently = true; 1727 show-directory-item-counts = "always"; 1728 show-image-thumbnails = "always"; 1729 date-time-format = "simple"; 1730 }; 1731 "org/gnome/nautilus/icon-view" = { 1732 captions = [ 1733 "size" 1734 "date_modified" 1735 "none" 1736 ]; 1737 }; 1738 1739 "org/gnome/file-roller/ui" = { 1740 view-sidebar = true; 1741 }; 1742 1743 "org/gnome/Console" = { 1744 audible-bell = true; 1745 ignore-scrollback-limit = true; 1746 theme = "night"; 1747 use-system-font = true; 1748 visual-bell = true; 1749 }; 1750 1751 "org/virt-manager/virt-manager" = { 1752 xmleditor-enabled = true; 1753 }; 1754 "org/virt-manager/virt-manager/connections" = { 1755 autoconnect = [ 1756 "qemu:///system" 1757 ]; 1758 uris = [ 1759 "qemu:///system" 1760 ]; 1761 }; 1762 "org/virt-manager/virt-manager/new-vm" = { 1763 cpu-default = "host-passthrough"; 1764 }; 1765 "org/virt-manager/virt-manager/console" = { 1766 auto-redirect = false; 1767 autoconnect = true; 1768 }; 1769 "org/virt-manager/virt-manager/stats" = { 1770 enable-cpu-poll = true; 1771 enable-disk-poll = true; 1772 enable-memory-poll = true; 1773 enable-net-poll = true; 1774 }; 1775 "org/virt-manager/virt-manager/vmlist-fields" = { 1776 cpu-usage = true; 1777 disk-usage = true; 1778 host-cpu-usage = true; 1779 memory-usage = true; 1780 network-traffic = true; 1781 }; 1782 "org/virt-manager/virt-manager/confirm" = { 1783 delete-storage = true; 1784 forcepoweroff = true; 1785 pause = true; 1786 poweroff = true; 1787 removedev = true; 1788 unapplied-dev = true; 1789 }; 1790 1791 "org/gnome/gnome-system-monitor" = { 1792 cpu-smooth-graph = true; 1793 kill-dialog = true; 1794 network-in-bits = false; 1795 network-total-in-bits = false; 1796 process-memory-in-iec = true; 1797 resources-memory-in-iec = true; 1798 show-all-fs = true; 1799 show-dependencies = true; 1800 show-whose-processes = "all"; 1801 smooth-refresh = true; 1802 solaris-mode = true; 1803 }; 1804 "org/gnome/gnome-system-monitor/proctree" = { 1805 col-0-visible = true; 1806 col-1-visible = true; 1807 col-2-visible = true; 1808 col-3-visible = true; 1809 col-4-visible = true; 1810 col-6-visible = true; 1811 col-7-visible = true; 1812 col-8-visible = true; 1813 col-9-visible = true; 1814 col-10-visible = true; 1815 col-11-visible = true; 1816 col-12-visible = true; 1817 col-14-visible = true; 1818 col-15-visible = true; 1819 col-16-visible = true; 1820 col-17-visible = true; 1821 col-18-visible = true; 1822 col-19-visible = true; 1823 col-20-visible = true; 1824 col-21-visible = true; 1825 col-22-visible = true; 1826 col-23-visible = true; 1827 col-24-visible = true; 1828 col-25-visible = true; 1829 col-26-visible = true; 1830 }; 1831 "org/gnome/gnome-system-monitor/disksview" = { 1832 col-available-visible = true; 1833 col-device-visible = true; 1834 col-directory-visible = true; 1835 col-free-visible = true; 1836 col-total-visible = true; 1837 col-type-visible = true; 1838 col-used-visible = true; 1839 }; 1840 1841 "org/gnome/Snapshot" = { 1842 enable-audio-recording = true; 1843 play-shutter-sound = true; 1844 show-composition-guidelines = true; 1845 }; 1846 1847 "com/github/huluti/Curtail" = { 1848 file-attributes = true; 1849 metadata = false; 1850 new-file = true; 1851 recursive = true; 1852 }; 1853 1854 "org/gnome/simple-scan" = { 1855 postproc-keep-original = true; 1856 }; 1857 1858 "com/github/tenderowl/frog" = { 1859 telemetry = false; 1860 }; 1861 1862 "app/drey/EarTag" = { 1863 musicbrainz-cover-size = "Maximum size"; 1864 }; 1865 1866 "org/gnome/meld" = { 1867 enable-space-drawer = true; 1868 highlight-current-line = true; 1869 highlight-syntax = true; 1870 prefer-dark-theme = true; 1871 show-line-numbers = true; 1872 show-overview-map = true; 1873 wrap-mode = "word"; 1874 }; 1875 1876 "org/gnome/calculator" = { 1877 show-thousands = true; 1878 show-zeroes = true; 1879 }; 1880 1881 "io/gitlab/adhami3310/Converter" = { 1882 show-less-popular = true; 1883 }; 1884 1885 "org/gnome/maps" = { 1886 show-scale = true; 1887 }; 1888 1889 "org/gnome/GWeather4" = { 1890 temperature-unit = "centigrade"; 1891 }; 1892 1893 "app/drey/Dialect" = { 1894 color-scheme = "dark"; 1895 show-pronunciation = true; 1896 src-auto = true; 1897 }; 1898 }; 1899 } 1900 ]; 1901 }; 1902 }; 1903 1904 fonts = { 1905 enableDefaultPackages = false; 1906 packages = with pkgs; [ 1907 corefonts 1908 nerd-fonts.noto 1909 noto-fonts 1910 noto-fonts-cjk-sans 1911 noto-fonts-cjk-serif 1912 noto-fonts-color-emoji 1913 noto-fonts-lgc-plus 1914 ]; 1915 1916 fontconfig = { 1917 enable = true; 1918 1919 allowBitmaps = true; 1920 allowType1 = false; 1921 cache32Bit = true; 1922 1923 defaultFonts = { 1924 monospace = [ 1925 font_preferences.name.mono 1926 ]; 1927 1928 sansSerif = [ 1929 font_preferences.name.sans_serif 1930 ]; 1931 1932 serif = [ 1933 font_preferences.name.serif 1934 ]; 1935 1936 emoji = [ 1937 font_preferences.name.emoji 1938 ]; 1939 }; 1940 1941 includeUserConf = true; 1942 }; 1943 }; 1944 1945 environment = { 1946 enableAllTerminfo = true; 1947 1948 wordlist = { 1949 enable = true; 1950 # lists = ; 1951 }; 1952 1953 homeBinInPath = true; 1954 localBinInPath = true; 1955 1956 stub-ld.enable = true; 1957 1958 variables = { 1959 ANDROID_SDK_ROOT = android_sdk_path; 1960 ANDROID_HOME = android_sdk_path; 1961 }; 1962 1963 sessionVariables = { 1964 NIXOS_OZONE_WL = "1"; 1965 CHROME_EXECUTABLE = "chromium"; 1966 }; 1967 1968 shellAliases = { 1969 clean_build = "sudo nix-channel --update && sudo nix-env -u --always && sudo rm -rf /nix/var/nix/gcroots/auto/* && sudo nix-collect-garbage -d && nix-collect-garbage -d && sudo nix-store --gc && sudo nixos-rebuild switch --install-bootloader --upgrade-all"; 1970 }; 1971 1972 extraInit = ''''; 1973 1974 loginShellInit = ''''; 1975 1976 shellInit = ''''; 1977 1978 interactiveShellInit = ''''; 1979 1980 systemPackages = 1981 with pkgs; 1982 [ 1983 # amrnb 1984 # amrwb 1985 # appimagekit 1986 # gnss-sdr 1987 # reiser4progs 1988 above 1989 acl 1990 aircrack-ng 1991 alac 1992 amass 1993 android-tools 1994 android_sdk # Custom 1995 anydesk 1996 apkeep 1997 apkleaks 1998 apksigner 1999 aptdec 2000 aribb24 2001 aribb25 2002 arj 2003 audacity 2004 autopsy 2005 avrdude 2006 baobab 2007 binary 2008 binwalk 2009 bleachbit 2010 blender 2011 bluez-tools 2012 btrfs-progs 2013 bulk_extractor 2014 burpsuite 2015 bustle 2016 bzip2 2017 bzip3 2018 cabextract 2019 celestia 2020 celt 2021 certbot-full 2022 chmlib 2023 clang 2024 clang-analyzer 2025 clang-manpages 2026 clang-tools 2027 clinfo 2028 cloc 2029 cloudflare-warp 2030 cmake 2031 code-nautilus 2032 codec2 2033 collision 2034 coreutils-full 2035 cpio 2036 cryptsetup 2037 cups-filters 2038 cups-pdf-to-pdf 2039 cups-printers 2040 curlFull 2041 curtail 2042 d-spy 2043 darktable 2044 dart 2045 dbeaver-bin 2046 dconf-editor 2047 dconf2nix 2048 debase 2049 dialect 2050 dirb 2051 dmg2img 2052 dmidecode 2053 dnsrecon 2054 dosfstools 2055 e2fsprogs 2056 eartag 2057 efibootmgr 2058 esptool 2059 evtest 2060 evtest-qt 2061 exfatprogs 2062 eyedropper 2063 f2fs-tools 2064 faac 2065 faad2 2066 fdk_aac 2067 ffmpeg-full 2068 ffmpegthumbnailer 2069 file 2070 flutter 2071 fritzing 2072 fwupd-efi 2073 gcc 2074 gdb 2075 gdk-pixbuf 2076 ghidra 2077 gimp-with-plugins 2078 git-doc 2079 git-filter-repo 2080 glib 2081 glibc 2082 gnome-autoar 2083 gnome-backgrounds 2084 gnome-bluetooth 2085 gnome-calculator 2086 gnome-calendar 2087 gnome-characters 2088 gnome-clocks 2089 gnome-color-manager 2090 gnome-connections 2091 gnome-console 2092 gnome-control-center 2093 gnome-decoder 2094 gnome-epub-thumbnailer 2095 gnome-extensions-cli 2096 gnome-firmware 2097 gnome-font-viewer 2098 gnome-frog 2099 gnome-graphs 2100 gnome-logs 2101 gnome-maps 2102 gnome-multi-writer 2103 gnome-nettool 2104 gnome-power-manager 2105 gnome-system-monitor 2106 gnome-tecla 2107 gnome-tweaks 2108 gnome-user-docs 2109 gnome-video-effects 2110 gnome-weather 2111 gnugrep 2112 gnulib 2113 gnumake 2114 gnused 2115 gnutar 2116 gnutls 2117 gource 2118 gpredict 2119 gsm 2120 gtk-vnc 2121 guestfs-tools 2122 gzip 2123 hardinfo2 2124 hashcat 2125 hdparm 2126 hfsprogs 2127 hieroglyphic 2128 hw-probe 2129 hwloc 2130 hydra-check 2131 i2c-tools 2132 iaito 2133 iftop 2134 inkscape 2135 inotify-tools 2136 jellyfin-media-player 2137 jfsutils 2138 jmol 2139 john 2140 johnny 2141 jxrlib 2142 keepassxc 2143 kernelshark 2144 kicad 2145 letterpress 2146 lha 2147 lhasa 2148 libGL 2149 libGLU 2150 libaom 2151 libappimage 2152 libass 2153 libcamera 2154 libde265 2155 libdvdcss 2156 libdvdnav 2157 libdvdread 2158 libepoxy 2159 libfreeaptx 2160 libfreefare 2161 libftdi1 2162 libgcc 2163 libgpg-error 2164 libguestfs 2165 libheif 2166 libilbc 2167 liblc3 2168 libnotify 2169 libogg 2170 libopenraw 2171 libopus 2172 libosinfo 2173 libusb1 2174 libuuid 2175 libuvc 2176 libva-utils 2177 libvpx 2178 libwebcam 2179 libwebp 2180 libxfs 2181 libzip 2182 linuxConsoleTools 2183 lorem 2184 loupe 2185 lrzip 2186 lshw 2187 lsof 2188 lsscsi 2189 lvm2 2190 lynis 2191 lz4 2192 lzham 2193 lzip 2194 lzlib 2195 lzop 2196 macchanger 2197 masscan 2198 massdns 2199 mattermost-desktop 2200 media-player-info 2201 meld 2202 mesa-demos 2203 mfcuk 2204 mfoc 2205 monkeysAudio 2206 mtools 2207 nautilus 2208 netdiscover 2209 netsniff-ng 2210 ngrok 2211 nikto 2212 nilfs-utils 2213 ninja 2214 nix-bash-completions 2215 nix-diff 2216 nix-index 2217 nix-info 2218 nixd 2219 nixdoc 2220 nixfmt-rfc-style 2221 nixos-icons 2222 nixpkgs-lint 2223 nixpkgs-review 2224 nmap 2225 ntfs3g 2226 ntp 2227 nuclei 2228 onionshare-gui 2229 onlyoffice-desktopeditors 2230 opencore-amr 2231 openh264 2232 openjpeg 2233 openssl 2234 p7zip 2235 paper-clip 2236 parabolic 2237 patchelf 2238 pciutils 2239 pcre 2240 php84 2241 pjsip 2242 pkg-config 2243 platformio 2244 platformio-core 2245 podman-compose 2246 podman-desktop 2247 python313Full 2248 qemu-utils 2249 qpwgraph 2250 radare2 2251 rar 2252 readline 2253 reiserfsprogs 2254 rpPPPoE 2255 rpi-imager 2256 rpmextract 2257 rtl-sdr-librtlsdr 2258 rzip 2259 sane-backends 2260 sbc 2261 scalpel 2262 schroedinger 2263 scrcpy 2264 screen 2265 sdrangel 2266 sdrpp 2267 serial-studio 2268 share-preview 2269 shared-mime-info 2270 sherlock 2271 simple-scan 2272 sipvicious 2273 sleuthkit 2274 smartmontools 2275 smbmap 2276 snapshot 2277 songrec 2278 spice 2279 spice-gtk 2280 spice-protocol 2281 spooftooph 2282 sslscan 2283 subfinder 2284 subtitleedit 2285 swaks 2286 switcheroo 2287 sysprof 2288 telegram-desktop 2289 texliveFull 2290 theharvester 2291 thermald 2292 time 2293 tor-browser 2294 transmission_4-gtk 2295 tree 2296 trufflehog 2297 udftools 2298 unar 2299 unicode-emoji 2300 universal-android-debloater 2301 unix-privesc-check 2302 unrar 2303 unzip 2304 usbutils 2305 util-linux 2306 valuta 2307 virt-viewer 2308 virtio-win 2309 virtiofsd 2310 vlc 2311 vlc-bittorrent 2312 vulkan-tools 2313 wafw00f 2314 wavpack 2315 waycheck 2316 wayland-utils 2317 waylevel 2318 webfontkitgenerator 2319 wev 2320 wget 2321 which 2322 whois 2323 wifite2 2324 win-spice 2325 wl-clipboard 2326 woff2 2327 wpscan 2328 x264 2329 x265 2330 xdg-user-dirs 2331 xdg-utils 2332 xfsdump 2333 xfsprogs 2334 xfstests 2335 xorg.xhost 2336 xoscope 2337 xvidcore 2338 xz 2339 yara 2340 zenity 2341 zip 2342 zlib 2343 zpaq 2344 zstd 2345 ] 2346 ++ (with unixtools; [ 2347 arp 2348 fdisk 2349 ifconfig 2350 netstat 2351 nettools 2352 ping 2353 route 2354 util-linux 2355 whereis 2356 ]) 2357 ++ (with fishPlugins; [ 2358 async-prompt 2359 autopair 2360 done 2361 fish-you-should-use 2362 sponge 2363 ]) 2364 ++ (with gst_all_1; [ 2365 gst-libav 2366 gst-plugins-bad 2367 gst-plugins-base 2368 gst-plugins-good 2369 gst-plugins-ugly 2370 gst-vaapi 2371 gstreamer 2372 ]) 2373 ++ (with pkgs.gnome; [ 2374 nixos-gsettings-overrides 2375 ]) 2376 ++ (with gnomeExtensions; [ 2377 appindicator 2378 blur-my-shell 2379 desktop-cube 2380 gsconnect 2381 pano 2382 places-status-indicator 2383 removable-drive-menu 2384 vitals 2385 ]) 2386 ++ (with php84Extensions; [ 2387 bz2 2388 calendar 2389 ctype 2390 curl 2391 dba 2392 dom 2393 exif 2394 ffi 2395 fileinfo 2396 filter 2397 ftp 2398 gd 2399 iconv 2400 imagick 2401 imap 2402 mailparse 2403 memcached 2404 mysqli 2405 mysqlnd 2406 opcache 2407 openssl 2408 pcntl 2409 pdo 2410 pdo_mysql 2411 pdo_pgsql 2412 pgsql 2413 posix 2414 readline 2415 session 2416 sockets 2417 sodium 2418 xml 2419 xmlreader 2420 xmlwriter 2421 xsl 2422 zip 2423 zlib 2424 ]) 2425 # ++ (with php84Packages; [ 2426 # ]) 2427 ++ (with python313Packages; [ 2428 black 2429 numpy 2430 pandas 2431 pillow 2432 pip 2433 pyserial 2434 seaborn 2435 ]) 2436 ++ (with texlivePackages; [ 2437 latexmk 2438 ]) 2439 ++ (with ghidra-extensions; [ 2440 findcrypt 2441 ghidra-delinker-extension 2442 ghidra-golanganalyzerextension 2443 ghidraninja-ghidra-scripts 2444 gnudisassembler 2445 lightkeeper 2446 machinelearning 2447 ret-sync 2448 sleighdevtools 2449 wasm 2450 ]) 2451 ++ (with inkscape-extensions; [ 2452 applytransforms 2453 textext 2454 ]); 2455 2456 gnome.excludePackages = with pkgs; [ 2457 decibels 2458 epiphany 2459 evince 2460 geary 2461 gnome-contacts 2462 gnome-music 2463 gnome-text-editor 2464 gnome-tour 2465 totem 2466 yelp 2467 ]; 2468 2469 enableDebugInfo = false; 2470 }; 2471 2472 xdg = { 2473 mime = { 2474 enable = true; 2475 2476 addedAssociations = config.xdg.mime.defaultApplications; 2477 2478 removedAssociations = { }; 2479 2480 # https://www.iana.org/assignments/media-types/media-types.xhtml 2481 defaultApplications = { 2482 "inode/directory" = "nautilus.desktop"; 2483 2484 "image/aces" = "org.gnome.Loupe.desktop"; 2485 "image/apng" = "org.gnome.Loupe.desktop"; 2486 "image/avci" = "org.gnome.Loupe.desktop"; 2487 "image/avcs" = "org.gnome.Loupe.desktop"; 2488 "image/avif" = "org.gnome.Loupe.desktop"; 2489 "image/bmp" = "org.gnome.Loupe.desktop"; 2490 "image/cgm" = "org.gnome.Loupe.desktop"; 2491 "image/dicom-rle" = "org.gnome.Loupe.desktop"; 2492 "image/dpx" = "org.gnome.Loupe.desktop"; 2493 "image/emf" = "org.gnome.Loupe.desktop"; 2494 "image/fits" = "org.gnome.Loupe.desktop"; 2495 "image/g3fax" = "org.gnome.Loupe.desktop"; 2496 "image/gif" = "org.gnome.Loupe.desktop"; 2497 "image/heic" = "org.gnome.Loupe.desktop"; 2498 "image/heic-sequence" = "org.gnome.Loupe.desktop"; 2499 "image/heif" = "org.gnome.Loupe.desktop"; 2500 "image/heif-sequence" = "org.gnome.Loupe.desktop"; 2501 "image/hej2k" = "org.gnome.Loupe.desktop"; 2502 "image/hsj2" = "org.gnome.Loupe.desktop"; 2503 "image/ief" = "org.gnome.Loupe.desktop"; 2504 "image/j2c" = "org.gnome.Loupe.desktop"; 2505 "image/jaii" = "org.gnome.Loupe.desktop"; 2506 "image/jais" = "org.gnome.Loupe.desktop"; 2507 "image/jls" = "org.gnome.Loupe.desktop"; 2508 "image/jp2" = "org.gnome.Loupe.desktop"; 2509 "image/jpeg" = "org.gnome.Loupe.desktop"; 2510 "image/jph" = "org.gnome.Loupe.desktop"; 2511 "image/jphc" = "org.gnome.Loupe.desktop"; 2512 "image/jpm" = "org.gnome.Loupe.desktop"; 2513 "image/jpx" = "org.gnome.Loupe.desktop"; 2514 "image/jxl" = "org.gnome.Loupe.desktop"; 2515 "image/jxr" = "org.gnome.Loupe.desktop"; 2516 "image/jxrA" = "org.gnome.Loupe.desktop"; 2517 "image/jxrS" = "org.gnome.Loupe.desktop"; 2518 "image/jxs" = "org.gnome.Loupe.desktop"; 2519 "image/jxsc" = "org.gnome.Loupe.desktop"; 2520 "image/jxsi" = "org.gnome.Loupe.desktop"; 2521 "image/jxss" = "org.gnome.Loupe.desktop"; 2522 "image/ktx" = "org.gnome.Loupe.desktop"; 2523 "image/ktx2" = "org.gnome.Loupe.desktop"; 2524 "image/naplps" = "org.gnome.Loupe.desktop"; 2525 "image/png" = "org.gnome.Loupe.desktop"; 2526 "image/prs.btif" = "org.gnome.Loupe.desktop"; 2527 "image/prs.pti" = "org.gnome.Loupe.desktop"; 2528 "image/pwg-raster" = "org.gnome.Loupe.desktop"; 2529 "image/svg+xml" = "org.gnome.Loupe.desktop"; 2530 "image/t38" = "org.gnome.Loupe.desktop"; 2531 "image/tiff" = "org.gnome.Loupe.desktop"; 2532 "image/tiff-fx" = "org.gnome.Loupe.desktop"; 2533 "image/vnd.adobe.photoshop" = "org.gnome.Loupe.desktop"; 2534 "image/vnd.airzip.accelerator.azv" = "org.gnome.Loupe.desktop"; 2535 "image/vnd.cns.inf2" = "org.gnome.Loupe.desktop"; 2536 "image/vnd.dece.graphic" = "org.gnome.Loupe.desktop"; 2537 "image/vnd.djvu" = "org.gnome.Loupe.desktop"; 2538 "image/vnd.dvb.subtitle" = "org.gnome.Loupe.desktop"; 2539 "image/vnd.dwg" = "org.gnome.Loupe.desktop"; 2540 "image/vnd.dxf" = "org.gnome.Loupe.desktop"; 2541 "image/vnd.fastbidsheet" = "org.gnome.Loupe.desktop"; 2542 "image/vnd.fpx" = "org.gnome.Loupe.desktop"; 2543 "image/vnd.fst" = "org.gnome.Loupe.desktop"; 2544 "image/vnd.fujixerox.edmics-mmr" = "org.gnome.Loupe.desktop"; 2545 "image/vnd.fujixerox.edmics-rlc" = "org.gnome.Loupe.desktop"; 2546 "image/vnd.globalgraphics.pgb" = "org.gnome.Loupe.desktop"; 2547 "image/vnd.microsoft.icon" = "org.gnome.Loupe.desktop"; 2548 "image/vnd.mix" = "org.gnome.Loupe.desktop"; 2549 "image/vnd.mozilla.apng" = "org.gnome.Loupe.desktop"; 2550 "image/vnd.ms-modi" = "org.gnome.Loupe.desktop"; 2551 "image/vnd.net-fpx" = "org.gnome.Loupe.desktop"; 2552 "image/vnd.pco.b16" = "org.gnome.Loupe.desktop"; 2553 "image/vnd.radiance" = "org.gnome.Loupe.desktop"; 2554 "image/vnd.sealed.png" = "org.gnome.Loupe.desktop"; 2555 "image/vnd.sealedmedia.softseal.gif" = "org.gnome.Loupe.desktop"; 2556 "image/vnd.sealedmedia.softseal.jpg" = "org.gnome.Loupe.desktop"; 2557 "image/vnd.svf" = "org.gnome.Loupe.desktop"; 2558 "image/vnd.tencent.tap" = "org.gnome.Loupe.desktop"; 2559 "image/vnd.valve.source.texture" = "org.gnome.Loupe.desktop"; 2560 "image/vnd.wap.wbmp" = "org.gnome.Loupe.desktop"; 2561 "image/vnd.xiff" = "org.gnome.Loupe.desktop"; 2562 "image/vnd.zbrush.pcx" = "org.gnome.Loupe.desktop"; 2563 "image/webp" = "org.gnome.Loupe.desktop"; 2564 "image/wmf" = "org.gnome.Loupe.desktop"; 2565 "image/x-emf" = "org.gnome.Loupe.desktop"; 2566 "image/x-wmf" = "org.gnome.Loupe.desktop"; 2567 2568 "audio/1d-interleaved-parityfec" = "vlc.desktop"; 2569 "audio/32kadpcm" = "vlc.desktop"; 2570 "audio/3gpp" = "vlc.desktop"; 2571 "audio/3gpp2" = "vlc.desktop"; 2572 "audio/AMR" = "vlc.desktop"; 2573 "audio/AMR-WB" = "vlc.desktop"; 2574 "audio/ATRAC-ADVANCED-LOSSLESS" = "vlc.desktop"; 2575 "audio/ATRAC-X" = "vlc.desktop"; 2576 "audio/ATRAC3" = "vlc.desktop"; 2577 "audio/BV16" = "vlc.desktop"; 2578 "audio/BV32" = "vlc.desktop"; 2579 "audio/CN" = "vlc.desktop"; 2580 "audio/DAT12" = "vlc.desktop"; 2581 "audio/DV" = "vlc.desktop"; 2582 "audio/DVI4" = "vlc.desktop"; 2583 "audio/EVRC" = "vlc.desktop"; 2584 "audio/EVRC-QCP" = "vlc.desktop"; 2585 "audio/EVRC0" = "vlc.desktop"; 2586 "audio/EVRC1" = "vlc.desktop"; 2587 "audio/EVRCB" = "vlc.desktop"; 2588 "audio/EVRCB0" = "vlc.desktop"; 2589 "audio/EVRCB1" = "vlc.desktop"; 2590 "audio/EVRCNW" = "vlc.desktop"; 2591 "audio/EVRCNW0" = "vlc.desktop"; 2592 "audio/EVRCNW1" = "vlc.desktop"; 2593 "audio/EVRCWB" = "vlc.desktop"; 2594 "audio/EVRCWB0" = "vlc.desktop"; 2595 "audio/EVRCWB1" = "vlc.desktop"; 2596 "audio/EVS" = "vlc.desktop"; 2597 "audio/G711-0" = "vlc.desktop"; 2598 "audio/G719" = "vlc.desktop"; 2599 "audio/G722" = "vlc.desktop"; 2600 "audio/G7221" = "vlc.desktop"; 2601 "audio/G723" = "vlc.desktop"; 2602 "audio/G726-16" = "vlc.desktop"; 2603 "audio/G726-24" = "vlc.desktop"; 2604 "audio/G726-32" = "vlc.desktop"; 2605 "audio/G726-40" = "vlc.desktop"; 2606 "audio/G728" = "vlc.desktop"; 2607 "audio/G729" = "vlc.desktop"; 2608 "audio/G7291" = "vlc.desktop"; 2609 "audio/G729D" = "vlc.desktop"; 2610 "audio/G729E" = "vlc.desktop"; 2611 "audio/GSM" = "vlc.desktop"; 2612 "audio/GSM-EFR" = "vlc.desktop"; 2613 "audio/GSM-HR-08" = "vlc.desktop"; 2614 "audio/L16" = "vlc.desktop"; 2615 "audio/L20" = "vlc.desktop"; 2616 "audio/L24" = "vlc.desktop"; 2617 "audio/L8" = "vlc.desktop"; 2618 "audio/LPC" = "vlc.desktop"; 2619 "audio/MELP" = "vlc.desktop"; 2620 "audio/MELP1200" = "vlc.desktop"; 2621 "audio/MELP2400" = "vlc.desktop"; 2622 "audio/MELP600" = "vlc.desktop"; 2623 "audio/MP4A-LATM" = "vlc.desktop"; 2624 "audio/MPA" = "vlc.desktop"; 2625 "audio/PCMA" = "vlc.desktop"; 2626 "audio/PCMA-WB" = "vlc.desktop"; 2627 "audio/PCMU" = "vlc.desktop"; 2628 "audio/PCMU-WB" = "vlc.desktop"; 2629 "audio/QCELP" = "vlc.desktop"; 2630 "audio/RED" = "vlc.desktop"; 2631 "audio/SMV" = "vlc.desktop"; 2632 "audio/SMV-QCP" = "vlc.desktop"; 2633 "audio/SMV0" = "vlc.desktop"; 2634 "audio/TETRA_ACELP" = "vlc.desktop"; 2635 "audio/TETRA_ACELP_BB" = "vlc.desktop"; 2636 "audio/TSVCIS" = "vlc.desktop"; 2637 "audio/UEMCLIP" = "vlc.desktop"; 2638 "audio/VDVI" = "vlc.desktop"; 2639 "audio/VMR-WB" = "vlc.desktop"; 2640 "audio/aac" = "vlc.desktop"; 2641 "audio/ac3" = "vlc.desktop"; 2642 "audio/amr-wb+" = "vlc.desktop"; 2643 "audio/aptx" = "vlc.desktop"; 2644 "audio/asc" = "vlc.desktop"; 2645 "audio/basic" = "vlc.desktop"; 2646 "audio/clearmode" = "vlc.desktop"; 2647 "audio/dls" = "vlc.desktop"; 2648 "audio/dsr-es201108" = "vlc.desktop"; 2649 "audio/dsr-es202050" = "vlc.desktop"; 2650 "audio/dsr-es202211" = "vlc.desktop"; 2651 "audio/dsr-es202212" = "vlc.desktop"; 2652 "audio/eac3" = "vlc.desktop"; 2653 "audio/encaprtp" = "vlc.desktop"; 2654 "audio/flac" = "vlc.desktop"; 2655 "audio/flexfec" = "vlc.desktop"; 2656 "audio/fwdred" = "vlc.desktop"; 2657 "audio/iLBC" = "vlc.desktop"; 2658 "audio/ip-mr_v2.5" = "vlc.desktop"; 2659 "audio/matroska" = "vlc.desktop"; 2660 "audio/mhas" = "vlc.desktop"; 2661 "audio/midi-clip" = "vlc.desktop"; 2662 "audio/mobile-xmf" = "vlc.desktop"; 2663 "audio/mp4" = "vlc.desktop"; 2664 "audio/mpa-robust" = "vlc.desktop"; 2665 "audio/mpeg" = "vlc.desktop"; 2666 "audio/mpeg4-generic" = "vlc.desktop"; 2667 "audio/ogg" = "vlc.desktop"; 2668 "audio/opus" = "vlc.desktop"; 2669 "audio/parityfec" = "vlc.desktop"; 2670 "audio/prs.sid" = "vlc.desktop"; 2671 "audio/raptorfec" = "vlc.desktop"; 2672 "audio/rtp-enc-aescm128" = "vlc.desktop"; 2673 "audio/rtp-midi" = "vlc.desktop"; 2674 "audio/rtploopback" = "vlc.desktop"; 2675 "audio/rtx" = "vlc.desktop"; 2676 "audio/scip" = "vlc.desktop"; 2677 "audio/sofa" = "vlc.desktop"; 2678 "audio/sp-midi" = "vlc.desktop"; 2679 "audio/speex" = "vlc.desktop"; 2680 "audio/t140c" = "vlc.desktop"; 2681 "audio/t38" = "vlc.desktop"; 2682 "audio/telephone-event" = "vlc.desktop"; 2683 "audio/tone" = "vlc.desktop"; 2684 "audio/ulpfec" = "vlc.desktop"; 2685 "audio/usac" = "vlc.desktop"; 2686 "audio/vnd.3gpp.iufp" = "vlc.desktop"; 2687 "audio/vnd.4SB" = "vlc.desktop"; 2688 "audio/vnd.CELP" = "vlc.desktop"; 2689 "audio/vnd.audiokoz" = "vlc.desktop"; 2690 "audio/vnd.cisco.nse" = "vlc.desktop"; 2691 "audio/vnd.cmles.radio-events" = "vlc.desktop"; 2692 "audio/vnd.cns.anp1" = "vlc.desktop"; 2693 "audio/vnd.cns.inf1" = "vlc.desktop"; 2694 "audio/vnd.dece.audio" = "vlc.desktop"; 2695 "audio/vnd.digital-winds" = "vlc.desktop"; 2696 "audio/vnd.dlna.adts" = "vlc.desktop"; 2697 "audio/vnd.dolby.heaac.1" = "vlc.desktop"; 2698 "audio/vnd.dolby.heaac.2" = "vlc.desktop"; 2699 "audio/vnd.dolby.mlp" = "vlc.desktop"; 2700 "audio/vnd.dolby.mps" = "vlc.desktop"; 2701 "audio/vnd.dolby.pl2" = "vlc.desktop"; 2702 "audio/vnd.dolby.pl2x" = "vlc.desktop"; 2703 "audio/vnd.dolby.pl2z" = "vlc.desktop"; 2704 "audio/vnd.dolby.pulse.1" = "vlc.desktop"; 2705 "audio/vnd.dra" = "vlc.desktop"; 2706 "audio/vnd.dts" = "vlc.desktop"; 2707 "audio/vnd.dts.hd" = "vlc.desktop"; 2708 "audio/vnd.dts.uhd" = "vlc.desktop"; 2709 "audio/vnd.dvb.file" = "vlc.desktop"; 2710 "audio/vnd.everad.plj" = "vlc.desktop"; 2711 "audio/vnd.hns.audio" = "vlc.desktop"; 2712 "audio/vnd.lucent.voice" = "vlc.desktop"; 2713 "audio/vnd.ms-playready.media.pya" = "vlc.desktop"; 2714 "audio/vnd.nokia.mobile-xmf" = "vlc.desktop"; 2715 "audio/vnd.nortel.vbk" = "vlc.desktop"; 2716 "audio/vnd.nuera.ecelp4800" = "vlc.desktop"; 2717 "audio/vnd.nuera.ecelp7470" = "vlc.desktop"; 2718 "audio/vnd.nuera.ecelp9600" = "vlc.desktop"; 2719 "audio/vnd.octel.sbc" = "vlc.desktop"; 2720 "audio/vnd.presonus.multitrack" = "vlc.desktop"; 2721 "audio/vnd.qcelp" = "vlc.desktop"; 2722 "audio/vnd.rhetorex.32kadpcm" = "vlc.desktop"; 2723 "audio/vnd.rip" = "vlc.desktop"; 2724 "audio/vnd.sealedmedia.softseal.mpeg" = "vlc.desktop"; 2725 "audio/vnd.vmx.cvsd" = "vlc.desktop"; 2726 "audio/vorbis" = "vlc.desktop"; 2727 "audio/vorbis-config" = "vlc.desktop"; 2728 2729 "video/1d-interleaved-parityfec" = "vlc.desktop"; 2730 "video/3gpp" = "vlc.desktop"; 2731 "video/3gpp-tt" = "vlc.desktop"; 2732 "video/3gpp2" = "vlc.desktop"; 2733 "video/AV1" = "vlc.desktop"; 2734 "video/BMPEG" = "vlc.desktop"; 2735 "video/BT656" = "vlc.desktop"; 2736 "video/CelB" = "vlc.desktop"; 2737 "video/DV" = "vlc.desktop"; 2738 "video/FFV1" = "vlc.desktop"; 2739 "video/H261" = "vlc.desktop"; 2740 "video/H263" = "vlc.desktop"; 2741 "video/H263-1998" = "vlc.desktop"; 2742 "video/H263-2000" = "vlc.desktop"; 2743 "video/H264" = "vlc.desktop"; 2744 "video/H264-RCDO" = "vlc.desktop"; 2745 "video/H264-SVC" = "vlc.desktop"; 2746 "video/H265" = "vlc.desktop"; 2747 "video/H266" = "vlc.desktop"; 2748 "video/JPEG" = "vlc.desktop"; 2749 "video/MP1S" = "vlc.desktop"; 2750 "video/MP2P" = "vlc.desktop"; 2751 "video/MP2T" = "vlc.desktop"; 2752 "video/MP4V-ES" = "vlc.desktop"; 2753 "video/MPV" = "vlc.desktop"; 2754 "video/SMPTE292M" = "vlc.desktop"; 2755 "video/VP8" = "vlc.desktop"; 2756 "video/VP9" = "vlc.desktop"; 2757 "video/encaprtp" = "vlc.desktop"; 2758 "video/evc" = "vlc.desktop"; 2759 "video/flexfec" = "vlc.desktop"; 2760 "video/iso.segment" = "vlc.desktop"; 2761 "video/jpeg2000" = "vlc.desktop"; 2762 "video/jxsv" = "vlc.desktop"; 2763 "video/matroska" = "vlc.desktop"; 2764 "video/matroska-3d" = "vlc.desktop"; 2765 "video/mj2" = "vlc.desktop"; 2766 "video/mp4" = "vlc.desktop"; 2767 "video/mpeg" = "vlc.desktop"; 2768 "video/mpeg4-generic" = "vlc.desktop"; 2769 "video/nv" = "vlc.desktop"; 2770 "video/ogg" = "vlc.desktop"; 2771 "video/parityfec" = "vlc.desktop"; 2772 "video/pointer" = "vlc.desktop"; 2773 "video/quicktime" = "vlc.desktop"; 2774 "video/raptorfec" = "vlc.desktop"; 2775 "video/raw" = "vlc.desktop"; 2776 "video/rtp-enc-aescm128" = "vlc.desktop"; 2777 "video/rtploopback" = "vlc.desktop"; 2778 "video/rtx" = "vlc.desktop"; 2779 "video/scip" = "vlc.desktop"; 2780 "video/smpte291" = "vlc.desktop"; 2781 "video/ulpfec" = "vlc.desktop"; 2782 "video/vc1" = "vlc.desktop"; 2783 "video/vc2" = "vlc.desktop"; 2784 "video/vnd.CCTV" = "vlc.desktop"; 2785 "video/vnd.dece.hd" = "vlc.desktop"; 2786 "video/vnd.dece.mobile" = "vlc.desktop"; 2787 "video/vnd.dece.mp4" = "vlc.desktop"; 2788 "video/vnd.dece.pd" = "vlc.desktop"; 2789 "video/vnd.dece.sd" = "vlc.desktop"; 2790 "video/vnd.dece.video" = "vlc.desktop"; 2791 "video/vnd.directv.mpeg" = "vlc.desktop"; 2792 "video/vnd.directv.mpeg-tts" = "vlc.desktop"; 2793 "video/vnd.dlna.mpeg-tts" = "vlc.desktop"; 2794 "video/vnd.dvb.file" = "vlc.desktop"; 2795 "video/vnd.fvt" = "vlc.desktop"; 2796 "video/vnd.hns.video" = "vlc.desktop"; 2797 "video/vnd.iptvforum.1dparityfec-1010" = "vlc.desktop"; 2798 "video/vnd.iptvforum.1dparityfec-2005" = "vlc.desktop"; 2799 "video/vnd.iptvforum.2dparityfec-1010" = "vlc.desktop"; 2800 "video/vnd.iptvforum.2dparityfec-2005" = "vlc.desktop"; 2801 "video/vnd.iptvforum.ttsavc" = "vlc.desktop"; 2802 "video/vnd.iptvforum.ttsmpeg2" = "vlc.desktop"; 2803 "video/vnd.motorola.video" = "vlc.desktop"; 2804 "video/vnd.motorola.videop" = "vlc.desktop"; 2805 "video/vnd.mpegurl" = "vlc.desktop"; 2806 "video/vnd.ms-playready.media.pyv" = "vlc.desktop"; 2807 "video/vnd.nokia.interleaved-multimedia" = "vlc.desktop"; 2808 "video/vnd.nokia.mp4vr" = "vlc.desktop"; 2809 "video/vnd.nokia.videovoip" = "vlc.desktop"; 2810 "video/vnd.objectvideo" = "vlc.desktop"; 2811 "video/vnd.radgamettools.bink" = "vlc.desktop"; 2812 "video/vnd.radgamettools.smacker" = "vlc.desktop"; 2813 "video/vnd.sealed.mpeg1" = "vlc.desktop"; 2814 "video/vnd.sealed.mpeg4" = "vlc.desktop"; 2815 "video/vnd.sealed.swf" = "vlc.desktop"; 2816 "video/vnd.sealedmedia.softseal.mov" = "vlc.desktop"; 2817 "video/vnd.uvvu.mp4" = "vlc.desktop"; 2818 "video/vnd.vivo" = "vlc.desktop"; 2819 "video/vnd.youtube.yt" = "vlc.desktop"; 2820 2821 "application/pdf" = "firefox-devedition.desktop"; 2822 2823 "x-scheme-handler/http" = "firefox-devedition.desktop"; 2824 "x-scheme-handler/https" = "firefox-devedition.desktop"; 2825 2826 "x-scheme-handler/mailto" = "thunderbird.desktop"; 2827 }; 2828 }; 2829 2830 icons.enable = true; 2831 sounds.enable = true; 2832 2833 menus.enable = true; 2834 autostart.enable = true; 2835 2836 terminal-exec.enable = true; 2837 2838 portal = { 2839 enable = true; 2840 extraPortals = with pkgs; [ 2841 xdg-desktop-portal-gnome 2842 ]; 2843 2844 xdgOpenUsePortal = false; # Opening Programs 2845 }; 2846 }; 2847 2848 # qt = { 2849 # enable = true; 2850 2851 # platformTheme = "gnome"; 2852 # style = "adwaita-dark"; 2853 # }; 2854 2855 documentation = { 2856 enable = true; 2857 dev.enable = true; 2858 doc.enable = true; 2859 info.enable = true; 2860 2861 man = { 2862 enable = true; 2863 2864 man-db = { 2865 enable = true; 2866 package = pkgs.man-db; 2867 }; 2868 2869 generateCaches = true; 2870 }; 2871 2872 nixos = { 2873 enable = true; 2874 includeAllModules = true; 2875 options.warningsAreErrors = false; 2876 }; 2877 }; 2878 2879 users = { 2880 groups = { 2881 hardinfo2 = { }; # Creation 2882 }; 2883 2884 enforceIdUniqueness = true; 2885 mutableUsers = true; 2886 2887 defaultUserShell = pkgs.fish; 2888 2889 motd = "Welcome"; 2890 2891 users.bitscoper = { 2892 isNormalUser = true; 2893 2894 name = "bitscoper"; 2895 description = "Abdullah As-Sadeed"; # Full Name 2896 2897 extraGroups = [ 2898 "adbusers" 2899 "audio" 2900 "dialout" 2901 "hardinfo2" 2902 "input" 2903 "jellyfin" 2904 "kvm" 2905 "libvirtd" 2906 "lp" 2907 "networkmanager" 2908 "plugdev" 2909 "podman" 2910 "qemu-libvirtd" 2911 "scanner" 2912 "tty" 2913 "uucp" 2914 "video" 2915 "wheel" 2916 "wireshark" 2917 ]; 2918 2919 useDefaultShell = true; 2920 }; 2921 }; 2922 2923 home-manager = { 2924 useGlobalPkgs = true; 2925 useUserPackages = true; 2926 2927 backupFileExtension = "old"; 2928 2929 sharedModules = [ 2930 { 2931 home = { 2932 enableNixpkgsReleaseCheck = true; 2933 2934 shell = { 2935 enableShellIntegration = true; 2936 enableBashIntegration = true; 2937 enableFishIntegration = true; 2938 }; 2939 2940 language = { }; 2941 2942 keyboard = { }; 2943 2944 pointerCursor = { 2945 name = cursor.theme.name; 2946 package = cursor.theme.package; 2947 size = cursor.size; 2948 2949 gtk.enable = true; 2950 }; 2951 2952 preferXdgDirectories = true; 2953 2954 packages = with pkgs; [ 2955 ]; 2956 2957 sessionVariables = { }; 2958 2959 sessionSearchVariables = { }; 2960 2961 shellAliases = { }; 2962 2963 enableDebugInfo = false; 2964 2965 stateVersion = "24.11"; 2966 }; 2967 2968 xdg = { 2969 mime.enable = true; 2970 2971 mimeApps = { 2972 enable = true; 2973 2974 associations = { 2975 added = config.xdg.mime.addedAssociations; 2976 2977 removed = config.xdg.mime.removedAssociations; 2978 }; 2979 2980 defaultApplications = config.xdg.mime.defaultApplications; 2981 }; 2982 2983 configFile = { 2984 "mimeapps.list".force = true; 2985 }; 2986 }; 2987 2988 gtk = { 2989 enable = true; 2990 2991 theme = { 2992 package = pkgs.gnome-themes-extra; 2993 name = "Adwaita-dark"; 2994 }; 2995 2996 iconTheme = { 2997 package = pkgs.adwaita-icon-theme; 2998 name = "Adwaita"; 2999 }; 3000 3001 cursorTheme = { 3002 name = cursor.theme.name; 3003 package = cursor.theme.package; 3004 size = cursor.size; 3005 }; 3006 3007 font = { 3008 name = font_preferences.name.sans_serif; 3009 package = font_preferences.package; 3010 size = font_preferences.size; 3011 }; 3012 }; 3013 3014 qt = { 3015 enable = true; 3016 3017 platformTheme.name = "adwaita"; 3018 3019 style = { 3020 package = pkgs.adwaita-qt6; 3021 name = "adwaita-qt"; 3022 }; 3023 }; 3024 3025 services = { }; 3026 3027 programs = { 3028 dircolors = { 3029 enable = true; 3030 package = pkgs.coreutils; 3031 3032 enableBashIntegration = true; 3033 enableFishIntegration = true; 3034 3035 settings = { }; 3036 3037 extraConfig = ''''; 3038 }; 3039 3040 nix-your-shell = { 3041 enable = true; 3042 package = pkgs.nix-your-shell; 3043 3044 enableFishIntegration = true; 3045 }; 3046 3047 vscode = { 3048 enable = true; 3049 package = pkgs.vscode; 3050 mutableExtensionsDir = false; 3051 3052 profiles = { 3053 default = { 3054 extensions = 3055 with pkgs.vscode-extensions; 3056 [ 3057 aaron-bond.better-comments 3058 adpyke.codesnap 3059 albymor.increment-selection 3060 alefragnani.bookmarks 3061 alexisvt.flutter-snippets 3062 anweber.vscode-httpyac 3063 bierner.comment-tagged-templates 3064 bierner.docs-view 3065 bierner.emojisense 3066 bierner.github-markdown-preview 3067 bierner.markdown-checkbox 3068 bierner.markdown-emoji 3069 bierner.markdown-footnotes 3070 bierner.markdown-mermaid 3071 bierner.markdown-preview-github-styles 3072 bradgashler.htmltagwrap 3073 chanhx.crabviz 3074 christian-kohler.path-intellisense 3075 codezombiech.gitignore 3076 coolbear.systemd-unit-file 3077 dart-code.dart-code 3078 dart-code.flutter 3079 davidanson.vscode-markdownlint 3080 dendron.adjust-heading-level 3081 devsense.phptools-vscode 3082 dotenv.dotenv-vscode 3083 ecmel.vscode-html-css 3084 edonet.vscode-command-runner 3085 esbenp.prettier-vscode 3086 ethansk.restore-terminals 3087 fabiospampinato.vscode-open-in-github 3088 firefox-devtools.vscode-firefox-debug 3089 formulahendry.auto-close-tag 3090 formulahendry.auto-rename-tag 3091 formulahendry.code-runner 3092 foxundermoon.shell-format 3093 github.copilot 3094 github.copilot-chat 3095 github.vscode-github-actions 3096 github.vscode-pull-request-github 3097 grapecity.gc-excelviewer 3098 gruntfuggly.todo-tree 3099 hars.cppsnippets 3100 hbenl.vscode-test-explorer 3101 hediet.vscode-drawio 3102 ibm.output-colorizer 3103 iciclesoft.workspacesort 3104 iliazeus.vscode-ansi 3105 illixion.vscode-vibrancy-continued 3106 james-yu.latex-workshop 3107 jbockle.jbockle-format-files 3108 jellyedwards.gitsweep 3109 jkillian.custom-local-formatters 3110 jnoortheen.nix-ide 3111 jock.svg 3112 kamikillerto.vscode-colorize 3113 llvm-vs-code-extensions.vscode-clangd 3114 mads-hartmann.bash-ide-vscode 3115 mechatroner.rainbow-csv 3116 meganrogge.template-string-converter 3117 mishkinf.goto-next-previous-member 3118 mkhl.direnv 3119 moshfeu.compare-folders 3120 sanaajani.taskrunnercode 3121 ms-azuretools.vscode-docker 3122 ms-python.black-formatter 3123 ms-python.debugpy 3124 ms-python.isort 3125 slevesque.vscode-multiclip 3126 ms-python.python 3127 ms-toolsai.datawrangler 3128 ms-toolsai.jupyter 3129 ms-toolsai.jupyter-keymap 3130 ms-toolsai.jupyter-renderers 3131 rioj7.commandonallfiles 3132 ms-toolsai.vscode-jupyter-cell-tags 3133 ms-toolsai.vscode-jupyter-slideshow 3134 ms-vscode-remote.remote-containers 3135 ms-vscode-remote.remote-ssh 3136 stylelint.vscode-stylelint 3137 ms-vscode-remote.remote-ssh-edit 3138 ms-vscode.cmake-tools 3139 ms-vscode.cpptools 3140 ms-vscode.hexeditor 3141 ms-vscode.live-server 3142 ms-vscode.makefile-tools 3143 ms-vscode.test-adapter-converter 3144 ms-vsliveshare.vsliveshare 3145 ms-windows-ai-studio.windows-ai-studio 3146 oderwat.indent-rainbow 3147 platformio.platformio-vscode-ide 3148 quicktype.quicktype 3149 redhat.vscode-xml 3150 redhat.vscode-yaml 3151 rubymaniac.vscode-paste-and-indent 3152 ryu1kn.partial-diff 3153 shardulm94.trailing-spaces 3154 skyapps.fish-vscode 3155 spywhere.guides 3156 tailscale.vscode-tailscale 3157 tamasfe.even-better-toml 3158 timonwong.shellcheck 3159 vscode-icons-team.vscode-icons 3160 tyriar.sort-lines 3161 usernamehw.errorlens 3162 vincaslt.highlight-matching-tag 3163 visualstudioexptteam.intellicode-api-usage-examples 3164 visualstudioexptteam.vscodeintellicode 3165 vscjava.vscode-gradle 3166 wmaurer.change-case 3167 zainchen.json 3168 ] 3169 ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ 3170 { 3171 name = "vscode-serial-monitor"; 3172 publisher = "ms-vscode"; 3173 version = "0.13.250503001"; 3174 sha256 = "iuni/DybnUxdbvggvlCidurW4GevVPvwYO7/5i+S1ok="; 3175 } 3176 { 3177 name = "unique-lines"; 3178 publisher = "bibhasdn"; 3179 version = "1.0.0"; 3180 sha256 = "W0ZpZ6+vjkfNfOtekx5NWOFTyxfWAiB0XYcIwHabFPQ="; 3181 } 3182 { 3183 name = "pubspec-assist"; 3184 publisher = "jeroen-meijer"; 3185 version = "2.3.2"; 3186 sha256 = "+Mkcbeq7b+vkuf2/LYT10mj46sULixLNKGpCEk1Eu/0="; 3187 } 3188 { 3189 name = "vscode-sort-json"; 3190 publisher = "richie5um2"; 3191 version = "1.20.0"; 3192 sha256 = "Jobx5Pf4SYQVR2I4207RSSP9I85qtVY6/2Nvs/Vvi/0="; 3193 } 3194 { 3195 name = "arb-editor"; 3196 publisher = "Google"; 3197 version = "0.2.1"; 3198 sha256 = "uHdQeW9ZXYg6+VnD6cb5CU10/xV5hCtxt5K+j0qb7as="; 3199 } 3200 { 3201 name = "vscode-print"; 3202 publisher = "pdconsec"; 3203 version = "1.4.0"; 3204 sha256 = "jAZ1F5neIFSevy0bNuHabh8pUbm5vuuxjmot08GctPc="; 3205 } 3206 ]; 3207 3208 enableUpdateCheck = true; 3209 enableExtensionUpdateCheck = true; 3210 3211 # userSettings = { 3212 # }; 3213 }; 3214 }; 3215 }; 3216 3217 matplotlib = { 3218 enable = true; 3219 3220 config = { }; 3221 3222 extraConfig = ''''; 3223 }; 3224 3225 gh = { 3226 enable = true; 3227 package = pkgs.gh; 3228 extensions = with pkgs; [ 3229 ]; 3230 3231 gitCredentialHelper = { 3232 enable = true; 3233 3234 hosts = [ 3235 "https://github.com" 3236 "https://gist.github.com" 3237 ]; 3238 }; 3239 3240 settings = { 3241 git_protocol = "https"; 3242 3243 editor = "nano"; 3244 3245 aliases = { }; 3246 }; 3247 }; 3248 3249 awscli = { 3250 enable = true; 3251 package = pkgs.awscli2; 3252 3253 settings = { 3254 "default" = { 3255 output = "json"; 3256 }; 3257 }; 3258 3259 credentials = { }; 3260 }; 3261 3262 chromium = { 3263 enable = true; 3264 package = pkgs.ungoogled-chromium; 3265 dictionaries = with pkgs.hunspellDictsChromium; [ 3266 en_US 3267 en-us 3268 ]; 3269 nativeMessagingHosts = config.programs.firefox.nativeMessagingHosts.packages; 3270 3271 commandLineArgs = [ 3272 "--ozone-platform=wayland" 3273 "--password-store=gnome" 3274 "--proxy-auto-detect" 3275 ]; 3276 }; 3277 3278 obs-studio = { 3279 enable = true; 3280 package = pkgs.obs-studio; 3281 plugins = with pkgs.obs-studio-plugins; [ 3282 droidcam-obs 3283 input-overlay 3284 obs-3d-effect 3285 obs-backgroundremoval 3286 obs-color-monitor 3287 obs-composite-blur 3288 obs-freeze-filter 3289 obs-gradient-source 3290 obs-gstreamer 3291 obs-move-transition 3292 obs-multi-rtmp 3293 obs-mute-filter 3294 obs-pipewire-audio-capture 3295 obs-replay-source 3296 obs-rgb-levels-filter 3297 obs-scale-to-sound 3298 obs-shaderfilter 3299 obs-source-clone 3300 obs-source-record 3301 obs-source-switcher 3302 obs-text-pthread 3303 obs-transition-table 3304 obs-tuna 3305 obs-vaapi 3306 obs-vertical-canvas 3307 obs-vintage-filter 3308 obs-vkcapture 3309 waveform 3310 ]; 3311 }; 3312 3313 yt-dlp = { 3314 enable = true; 3315 package = pkgs.yt-dlp; 3316 3317 settings = { }; 3318 3319 extraConfig = ''''; 3320 }; 3321 }; 3322 } 3323 ]; 3324 3325 users.root = { }; 3326 users.bitscoper = { }; 3327 3328 verbose = true; 3329 }; 3330 } 3331 3332 # gsettings reset org.gnome.shell app-picker-layout 3333 3334 # FIXME: 05ac-033e-Gamepad > Rumble 3335 # FIXME: ELAN7001 SPI Fingerprint Sensor 3336 # FIXME: MariaDB > Login 3337 # FIXME: Qt 3338 # FIXME: hardinfo2 3339