mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-31 16:57:55 +00:00
86 lines
2.2 KiB
Nix
86 lines
2.2 KiB
Nix
# Makes you infinitesimally productive.
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
userCfg = config.users.foo-dogsquared;
|
|
cfg = userCfg.setups.desktop;
|
|
in
|
|
{
|
|
options.users.foo-dogsquared.setups.desktop.enable =
|
|
lib.mkEnableOption "a set of usual desktop productivity services";
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
state.ports.activitywatch.value = 5600;
|
|
|
|
# Install all of the desktop stuff.
|
|
suites.desktop = {
|
|
enable = true;
|
|
audio.enable = true;
|
|
audio.pipewire.enable = true;
|
|
graphics.enable = true;
|
|
video.enable = true;
|
|
documents.enable = true;
|
|
};
|
|
|
|
# Make it rain with fonts.
|
|
fonts.fontconfig.enable = true;
|
|
|
|
# Forcibly set the user directories.
|
|
xdg.userDirs.enable = true;
|
|
|
|
# Self-inflicted telemetry.
|
|
services.activitywatch = {
|
|
enable = true;
|
|
settings.server.port = config.state.ports.activitywatch.value;
|
|
watchers = {
|
|
aw-watcher-afk.package = pkgs.activitywatch;
|
|
aw-watcher-window.package = pkgs.activitywatch;
|
|
};
|
|
};
|
|
|
|
# Clean up your mess
|
|
services.bleachbit = {
|
|
enable = true;
|
|
cleaners = [
|
|
"winetricks.temporary_files"
|
|
"wine.tmp"
|
|
"discord.history"
|
|
"google_earth.temporary_files"
|
|
"google_toolbar.search_history"
|
|
"thumbnails.cache"
|
|
"zoom.logs"
|
|
"vim.history"
|
|
];
|
|
withChatCleanup = true;
|
|
withBrowserCleanup = true;
|
|
};
|
|
|
|
# My preferred file indexing service.
|
|
services.recoll = {
|
|
enable = true;
|
|
startAt = "daily";
|
|
settings = {
|
|
topdirs = "~/Downloads ~/Documents ~/library";
|
|
"skippedNames+" =
|
|
let
|
|
inherit (config.state.paths) ignoreDirectories;
|
|
in
|
|
lib.concatStringsSep " " ignoreDirectories;
|
|
|
|
"~/library/projects" = {
|
|
"skippedNames+" = ".editorconfig .gitignore result flake.lock go.sum";
|
|
};
|
|
|
|
"~/library/projects/software" = {
|
|
"skippedNames+" = "target result";
|
|
};
|
|
};
|
|
};
|
|
|
|
users.foo-dogsquared.programs.custom-homepage.sections.services.links = lib.singleton {
|
|
url = "http://localhost:${builtins.toString config.state.ports.activitywatch.value}";
|
|
text = "Telemetry server";
|
|
};
|
|
};
|
|
}
|