omniflake/home/default.nix
2023-12-02 17:53:15 +01:00

194 lines
3.5 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";
};
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;
}