{ config, pkgs, inputs, lib, ... }: { home.username = "till"; home.homeDirectory = "/home/till"; home.stateVersion = "22.11"; nixpkgs = { config = { allowUnfree = true; allowUnfreePredicate = (_: true); }; }; programs.home-manager.enable = true; xdg.userDirs = { enable = true; createDirectories = true; download = "${config.home.homeDirectory}/tmp"; music = "${config.home.homeDirectory}/media/music"; pictures = "${config.home.homeDirectory}/media/img"; videos = "${config.home.homeDirectory}/media/vid"; documents = "${config.home.homeDirectory}/misc"; }; services.syncthing.enable = true; home.file.".npmrc".text = '' prefix = ${config.xdg.dataHome}/npm/packages ''; home.packages = with pkgs; [ # commandline exa file fzf nnn jq silver-searcher tmux tree unzip wl-clipboard # messenger mattermost-desktop signal-desktop tdesktop element-desktop whatsapp-for-linux # email msmtp notmuch # isync w3m openssl gnupg urlscan # office khal khard taskopen gnome.gnome-sound-recorder # zoom-us evolution # publishing hunspell hunspellDicts.de_DE hunspellDicts.th_TH hyphen pandoc poppler_utils libreoffice zotero zathura # graphics inkscape gimp godot_4 scrcpy # web qutebrowser nyxt chromium mullvad-vpn # media vlc rhythmbox freetube yt-dlp # development bundix nodejs ruby android-studio netlify-cli # secrets libsecret keepassxc ]; imports = [ ./desktop ./nvim ./foot.nix ./fish.nix ./calendars ./mail ./tex.nix ./openconnect.nix ./R.nix ]; home.shellAliases = { ls = "exa"; tree = "exa --tree"; v = "nvim"; }; programs.nix-index = { enable = true; enableFishIntegration = true; }; programs.git = { enable = true; userName = "Till"; userEmail = "till@ktiu.net"; lfs = { enable = true; }; extraConfig = { init = { defaultBranch = "main"; }; }; }; programs.taskwarrior = { 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 "; }; }