flake/home-manager/user.nix

84 lines
2.8 KiB
Nix
Raw Normal View History

2024-12-02 15:56:32 -05:00
{ pkgs, config, user, ... }: {
home.username = user;
home.homeDirectory = "/home/${user}";
2024-11-16 13:38:09 -05:00
2024-11-18 16:49:06 -05:00
home.file = {
".face.icon".source =
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/assets/img/clownfish.png";
2024-11-25 15:38:15 -05:00
".config/fastfetch/config.jsonc".source =
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/fastfetch.jsonc";
".psqlrc".source =
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/.psqlrc";
2024-11-25 15:52:26 -05:00
".config/btop/btop.conf".source =
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/btop.conf";
".config/btop/themes/catppuccin_mocha.theme".source =
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/themes/btop.theme";
2024-11-25 15:38:15 -05:00
".config/glow/glow.yml".source =
2024-11-25 15:47:35 -05:00
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/glow.yml";
2024-11-25 15:38:15 -05:00
".config/glow/theme.json".source =
2024-11-25 15:47:35 -05:00
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/themes/glow.json";
};
2024-11-16 13:38:09 -05:00
# 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
# '';
# set cursor size and dpi for 4k monitor
xresources.properties = {
"Xcursor.size" = 16;
"Xft.dpi" = 172;
};
# Packages that should be installed to the user profile.
home.packages = with pkgs; [ vesktop ];
2024-11-16 13:38:09 -05:00
# basic configuration of git, please change to your own
programs.git = {
enable = true;
2024-12-02 15:56:32 -05:00
userName = user;
2024-11-16 13:38:09 -05:00
userEmail = "seaswimmerthefsh@gmail.com";
extraConfig = {
2024-11-16 17:26:53 -05:00
commit = { gpgsign = true; };
2024-11-18 16:49:06 -05:00
signing = {
signByDefault = true;
};
2024-11-16 13:38:09 -05:00
init = { defaultBranch = "master"; };
safe = { directory = "/etc/nixos"; };
url = {
"git@coastalcommits.com:" = {
2024-11-18 16:49:06 -05:00
insteadOf =
[ "https://www.coastalcommits.com/" "cc:" "coastalcommits:" ];
2024-11-16 13:38:09 -05:00
};
"git@github.com:" = {
2024-11-18 16:49:06 -05:00
insteadOf = [ "https://github.com/" "gh:" "github:" ];
2024-11-16 13:38:09 -05:00
};
};
2024-11-22 09:09:38 -05:00
hub.protocol = "ssh";
2024-11-16 13:38:09 -05: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.
#
# 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.
home.stateVersion = "24.05";
# Let home Manager install and manage itself.
programs.home-manager.enable = true;
}