From 94a87229f1751a64f032121dfe6f2e82e6e277ef Mon Sep 17 00:00:00 2001 From: Toast Date: Mon, 28 Aug 2023 13:13:51 +0200 Subject: [PATCH 1/7] Archie: remove duplicate comment in hardware-configuration.nix --- machines/Archie/hardware-configuration.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/machines/Archie/hardware-configuration.nix b/machines/Archie/hardware-configuration.nix index 48133e7..7860798 100644 --- a/machines/Archie/hardware-configuration.nix +++ b/machines/Archie/hardware-configuration.nix @@ -8,7 +8,6 @@ [ (modulesPath + "/installer/scan/not-detected.nix") ]; - # Enabke support for the Xbox One wireless dongle # Enable support for the Xbox One wireless dongle hardware.xone.enable = true; From 60b28ea21869ebd6018c909a4cf914491ada5658 Mon Sep 17 00:00:00 2001 From: Toast Date: Mon, 28 Aug 2023 14:01:48 +0200 Subject: [PATCH 2/7] Archie: mount home subvolume as /home --- machines/Archie/hardware-configuration.nix | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/machines/Archie/hardware-configuration.nix b/machines/Archie/hardware-configuration.nix index 7860798..cc53c64 100644 --- a/machines/Archie/hardware-configuration.nix +++ b/machines/Archie/hardware-configuration.nix @@ -39,17 +39,22 @@ fsType = "vfat"; }; - /* - Mount the root subvolume of the SSD - This is helpful for getting things from - my old Arch install, as well as for running btdu - */ fileSystems = { + /* + Mount the root subvolume of the SSD + This is helpful for getting things from + my old Arch install, as well as for running btdu + */ "/mnt/ssd" = { device = config.fileSystems."/".device; fsType = config.fileSystems."/".fsType; options = [ "subvolid=5" "ro" ]; }; + "/home" = { + device = "/dev/disk/by-uuid/5322c217-b87b-4150-8b4c-a8fa17a899bf"; + fsType = "btrfs"; + options = [ "subvol=@home" "compress=zstd" ]; + }; }; swapDevices = [ ]; From bd85f36dda9127cf1f77438bf70b9f4984fd680b Mon Sep 17 00:00:00 2001 From: Toast Date: Mon, 28 Aug 2023 16:34:19 +0200 Subject: [PATCH 3/7] Steam: only enable pipewire's alsa support if it's used as the sound server --- roles/gaming/steam.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/gaming/steam.nix b/roles/gaming/steam.nix index 1c71901..27a1a33 100644 --- a/roles/gaming/steam.nix +++ b/roles/gaming/steam.nix @@ -7,5 +7,5 @@ remotePlay.openFirewall = true; }; # Some linux native games (rise of the tomb raider) use alsa for sound - services.pipewire.alsa.enable = true; + services.pipewire.alsa.enable = if config.services.pipewire.pulse.enable == true then true else false; } From a0221784e77fb560b5f03ff60b0966e37c294110 Mon Sep 17 00:00:00 2001 From: Toast Date: Mon, 28 Aug 2023 17:53:12 +0200 Subject: [PATCH 4/7] Archie: temporarely use pulseaudio as sound server --- machines/Archie/configuration.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/machines/Archie/configuration.nix b/machines/Archie/configuration.nix index dfd748a..eb8bc43 100644 --- a/machines/Archie/configuration.nix +++ b/machines/Archie/configuration.nix @@ -33,11 +33,22 @@ # Enable the X11 windowing system. services.xserver.enable = true; - # Enable the pipewire sound server + /*# Enable the pipewire sound server services.pipewire = { enable = true; pulse.enable = true; + }; /* + + /* + Pipewire's audio server seems to be broken for now, so I'm going to + temporarely use pulse as my audio server + */ + services.pipewire = { + audio.enable = false; + pulse.enable = false; + alsa.enable = false; }; + hardware.pulseaudio.enable = true; # Configure keymap in X11 # services.xserver.layout = "us"; From a0e2825acd98945b111288115ed81b8c90090529 Mon Sep 17 00:00:00 2001 From: Toast Date: Mon, 28 Aug 2023 18:30:04 +0200 Subject: [PATCH 5/7] Firefox: move kde specific settings to kde role --- roles/desktop/programs/firefox.nix | 14 -------------- roles/kde/programs/default.nix | 1 + roles/kde/programs/firefox.nix | 25 +++++++++++++++++++++++++ 3 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 roles/kde/programs/firefox.nix diff --git a/roles/desktop/programs/firefox.nix b/roles/desktop/programs/firefox.nix index 643f174..7b601ea 100644 --- a/roles/desktop/programs/firefox.nix +++ b/roles/desktop/programs/firefox.nix @@ -35,20 +35,6 @@ "Value" = true; "Status" = "locked"; }; - # 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"; - }; }; "PromptForDownloadLocation" = true; # I use an external password manager, so the built in one just bothers me diff --git a/roles/kde/programs/default.nix b/roles/kde/programs/default.nix index 9575dce..fe5c43b 100644 --- a/roles/kde/programs/default.nix +++ b/roles/kde/programs/default.nix @@ -3,5 +3,6 @@ { imports = [ ./kate.nix + ./firefox.nix ]; } diff --git a/roles/kde/programs/firefox.nix b/roles/kde/programs/firefox.nix new file mode 100644 index 0000000..284bb32 --- /dev/null +++ b/roles/kde/programs/firefox.nix @@ -0,0 +1,25 @@ +{ config, pkgs, ... }: + +{ + # KDE specific firefox settings + programs.firefox = { + policies = { + "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 a0db9fdcdebb9a093470dc6be92c91ef7f4e2a94 Mon Sep 17 00:00:00 2001 From: Toast Date: Mon, 28 Aug 2023 18:30:42 +0200 Subject: [PATCH 6/7] Kde: install firefox plasma integration extension --- roles/kde/programs/firefox.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/roles/kde/programs/firefox.nix b/roles/kde/programs/firefox.nix index 284bb32..9892650 100644 --- a/roles/kde/programs/firefox.nix +++ b/roles/kde/programs/firefox.nix @@ -4,6 +4,13 @@ # 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"; + }; + }; "Preferences" = { # Make firefox use the kde file picker "widget.use-xdg-desktop-portal.file-picker" = { From 8c35cda8e90f1e1629c117a4f00955a90a61ebf1 Mon Sep 17 00:00:00 2001 From: Toast Date: Mon, 28 Aug 2023 18:31:42 +0200 Subject: [PATCH 7/7] Firefox: uninstall plasma integration extension by default --- roles/desktop/programs/firefox.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/roles/desktop/programs/firefox.nix b/roles/desktop/programs/firefox.nix index 7b601ea..6871b6f 100644 --- a/roles/desktop/programs/firefox.nix +++ b/roles/desktop/programs/firefox.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, lib, ... }: { # System wide firefox settings @@ -24,6 +24,8 @@ "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