nix-flakes/hosts/server/hikari/hako/home.nix
2026-09-07 11:27:09 +09:00

95 lines
2 KiB
Nix

{
pkgs,
inputs,
...
}:
let
nr = import "${inputs.self}/modules/mizukios/features/packages/nr.nix" { inherit pkgs; };
nrr = import "${inputs.self}/modules/mizukios/features/packages/nrr.nix" { inherit pkgs; };
concord = pkgs.writeShellScriptBin "concord" ''
set -eu
runtime_dir="''${XDG_RUNTIME_DIR:-/tmp}"
session_dir="$(mktemp -d "$runtime_dir/concord-session.XXXXXX")"
cleanup() {
rm -rf -- "$session_dir"
}
trap cleanup EXIT
trap 'exit 129' HUP
trap 'exit 130' INT
trap 'exit 143' TERM
config_home="$session_dir/config"
state_home="$session_dir/state"
mkdir -p "$config_home" "$state_home"
cat > "$config_home/config.toml" <<'EOF'
[credentials]
store = "plain"
EOF
XDG_CONFIG_HOME="$config_home" \
XDG_STATE_HOME="$state_home" \
"${inputs.concord.packages.${pkgs.system}.default}/bin/concord" "$@"
'';
in
{
home.stateVersion = "26.05";
home.username = "imnyang";
home.homeDirectory = "/home/imnyang";
home.packages = [
concord
nr
nrr
];
home.sessionVariables = {
EDITOR = "nano";
VISUAL = "nano";
};
programs.fish = {
enable = true;
shellAliases = {
".." = "cd ..";
"..." = "cd ../..";
ls = "eza";
ll = "eza -l";
la = "eza -a";
lla = "eza -la";
rebuild = "sudo nixos-rebuild switch --flake .#hako";
update = "nix flake update";
clean = "sudo nix-collect-garbage -d";
};
interactiveShellInit = ''
set -g fish_greeting ""
set -g fish_color_command blue
set -g fish_color_error red
set -g fish_color_param cyan
'';
functions = {
fish_prompt = ''
set_color purple
echo -n (whoami)
set_color normal
echo -n "@"
set_color green
echo -n (hostname)
set_color normal
echo -n ":"
set_color blue
echo -n (prompt_pwd)
set_color normal
echo -n " > "
'';
};
};
}