diff --git a/home/breakerbox.nix b/home/breakerbox.nix index 16b6b4c..ac50cad 100644 --- a/home/breakerbox.nix +++ b/home/breakerbox.nix @@ -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; } diff --git a/home/services/copyq.nix b/home/services/copyq.nix index b5444a6..408055e 100644 --- a/home/services/copyq.nix +++ b/home/services/copyq.nix @@ -1,4 +1,4 @@ { ... }: { - services.copyq.enable = true; + services.copyq = { }; } diff --git a/home/services/dunst.nix b/home/services/dunst.nix index 7d1b16c..e4577d9 100644 --- a/home/services/dunst.nix +++ b/home/services/dunst.nix @@ -1,7 +1,6 @@ { config, pkgs, lib, machineVars, ... }: { services.dunst = { - enable = true; iconTheme = { package = pkgs.adwaita-icon-theme; name = "Adwaita"; diff --git a/home/services/gnome-keyring.nix b/home/services/gnome-keyring.nix index 1492ddf..e3c44ce 100644 --- a/home/services/gnome-keyring.nix +++ b/home/services/gnome-keyring.nix @@ -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"; } diff --git a/home/services/mpd.nix b/home/services/mpd.nix index 494502c..edd2480 100644 --- a/home/services/mpd.nix +++ b/home/services/mpd.nix @@ -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; diff --git a/home/services/mpris-proxy.nix b/home/services/mpris-proxy.nix index b6f450f..8955f55 100644 --- a/home/services/mpris-proxy.nix +++ b/home/services/mpris-proxy.nix @@ -1,4 +1,4 @@ { ... }: { - services.mpris-proxy.enable = true; + services.mpris-proxy = { }; } diff --git a/home/services/network-manager.nix b/home/services/network-manager.nix index 08b7aaa..9a93594 100644 --- a/home/services/network-manager.nix +++ b/home/services/network-manager.nix @@ -1,4 +1,4 @@ -{ machineVars, ... }: +{ ... }: { - services.network-manager-applet.enable = !machineVars.headless; -} \ No newline at end of file + services.network-manager-applet = { }; +} diff --git a/home/services/psd.nix b/home/services/psd.nix index 814cea5..9b6832b 100644 --- a/home/services/psd.nix +++ b/home/services/psd.nix @@ -1,4 +1,4 @@ { ... }: { - services.psd.enable = true; + services.psd = { }; } diff --git a/home/services/tumblerd.nix b/home/services/tumblerd.nix index 84a0908..4a39590 100644 --- a/home/services/tumblerd.nix +++ b/home/services/tumblerd.nix @@ -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"; }