2024-08-05 02:51:43 -07:00
|
|
|
{ inputs, config, pkgs, ... }:
|
|
|
|
|
|
|
|
{
|
|
|
|
home.username = "youwen";
|
|
|
|
home.homeDirectory = "/Users/youwen";
|
|
|
|
|
|
|
|
# link the configuration file in current directory to the specified location in home directory
|
|
|
|
# home.file.".config/i3/wallpaper.jpg".source = ./wallpaper.jpg;
|
|
|
|
|
|
|
|
# link all files in `./scripts` to `~/.config/i3/scripts`
|
|
|
|
# home.file.".config/i3/scripts" = {
|
|
|
|
# source = ./scripts;
|
|
|
|
# recursive = true; # link recursively
|
|
|
|
# executable = true; # make all files executable
|
|
|
|
# };
|
|
|
|
|
|
|
|
# encode the file content in nix configuration file directly
|
|
|
|
# home.file.".xxx".text = ''
|
|
|
|
# xxx
|
|
|
|
# '';
|
|
|
|
|
|
|
|
# Packages that should be installed to the user profile.
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
neofetch
|
|
|
|
|
|
|
|
# archives
|
|
|
|
zip
|
|
|
|
xz
|
|
|
|
unzip
|
|
|
|
p7zip
|
|
|
|
|
|
|
|
# utils
|
|
|
|
nurl # helps fetch git data for nixpkgs
|
|
|
|
|
|
|
|
# nix related
|
|
|
|
#
|
|
|
|
# it provides the command `nom` works just like `nix`
|
|
|
|
# with more details log output
|
|
|
|
nix-output-monitor
|
|
|
|
|
|
|
|
# dev tools
|
|
|
|
nodePackages_latest.pnpm
|
|
|
|
rustfmt
|
|
|
|
rust-analyzer
|
|
|
|
];
|
|
|
|
|
2024-08-05 17:42:31 -07:00
|
|
|
programs.git.extraConfig.commit.gpgsign = "false";
|
2024-08-05 02:51:43 -07:00
|
|
|
|
2024-08-05 17:42:31 -07:00
|
|
|
programs.oh-my-posh.enableZshIntegration = true;
|
2024-08-05 02:51:43 -07:00
|
|
|
|
|
|
|
programs.bash.enable = true;
|
|
|
|
programs.zsh.enable = true;
|
|
|
|
|
2024-08-05 18:11:20 -07:00
|
|
|
programs.kitty = {
|
|
|
|
enable = true;
|
|
|
|
theme = "Tokyo Night";
|
|
|
|
font.name = "CaskaydiaCove Nerd Font";
|
|
|
|
settings = {
|
2024-08-08 02:52:28 -07:00
|
|
|
font_size = 13;
|
2024-08-05 18:11:20 -07:00
|
|
|
window_padding_width = "8 8 0";
|
|
|
|
confirm_os_window_close = -1;
|
|
|
|
shell_integration = "enabled";
|
|
|
|
enable_audio_bell = "no";
|
|
|
|
background_opacity = "0.8";
|
|
|
|
hide_window_decorations = "titlebar-only";
|
2024-08-08 02:52:28 -07:00
|
|
|
background_blur = 32;
|
2024-08-05 18:11:20 -07:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-08-05 02:51:43 -07:00
|
|
|
# This value determines the home Manager release that your
|
|
|
|
# configuration is compatible with. This helps avoid breakage
|
|
|
|
# when a new home Manager release introduces backwards
|
|
|
|
# incompatible changes.
|
|
|
|
home.stateVersion = "24.05";
|
|
|
|
#
|
|
|
|
# You can update home Manager without changing this value. See
|
|
|
|
# the home Manager release notes for a list of state version
|
|
|
|
# changes in each release.
|
|
|
|
|
|
|
|
# Let home Manager install and manage itself.
|
|
|
|
programs.home-manager.enable = true;
|
|
|
|
|
|
|
|
}
|