{ config, pkgs, home-manager, ... }: let home-manager = builtins.fetchTarball { url = "https://github.com/nix-community/home-manager/archive/master.tar.gz"; sha256 = "05msmzfa45l9sr9ngd2cfxw66kw0x76d68gp29v5ilrakf8nc90w"; }; in { 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 ]; }; # Options for 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 }; 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" ]; }; }; # GTK 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 Stuff - use "sudo dconf watch /" to observe changes and write them here. 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"; # Add Firefox GNOME theme directory 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 = "0qgqx25a06qqnzsmsnav00w1z850mxqvmsx5pa5pdkzszgc1qsvv"; }; }; programs.firefox = { enable = true; profiles.default = { name = "Default"; settings = { "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org"; # For Firefox GNOME theme: "toolkit.legacyUserProfileCustomizations.stylesheets" = true; "browser.tabs.drawInTitlebar" = false; "svg.context-properties.content.enabled" = true; }; userChrome = '' @import "firefox-gnome-theme/userChrome.css"; @import "firefox-gnome-theme/theme/colors/dark.css"; ''; }; }; }; # Zerotier services.zerotierone.joinNetworks = [ "b15644912e748585" ]; services.zerotierone.enable= true; }