omniflake/home/minimal.nix
2024-06-13 21:46:23 +02:00

148 lines
2.7 KiB
Nix

{ 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";
templates = "${config.xdg.dataHome}/templates";
};
home.file.".npmrc".text = ''
prefix = ${config.xdg.dataHome}/npm/packages
'';
xdg.configFile."castget/castget.conf".source = ./castget/castget.conf;
home.packages = with pkgs; [
# commandline
fzf
jq
progress
silver-searcher
tmux
wl-clipboard
tldr
du-dust
# email
msmtp
notmuch
w3m
openssl
gnupg
urlscan
ripmime
# office
khal
khard
taskopen
zathura
# publishing
hunspell
hunspellDicts.de_DE
hunspellDicts.en_US
hunspellDicts.th_TH
hyphen
pandoc
imagemagick
ghostscript
# web
nyxt
mullvad-vpn
# media
castget
freetube
qbittorrent
rhythmbox
vlc
yt-dlp
# development
bundler
bundix
nodejs
android-studio
netlify-cli
appimage-run
# secrets
libsecret
keepassxc
yubikey-manager-qt
];
imports = [
./calendars.nix
./fish.nix
./foot.nix
./tmux
./mail
./nvim
./openconnect.nix
./r.nix
];
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
";
};
programs.bottom = {
enable = true;
settings.flags.color = "default-light";
};
services.syncthing.enable = true;
}