95 lines
2 KiB
Nix
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 " > "
|
|
'';
|
|
};
|
|
};
|
|
}
|