move pika backup to gnome only

This commit is contained in:
Joseph Hanson 2024-10-28 20:33:38 -05:00
parent 0fa68032eb
commit d9bcb76ed1
Signed by: jahanson
SSH key fingerprint: SHA256:vy6dKBECV522aPAwklFM3ReKAVB086rT3oWwiuiFG7o
2 changed files with 42 additions and 32 deletions

View file

@ -54,7 +54,6 @@
system = { system = {
motd.networkInterfaces = [ "wlp1s0" ]; motd.networkInterfaces = [ "wlp1s0" ];
fingerprint-reader-on-laptop-lid.enable = true; fingerprint-reader-on-laptop-lid.enable = true;
borg.pika-backup.enable = true;
}; };
framework_wifi_swap.enable = true; framework_wifi_swap.enable = true;

View file

@ -1,18 +1,28 @@
{ lib, config, pkgs, ... }: {
with lib; lib,
config,
pkgs,
...
}:
let let
cfg = config.mySystem.de.gnome; cfg = config.mySystem.de.gnome;
in in
{ {
options = { options = {
mySystem.de.gnome = { mySystem.de.gnome = {
enable = mkEnableOption "GNOME" // { default = false; }; enable = lib.mkEnableOption "GNOME" // {
systrayicons = mkEnableOption "Enable systray icons" // { default = true; }; default = false;
gsconnect = mkEnableOption "Enable gsconnect (KDEConnect for GNOME)" // { default = true; }; };
systrayicons = lib.mkEnableOption "Enable systray icons" // {
default = true;
};
gsconnect = lib.mkEnableOption "Enable gsconnect (KDEConnect for GNOME)" // {
default = true;
};
}; };
}; };
config = mkIf cfg.enable { config = lib.mkIf cfg.enable {
# Ref: https://nixos.wiki/wiki/GNOME # Ref: https://nixos.wiki/wiki/GNOME
# GNOME plz # GNOME plz
@ -38,41 +48,44 @@ in
}; };
}; };
udev.packages = optionals cfg.systrayicons [ pkgs.gnome.gnome-settings-daemon ]; # support appindicator udev.packages = lib.optionals cfg.systrayicons [ pkgs.gnome.gnome-settings-daemon ]; # support appindicator
}; };
# systyray icons # systyray icons
# extra pkgs and extensions # extra pkgs and extensions
environment = { environment = {
systemPackages = with pkgs; [ systemPackages =
wl-clipboard # ls ~/Downloads | wl-copy or wl-paste > clipboard.txt with pkgs;
playerctl # gsconnect play/pause command [
pamixer # gcsconnect volume control wl-clipboard # ls ~/Downloads | wl-copy or wl-paste > clipboard.txt
gnome.gnome-tweaks playerctl # gsconnect play/pause command
gnome.dconf-editor pamixer # gcsconnect volume control
gnome.gnome-tweaks
gnome.dconf-editor
# This installs the extension packages, but # This installs the extension packages, but
# dont forget to enable them per-user in dconf settings -> "org/gnome/shell" # dont forget to enable them per-user in dconf settings -> "org/gnome/shell"
gnomeExtensions.vitals gnomeExtensions.vitals
gnomeExtensions.caffeine gnomeExtensions.caffeine
gnomeExtensions.dash-to-dock gnomeExtensions.dash-to-dock
] ]
++ optionals cfg.systrayicons [ pkgs.gnomeExtensions.appindicator ]; ++ optionals cfg.systrayicons [ pkgs.gnomeExtensions.appindicator ];
}; };
# enable pika backup
mySystem.borg.pika-backup.enable = true;
# enable gsconnect # enable gsconnect
# this method also opens the firewall ports required when enable = true # this method also opens the firewall ports required when enable = true
programs.kdeconnect = mkIf programs.kdeconnect = lib.mkIf cfg.gsconnect {
cfg.gsconnect enable = true;
{ package = pkgs.gnomeExtensions.gsconnect;
enable = true; };
package = pkgs.gnomeExtensions.gsconnect;
};
# GNOME connection to browsers - requires flag on browser as well # GNOME connection to browsers - requires flag on browser as well
services.gnome.gnome-browser-connector.enable = lib.any services.gnome.gnome-browser-connector.enable = lib.any (user: user.programs.firefox.enable) (
(user: user.programs.firefox.enable) lib.attrValues config.home-manager.users
(lib.attrValues config.home-manager.users); );
# And dconf # And dconf
programs.dconf.enable = true; programs.dconf.enable = true;
@ -99,6 +112,4 @@ in
atomix # puzzle game atomix # puzzle game
]); ]);
}; };
} }