mirror of
https://github.com/Nexoniarz/nexoniarz-config-nixos-laptop.git
synced 2026-11-03 04:24:27 +00:00
Switch to the PC config layout: Plasma, Limine, shared configs/
Same modules and settings as nexoniarz-config-nixos; only hardware.nix differs. Pantheon/LightDM -> Plasma 6/SDDM, systemd-boot -> Limine, system.nix/drivers.nix split into focused modules, Firefox prefs and fastfetch config in configs/. Laptop hardware kept: AMD 680M + RTX 4050 PRIME offload (bus IDs unchanged), NVIDIA suspend fix, asusd + supergfxd, tablet driver, DualSense ERTM fix, laptop scripts (brightness, hotspot, telemetry, weather). Dropped: GoPro v4l2loopback webcam, blueman. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
6bcd5e15ad
commit
863abb4fd3
21 changed files with 754 additions and 367 deletions
80
configs/fastfetch/config.jsonc
Normal file
80
configs/fastfetch/config.jsonc
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
// Gruvbox-themed fastfetch, matching the Limine and icon theme.
|
||||
// Colors: yellow fabd2f, aqua 8ec07c, blue 83a598, orange fe8019, gray 928374.
|
||||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
"source": "nixos",
|
||||
"color": {
|
||||
"1": "38;2;131;165;152",
|
||||
"2": "38;2;142;192;124",
|
||||
"3": "38;2;131;165;152",
|
||||
"4": "38;2;142;192;124",
|
||||
"5": "38;2;131;165;152",
|
||||
"6": "38;2;142;192;124"
|
||||
},
|
||||
"padding": { "top": 1, "left": 1, "right": 3 }
|
||||
},
|
||||
"display": {
|
||||
"separator": " ",
|
||||
"color": {
|
||||
"keys": "38;2;250;189;47",
|
||||
"title": "38;2;254;128;25",
|
||||
"output": "38;2;235;219;178"
|
||||
},
|
||||
"key": { "width": 13 },
|
||||
"bar": {
|
||||
"char": { "elapsed": "■", "total": "■" },
|
||||
"border": { "left": "", "right": "" },
|
||||
"color": { "total": "38;2;80;73;69" },
|
||||
"width": 12
|
||||
},
|
||||
"percent": {
|
||||
"type": ["num", "bar"],
|
||||
"color": {
|
||||
"green": "38;2;184;187;38",
|
||||
"yellow": "38;2;250;189;47",
|
||||
"red": "38;2;251;73;52"
|
||||
}
|
||||
},
|
||||
"size": { "binaryPrefix": "iec", "ndigits": 1 }
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"type": "title",
|
||||
"format": "{#1} {#38;2;254;128;25}{user-name}{#38;2;146;131;116}@{#38;2;142;192;124}{host-name}"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": "{#38;2;146;131;116}╭─────────────── {#38;2;131;165;152}system{#38;2;146;131;116} ───────────────"
|
||||
},
|
||||
{ "type": "os", "key": "│ os", "keyColor": "38;2;131;165;152", "format": "{pretty-name}" },
|
||||
{ "type": "kernel", "key": "│ kernel", "keyColor": "38;2;131;165;152" },
|
||||
{ "type": "packages", "key": "│ pkgs", "keyColor": "38;2;131;165;152", "format": "{nix-system} sys · {nix-user} user · {flatpak-all} flatpak" },
|
||||
{ "type": "uptime", "key": "│ uptime", "keyColor": "38;2;131;165;152" },
|
||||
{ "type": "shell", "key": "│ shell", "keyColor": "38;2;131;165;152" },
|
||||
{
|
||||
"type": "custom",
|
||||
"format": "{#38;2;146;131;116}├─────────────── {#38;2;142;192;124}desktop{#38;2;146;131;116} ──────────────"
|
||||
},
|
||||
{ "type": "de", "key": "│ de", "keyColor": "38;2;142;192;124" },
|
||||
{ "type": "wm", "key": "│ wm", "keyColor": "38;2;142;192;124" },
|
||||
{ "type": "icons", "key": "│ icons", "keyColor": "38;2;142;192;124", "format": "{1}" },
|
||||
{ "type": "cursor", "key": "│ cursor", "keyColor": "38;2;142;192;124" },
|
||||
{
|
||||
"type": "custom",
|
||||
"format": "{#38;2;146;131;116}├─────────────── {#38;2;254;128;25}hardware{#38;2;146;131;116} ─────────────"
|
||||
},
|
||||
{ "type": "host", "key": "│ board", "keyColor": "38;2;254;128;25" },
|
||||
{ "type": "cpu", "key": "│ cpu", "keyColor": "38;2;254;128;25", "temp": true, "format": "{name} ({cores-logical}) @ {freq-max}" },
|
||||
{ "type": "gpu", "key": "│ gpu", "keyColor": "38;2;254;128;25", "format": "{name}" },
|
||||
{ "type": "display", "key": "│ display","keyColor": "38;2;254;128;25", "format": "{width}x{height} @ {refresh-rate} Hz" },
|
||||
{ "type": "memory", "key": "│ ram", "keyColor": "38;2;254;128;25", "format": "{percentage-bar} {used} / {total} ({percentage})" },
|
||||
{ "type": "disk", "key": "│ disk", "keyColor": "38;2;254;128;25", "folders": "/", "format": "{size-percentage-bar} {size-used} / {size-total} ({size-percentage})" },
|
||||
{
|
||||
"type": "custom",
|
||||
"format": "{#38;2;146;131;116}╰──────────────────────────────────────────"
|
||||
},
|
||||
"break",
|
||||
{ "type": "colors", "symbol": "circle", "paddingLeft": 2 }
|
||||
]
|
||||
}
|
||||
121
configs/firefox/prefs.js
Normal file
121
configs/firefox/prefs.js
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
// Nexoniarz's Firefox prefs (Firefox 157, "Nova" design)
|
||||
//
|
||||
// Loaded by NixOS (modules/firefox.nix) into Firefox's autoconfig. pref()
|
||||
// sets the value on every Firefox start but doesn't lock it: you can still
|
||||
// change things in Settings/about:config, they just reset on next start.
|
||||
// To change a setting permanently, edit it here and nixos-rebuild.
|
||||
// To stop managing a setting, delete its line (Firefox then keeps
|
||||
// whatever value it last had).
|
||||
//
|
||||
// GPU video decoding also needs env vars set in modules/hardware.nix:
|
||||
// LIBVA_DRIVER_NAME=nvidia NVD_BACKEND=direct MOZ_DISABLE_RDD_SANDBOX=1
|
||||
|
||||
/*** PRIVACY: tracking & fingerprinting ***/
|
||||
|
||||
// Strict Enhanced Tracking Protection: blocks trackers, cryptominers and
|
||||
// known fingerprinters, isolates cookies per site (Total Cookie Protection),
|
||||
// strips tracking parameters from URLs, and turns on fingerprintingProtection
|
||||
// (randomized canvas, fewer exposed hardware details).
|
||||
// If a site breaks: click the shield in the address bar and turn it off
|
||||
// for that site only.
|
||||
pref("browser.contentblocking.category", "strict");
|
||||
|
||||
// resistFingerprinting replaced by the fingerprintingProtection above. RFP
|
||||
// forced light mode, UTC time and English pages on every site.
|
||||
pref("privacy.resistFingerprinting", false);
|
||||
pref("privacy.spoof_english", 0);
|
||||
// First-party isolation stays ON. Every existing cookie in this profile was
|
||||
// saved with a first-party tag; turning this off makes Firefox ignore them
|
||||
// all (logged out everywhere). Works alongside Strict mode.
|
||||
pref("privacy.firstparty.isolate", true);
|
||||
|
||||
// Cross-site requests only send the origin (https://site.com/), not the
|
||||
// full page URL you came from.
|
||||
pref("network.http.referer.XOriginTrimmingPolicy", 2);
|
||||
|
||||
// Tell sites not to sell/share your data (legally binding in some places).
|
||||
pref("privacy.globalprivacycontrol.enabled", true);
|
||||
|
||||
// No WebRTC: stops IP leaks. Web video calls (Meet, Discord in-browser)
|
||||
// need this set to true.
|
||||
pref("media.peerconnection.enabled", false);
|
||||
|
||||
/*** PRIVACY: Mozilla data collection ***/
|
||||
|
||||
pref("datareporting.healthreport.uploadEnabled", false);
|
||||
pref("datareporting.policy.dataSubmissionEnabled", false);
|
||||
pref("datareporting.usage.uploadEnabled", false);
|
||||
pref("toolkit.telemetry.enabled", false);
|
||||
pref("toolkit.telemetry.unified", false);
|
||||
pref("app.shield.optoutstudies.enabled", false);
|
||||
pref("app.normandy.enabled", false);
|
||||
pref("nimbus.rollouts.enabled", false);
|
||||
pref("browser.discovery.enabled", false);
|
||||
|
||||
// Firefox Suggest launched in Poland with Firefox 157; it adds sponsored
|
||||
// results to the address bar.
|
||||
pref("browser.urlbar.quicksuggest.enabled", false);
|
||||
pref("browser.urlbar.suggest.quicksuggest.sponsored", false);
|
||||
pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false);
|
||||
pref("browser.newtabpage.activity-stream.showSponsored", false);
|
||||
pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
|
||||
|
||||
/*** SECURITY ***/
|
||||
|
||||
// HTTPS-Only: upgrade every site to HTTPS and warn before loading plain
|
||||
// HTTP. Was enabled once, but it's off now.
|
||||
pref("dom.security.https_only_mode", true);
|
||||
|
||||
// Safe Browsing back on for malware/phishing. It checks a local list and
|
||||
// only sends a partial hash when a URL matches, never your history.
|
||||
// The remote download check (which uploads file metadata to Google) stays off.
|
||||
pref("browser.safebrowsing.malware.enabled", true);
|
||||
pref("browser.safebrowsing.phishing.enabled", true);
|
||||
pref("browser.safebrowsing.downloads.enabled", true);
|
||||
pref("browser.safebrowsing.downloads.remote.enabled", false);
|
||||
|
||||
/*** NETWORK ***/
|
||||
|
||||
// DNS: use the system resolver (systemd-resolved with DNS-over-TLS) and
|
||||
// never let Firefox switch itself to its own DNS-over-HTTPS provider.
|
||||
pref("network.trr.mode", 5);
|
||||
|
||||
// No preloading pages or DNS you didn't ask for.
|
||||
pref("network.dns.disablePrefetch", true);
|
||||
pref("network.prefetch-next", false);
|
||||
pref("network.http.speculative-parallel-limit", 0);
|
||||
pref("browser.urlbar.speculativeConnect.enabled", false);
|
||||
pref("network.captive-portal-service.enabled", false);
|
||||
pref("network.connectivity-service.enabled", false);
|
||||
|
||||
/*** GPU VIDEO DECODING (RTX 3060 Ti, nvidia-vaapi-driver) ***/
|
||||
|
||||
// Firefox blocklists VA-API on NVIDIA; force it on. The 3060 Ti decodes
|
||||
// H.264, VP9 and AV1 in hardware. (media.ffmpeg.vaapi.enabled is gone
|
||||
// since Firefox 137; this pref replaced it.)
|
||||
pref("media.hardware-video-decoding.force-enabled", true);
|
||||
pref("media.rdd-ffmpeg.enabled", true);
|
||||
pref("gfx.webrender.all", true);
|
||||
|
||||
/*** LOOK & FEEL ***/
|
||||
|
||||
// Compact mode (back in Firefox 157): thinner tabs and toolbars.
|
||||
// Switch back via ☰ > More tools > Customize toolbar > Density.
|
||||
pref("browser.compactmode.show", true);
|
||||
pref("browser.uidensity", 1);
|
||||
|
||||
// Smoother, momentum-based scrolling, nicer at 240 Hz.
|
||||
pref("general.smoothScroll.msdPhysics.enabled", true);
|
||||
|
||||
// Middle-click on a page to autoscroll (like on Windows).
|
||||
pref("general.autoScroll", true);
|
||||
|
||||
// Closing the last tab doesn't close the window.
|
||||
pref("browser.tabs.closeWindowWithLastTab", false);
|
||||
|
||||
// Show the full URL including https:// so you always see what site you're on.
|
||||
pref("browser.urlbar.trimHttps", false);
|
||||
pref("browser.urlbar.trimURLs", false);
|
||||
|
||||
// No "proceed with caution" page every time you open about:config.
|
||||
pref("browser.aboutConfig.showWarning", false);
|
||||
Loading…
Reference in a new issue