NOflake/users/tao.nix

174 lines
4 KiB
Nix
Raw Normal View History

2024-02-24 02:30:17 -08:00
{
inputs,
config,
pkgs,
...
}: {
2023-07-11 00:38:39 -07:00
users.users.tao.packages = with pkgs; [
2024-03-20 13:53:13 -07:00
inputs.plasma-manager.packages.${pkgs.system}.default
2023-09-30 22:39:53 -07:00
# enchant
2023-07-11 00:38:39 -07:00
# fractal
2024-02-27 10:26:58 -08:00
# joshuto
2023-07-18 22:14:59 -07:00
# libftdi
# libusb
2024-02-22 11:05:26 -08:00
# mendeley
2023-09-30 22:39:53 -07:00
# nuspell
2024-02-22 11:05:26 -08:00
# ocs-url
2024-03-18 14:50:43 -07:00
oculante
2024-02-27 10:26:58 -08:00
# onefetch
2023-09-30 22:39:53 -07:00
# slack
2024-02-27 10:26:58 -08:00
# tectonic
# texlab
2024-02-06 11:15:17 -08:00
# tio
2024-02-27 10:26:58 -08:00
# toastify
2024-03-28 23:57:47 -05:00
vial
2024-02-22 11:05:26 -08:00
# wkhtmltopdf
# yazi
2023-09-30 22:39:53 -07:00
appimage-run
2023-09-28 23:33:56 -07:00
aspell
aspellDicts.en
2023-09-30 22:09:06 -07:00
bottles
2024-02-06 11:15:17 -08:00
calibre
2023-09-28 23:33:56 -07:00
darktable
deluge
2023-10-09 17:54:57 -07:00
jellyfin-media-player
2024-01-30 09:32:08 -08:00
jellyfin-mpv-shim
2023-09-28 23:33:56 -07:00
keepassxc
2024-02-06 11:15:17 -08:00
leetcode-cli
2024-03-20 17:29:48 -07:00
# kdeconnect
2024-03-20 17:29:48 -07:00
# libsForQt5.kcharselect
# libsForQt5.kdeconnect-kde
# libsForQt5.plasma-integration
2024-03-23 01:24:31 -07:00
kdePackages.plasma-vault
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
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
snapper
2024-02-06 11:15:17 -08:00
starship
2023-11-01 18:58:21 -07:00
syncthingtray
2024-03-15 12:47:44 -07:00
taskwarrior
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
typst-lsp
2023-07-11 00:38:39 -07:00
virt-manager
2024-02-06 11:15:17 -08:00
wezterm
2024-03-18 14:50:43 -07:00
yt-dlp
2023-09-30 22:39:53 -07:00
zathura
2023-09-30 22:09:06 -07:00
zoom-us
2024-01-30 09:32:08 -08:00
zoxide
2024-03-18 14:50:43 -07:00
discord
2023-07-11 00:38:39 -07:00
];
2024-01-28 19:54:19 -08: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-02-24 02:50:02 -08:00
# virt
programs.dconf.enable = true;
virtualisation.libvirtd.enable = 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;
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-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-03-30 19:24:10 -07:00
"nocomputer".id = builtins.readFile config.age.secrets.syncthing-NOcomputer.path;
2024-04-01 17:38:14 -07:00
"nolaptop".id = builtins.readFile config.age.secrets.syncthing-NOlaptop.path;
2024-03-28 08:54:48 -07:00
};
2024-04-01 17:38:14 -07:00
folders = let
devs = [
"nocomputer"
"nolaptop"
];
in {
2024-03-30 19:24:10 -07:00
"sync" = {
path = "/home/tao/sync";
2024-04-01 17:38:14 -07:00
devices = devs;
2024-03-30 19:24:10 -07:00
};
"school" = {
path = "/home/tao/school";
2024-04-01 17:38:14 -07:00
devices = devs;
2024-03-30 19:24:10 -07:00
};
"projects" = {
path = "/home/tao/projects";
2024-04-01 17:38:14 -07:00
devices = devs;
2024-03-30 19:24:10 -07:00
};
2024-03-20 17:29:48 -07:00
# "pictures".path = "/home/tao/pictures";
};
};
2023-07-11 00:38:39 -07:00
};
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-02-19 22:41:58 -08:00
# obs virtual camera
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-03-04 21:26:49 -08:00
# stylix.autoEnable = false;
# stylix.image = /home/tao/Pictures/Wallpapers/DJI_0121.JPG;
# stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/dracula.yaml";
# stylix.fonts = with pkgs; {
# monospace = {
# package = nerdfonts.override {fonts = ["FiraCode"];};
# name = "FiraCode Nerd Font";
# };
# };
# stylix.targets = {
# console.enable = true;
# };
# home-manager.sharedModules = [
# {
# stylix.targets = {
# bat.enable = true;
# # firefox.enable = true;
# # helix.enable = true;
# kde.enable = true;
# nushell.enable = true;
# # wezterm.enable = true;
# zathura.enable = true;
# zellij.enable = true;
# };
# }
# ];
2024-02-27 10:26: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
2023-07-17 16:41:11 -07:00
];
2023-07-11 00:38:39 -07:00
users.users.tao = {
isNormalUser = true;
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-01-30 10:46:26 -08:00
home-manager.verbose = true;
home-manager.backupFileExtension = ".hm-bak";
2024-03-15 12:47:44 -07:00
home-manager.users.tao = import ./tao/HOME.nix {inherit inputs pkgs;};
2023-07-11 00:38:39 -07:00
}