nixos/user-jsutter.nix
Julian Sutter da8c555069 firefox
2023-01-24 14:34:53 -08:00

245 lines
7.5 KiB
Nix

{ 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";
'';
};
};
};
};
}