config/users/clover/home.nix
chloe caruso 38a0ff6959 chore: rename chloe -> clover, julia -> fish
names are fun. for a few weeks i've been presenting publicly with the
name 'clover', and i like it a lot. for me it's sort of a name tier,
where friends can call me chloe for short, but my full name is clover.
(and for people very close to me, there's more names to unlock).

julia to fish is from a misunderstanding. i used the name julia with her
a lot because it sounded more like a usual name, so i assumed it was.
but no, that's just a nickname. an extra option. her preferred name is
fish. simple as. i am sorry for this confusion.
2025-08-18 00:44:21 -07:00

105 lines
2.3 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.override {
withSvtav1 = true;
})
ripgrep
uv
nh
pkgs.autofmt
];
# packages to install for desktop environments (non-server)
desktop = [
git-town
lazygit
];
# 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;
# sort-lines:end
ghostty = {
enable = true;
shader = "cursor-smear-black.glsl";
package = null;
settings = {
theme = "light:catppuccin-latte,dark:catppuccin-macchiato";
font-family = "AT Name Mono";
adjust-cursor-thickness = 1;
minimum-contrast = 1.1;
background-opacity = 0.9;
background-blur = true;
};
};
# zsh is the shell i use
zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
history.size = 10000;
shellAliases = {
switch = "nh darwin switch ~/config";
};
profileExtra = ''
function python() {
dirname=$(dirname $1 2>/dev/null)
if [ -z "$dirname" ]; then
dirname=$(pwd)
fi
uv run --project "$dirname" "$@"
}
'';
};
# 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;
};
};
};
}