{ 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" "lazygit" "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 hugo kicad #steamvr? procps ripgrep 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; }; "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"; }; }