63 lines
1.4 KiB
Nix
63 lines
1.4 KiB
Nix
{ pkgs, host, ... }:
|
|
let
|
|
hostServer = false;
|
|
in
|
|
{
|
|
home = {
|
|
stateVersion = "23.05"; # Please read the comment before changing.
|
|
packages =
|
|
with pkgs;
|
|
let
|
|
# packages to always install
|
|
all = [
|
|
ffmpeg
|
|
ripgrep
|
|
uv
|
|
];
|
|
# 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);
|
|
};
|
|
programs = {
|
|
# sort-lines:start
|
|
bat.enable = true;
|
|
btop.enable = true;
|
|
fd.enable = true;
|
|
hyfetch.enable = true;
|
|
zsh.enable = true;
|
|
# sort-lines:end
|
|
|
|
# use a git-specific email
|
|
git.userEmail = "git@paperclover.net";
|
|
|
|
ssh = {
|
|
enable = true;
|
|
matchBlocks = rec {
|
|
zenith = {
|
|
user = "clo";
|
|
port = 222;
|
|
};
|
|
"nas.paperclover.net" = zenith;
|
|
};
|
|
};
|
|
neovide = {
|
|
enable = !hostServer;
|
|
settings = {
|
|
font.normal = "AT Name Mono";
|
|
font.size = 13;
|
|
};
|
|
};
|
|
};
|
|
}
|