170 lines
3.8 KiB
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";
|
|
};
|
|
}
|