{ config, lib, pkgs, user, ... }: { imports = [./default.nix]; nixpkgs.config.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland"; environment = { sessionVariables = { NIXOS_OZONE_WL = "1"; GRIM_DEFAULT_DIR = "$HOME/Pictures/Grim"; }; systemPackages = with pkgs; [ wtype wl-clipboard xdg-utils libnotify libcamera glib gsettings-desktop-schemas hunspell hunspellDicts.en_GB-large swaybg swayimg swaylock-effects pamixer pavucontrol playerctl brightnessctl mpv xarchiver libreoffice-fresh zathura inkscape signal-desktop nomachine-client ]; }; security = { polkit.enable = true; rtkit.enable = true; pam = { services.swaylock = {}; loginLimits = [ { domain = "@users"; item = "rtprio"; type = "-"; value = 1; } ]; }; }; sound.enable = false; hardware.bluetooth.enable = true; programs = { dconf.enable = true; light.enable = true; noisetorch.enable = true; thunar = { enable = true; plugins = with pkgs.xfce; [thunar-archive-plugin thunar-volman]; }; sway = { enable = true; package = pkgs.swayfx.overrideAttrs (old: {passthru.providedSessions = ["sway"];}); wrapperFeatures.gtk = true; }; firefox = { enable = true; languagePacks = ["en-GB"]; policies = { BlockAboutProfiles = true; Containers = { Default = [ { name = "Personal"; icon = "fingerprint"; color = "purple"; } { name = "Work"; icon = "briefcase"; color = "blue"; } ]; }; Cookies = { Behavior = "reject-tracker-and-partition-foreign"; BehaviorPrivateBrowsing = "reject"; Locked = true; }; DefaultDownloadDirectory = "\${home}/Downloads"; DisableAppUpdate = true; DisableFirefoxAccounts = true; DisableFirefoxScreenshots = true; DisableFirefoxStudies = true; DisableFormHistory = true; DisablePocket = true; DisableProfileImport = true; DisableSetDesktopBackground = true; DisableSystemAddonUpdate = true; DisableTelemetry = true; DisplayBookmarksToolbar = "never"; DisplayMenuBar = "default-off"; DontCheckDefaultBrowser = true; EnableTrackingProtection = { Value = true; Locked = true; Cryptomining = true; Fingerprinting = true; }; ExtensionSettings = { "queryamoid@kaply.com" = { installation_mode = "force_installed"; install_url = "https://github.com/mkaply/queryamoid/releases/download/v0.1/query_amo_addon_id-0.1-fx.xpi"; }; "uBlock0@raymondhill.net" = { installation_mode = "force_installed"; install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; }; "addon@simplelogin" = { installation_mode = "force_installed"; install_url = "https://addons.mozilla.org/firefox/downloads/latest/simplelogin/latest.xpi"; }; "{8446b178-c865-4f5c-8ccc-1d7887811ae3}" = { installation_mode = "force_installed"; install_url = "https://addons.mozilla.org/firefox/downloads/latest/catppuccin-mocha-lavender-git/latest.xpi"; }; }; FirefoxHome = { Search = true; TopSites = false; SponsoredTopSites = false; Highlights = false; Pocket = false; SponsoredPocket = false; Snippets = false; Locked = true; }; FirefoxSuggest = { WebSuggestions = false; SponsoredSuggestions = false; ImproveSuggest = false; Locked = true; }; HardwareAcceleration = true; Homepage = { Locked = true; StartPage = "homepage-locked"; }; NewTabPage = true; NoDefaultBookmarks = true; OfferToSaveLogins = false; PasswordManagerEnabled = false; PDFjs = {Enabled = false;}; Permissions = { Autoplay = { Default = "block-audio-video"; }; }; PictureInPicture = {Enabled = true;}; PopupBlocking = {Default = true;}; Preferences = { "browser.bookmarks.addedImportButton" = false; "browser.bookmarks.showMobileBookmarks" = false; "browser.newtabpage.pinned" = [ { title = "NixOS Wiki"; url = "https://wiki.nixos.org"; } { title = "Arch Wiki"; url = "https://wiki.archlinux.org"; } { title = "Hyprland Wiki"; url = "https://wiki.hyprland.org"; } ]; "browser.search.region" = "GB"; "browser.warnOnQuitShortcut" = false; "extensions.activeThemeID" = "{c6698fd1-fe9b-4eae-95d5-fe1703820469}"; "intl.accept_languages" = "en-gb,en"; "intl.locale.requested" = "en-gb,en"; "intl.regional_prefs.use_os_locales" = false; "media.eme.enabled" = true; }; RequestedLocales = ["en-GB"]; SearchBar = "unified"; ShowHomeButton = true; StartDownloadsInTempDirectory = true; }; }; }; gtk.iconCache.enable = true; qt = { enable = true; platformTheme = "gtk2"; style = "gtk2"; }; services = { flatpak.enable = true; blueman.enable = true; gvfs = { enable = true; package = lib.mkForce pkgs.gnome3.gvfs; }; accounts-daemon.enable = true; dbus.packages = with pkgs; [gcr]; greetd = { enable = true; settings = let command = "sway"; in { initial_session = {inherit command;}; default_session = {inherit command;}; }; }; pipewire = { enable = true; alsa = { enable = true; support32Bit = true; }; audio.enable = true; jack.enable = true; pulse.enable = true; wireplumber.enable = true; }; tumbler.enable = true; udisks2.enable = true; xserver = { enable = false; xkb = { layout = "gb"; variant = ""; options = "ctrl:nocaps"; }; }; }; xdg = { portal = { enable = true; config.common.default = "*"; # TODO change for xdg-desktop-portal > 1.17 changes extraPortals = [pkgs.xdg-desktop-portal-gtk]; }; mime = let emacs = ["emacsclient.desktop" "emacs.desktop"]; browser = ["firefox.desktop" "nyxt.desktop"]; applications = { "inode/directory" = ["thunar.desktop"]; "inode/symlink" = ["thunar.desktop"]; "image/jpeg" = ["swayimg.desktop"]; "image/png" = ["swayimg.desktop"]; "video/mp4" = ["mpv.desktop"]; "text/plain" = emacs; "text/richtext" = emacs; "text/org" = emacs; "text/markdown" = emacs; "text/rust" = emacs; "text/csv" = emacs; "text/html" = emacs; "text/css" = emacs; "text/tab-separated-values" = emacs; "text/x-emacs-lisp" = emacs; "text/x-fortran" = emacs; "text/x-idl" = emacs; "text/x-log" = emacs; "text/x-lua" = emacs; "text/x-makefile" = emacs; "text/x-python" = emacs; "text/x-python3" = emacs; "text/x-readme" = emacs; "text/x-scheme" = emacs; "text/x-tex" = emacs; "text/x-texinfo" = emacs; "application/json" = emacs; "application/toml" = emacs; "application/yaml" = emacs; "application/xml" = emacs; "application/rss+xml" = emacs; "application/xhtml+xml" = emacs; "application/oxps" = emacs; "application/x-shellscript" = emacs; "application/pdf" = ["org.pwmt.zathura.desktop"]; "application/epub+zip" = ["org.pwmt.zathura.desktop"]; "application/msword" = ["writer.desktop"]; "application/zip" = ["xarchiver.desktop"]; "application/x-extension-htm" = browser; "application/x-extension-html" = browser; "application/x-extension-shtml" = browser; "application/x-extension-xhtml" = browser; "application/x-extension-xht" = browser; "application/x-mozilla-bookmarks" = browser; "x-scheme-handler/http" = browser; "x-scheme-handler/https" = browser; "x-scheme-handler/about" = browser; "x-scheme-handler/chrome" = browser; "x-scheme-handler/webcal" = browser; "x-scheme-handler/unknown" = emacs; "x-scheme-handler/ms-word" = ["writer.desktop"]; "x-scheme-handler/ms-powerpoint" = ["impress.desktop"]; "x-scheme-handler/ms-excel" = ["calc.desktop"]; "x-scheme-handler/msteams" = ["teams-for-linux.desktop"]; }; in { enable = true; defaultApplications = applications; addedAssociations = applications; removedAssociations = {"x-scheme-handler/zoomus" = browser;}; }; }; }