infrastructure/common/desktop/home.nix
2025-05-05 15:04:48 +02:00

119 lines
2.1 KiB
Nix

{
pkgs,
inputs,
config,
...
}:
let
tex = pkgs.texlive.combine {
inherit (pkgs.texlive) scheme-full;
};
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
tex
# jetbrains.rust-rover
# libreoffice
neofetch
nixpkgs-review
spotify
qmk
solo2-cli
unzip
yt-dlp
obsidian
(lib.hiPrio (pkgs.writeShellScriptBin "obsidian" ''
unset WAYLAND_DISPLAY
${pkgs.obsidian}/bin/obsidian
''))
];
# 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 = "";
};
};
kitty = {
enable = true;
shellIntegration.enableZshIntegration = true;
};
};
xdg.autoStart = {
packages = with pkgs; [
element-desktop
firefox
discord
obsidian
];
};
# 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";
};
}