{ lib, pkgs, ... }: let shellAliases = { ll = "ls -alh"; update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.18"; update-switch = "sudo nixos-rebuild switch --max-jobs 10 --build-host admin@10.0.1.18"; update-flake = "sudo nix flake update ~/nix-config"; update-nas = "nixos-rebuild switch --use-remote-sudo --target-host admin@10.0.1.18 --build-host admin@10.0.1.18 --flake ~/nix-config#jallen-nas"; nas-ssh = "kitten ssh admin@10.0.1.18"; ducks = "du -cksh * | sort -hr | head -n 15"; }; gitAliases = { co = "checkout"; ci = "commit"; cia = "commit --amend"; s = "status"; st = "status"; b = "branch"; p = "pull --rebase"; pu = "push"; }; in { home.username = "matt"; home.homeDirectory = "/home/matt"; home.stateVersion = "23.11"; sops = { age.keyFile = "/home/matt/.config/sops/age/keys.txt"; defaultSopsFile = "/etc/nixos/secrets/secrets.yaml"; validateSopsFiles = false; secrets = { "ssh-keys-public/desktop-nixos" = { path = "/home/matt/.ssh/id_ed25519.pub"; mode = "0644"; }; "ssh-keys-private/desktop-nixos" = { path = "/home/matt/.ssh/id_ed25519"; mode = "0600"; }; }; }; programs = { fish.enable = false; mangohud.enable = true; java.enable = true; home-manager.enable = true; password-store.enable = true; zsh = { enable = true; enableCompletion = true; autosuggestion.enable = true; syntaxHighlighting.enable = true; shellAliases = shellAliases; oh-my-zsh = { enable = true; plugins = [ "git" ]; theme = "fishy"; }; }; librewolf = { enable = true; settings = { "identity.fxaccounts.enabled" = true; # Enable Firefox Accounts "privacy.clearOnShutdown.history" = false; # Disable clearing history on shutdown "privacy.clearOnShutdown.downloads" = false; # Disable clearing downloads on shutdown "privacy.clearOnShutdown.cache" = false; # Disable clearing cache on shutdown "privacy.clearOnShutdown.cookiesAndStorage" = false; # Disable clearing cookies and storage on shutdown "privacy.clearOnShutdown.cookies" = false; # Disable clearing cookies on shutdown "privacy.clearOnShutdown_v2.cache" = false; # Disable clearing cache on shutdown "privacy.clearOnShutdown_v2.cookiesAndStorage" = false; # Disable clearing cookies and storage on shutdown "privacy.clearOnShutdown.formdata" = false; # Disable clearing form data on shutdown "privacy.clearOnShutdown.offlineApps" = false; # Disable clearing offline apps on shutdown "privacy.clearHistory.cache" = false; # Disable clearing cache on history clear "privacy.clearHistory.cookiesAndStorage" = false; # Disable clearing cookies on history clear "privacy.clearHistory.historyFormDataAndDownloads" = false; # Disable clearing history, form data, and downloads on history clear "privacy.clearHistory.browsingHistoryAndDownloads" = false; # Disable clearing browsing history and downloads on history clear "privacy.clearSiteData.cache" = false; # Disable clearing cache on site data clear "privacy.clearSiteData.cookiesAndStorage" = false; # Disable clearing cookies on site data clear "services.sync.prefs.sync.privacy.clearOnShutdown.cache" = true; # Enable syncing cache clear on shutdown "services.sync.prefs.sync.privacy.clearOnShutdown.cookies" = true; # Enable syncing cookies clear on shutdown "services.sync.prefs.sync.privacy.clearOnShutdown.downloads" = true; # Enable syncing downloads clear on shutdown "services.sync.prefs.sync.privacy.clearOnShutdown.formdata" = true; # Enable syncing form data clear on shutdown "services.sync.prefs.sync.privacy.clearOnShutdown.history" = true; # Enable syncing history clear on shutdown "services.sync.prefs.sync.privacy.clearOnShutdown.offlineApps" = true; # Enable syncing offline apps clear on shutdown "services.sync.prefs.sync.privacy.clearOnShutdown.sessions" = true; # Enable syncing sessions clear on shutdown "services.sync.prefs.sync.privacy.clearOnShutdown.siteSettings" = true; # Enable syncing site settings clear on shutdown "services.sync.prefs.sync.privacy.clearOnShutdown_v2.cache" = true; # Enable syncing cache clear on shutdown "services.sync.prefs.sync.privacy.clearOnShutdown_v2.cookiesAndStorage" = true; # Enable syncing cookies clear on shutdown "services.sync.prefs.sync.privacy.clearOnShutdown_v2.downloads" = true; # Enable syncing downloads clear on shutdown "services.sync.prefs.sync.privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = true; # Enable syncing form data clear on shutdown "services.sync.prefs.sync.privacy.clearOnShutdown_v2.siteSettings" = true; # Enable syncing site settings clear on shutdown "browser.newtabpage.activity-stream.feeds.topsites" = true; # Enable top sites on new tab page "browser.newtabpage.activity-stream.topSitesRows" = 3; # Set number of rows for top sites on new tab page "layout.css.light-dark.enabled" = true; # Enable light/dark theme support "extensions.activeThemeID" = "default-theme@mozilla.org"; # Set active theme "extensions.webextensions.uuids" = "{\"formautofill@mozilla.org\":\"851c83b7-26d5-449c-8cc9-d8951a0ce78d\",\"pictureinpicture@mozilla.org\":\"42fa2650-5134-4bef-bafa-b73f9ae51bad\",\"screenshots@mozilla.org\":\"efd2b692-43c4-433a-aea5-0cb79f8312d4\",\"webcompat-reporter@mozilla.org\":\"c43a6be2-fb56-4253-b384-ce8e09a89999\",\"webcompat@mozilla.org\":\"e25fd1bb-7c53-413f-9528-bb922c322a56\",\"default-theme@mozilla.org\":\"610b67c3-9145-46f7-814f-d8ee2cc8edff\",\"addons-search-detection@mozilla.com\:\"caedb3ca-5cf5-4e23-a251-d742f23e6fc8\",\"uBlock0@raymondhill.net\":\"7e7d9fd9-12bf-42d3-9c7c-9ffd05420ec7\",\"78272b6fa58f4a1abaac99321d503a20@proton.me\":\"7242a067-06d8-430b-94a3-00d264cdd57b\",\"addon@darkreader.org\":\"2f02b112-6acd-4bdc-af2c-1432eb527339\",\"jid1-xUfzOsOFlzSOXg@jetpack\":\"d0c72046-9903-4118-8160-a028840bf928\",\"chrome-gnome-shell@gnome.org\":\"a1ab53e6-b765-4f25-8349-383cc04682a0\",\"user-agent-switcher@ninetailed.ninja\":\"259d07cc-bb32-4ed5-b90f-6d73abdeb7bb\",\"firefoxdav@icloud.com\":\"110e6e2c-18f8-461d-9f26-b8f04482b6f1\",\"ciscowebexstart1@cisco.com\":\"a4062240-e73a-4353-bddb-d608d84881f7\",\"{a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7}\":\"9164e437-812b-4a07-8dfd-2fd73b39329b\",\"{036a55b4-5e72-4d05-a06c-cba2dfcc134a}\":\"648fc678-a6fb-47cd-9792-fb9520678c17\",\"{446900e4-71c2-419f-a6a7-df9c091e268b}\":\"f0b43422-070e-466e-85c9-6543f209f075\",\"jid1-MnnxcxisBPnSXQ@jetpack\":\"4c448202-c843-4cae-b5c3-d11f2da58fa3\",\"soundfixer@unrelenting.technology\":\"59b35eb8-1c85-4919-a905-80d120993ddc\",\"floccus@handmadeideas.org\":\"8ad2956c-8091-41af-a689-7d2108f5958d\",\"{79b9dbcf-cc5a-4cda-89ef-c4ab097eb074}\":\"c2a223a7-32e0-4726-9f20-17236702b1f5\",\"linkgopher@oooninja.com\":\"a257858c-0dce-415b-b123-6222876cf843\"}"; }; }; git = { enable = true; userName = "mjallen18"; userEmail = "matt.l.jallen@gmail.com"; aliases = gitAliases; }; steam-rom-manager = { enable = true; steamUsername = "matt"; environmentVariables = { romsDirectory = "/home/matt/Games/roms"; steamDirectory = "/home/matt/.local/share/Steam"; }; emulators = { ryujinx = { enable = true; }; pcsx2 = { enable = true; }; "Non-SRM Shortcuts" = { enable = true; parserType = "Non-SRM Shortcuts"; extraArgs = ""; }; # Add other emulators as needed }; }; }; home.packages = with pkgs; [ age apple-cursor bottles chromium colloid-icon-theme colloid-gtk-theme unstable.compose2nix coolercontrol.coolercontrol-gui deadnix discord fastfetch firefox freerdp gamescope gamescope-wsi gnome-tweaks gnomeExtensions.appindicator gnomeExtensions.arcmenu gnomeExtensions.dash-to-dock gnomeExtensions.dash-to-panel gnomeExtensions.tiling-assistant google-chrome goverlay heroic home-manager jq libreoffice-qt6-fresh lm_sensors lutris mangohud morph nextcloud-client nixfmt-rfc-style orca-slicer papirus-icon-theme piper pop-gtk-theme prismlauncher protonup protontricks protonvpn-gui protonvpn-gui python3 python312Packages.tox python312Packages.setuptools python312Packages.pytest python312Packages.pytest-cov python312Packages.pyaml qmk remmina smile sops spotify ssh-to-pgp tree unigine-heaven vesktop via virt-manager vmware-horizon-client vorta vscode ]; dconf = { enable = true; settings = { "org/gnome/desktop/interface".clock-format = "12h"; "org/gnome/desktop/interface".color-scheme = "prefer-dark"; "org/gnome/desktop/interface".cursor-theme = lib.mkDefault "macOS"; "org/gnome/desktop/interface".enable-hot-corners = false; "org/gnome/desktop/interface".font-antialiasing = "grayscale"; "org/gnome/desktop/interface".font-hinting = "slight"; "org/gnome/desktop/interface".gtk-theme = lib.mkDefault "Colloid-Dark"; "org/gnome/desktop/interface".icon-theme = lib.mkDefault "Colloid-Dark"; "org/gnome/desktop/peripherals/mouse".accel-profile = "flat"; "org/gnome/desktop/peripherals/touchpad".two-finger-scrolling-enabled = true; "org/gnome/desktop/peripherals/touchpad".tap-to-click = true; "org/gnome/mutter".experimental-features = [ "scale-monitor-framebuffer" "variable-refresh-rate" ]; "org/gnome/tweaks".show-extensions-notice = false; "org/gnome/shell".enabled-extensions = [ "appindicatorsupport@rgcjonas.gmail.com" "user-theme@gnome-shell-extensions.gcampax.github.com" "tiling-assistant@leleat-on-github" "dash-to-dock@micxgx.gmail.com" ]; "org/gnome/shell/extensions/dash-to-panel".primary-monitor = 1; "org/gnome/shell/extensions/dash-to-panel".multi-monitors = false; "org/gnome/shell/extensions/user-theme".name = lib.mkDefault "Colloid-Dark"; "org/gtk/settings/file-chooser".clock-format = "12h"; }; }; }