{ config, pkgs, ... }: { # Enable unfree globally nixpkgs.config.allowUnfree = true; # Mount nixos-unstable under pkgs.beta nixpkgs.overlays = [ (final: prev: let beta = import (builtins.fetchTarball "https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz") { system = final.system; config = final.config; }; in { beta = beta; }) ]; # Default browser settings xdg = { mime.enable = true; mime.defaultApplications = { "text/html" = [ "ungoogled-chromium.desktop" ]; "application/xhtml+xml" = [ "ungoogled-chromium.desktop" ]; "x-scheme-handler/http" = [ "ungoogled-chromium.desktop" ]; "x-scheme-handler/https" = [ "ungoogled-chromium.desktop" ]; "x-scheme-handler/ftp" = [ "ungoogled-chromium.desktop" ]; "application/x-www-browser" = [ "ungoogled-chromium.desktop" ]; }; }; environment.variables.BROWSER = "chromium"; environment.systemPackages = with pkgs; [ # Browsers and comms ungoogled-chromium discord signal-desktop-bin # Development tools git go cargo rustc rust-analyzer rustfmt nodejs_24 python3Full openssh nodePackages."pnpm" openssl ffmpeg beta.zed-editor usbutils qmk-udev-rules qmk beta.dbeaver-bin # Desktop applications bitwarden-desktop vlc streamrip supersonic beta.opencloud-desktop zotero prismlauncher lrcget slack impression ardour krita inkscape streamcontroller easyeffects onlyoffice-desktopeditors # Gaming luanti duckstation dolphin-emu ryubing # GNOME extensions gnomeExtensions.appindicator ]; }