config/users/chloe/home.nix

69 lines
1.3 KiB
Nix
Raw Normal View History

2025-05-07 10:22:05 -07:00
{
inputs,
pkgs,
lib,
2025-05-08 00:19:14 -07:00
host,
2025-05-07 10:22:05 -07:00
...
2025-05-08 00:19:14 -07:00
}: let
hostServer = false;
in {
2025-05-07 10:22:05 -07:00
home = {
stateVersion = "23.05"; # Please read the comment before changing.
2025-05-08 00:19:14 -07:00
packages = with pkgs; let
# packages to always install
all = [
ffmpeg
ripgrep
2025-05-08 17:23:50 -07:00
uv
2025-05-08 00:19:14 -07:00
];
# packages to install for desktop environments (non-server)
desktop = [
];
# packages to install on all servers
server = [];
# packages to install on macOS desktops
darwin = [
raycast
];
# packages to install on linux desktops
linux = [
reaper # TODO: why does this break on macOS
];
in
all
++ (
if host.darwin
then darwin
else linux
)
++ (
if hostServer
then server
else desktop
);
2025-05-07 10:22:05 -07:00
};
programs = {
# sort-lines:start
2025-05-08 00:19:14 -07:00
bat.enable = true;
btop.enable = true;
fd.enable = true;
2025-05-07 10:22:05 -07:00
hyfetch.enable = true;
zsh.enable = true;
# sort-lines:end
# use a git-specific email
git.userEmail = "git@paperclover.net";
2025-05-08 00:19:14 -07:00
ssh = {
enable = true;
matchBlocks = rec {
zenith = {
user = "clo";
port = 222;
};
2025-05-08 16:52:46 -07:00
"nas.paperclover.net" = lib.mkIf zenith;
2025-05-08 00:19:14 -07:00
};
};
2025-05-07 10:22:05 -07:00
};
}