infrastructure/common/desktop/home.nix
Vivian d4dcdef371
Some checks failed
Lint / lint (push) Has been cancelled
:x
2024-10-17 17:30:54 +02:00

145 lines
2.6 KiB
Nix

{
pkgs,
inputs,
config,
...
}:
let
tex = pkgs.texlive.combine {
inherit (pkgs.texlive) scheme-full;
dnd-5e-latex-template = {
pkgs = [ pkgs.v.dnd-5e-latex-template ];
};
};
my-python-packages =
ps: with ps; [
pandas
requests
numpy
scapy
pyshark
cryptography
flask
ipwhois
pyasn
z3-solver
];
in
{
home.packages = with pkgs; [
(python3.withPackages my-python-packages)
btop
calibre
celluloid # video player
element-desktop
fusee-launcher
foliate # epub reader
gcc
gimp
comma
discord
jetbrains.rust-rover
kdenlive
libreoffice-fresh
mattermost-desktop
neofetch
nixpkgs-review
obsidian
plex-media-player
plexamp
spotify
qmk
solo2-cli
tex
unzip
yt-dlp
# z3
obsidian
(lib.hiPrio (pkgs.writeShellScriptBin "obsidian" ''
unset WAYLAND_DISPLAY
${pkgs.obsidian}/bin/obsidian
''))
];
#
# xdg.desktopEntries = {
# obsidian = {
# name = "Obsidian";
# genericName = "Markdown Editor";
# exec = "obsidian";
# terminal = false;
# };
# };
# Enable my own hm modules
themes.v.catppuccin.enable = true;
programs = {
v = {
vscode.enable = true;
nvim.enable = true;
rust.enable = true;
};
firefox.enable = true;
chromium = {
enable = true;
extensions = [
{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # ublock origin
{ id = "nngceckbapebfimnlniiiahkandclblb"; } # bitwarden
];
};
direnv = {
enable = true;
nix-direnv.enable = true;
};
zsh = {
enable = true;
sessionVariables = {
DIRENV_LOG_FORMAT = "";
};
};
thunderbird = {
enable = true;
profiles.default = {
isDefault = true;
};
};
kitty = {
enable = true;
shellIntegration.enableZshIntegration = true;
};
};
xdg.autoStart = {
packages = with pkgs; [
obsidian
element-desktop
firefox
discord
];
};
# Syncthing
services.syncthing.enable = true;
xdg.userDirs =
let
home = config.home.homeDirectory;
in
{
enable = true;
createDirectories = true;
desktop = "${home}/.desktop";
documents = "${home}/cloud/Documents";
download = "${home}/dl";
music = "${home}/cloud/Music";
pictures = "${home}/cloud/Pictures";
publicShare = "${home}/.publicShare";
templates = "${home}/.templates";
videos = "${home}/cloud/Videos";
};
}