2024-02-24 02:30:17 -08:00
|
|
|
{
|
|
|
|
|
inputs,
|
|
|
|
|
config,
|
|
|
|
|
pkgs,
|
2024-04-02 11:17:11 -07:00
|
|
|
lib,
|
2024-02-24 02:30:17 -08:00
|
|
|
...
|
|
|
|
|
}: {
|
2023-07-11 00:38:39 -07:00
|
|
|
users.users.tao.packages = with pkgs; [
|
2024-09-25 10:00:11 -07:00
|
|
|
man-pages
|
|
|
|
|
man-pages-posix
|
2024-09-21 23:31:25 -07:00
|
|
|
gurk-rs
|
2024-09-21 17:31:00 -07:00
|
|
|
# davinci-resolve
|
2024-08-28 13:49:15 -07:00
|
|
|
nufmt
|
2024-08-20 11:00:33 -07:00
|
|
|
freerdp
|
|
|
|
|
nixos-anywhere
|
|
|
|
|
cloud-hypervisor
|
2023-07-11 00:38:39 -07:00
|
|
|
# fractal
|
2024-04-05 14:18:27 -07:00
|
|
|
# kdeconnect
|
|
|
|
|
# libsForQt5.kcharselect
|
2024-02-22 11:05:26 -08:00
|
|
|
# mendeley
|
2023-09-30 22:39:53 -07:00
|
|
|
# slack
|
2024-02-27 10:26:58 -08:00
|
|
|
# tectonic
|
|
|
|
|
# texlab
|
|
|
|
|
# toastify
|
2024-02-22 11:05:26 -08:00
|
|
|
# wkhtmltopdf
|
2023-09-30 22:39:53 -07:00
|
|
|
appimage-run
|
2023-09-28 23:33:56 -07:00
|
|
|
aspell
|
|
|
|
|
aspellDicts.en
|
2024-07-07 15:29:20 -07:00
|
|
|
bottles
|
2024-04-11 08:32:50 -07:00
|
|
|
boxxy
|
2024-04-20 18:47:52 -07:00
|
|
|
# calibre
|
2024-09-12 14:54:27 -07:00
|
|
|
darktable
|
2023-09-28 23:33:56 -07:00
|
|
|
deluge
|
2024-04-05 14:18:27 -07:00
|
|
|
discord
|
|
|
|
|
inputs.plasma-manager.packages.${pkgs.system}.default
|
2023-10-09 17:54:57 -07:00
|
|
|
jellyfin-media-player
|
2024-01-30 09:32:08 -08:00
|
|
|
jellyfin-mpv-shim
|
2024-04-05 14:18:27 -07:00
|
|
|
kdePackages.plasma-vault
|
2023-09-28 23:33:56 -07:00
|
|
|
keepassxc
|
2024-02-06 11:15:17 -08:00
|
|
|
leetcode-cli
|
2024-02-22 11:05:26 -08:00
|
|
|
miniserve
|
2024-02-06 11:15:17 -08:00
|
|
|
nushell
|
2023-09-30 22:39:53 -07:00
|
|
|
obs-studio
|
2024-04-05 14:18:27 -07:00
|
|
|
oculante
|
2023-09-30 22:39:53 -07:00
|
|
|
onlyoffice-bin
|
2024-02-06 11:15:17 -08:00
|
|
|
pandoc
|
2024-02-27 10:26:58 -08:00
|
|
|
pipe-rename
|
2024-02-06 11:15:17 -08:00
|
|
|
prusa-slicer
|
|
|
|
|
qmk
|
|
|
|
|
qmk-udev-rules
|
2024-03-18 22:45:19 -07:00
|
|
|
qmk_hid
|
2023-09-30 22:39:53 -07:00
|
|
|
ripgrep-all
|
2024-05-19 16:14:11 -07:00
|
|
|
signal-desktop
|
2023-09-30 22:39:53 -07:00
|
|
|
snapper
|
2024-02-06 11:15:17 -08:00
|
|
|
starship
|
2023-11-01 18:58:21 -07:00
|
|
|
syncthingtray
|
2024-08-21 18:31:46 -07:00
|
|
|
taskwarrior3
|
2023-11-01 18:58:21 -07:00
|
|
|
thunderbird
|
2024-01-30 09:32:08 -08:00
|
|
|
typst
|
2024-02-06 11:15:17 -08:00
|
|
|
typst-fmt
|
2024-09-12 14:54:27 -07:00
|
|
|
typst-lsp
|
|
|
|
|
tinymist
|
2024-08-20 11:00:33 -07:00
|
|
|
vial
|
2024-02-06 11:15:17 -08:00
|
|
|
wezterm
|
2024-05-28 20:40:46 -07:00
|
|
|
wl-clipboard-rs
|
2024-03-18 14:50:43 -07:00
|
|
|
yt-dlp
|
2023-09-30 22:39:53 -07:00
|
|
|
zathura
|
2024-04-29 17:47:29 -07:00
|
|
|
zellij
|
2023-09-30 22:09:06 -07:00
|
|
|
zoom-us
|
2024-01-30 09:32:08 -08:00
|
|
|
zoxide
|
2023-07-11 00:38:39 -07:00
|
|
|
];
|
2024-06-27 20:34:08 -07:00
|
|
|
programs.adb.enable = true;
|
2024-03-20 17:29:48 -07:00
|
|
|
programs.kdeconnect.enable = true;
|
2024-02-24 02:30:17 -08:00
|
|
|
environment.shells = with pkgs; [nushell];
|
2024-01-28 19:54:19 -08:00
|
|
|
|
2024-06-26 13:40:11 -07:00
|
|
|
virtualisation.libvirtd.enable = true;
|
2024-06-27 20:34:08 -07:00
|
|
|
virtualisation.libvirtd.qemu.swtpm.enable = true;
|
2024-06-26 13:40:11 -07:00
|
|
|
virtualisation.spiceUSBRedirection.enable = true;
|
|
|
|
|
programs.virt-manager.enable = true;
|
2024-02-24 02:50:02 -08:00
|
|
|
|
2024-06-26 13:40:11 -07:00
|
|
|
# virtualisation.virtualbox.host = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# enableExtensionPack = true;
|
|
|
|
|
# };
|
|
|
|
|
|
2024-03-28 08:54:48 -07:00
|
|
|
age.secrets.syncthing-NOcomputer.file = ../secrets/syncthing-NOcomputer.age;
|
2024-04-01 17:38:14 -07:00
|
|
|
age.secrets.syncthing-NOlaptop.file = ../secrets/syncthing-NOlaptop.age;
|
2024-04-04 02:50:30 -07:00
|
|
|
age.secrets.syncthing-uwuraid.file = ../secrets/syncthing-uwuraid.age;
|
2023-07-11 00:38:39 -07:00
|
|
|
services.syncthing = {
|
|
|
|
|
enable = true;
|
|
|
|
|
user = "tao";
|
2024-03-19 18:12:55 -07:00
|
|
|
dataDir = "/home/tao/sync";
|
2023-07-11 00:38:39 -07:00
|
|
|
configDir = "/home/tao/.config/syncthing";
|
2024-03-23 01:24:31 -07:00
|
|
|
overrideDevices = false;
|
|
|
|
|
overrideFolders = false;
|
2024-06-10 17:41:44 -07:00
|
|
|
openDefaultPorts = true;
|
2024-03-20 17:29:48 -07:00
|
|
|
settings = {
|
2024-03-28 08:54:48 -07:00
|
|
|
devices = {
|
2024-03-28 23:57:47 -05:00
|
|
|
# we do a lil anti-patterns https://github.com/ryantm/agenix?tab=readme-ov-file#builtinsreadfile-anti-pattern
|
|
|
|
|
# bootstrap by commenting out devices first and rebuild switch impurely
|
2024-10-13 23:28:53 -07:00
|
|
|
# "nocomputer".id = builtins.readFile config.age.secrets.syncthing-NOcomputer.path;
|
|
|
|
|
# "nolaptop".id = builtins.readFile config.age.secrets.syncthing-NOlaptop.path;
|
|
|
|
|
# "uwuraid".id = builtins.readFile config.age.secrets.syncthing-uwuraid.path;
|
2024-04-14 04:24:36 -07:00
|
|
|
# };
|
2024-10-13 23:28:53 -07:00
|
|
|
# folders = let
|
|
|
|
|
# devs = [
|
|
|
|
|
# "nocomputer"
|
|
|
|
|
# "nolaptop"
|
|
|
|
|
# "uwuraid"
|
|
|
|
|
# ];
|
|
|
|
|
# in {
|
|
|
|
|
# # "documents" = {
|
|
|
|
|
# # path = "/home/tao/documents";
|
|
|
|
|
# # devices = devs;
|
|
|
|
|
# # };
|
|
|
|
|
# "pictures" = {
|
|
|
|
|
# path = "/home/tao/pictures";
|
|
|
|
|
# devices = devs;
|
|
|
|
|
# };
|
|
|
|
|
# "projects" = {
|
|
|
|
|
# path = "/home/tao/projects";
|
|
|
|
|
# devices = devs;
|
|
|
|
|
# };
|
|
|
|
|
# "school" = {
|
|
|
|
|
# path = "/home/tao/school";
|
|
|
|
|
# devices = devs;
|
|
|
|
|
# };
|
|
|
|
|
# "sync" = {
|
|
|
|
|
# path = "/home/tao/sync";
|
|
|
|
|
# devices = devs;
|
|
|
|
|
# };
|
|
|
|
|
# "work" = {
|
|
|
|
|
# path = "/home/tao/work";
|
|
|
|
|
# devices = devs;
|
|
|
|
|
# };
|
2024-03-20 17:29:48 -07:00
|
|
|
};
|
|
|
|
|
};
|
2023-07-11 00:38:39 -07:00
|
|
|
};
|
|
|
|
|
|
2024-04-29 13:53:43 -07:00
|
|
|
services.snapper.configs = {
|
|
|
|
|
home = {
|
|
|
|
|
SUBVOLUME = "/home";
|
|
|
|
|
ALLOW_USERS = ["tao"];
|
|
|
|
|
TIMELINE_CREATE = true;
|
|
|
|
|
TIMELINE_CLEANUP = true;
|
2024-06-27 20:34:08 -07:00
|
|
|
TIMELINE_LIMIT_HOURLY = 5;
|
|
|
|
|
TIMELINE_LIMIT_DAILY = 7;
|
2024-04-29 13:53:43 -07:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
services.snapper.snapshotInterval = "*:0/5";
|
|
|
|
|
|
2024-02-27 01:49:46 -08:00
|
|
|
hardware.keyboard.qmk.enable = true;
|
2024-03-29 11:47:47 -05:00
|
|
|
services.udev.extraRules = ''
|
|
|
|
|
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
|
|
|
|
'';
|
2024-02-27 01:49:46 -08:00
|
|
|
|
2024-03-18 22:45:19 -07:00
|
|
|
boot.extraModulePackages = with config.boot.kernelPackages; [
|
|
|
|
|
v4l2loopback
|
|
|
|
|
];
|
|
|
|
|
boot.extraModprobeConfig = ''
|
|
|
|
|
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
|
|
|
|
|
'';
|
2024-02-19 22:41:58 -08:00
|
|
|
|
2024-01-23 14:19:19 -08:00
|
|
|
fonts.packages = with pkgs; [
|
2024-03-05 11:09:08 -08:00
|
|
|
(nerdfonts.override {fonts = ["FiraCode"];})
|
2023-07-17 16:41:11 -07:00
|
|
|
noto-fonts-cjk
|
2024-01-23 14:19:19 -08:00
|
|
|
noto-fonts-color-emoji
|
2024-10-02 17:58:52 -07:00
|
|
|
ibm-plex
|
|
|
|
|
cooper-hewitt
|
2023-07-17 16:41:11 -07:00
|
|
|
];
|
|
|
|
|
|
2024-06-13 13:30:29 -07:00
|
|
|
documentation.enable = true;
|
|
|
|
|
|
2024-10-13 23:28:53 -07:00
|
|
|
age.secrets.password-tao.file = ../secrets/syncthing-uwuraid.age;
|
2023-07-11 00:38:39 -07:00
|
|
|
users.users.tao = {
|
|
|
|
|
isNormalUser = true;
|
2024-10-13 21:17:25 -07:00
|
|
|
passwordFile = config.age.secrets.password-tao.path;
|
2024-03-03 22:23:33 -08:00
|
|
|
extraGroups = ["audio" "video" "wheel" "libvirtd" "dialout" "game"];
|
2024-01-30 09:32:08 -08:00
|
|
|
shell = pkgs.nushell;
|
2023-07-11 00:38:39 -07:00
|
|
|
};
|
2023-09-28 23:33:56 -07:00
|
|
|
|
2024-02-01 23:01:05 -08:00
|
|
|
home-manager.useGlobalPkgs = true;
|
2024-04-02 18:11:12 -07:00
|
|
|
home-manager.useUserPackages = true;
|
2024-01-30 10:46:26 -08:00
|
|
|
home-manager.verbose = true;
|
|
|
|
|
home-manager.backupFileExtension = ".hm-bak";
|
2024-04-02 11:17:11 -07:00
|
|
|
home-manager.users.tao = import ./tao/HOME.nix {inherit inputs pkgs lib;};
|
2023-07-11 00:38:39 -07:00
|
|
|
}
|