Non stop entertainment! The wackiest NixOS configuration to-date. thevoid.cafe/projects/puzzlevision
nixos flake flake-parts dotfiles home-manager nix

✨🔧 Add GSConnect support

thevoid.cafe 72b1f3a4 9d755ba7

verified
+14 -2
+6 -2
modules/home/desktop/gnome/default.nix
··· 12 12 inherit (self.lib.options) mkOpt; 13 13 14 14 cfg = config.${namespace}.desktop.gnome; 15 + osEnableGsConnect = osConfig.${namespace}.desktop.gnome.enable-gsconnect; 15 16 in 16 17 { 17 18 options.${namespace}.desktop.gnome = with lib.types; { ··· 33 34 }; 34 35 35 36 config = mkIf osConfig.${namespace}.desktop.gnome.enable { 36 - home.packages = cfg.enabled-extensions; 37 + home.packages = 38 + cfg.enabled-extensions ++ (lib.optionals osEnableGsConnect [ pkgs.gnomeExtensions.gsconnect ]); 37 39 38 40 dconf.settings = { 39 41 "org/gnome/shell" = { 40 42 favorite-apps = cfg.favorite-apps; 41 - enabled-extensions = lib.forEach cfg.enabled-extensions (x: x.extensionUuid); 43 + enabled-extensions = lib.forEach ( 44 + cfg.enabled-extensions ++ (lib.optionals osEnableGsConnect [ pkgs.gnomeExtensions.gsconnect ]) 45 + ) (x: x.extensionUuid); 42 46 disabled-extensions = [ ]; # Make sure none of our extensions are disabled on system rebuild 43 47 }; 44 48 "org/gnome/desktop/background" = {
+7
modules/nixos/desktop/gnome/default.nix
··· 13 13 { 14 14 options.${namespace}.desktop.gnome = { 15 15 enable = mkEnableOption "the gnome desktop environment"; 16 + enable-gsconnect = mkEnableOption "the GSConnect service, for pairing external mobile devices."; 16 17 }; 17 18 18 19 config = mkIf cfg.enable { ··· 49 50 50 51 # Unlock gnome-keyring on login 51 52 security.pam.services.gdm.enableGnomeKeyring = true; 53 + 54 + # Enable GSConnect 55 + programs.kdeconnect = { 56 + enable = true; 57 + package = pkgs.gnomeExtensions.gsconnect; 58 + }; 52 59 53 60 environment.systemPackages = with pkgs; [ 54 61 refine
+1
systems/x86_64-nixos/puzzlevision/default.nix
··· 43 43 44 44 archetypes.laptop.enable = true; 45 45 services.docker.enable = true; 46 + desktop.gnome.enable-gsconnect = true; 46 47 }; 47 48 48 49 # Minecraft bootloader theme