This commit is contained in:
Julian Sutter 2023-01-24 14:34:53 -08:00
parent e95a2a524e
commit da8c555069

View file

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