{ config, pkgs, home-manager, ... }: let home-manager = builtins.fetchTarball { url = "https://github.com/nix-community/home-manager/archive/master.tar.gz"; sha256 = "05msmzfa45l9sr9ngd2cfxw66kw0x76d68gp29v5ilrakf8nc90w"; }; in { # Nix User Repository https://github.com/nix-community/NUR nixpkgs.config.packageOverrides = pkgs: { nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") { inherit pkgs; }; }; imports = [ (import "${home-manager}/nixos") ]; users.users.jsutter = { isNormalUser = true; description = "Julian Sutter"; extraGroups = [ "networkmanager" "wheel" ]; packages = with pkgs; [ firefox git tor-browser-bundle-bin nextcloud-client vlc deluge steam vmware-horizon-client kleopatra pinentry arc-theme zoom-us slack vscodium ]; }; # Steam programs.steam = { enable = true; remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server }; # Zerotier services.zerotierone.joinNetworks = [ "b15644912e748585" ]; services.zerotierone.enable= true; home-manager.users.jsutter = { home.username = "jsutter"; home.homeDirectory = "/home/jsutter"; programs.home-manager.enable = true; home.stateVersion = "22.11"; # Git Configuration programs.git = { enable = true; userName = "Julian Sutter"; userEmail = "jsutter@symbiotip.com"; }; dconf.settings = { "org/gnome/mutter" = { experimental-features = [ "scale-monitor-framebuffer" ]; }; }; # Gnome Stuff gtk = { enable = true; iconTheme = { name = "Papirus-Dark"; package = pkgs.papirus-icon-theme; }; theme = { name = "palenight"; package = pkgs.palenight-theme; }; cursorTheme = { name = "Numix-Cursor"; package = pkgs.numix-cursor-theme; }; gtk3.extraConfig = { Settings = '' gtk-application-prefer-dark-theme=1 ''; }; gtk4.extraConfig = { Settings = '' gtk-application-prefer-dark-theme=1 ''; }; }; dconf.settings = { "org/gnome/shell" = { favorite-apps = [ "org.gnome.Console.desktop" "firefox.desktop" "slack.desktop" "codium.desktop" "com.nextcloud.desktopclient.nextcloud.desktop" "Zoom.desktop" "steam.desktop" "vmware-view.desktop" ]; }; "org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; enable-hot-corners = false; }; "org/gnome/desktop/wm/preferences" = { workspace-names = [ "Main" ]; }; "org/gnome/desktop/background" = { picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-l.png"; picture-uri-dark = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png"; }; "org/gnome/desktop/screensaver" = { picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png"; primary-color = "#3465a4"; secondary-color = "#000000"; }; "org/gnome/shell" = { disable-user-extensions = false; enabled-extensions = [ # "gnome-extensions list" to get a list. "user-theme@gnome-shell-extensions.gcampax.github.com" "trayIconsReloaded@selfmade.pl" "Vitals@CoreCoding.com" "dash-to-panel@jderose9.github.com" "sound-output-device-chooser@kgshank.net" "space-bar@luchrioh" ]; }; }; home.packages = with pkgs; [ gnomeExtensions.user-themes gnomeExtensions.tray-icons-reloaded gnomeExtensions.vitals gnomeExtensions.dash-to-panel gnomeExtensions.sound-output-device-chooser gnomeExtensions.space-bar ]; home.sessionVariables.GTK_THEME = "palenight"; home.file."firefox-gnome-theme" = { target = ".mozilla/firefox/default/chrome/firefox-gnome-theme"; source = fetchTarball { url = "https://github.com/rafaelmardojai/firefox-gnome-theme/archive/master.tar.gz"; sha256 = "1k7w7drq5xvxccxijjl6spf4w02ghil9jya35crysa3hi0mvyn29"; }; }; programs.firefox = { enable = true; package = pkgs.wrapFirefox pkgs.firefox-unwrapped { extraPolicies = { CaptivePortal = false; DisableFirefoxStudies = true; DisablePocket = true; DisableTelemetry = true; DisableFirefoxAccounts = false; NoDefaultBookmarks = true; OfferToSaveLogins = false; OfferToSaveLoginsDefault = false; PasswordManagerEnabled = false; FirefoxHome = { Search = true; Pocket = false; Snippets = false; TopSites = false; Highlights = false; }; UserMessaging = { ExtensionRecommendations = false; SkipOnboarding = true; }; }; }; extensions = with pkgs.nur.repos.rycee.firefox-addons; [ ublock-origin privacy-badger bitwarden clearurls decentraleyes duckduckgo-privacy-essentials floccus ghostery privacy-redirect privacy-badger languagetool disconnect react-devtools ]; profiles = { jsutter = { id = 0; name = "jsutter"; search = { force = true; default = "Kagi"; engines = { "Nix Packages" = { urls = [{ template = "https://search.nixos.org/packages"; params = [ { name = "type"; value = "packages"; } { name = "query"; value = "{searchTerms}"; } ]; }]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@np" ]; }; "NixOS Wiki" = { urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }]; iconUpdateURL = "https://nixos.wiki/favicon.png"; updateInterval = 24 * 60 * 60 * 1000; definedAliases = [ "@nw" ]; }; "Wikipedia (en)".metaData.alias = "@wiki"; "Google".metaData.hidden = true; "Amazon.com".metaData.hidden = true; "Bing".metaData.hidden = true; "eBay".metaData.hidden = true; }; }; settings = { "general.smoothScroll" = true; }; extraConfig = '' user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); user_pref("full-screen-api.ignore-widgets", true); user_pref("media.ffmpeg.vaapi.enabled", true); user_pref("media.rdd-vpx.enabled", true); ''; userChrome = '' @import "firefox-gnome-theme/userChrome.css"; @import "firefox-gnome-theme/theme/colors/dark.css"; ''; }; }; }; }; }