{ config, pkgs, inputs, lib, ... }: { xdg.userDirs.createDirectories = true; home.file.".npmrc".text = '' prefix = ${config.xdg.dataHome}/npm/packages ''; xdg.configFile."castget/castget.conf".source = ./castget/castget.conf; home.packages = with pkgs; [ wl-clipboard # email msmtp notmuch w3m openssl gnupg urlscan ripmime # office khal khard taskopen zathura pdftk imagemagick feh ghostscript drawing castget # publishing hunspell hunspellDicts.de_DE hunspellDicts.en_US hunspellDicts.th_TH hyphen hyphenDicts.de_DE hyphenDicts.en_US pandoc imagemagick ghostscript # media rhythmbox vlc # development bundler bundix nodejs yarn appimage-run # secrets libsecret keepassxc yubikey-manager-qt ]; imports = [ ./minimal.nix ./calendars.nix ./foot.nix ./mail ./openconnect.nix ./r.nix ]; programs.taskwarrior = { package = pkgs.taskwarrior3; enable = true; dataLocation = "${config.xdg.dataHome}/taskwarrior/tasks"; colorTheme = "light-256"; config = { report.list.columns = ["id" "depends.indicator" "priority" "project" "recur.indicator" "scheduled.countdown" "due" "until.age" "status.short" "description.count" "tags"]; report.list.labels= ["ID" "D" "Prio" "Proj" "R" "Scheduled" "Due" "Until" "S" "Description" "Tags"]; }; extraConfig = " hooks.location=${config.xdg.dataHome}/taskwarrior/hooks verbose=affected,context,edit,label,header,new-id,project,special,sync,recur "; }; services.syncthing.enable = true; }