{ 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 direnv ]; }; # 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 = "https://git.sym.bio/jsutter/backgrounds/-/raw/main/2.jpg"; picture-uri-dark = "https://git.sym.bio/jsutter/backgrounds/-/raw/main/3.jpg"; }; "org/gnome/desktop/screensaver" = { picture-uri = "https://git.sym.bio/jsutter/backgrounds/-/raw/main/4.jpg"; 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" "dash-to-panel@jderose9.github.com" ]; }; }; home.packages = with pkgs; [ gnomeExtensions.user-themes gnomeExtensions.tray-icons-reloaded gnomeExtensions.dash-to-panel ]; 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 ghostery privacy-redirect privacy-badger disconnect ]; profiles = { jsutter = { id = 0; name = "jsutter"; 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"; ''; }; }; }; }; }