{ 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 ''; xdg.configFile."castget/castget.conf".source = ./castget/castget.conf; home.packages = with pkgs; [ # commandline file fzf nnn jq silver-searcher tmux tree unzip wl-clipboard # admin dig.dnsutils pwgen # 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 okular xournalpp evolution freemind # text publishing hunspell hunspellDicts.en_US hunspellDicts.de_DE hunspellDicts.th_TH hyphen pandoc poppler_utils libreoffice zotero zathura # graphics drawing gimp godot_4 inkscape imagemagick ghostscript scrcpy # web chromium mullvad-vpn nyxt qutebrowser # media bookworm castget freetube qbittorrent rhythmbox vlc yt-dlp # development bundler 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 = { v = "nvim"; r = "R --no-save --no-restore"; R = "R --no-save --no-restore"; cdg = "cd \$(git rev-parse --show-toplevel)"; map = "telnet mapscii.me"; weather = "curl wttr.in/frankfurt"; }; 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.vscode = { enable = true; package = pkgs.vscodium; extensions = with pkgs.vscode-extensions; [ # dracula-theme.theme-dracula # vscodevim.vim # yzhang.markdown-all-in-one ]; }; 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 "; }; programs.obs-studio.enable = true; }