home/breakerbox: add more service breakers

This commit is contained in:
2025-06-04 12:45:18 +02:00
parent 11d7401695
commit 927577a770
9 changed files with 51 additions and 38 deletions

View File

@@ -58,8 +58,16 @@ in
./programs/zoxide.nix
./programs/zsh
./services/copyq.nix
./services/dunst.nix
./services/gnome-keyring.nix
./services/mpd.nix
./services/mpris-proxy.nix
./services/network-manager.nix
./services/nix-channel-update.nix
./services/psd.nix
./services/pueue.nix
./services/tumblerd.nix
] ++ (optionals graphics [
./config/gtk.nix
@@ -67,16 +75,8 @@ in
./programs/zathura.nix
./programs/zed
./services/copyq.nix
./services/dunst.nix
./services/fcitx5.nix
./services/gnome-keyring.nix
./services/keybase.nix
./services/mpd.nix
./services/mpris-proxy.nix
./services/network-manager.nix
./services/psd.nix
./services/tumblerd.nix
]) ++ (optionals machineVars.wayland [
./programs/hyprland
./programs/waybar.nix
@@ -146,4 +146,13 @@ in
programs.rofi.enable = graphics;
programs.taskwarrior.enable = graphics;
programs.thunderbird.enable = graphics;
services.copyq.enable = graphics;
services.dunst.enable = graphics;
services.gnome-keyring.enable = graphics;
services.mpd.enable = graphics;
services.mpris-proxy.enable = graphics;
services.network-manager-applet.enable = graphics;
services.psd.enable = graphics;
services.tumblerd.enable = graphics;
}

View File

@@ -1,4 +1,4 @@
{ ... }:
{
services.copyq.enable = true;
services.copyq = { };
}

View File

@@ -1,7 +1,6 @@
{ config, pkgs, lib, machineVars, ... }:
{
services.dunst = {
enable = true;
iconTheme = {
package = pkgs.adwaita-icon-theme;
name = "Adwaita";

View File

@@ -1,9 +1,9 @@
{ config, lib, machineVars, ... }:
{ config, lib, ... }:
let
cfg = config.services.gnome-keyring;
in
{
services.gnome-keyring.enable = !machineVars.headless;
lib.mkIf cfg.enable {
services.gnome-keyring = { };
systemd.user.services.gnome-keyring.Service.Slice = lib.mkIf cfg.enable "session.slice";
}

View File

@@ -1,11 +1,10 @@
{ config, pkgs, lib, ... }:
{ config, lib, pkgs, ... }:
let
cfg = config.services.mpd;
runtimeDir = "/run/user/${toString config.home.uid}/mpd";
in
{
lib.mkIf cfg.enable {
services.mpd = {
enable = true;
musicDirectory = config.xdg.userDirs.music;
playlistDirectory = "${cfg.musicDirectory}/playlists/MPD";
network.startWhenNeeded = true;

View File

@@ -1,4 +1,4 @@
{ ... }:
{
services.mpris-proxy.enable = true;
services.mpris-proxy = { };
}

View File

@@ -1,4 +1,4 @@
{ machineVars, ... }:
{ ... }:
{
services.network-manager-applet.enable = !machineVars.headless;
}
services.network-manager-applet = { };
}

View File

@@ -1,4 +1,4 @@
{ ... }:
{
services.psd.enable = true;
services.psd = { };
}

View File

@@ -1,26 +1,32 @@
{ config, pkgs, lib, ... }:
{ config, lib, pkgs, ... }:
let
package = pkgs.xfce.tumbler;
cfg = config.services.tumblerd;
package = cfg.package;
in
{
systemd.user.services.tumblerd = {
Unit = {
Description = "Thumbnailing service";
options.services.tumblerd.enable = lib.mkEnableOption "tumblerd";
options.services.tumblerd.package = lib.mkPackageOption pkgs [ "xfce" "tumbler" ] { };
config = lib.mkIf cfg.enable {
systemd.user.services.tumblerd = {
Unit = {
Description = "Thumbnailing service";
};
Service = {
Type = "dbus";
BusName = "org.freedesktop.thumbnails.Thumbnailer1";
ExecStart = "${package}/lib/tumbler-1/tumblerd";
};
};
Service = {
Type = "dbus";
BusName = "org.freedesktop.thumbnails.Thumbnailer1";
ExecStart = "${package}/lib/tumbler-1/tumblerd";
xdg.dataFile = {
"dbus-1/services/org.xfce.Tumbler.Cache1.service".source = "${package}/share/dbus-1/services/org.xfce.Tumbler.Cache1.service";
"dbus-1/services/org.xfce.Tumbler.Manager1.service".source = "${package}/share/dbus-1/services/org.xfce.Tumbler.Manager1.service";
"dbus-1/services/org.xfce.Tumbler.Thumbnailer1.service".source = "${package}/share/dbus-1/services/org.xfce.Tumbler.Thumbnailer1.service";
};
};
xdg.dataFile = {
"dbus-1/services/org.xfce.Tumbler.Cache1.service".source = "${package}/share/dbus-1/services/org.xfce.Tumbler.Cache1.service";
"dbus-1/services/org.xfce.Tumbler.Manager1.service".source = "${package}/share/dbus-1/services/org.xfce.Tumbler.Manager1.service";
"dbus-1/services/org.xfce.Tumbler.Thumbnailer1.service".source = "${package}/share/dbus-1/services/org.xfce.Tumbler.Thumbnailer1.service";
# TODO: configure properly
xdg.configFile."tumbler/tumbler.rc".source = "${package}/etc/xdg/tumbler/tumbler.rc";
};
# TODO: configure properly
xdg.configFile."tumbler/tumbler.rc".source = "${package}/etc/xdg/tumbler/tumbler.rc";
}