From 00cbe6876e48ecaa551784b3467c473ffbc5b528 Mon Sep 17 00:00:00 2001 From: Toast Date: Mon, 17 Mar 2025 03:08:08 +0100 Subject: [PATCH 01/14] Kde/patches: refactor overlay function --- roles/kde/patches/default.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/roles/kde/patches/default.nix b/roles/kde/patches/default.nix index 1e14271..4469398 100644 --- a/roles/kde/patches/default.nix +++ b/roles/kde/patches/default.nix @@ -1,6 +1,7 @@ {lib, ...}: let rootDirs = builtins.readDir ./.; removeFiles = lib.attrsets.filterAttrs (n: v: v == "directory") rootDirs; + programsToPatch = builtins.attrNames removeFiles; getPatches = name: builtins.map (value: ./${name}/${value}) (builtins.attrNames ( @@ -11,14 +12,18 @@ )); bigOverlay = final: prev: - builtins.mapAttrs ( - name: _value: - prev."${name}".overrideAttrs { - version = prev."${name}".version + "-patched"; - patches = prev."${name}".patches ++ getPatches name; + lib.attrsets.mergeAttrsList ( + lib.lists.forEach programsToPatch ( + program: let + unpatchedProgram = prev."${program}"; + in { + "${program}" = unpatchedProgram.overrideAttrs { + version = "${unpatchedProgram.version}-patched"; + patches = unpatchedProgram.patches ++ getPatches program; + }; } - ) - removeFiles; + ) + ); in { nixpkgs.overlays = [ ( From 5832fcb26beff6bd1524b21384e73c547d28c77c Mon Sep 17 00:00:00 2001 From: Toast Date: Mon, 17 Mar 2025 19:32:59 +0100 Subject: [PATCH 02/14] Flake: add nixpkgs patches --- flake.nix | 2 ++ .../kinfocenter-preserve-argv0.patch | 13 ++++++++++ nixpkgs-patches/pr390197.patch | 25 +++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 nixpkgs-patches/kinfocenter-preserve-argv0.patch create mode 100644 nixpkgs-patches/pr390197.patch diff --git a/flake.nix b/flake.nix index 0b7bae9..83cbdee 100644 --- a/flake.nix +++ b/flake.nix @@ -99,6 +99,8 @@ name = "patched-nixpkgs-unstable"; src = nixpkgs-unstable-raw; patches = [ + ./nixpkgs-patches/kinfocenter-preserve-argv0.patch + ./nixpkgs-patches/pr390197.patch ]; }; nixpkgs-patched = nixpkgs-raw.legacyPackages.x86_64-linux.applyPatches { diff --git a/nixpkgs-patches/kinfocenter-preserve-argv0.patch b/nixpkgs-patches/kinfocenter-preserve-argv0.patch new file mode 100644 index 0000000..ef96709 --- /dev/null +++ b/nixpkgs-patches/kinfocenter-preserve-argv0.patch @@ -0,0 +1,13 @@ +diff --git a/pkgs/kde/plasma/kinfocenter/default.nix b/pkgs/kde/plasma/kinfocenter/default.nix +index d9a0c171dbdb..fb337f4fabdc 100644 +--- a/pkgs/kde/plasma/kinfocenter/default.nix ++++ b/pkgs/kde/plasma/kinfocenter/default.nix +@@ -67,6 +67,8 @@ mkKdeDerivation { + ln -sf ${systemsettings}/bin/systemsettings $out/bin/kinfocenter + ''; + ++ qtWrapperArgs = [ "--inherit-argv0" ]; ++ + # Hardcoded as a QString, which is UTF-16 so Nix can't pick it up automatically + postFixup = '' + mkdir -p $out/nix-support diff --git a/nixpkgs-patches/pr390197.patch b/nixpkgs-patches/pr390197.patch new file mode 100644 index 0000000..77cfa72 --- /dev/null +++ b/nixpkgs-patches/pr390197.patch @@ -0,0 +1,25 @@ +From 6c12682c6d2e822dcabf3a016124de0a86214053 Mon Sep 17 00:00:00 2001 +From: K900 +Date: Sat, 15 Mar 2025 20:33:34 +0300 +Subject: [PATCH] kdePackages.plasma-workspace: wrap with --inherit-argv0 + +kcminit_startup checks its own argv[0] to determine what mode to run in. + +Fixes #390179. +--- + pkgs/kde/plasma/plasma-workspace/default.nix | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/pkgs/kde/plasma/plasma-workspace/default.nix b/pkgs/kde/plasma/plasma-workspace/default.nix +index a5b80f8ab351f6..b5a8b5d3657f6c 100644 +--- a/pkgs/kde/plasma/plasma-workspace/default.nix ++++ b/pkgs/kde/plasma/plasma-workspace/default.nix +@@ -62,6 +62,8 @@ mkKdeDerivation { + gpsd + ]; + ++ qtWrapperArgs = [ "--inherit-argv0" ]; ++ + # Hardcoded as QStrings, which are UTF-16 so Nix can't pick these up automatically + postFixup = '' + mkdir -p $out/nix-support From a47d0a090ddff1ae4bc313e703855cec1a4797ef Mon Sep 17 00:00:00 2001 From: Toast Date: Mon, 17 Mar 2025 23:52:17 +0100 Subject: [PATCH 03/14] Kde/patches: use replaceDependencies to avoid mass rebuilds --- roles/kde/patches/default.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/roles/kde/patches/default.nix b/roles/kde/patches/default.nix index 4469398..86198ed 100644 --- a/roles/kde/patches/default.nix +++ b/roles/kde/patches/default.nix @@ -1,4 +1,4 @@ -{lib, ...}: let +{lib, pkgs, ...}: let rootDirs = builtins.readDir ./.; removeFiles = lib.attrsets.filterAttrs (n: v: v == "directory") rootDirs; programsToPatch = builtins.attrNames removeFiles; @@ -17,8 +17,7 @@ program: let unpatchedProgram = prev."${program}"; in { - "${program}" = unpatchedProgram.overrideAttrs { - version = "${unpatchedProgram.version}-patched"; + "${program}-patched" = unpatchedProgram.overrideAttrs { patches = unpatchedProgram.patches ++ getPatches program; }; } @@ -32,4 +31,11 @@ in { } ) ]; + + system.replaceDependencies.replacements = lib.lists.forEach programsToPatch ( + package: { + oldDependency = pkgs.kdePackages.${package}; + newDependency = pkgs.kdePackages."${package}-patched"; + } + ); } From 1815e8e3f6355243bd38b6c24d705af06792d471 Mon Sep 17 00:00:00 2001 From: Toast Date: Thu, 20 Mar 2025 17:30:38 +0100 Subject: [PATCH 04/14] Desktop/firefox: enable autoplay on synctube --- roles/desktop/programs/firefox.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/roles/desktop/programs/firefox.nix b/roles/desktop/programs/firefox.nix index 96b50a9..fec3b8c 100644 --- a/roles/desktop/programs/firefox.nix +++ b/roles/desktop/programs/firefox.nix @@ -45,7 +45,10 @@ "PasswordManagerEnabled" = false; "Permissions" = { "Autoplay" = { - "Allow" = ["https://www.youtube.com"]; + "Allow" = [ + "https://www.youtube.com" + "https://sync-tube.de" + ]; "Default" = "block-audio-video"; }; }; From 7fce74c605bcac2503f4965ea53c2101d1f56094 Mon Sep 17 00:00:00 2001 From: Toast Date: Tue, 25 Mar 2025 11:52:24 +0100 Subject: [PATCH 05/14] Desktop: install spotify --- roles/desktop/programs/default.nix | 1 + roles/desktop/programs/spotify.nix | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 roles/desktop/programs/spotify.nix diff --git a/roles/desktop/programs/default.nix b/roles/desktop/programs/default.nix index 9caa2e4..42fe870 100755 --- a/roles/desktop/programs/default.nix +++ b/roles/desktop/programs/default.nix @@ -9,5 +9,6 @@ ./appimage.nix ./mpv.nix ./sysdvr-qt.nix + ./spotify.nix ]; } diff --git a/roles/desktop/programs/spotify.nix b/roles/desktop/programs/spotify.nix new file mode 100644 index 0000000..c895f52 --- /dev/null +++ b/roles/desktop/programs/spotify.nix @@ -0,0 +1,5 @@ +{pkgs, ...}: { + home-manager.users.toast = { + home.packages = [pkgs.spotify]; + }; +} From 90b1e43b99a15d81d33724f15af0c28cab9b59a4 Mon Sep 17 00:00:00 2001 From: Toast Date: Tue, 25 Mar 2025 12:40:29 +0100 Subject: [PATCH 06/14] Desktop/firefox: manage firefox with home-manager --- roles/desktop/programs/firefox.nix | 112 +++++++++++++++-------------- 1 file changed, 58 insertions(+), 54 deletions(-) diff --git a/roles/desktop/programs/firefox.nix b/roles/desktop/programs/firefox.nix index fec3b8c..25fc99b 100644 --- a/roles/desktop/programs/firefox.nix +++ b/roles/desktop/programs/firefox.nix @@ -1,58 +1,62 @@ {lib, ...}: { - # System wide firefox settings - programs.firefox = { - enable = true; - policies = { - "DisablePocket" = true; - "DisableTelemetry" = true; - # You need these for Spotify - "EncryptedMediaExtensions" = {"Enabled" = true;}; - "ExtensionSettings" = { - # TODO: Install extensions the NUR instead of from AMO - "uBlock0@raymondhill.net" = { - "installation_mode" = "force_installed"; - "install_url" = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; - }; - # Decentraleyes - "jid1-BoFifL9Vbdl2zQ@jetpack" = { - "installation_mode" = "normal_installed"; - "install_url" = "https://addons.mozilla.org/firefox/downloads/latest/decentraleyes/latest.xpi"; - }; - "jid1-MnnxcxisBPnSXQ@jetpack" = { - "installation_mode" = "normal_installed"; - "install_url" = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi"; - }; - # Uninstall the kde plasma integration extension if KDE is not installed - "plasma-browser-integration@kde.org"."installation_mode" = lib.mkDefault "blocked"; - }; - "Preferences" = { - # Enable video hardware acceleration - "media.ffmpeg.vaapi.enabled" = { - "Value" = true; - "Status" = "default"; - }; - "dom.security.https_only_mode" = { - "Value" = true; - "Status" = "locked"; - }; - "general.smoothScroll.msdPhysics.enabled" = { - "Value" = true; - "Status" = "default"; + home-manager.sharedModules = [ + { + # System wide firefox settings + programs.firefox = { + enable = true; + policies = { + DisablePocket = true; + DisableTelemetry = true; + # You need these for Spotify + EncryptedMediaExtensions.Enabled = true; + ExtensionSettings = { + # TODO: Install extensions the NUR instead of from AMO + "uBlock0@raymondhill.net" = { + installation_mode = "force_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; + }; + # Decentraleyes + "jid1-BoFifL9Vbdl2zQ@jetpack" = { + installation_mode = "normal_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/decentraleyes/latest.xpi"; + }; + "jid1-MnnxcxisBPnSXQ@jetpack" = { + installation_mode = "normal_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi"; + }; + # Uninstall the kde plasma integration extension if KDE is not installed + "plasma-browser-integration@kde.org".installation_mode = lib.mkDefault "blocked"; + }; + Preferences = { + # Enable video hardware acceleration + "media.ffmpeg.vaapi.enabled" = { + Value = true; + Status = "default"; + }; + "dom.security.https_only_mode" = { + Value = true; + Status = "locked"; + }; + "general.smoothScroll.msdPhysics.enabled" = { + Value = true; + Status = "default"; + }; + }; + PromptForDownloadLocation = true; + # I use an external password manager, so the built in one just bothers me + PasswordManagerEnabled = false; + Permissions = { + Autoplay = { + Allow = [ + "https://www.youtube.com" + "https://sync-tube.de" + ]; + Default = "block-audio-video"; + }; + }; + FirefoxHome.SponsoredTopSites = false; }; }; - "PromptForDownloadLocation" = true; - # I use an external password manager, so the built in one just bothers me - "PasswordManagerEnabled" = false; - "Permissions" = { - "Autoplay" = { - "Allow" = [ - "https://www.youtube.com" - "https://sync-tube.de" - ]; - "Default" = "block-audio-video"; - }; - }; - "FirefoxHome" = {"SponsoredTopSites" = false;}; - }; - }; + } + ]; } From 0bd973fb258f6572844a2a028685c2dc0bf19b66 Mon Sep 17 00:00:00 2001 From: Toast Date: Tue, 25 Mar 2025 12:41:23 +0100 Subject: [PATCH 07/14] Kde/firefox: manage with home-manager --- roles/kde/programs/firefox.nix | 59 ++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/roles/kde/programs/firefox.nix b/roles/kde/programs/firefox.nix index bbe1638..41f81e2 100644 --- a/roles/kde/programs/firefox.nix +++ b/roles/kde/programs/firefox.nix @@ -1,30 +1,35 @@ -{...}: { - # KDE specific firefox settings - programs.firefox = { - policies = { - "ExtensionSettings" = { - # TODO: Install extensions the NUR instead of from AMO - "plasma-browser-integration@kde.org" = { - "installation_mode" = "normal_installed"; - "install_url" = "https://addons.mozilla.org/firefox/downloads/latest/plasma-integration/latest.xpi"; +{pkgs, ...}: { + home-manager.sharedModules = [ + { + # KDE specific firefox settings + programs.firefox = { + nativeMessagingHosts = [pkgs.kdePackages.plasma-browser-integration]; + policies = { + ExtensionSettings = { + # TODO: Install extensions the NUR instead of from AMO + "plasma-browser-integration@kde.org" = { + installation_mode = "normal_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/plasma-integration/latest.xpi"; + }; + }; + Preferences = { + # Make firefox use the kde file picker + "widget.use-xdg-desktop-portal.file-picker" = { + Value = 1; + Status = "default"; + }; + /* + https://wiki.archlinux.org/title/Firefox#KDE_integration tells me to enable this, + but strangely enough doing so makes firefox ask to be set as the default browser + every time you start it up, so I'll disable it + */ + "widget.use-xdg-desktop-portal.mime-handler" = { + Value = 0; + Status = "default"; + }; + }; }; }; - "Preferences" = { - # Make firefox use the kde file picker - "widget.use-xdg-desktop-portal.file-picker" = { - "Value" = 1; - "Status" = "default"; - }; - /* - https://wiki.archlinux.org/title/Firefox#KDE_integration tells me to enable this, - but strangely enough doing so makes firefox ask to be set as the default browser - every time you start it up, so I'll disable it - */ - "widget.use-xdg-desktop-portal.mime-handler" = { - "Value" = 0; - "Status" = "default"; - }; - }; - }; - }; + } + ]; } From bc9098525b7c6070f0e8fe9e0b8ee149e534e587 Mon Sep 17 00:00:00 2001 From: Toast Date: Tue, 25 Mar 2025 15:34:29 +0100 Subject: [PATCH 08/14] Desktop/firefox: set up per user settings --- roles/desktop/programs/firefox.nix | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/roles/desktop/programs/firefox.nix b/roles/desktop/programs/firefox.nix index 25fc99b..3bfb206 100644 --- a/roles/desktop/programs/firefox.nix +++ b/roles/desktop/programs/firefox.nix @@ -5,7 +5,6 @@ programs.firefox = { enable = true; policies = { - DisablePocket = true; DisableTelemetry = true; # You need these for Spotify EncryptedMediaExtensions.Enabled = true; @@ -37,10 +36,6 @@ Value = true; Status = "locked"; }; - "general.smoothScroll.msdPhysics.enabled" = { - Value = true; - Status = "default"; - }; }; PromptForDownloadLocation = true; # I use an external password manager, so the built in one just bothers me @@ -59,4 +54,23 @@ }; } ]; + # Per-user settings + home-manager.users.toast = { + programs.firefox.policies = { + DisablePocket = true; + Preferences = { + "general.smoothScroll.msdPhysics.enabled" = { + Value = true; + Status = "default"; + }; + }; + }; + programs.firefox.profiles = { + personal = { + name = "Personal"; + id = 0; + isDefault = true; + }; + }; + }; } From cb1230214a72e97255d28c6f3cdf74f000551a7d Mon Sep 17 00:00:00 2001 From: Toast Date: Tue, 25 Mar 2025 15:39:02 +0100 Subject: [PATCH 09/14] Desktop/firefox: uninstall undeclared extensions --- roles/desktop/programs/firefox.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/roles/desktop/programs/firefox.nix b/roles/desktop/programs/firefox.nix index 3bfb206..be52db3 100644 --- a/roles/desktop/programs/firefox.nix +++ b/roles/desktop/programs/firefox.nix @@ -23,8 +23,11 @@ installation_mode = "normal_installed"; install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi"; }; - # Uninstall the kde plasma integration extension if KDE is not installed - "plasma-browser-integration@kde.org".installation_mode = lib.mkDefault "blocked"; + # Uninstall undeclared extensions + "*" = { + installation_mode = "blocked"; + blocked_install_message = "Extensions are managed by home-manager"; + }; }; Preferences = { # Enable video hardware acceleration From 989f5407ec431034ad10d44a1ac8dca494d0f9e1 Mon Sep 17 00:00:00 2001 From: Toast Date: Tue, 25 Mar 2025 16:04:52 +0100 Subject: [PATCH 10/14] Desktop/firefox: install sponsorblock for toast --- roles/desktop/programs/firefox.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/roles/desktop/programs/firefox.nix b/roles/desktop/programs/firefox.nix index be52db3..1e96a80 100644 --- a/roles/desktop/programs/firefox.nix +++ b/roles/desktop/programs/firefox.nix @@ -61,6 +61,12 @@ home-manager.users.toast = { programs.firefox.policies = { DisablePocket = true; + ExtensionSettings = { + "sponsorBlocker@ajay.app" = { + installation_mode = "normal_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/sponsorblock/latest.xpi"; + }; + }; Preferences = { "general.smoothScroll.msdPhysics.enabled" = { Value = true; From 35f9aaca7dd42f837585525bc2d18fdc2b3a7a57 Mon Sep 17 00:00:00 2001 From: Toast Date: Tue, 25 Mar 2025 16:05:10 +0100 Subject: [PATCH 11/14] Desktop/firefox: change tab switcher order for toast --- roles/desktop/programs/firefox.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/roles/desktop/programs/firefox.nix b/roles/desktop/programs/firefox.nix index 1e96a80..3474c8f 100644 --- a/roles/desktop/programs/firefox.nix +++ b/roles/desktop/programs/firefox.nix @@ -72,6 +72,10 @@ Value = true; Status = "default"; }; + "browser.ctrlTab.sortByRecentlyUsed" = { + Value = true; + Status = "default"; + }; }; }; programs.firefox.profiles = { From f7a528a94f66d211fd6795060d1c715fee412040 Mon Sep 17 00:00:00 2001 From: Toast Date: Fri, 28 Mar 2025 20:05:42 +0100 Subject: [PATCH 12/14] Firefox: install and configure containers extension --- roles/desktop/programs/firefox.nix | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/roles/desktop/programs/firefox.nix b/roles/desktop/programs/firefox.nix index 3474c8f..aac3918 100644 --- a/roles/desktop/programs/firefox.nix +++ b/roles/desktop/programs/firefox.nix @@ -66,6 +66,10 @@ installation_mode = "normal_installed"; install_url = "https://addons.mozilla.org/firefox/downloads/latest/sponsorblock/latest.xpi"; }; + "@testpilot-containers" = { + installation_mode = "normal_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/multi-account-containers/latest.xpi"; + }; }; Preferences = { "general.smoothScroll.msdPhysics.enabled" = { @@ -76,6 +80,11 @@ Value = true; Status = "default"; }; + # This should be set automatically, but it isn't for some reason + "extensions.webextensions.ExtensionStorageIDB.enabled" = { + Value = false; + Status = "locked"; + }; }; }; programs.firefox.profiles = { @@ -83,6 +92,31 @@ name = "Personal"; id = 0; isDefault = true; + containersForce = true; + containers = { + work = { + name = "Work"; + id = 1; + icon = "briefcase"; + color = "green"; + }; + }; + extensions.force = true; + extensions.settings = { + "@testpilot-containers".settings = { + onboarding-stage = 8; + "siteContainerMap@@_teams.microsoft.com" = { + userContextId = "1"; + neverAsk = false; + identityMacAddonUUID = "b50e5b1e-6f3b-4245-8eac-5654d889156e"; + }; + "siteContainerMap@@_outlook.office.com" = { + userContextId = "1"; + neverAsk = false; + identityMacAddonUUID = "b50e5b1e-6f3b-4245-8eac-5654d889156e"; + }; + }; + }; }; }; }; From 630e634cd27c4551fcd5a562873d215c876d1739 Mon Sep 17 00:00:00 2001 From: Toast Date: Thu, 3 Apr 2025 18:37:03 +0200 Subject: [PATCH 13/14] Flake: remove unneeded patches --- flake.nix | 6 ----- .../kinfocenter-preserve-argv0.patch | 13 ---------- nixpkgs-patches/pr390197.patch | 25 ------------------- 3 files changed, 44 deletions(-) delete mode 100644 nixpkgs-patches/kinfocenter-preserve-argv0.patch delete mode 100644 nixpkgs-patches/pr390197.patch diff --git a/flake.nix b/flake.nix index 83cbdee..2de1703 100644 --- a/flake.nix +++ b/flake.nix @@ -99,18 +99,12 @@ name = "patched-nixpkgs-unstable"; src = nixpkgs-unstable-raw; patches = [ - ./nixpkgs-patches/kinfocenter-preserve-argv0.patch - ./nixpkgs-patches/pr390197.patch ]; }; nixpkgs-patched = nixpkgs-raw.legacyPackages.x86_64-linux.applyPatches { name = "patched-nixpkgs"; src = nixpkgs-raw; patches = [ - (nixpkgs-raw.legacyPackages.x86_64-linux.fetchpatch { - url = "https://github.com/NixOS/nixpkgs/pull/370713.patch"; - hash = "sha256-gZPP99e42XdYrQz9wWHpS0ChRhK7m9Yitmy7UT5OxiM="; - }) ]; }; # https://discourse.nixos.org/t/proper-way-of-applying-patch-to-system-managed-via-flake/21073/26 diff --git a/nixpkgs-patches/kinfocenter-preserve-argv0.patch b/nixpkgs-patches/kinfocenter-preserve-argv0.patch deleted file mode 100644 index ef96709..0000000 --- a/nixpkgs-patches/kinfocenter-preserve-argv0.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/pkgs/kde/plasma/kinfocenter/default.nix b/pkgs/kde/plasma/kinfocenter/default.nix -index d9a0c171dbdb..fb337f4fabdc 100644 ---- a/pkgs/kde/plasma/kinfocenter/default.nix -+++ b/pkgs/kde/plasma/kinfocenter/default.nix -@@ -67,6 +67,8 @@ mkKdeDerivation { - ln -sf ${systemsettings}/bin/systemsettings $out/bin/kinfocenter - ''; - -+ qtWrapperArgs = [ "--inherit-argv0" ]; -+ - # Hardcoded as a QString, which is UTF-16 so Nix can't pick it up automatically - postFixup = '' - mkdir -p $out/nix-support diff --git a/nixpkgs-patches/pr390197.patch b/nixpkgs-patches/pr390197.patch deleted file mode 100644 index 77cfa72..0000000 --- a/nixpkgs-patches/pr390197.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 6c12682c6d2e822dcabf3a016124de0a86214053 Mon Sep 17 00:00:00 2001 -From: K900 -Date: Sat, 15 Mar 2025 20:33:34 +0300 -Subject: [PATCH] kdePackages.plasma-workspace: wrap with --inherit-argv0 - -kcminit_startup checks its own argv[0] to determine what mode to run in. - -Fixes #390179. ---- - pkgs/kde/plasma/plasma-workspace/default.nix | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/pkgs/kde/plasma/plasma-workspace/default.nix b/pkgs/kde/plasma/plasma-workspace/default.nix -index a5b80f8ab351f6..b5a8b5d3657f6c 100644 ---- a/pkgs/kde/plasma/plasma-workspace/default.nix -+++ b/pkgs/kde/plasma/plasma-workspace/default.nix -@@ -62,6 +62,8 @@ mkKdeDerivation { - gpsd - ]; - -+ qtWrapperArgs = [ "--inherit-argv0" ]; -+ - # Hardcoded as QStrings, which are UTF-16 so Nix can't pick these up automatically - postFixup = '' - mkdir -p $out/nix-support From 513dab012d96f3d0b77b7c30f67d5e09f70f22d0 Mon Sep 17 00:00:00 2001 From: Toast Date: Thu, 3 Apr 2025 19:34:07 +0200 Subject: [PATCH 14/14] Flake: update lock file --- flake.lock | 90 +++++++++++++++++----------------- roles/common/configuration.nix | 2 +- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/flake.lock b/flake.lock index 0ac8fcd..5355653 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1741985801, - "narHash": "sha256-EnjiCpEi8p1kFgNUCVPuDUYoOSYBlr7ByMEF8qMGZws=", + "lastModified": 1743414153, + "narHash": "sha256-bFIXz7SvLlSNR4M3vYPYS1CpEN9vTUiH01R4iR/BDmA=", "owner": "catppuccin", "repo": "nix", - "rev": "f833a338ff6c091c84e041ee77ce88f8b242ca79", + "rev": "2f52f9ead26f80d7b391cedcbb3eb309bd83fff4", "type": "github" }, "original": { @@ -167,11 +167,11 @@ ] }, "locked": { - "lastModified": 1741955947, - "narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=", + "lastModified": 1743648554, + "narHash": "sha256-23JFd+zd2GamTTdnGuFVeIg8x8C3hLpQJRh/PGTORzo=", "owner": "nix-community", "repo": "home-manager", - "rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4", + "rev": "107352dde4ff3c01cb5a0b3fe17f5beef37215bc", "type": "github" }, "original": { @@ -187,11 +187,11 @@ ] }, "locked": { - "lastModified": 1739757849, - "narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=", + "lastModified": 1743387206, + "narHash": "sha256-24N3NAuZZbYqZ39NgToZgHUw6M7xHrtrAm18kv0+2Wo=", "owner": "nix-community", "repo": "home-manager", - "rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe", + "rev": "15c5f9d04fabd176f30286c8f52bbdb2c853a146", "type": "github" }, "original": { @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1742021951, - "narHash": "sha256-Nxrkvh353BeG6/D8yPq50VCaYnCMKviS7krw4DfzLVU=", + "lastModified": 1743660830, + "narHash": "sha256-ezJqPIuB25iMJeugwHKWnB1DjMvrdpkrPxE3TCULjGk=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "ecaf8b6aa7d28cb7b87da334310fbe1ba31f8d64", + "rev": "c7ade1c8fe2bdb70d38b3b9a97b874dcaf33b755", "type": "github" }, "original": { @@ -225,11 +225,11 @@ "lix": { "flake": false, "locked": { - "lastModified": 1741976543, - "narHash": "sha256-hSiO4cq2ub0Hs1bH+Qnne7pF8596wKZxmbWH2Kqe9UE=", - "rev": "85d614538fd1e6fa8a230d5f1c4d6e5587e9e3ef", + "lastModified": 1743523803, + "narHash": "sha256-L/8tnMbfwOmRXRrzzDJBlkRUiVOxy8cxWTdaN3n3AGI=", + "rev": "5a7e9e17464008904403af4297823443281bef12", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/85d614538fd1e6fa8a230d5f1c4d6e5587e9e3ef.tar.gz?rev=85d614538fd1e6fa8a230d5f1c4d6e5587e9e3ef" + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/5a7e9e17464008904403af4297823443281bef12.tar.gz?rev=5a7e9e17464008904403af4297823443281bef12" }, "original": { "type": "tarball", @@ -248,11 +248,11 @@ ] }, "locked": { - "lastModified": 1741894565, - "narHash": "sha256-2FD0NDJbEjUHloVrtEIms5miJsj1tvQCc/0YK5ambyc=", - "rev": "a6da43f8193d9e329bba1795c42590c27966082e", + "lastModified": 1742945498, + "narHash": "sha256-MB/b/xcDKqaVBxJIIxwb81r8ZiGLeKEcqokATRRroo8=", + "rev": "fa69ae26cc32dda178117b46487c2165c0e08316", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/a6da43f8193d9e329bba1795c42590c27966082e.tar.gz?rev=a6da43f8193d9e329bba1795c42590c27966082e" + "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/fa69ae26cc32dda178117b46487c2165c0e08316.tar.gz?rev=fa69ae26cc32dda178117b46487c2165c0e08316" }, "original": { "type": "tarball", @@ -271,11 +271,11 @@ ] }, "locked": { - "lastModified": 1741894565, - "narHash": "sha256-2FD0NDJbEjUHloVrtEIms5miJsj1tvQCc/0YK5ambyc=", - "rev": "a6da43f8193d9e329bba1795c42590c27966082e", + "lastModified": 1742945498, + "narHash": "sha256-MB/b/xcDKqaVBxJIIxwb81r8ZiGLeKEcqokATRRroo8=", + "rev": "fa69ae26cc32dda178117b46487c2165c0e08316", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/a6da43f8193d9e329bba1795c42590c27966082e.tar.gz?rev=a6da43f8193d9e329bba1795c42590c27966082e" + "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/fa69ae26cc32dda178117b46487c2165c0e08316.tar.gz?rev=fa69ae26cc32dda178117b46487c2165c0e08316" }, "original": { "type": "tarball", @@ -342,11 +342,11 @@ ] }, "locked": { - "lastModified": 1741619381, - "narHash": "sha256-koZtlJRqi0/MD/AKd0KrXLA2NuBOVzlIyAJprjzpxZE=", + "lastModified": 1743306489, + "narHash": "sha256-LROaIjSLo347cwcHRfSpqzEOa2FoLSeJwU4dOrGm55E=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "66537fb185462ba9b07f4e6f2d54894a1b2d04ab", + "rev": "b3696bfb6c24aa61428839a99e8b40c53ac3a82d", "type": "github" }, "original": { @@ -362,11 +362,11 @@ ] }, "locked": { - "lastModified": 1741619381, - "narHash": "sha256-koZtlJRqi0/MD/AKd0KrXLA2NuBOVzlIyAJprjzpxZE=", + "lastModified": 1743306489, + "narHash": "sha256-LROaIjSLo347cwcHRfSpqzEOa2FoLSeJwU4dOrGm55E=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "66537fb185462ba9b07f4e6f2d54894a1b2d04ab", + "rev": "b3696bfb6c24aa61428839a99e8b40c53ac3a82d", "type": "github" }, "original": { @@ -377,11 +377,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1741792691, - "narHash": "sha256-f0BVt1/cvA0DQ/q3rB+HY4g4tKksd03ZkzI4xehC2Ew=", + "lastModified": 1743420942, + "narHash": "sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "e1f12151258b12c567f456d8248e4694e9390613", + "rev": "de6fc5551121c59c01e2a3d45b277a6d05077bc4", "type": "github" }, "original": { @@ -393,11 +393,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1741851582, - "narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=", + "lastModified": 1742889210, + "narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6607cf789e541e7873d40d3a8f7815ea92204f32", + "rev": "698214a32beb4f4c8e3942372c694f40848b360d", "type": "github" }, "original": { @@ -409,11 +409,11 @@ }, "nixpkgs-raw": { "locked": { - "lastModified": 1741862977, - "narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=", + "lastModified": 1743576891, + "narHash": "sha256-vXiKURtntURybE6FMNFAVpRPr8+e8KoLPrYs9TGuAKc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cdd2ef009676ac92b715ff26630164bb88fec4e0", + "rev": "44a69ed688786e98a101f02b712c313f1ade37ab", "type": "github" }, "original": { @@ -424,11 +424,11 @@ }, "nixpkgs-unstable-raw": { "locked": { - "lastModified": 1741851582, - "narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=", + "lastModified": 1743583204, + "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6607cf789e541e7873d40d3a8f7815ea92204f32", + "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", "type": "github" }, "original": { @@ -459,11 +459,11 @@ ] }, "locked": { - "lastModified": 1740569341, - "narHash": "sha256-WV8nY2IOfWdzBF5syVgCcgOchg/qQtpYh6LECYS9XkY=", + "lastModified": 1742765550, + "narHash": "sha256-2vVIh2JrL6GAGfgCeY9e6iNKrBjs0Hw3bGQEAbwVs68=", "owner": "nix-community", "repo": "plasma-manager", - "rev": "5eeb0172fb74392053b66a8149e61b5e191b2845", + "rev": "b70be387276e632fe51232887f9e04e2b6ef8c16", "type": "github" }, "original": { diff --git a/roles/common/configuration.nix b/roles/common/configuration.nix index 6eed62a..7c18fe3 100755 --- a/roles/common/configuration.nix +++ b/roles/common/configuration.nix @@ -127,7 +127,7 @@ backupFileExtension = "hm-backup"; useGlobalPkgs = true; verbose = true; - sharedModules = [flakeSelf.inputs.catppuccin.homeManagerModules.catppuccin]; + sharedModules = [flakeSelf.inputs.catppuccin.homeModules.catppuccin]; users.toast = {osConfig, ...}: { catppuccin.flavor = osConfig.catppuccin.flavor; catppuccin.accent = osConfig.catppuccin.accent;