dotfiles/users/stitchynyan/home.nix

170 lines
3.8 KiB
Nix

{ config,
nixosConfig,
pkgs,
lib,
inputs,
home-manager,
... }:
let
handheldPkgs = lib.attrVals [
"fluffychat"
] pkgs;
pcPkgs = lib.attrVals [
"activitywatch"
"anki"
"awatcher"
"dunst"
"foliate"
"foot"
"grim"
"hunspell"
"hyprpaper"
"imv"
"isync"
"kitty"
"libreoffice"
"librewolf"
"lynx"
"mpv"
"msmtp"
"neomutt"
"networkmanagerapplet"
"nheko"
"notmuch"
"okular"
"osu-lazer"
"pass"
"pavucontrol"
"playerctl"
"prismlauncher"
"pstree"
"qbittorrent"
"qt6ct"
"slurp"
"swaylock-effects"
"tofi"
"wofi"
"zathura"
] pkgs ++ [ pkgs.hunspellDicts.en_US ];
in
{
options = {
};
config = {
home.packages = with pkgs; [
cider
ngspice
kicad
#steamvr?
procps
usbutils
yt-dlp
(python3.withPackages (lib.attrVals [ "matplotlib" "pyflakes" "python-lsp-server" "sympy"]))
]
++ (lib.optionals (nixosConfig.stitchyconf.form == "handheld") handheldPkgs)
++ (lib.optionals (nixosConfig.stitchyconf.form == "pc") pcPkgs);
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
# To-Do Later
home.sessionVariables = {
FOO = "BAR";
};
home.file = {
".zshrc".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/zshrc";
};
xdg.configFile = {
"dunst" = {
source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/dunst";
recursive = true;
};
"eww" = {
source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/eww";
recursive = true;
};
"foot" = {
source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/foot";
recursive = true;
};
"hypr" = {
source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/hypr";
recursive = true;
};
"swaylock" = {
source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/swaylock";
recursive = true;
};
};
systemd.user.services = {
mailsync = {
Unit = {
Description = "Syncs email";
After = [ "network-online.target" ];
};
Service = {
Type = "oneshot";
ExecStart = "${pkgs.mutt-wizard}/bin/mailsync";
Environment = [
"DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus"
"DISPLAY=:0"
"MBSYNCRC=/home/stitchynyan/.config/mbsync/config"
"PATH=$PATH:${lib.makeBinPath (lib.attrVals [ "busybox" "cyrus-sasl-xoauth2" "gnupg" "isync" "notify" "notmuch" "pass" "perl" "python3" ] pkgs)}"
"SASL_PATH=/run/current-system/sw/lib/sasl2"
"WAYLAND_DISPLAY=wayland-1"
];
};
Install.WantedBy = [ "default.target" ];
};
};
programs.gpg = {
homedir = "${config.xdg.dataHome}/gnupg";
};
services = {
gpg-agent = {
enable = true;
enableScDaemon = false;
enableSshSupport = true;
defaultCacheTtl = 34560000;
maxCacheTtl = 34560000;
extraConfig = ''
allow-preset-passphrase
pinentry-program /run/current-system/sw/bin/pinentry
'';
};
};
systemd.user.timers = {
mailsync = {
Unit.Description = "Syncs email";
Timer = {
OnBootSec = "1min";
OnUnitActiveSec = "10min";
};
Install.WantedBy = [ "timers.target" ];
};
};
home.pointerCursor = {
name = "phinger-cursors-dark";
package = pkgs.phinger-cursors;
gtk.enable = true;
size = 24;
};
# Read the Docs before change
home.stateVersion = "23.05";
home.homeDirectory = "/home/stitchynyan";
};
}