flake/home-manager/cswimr.nix

83 lines
2.6 KiB
Nix
Executable file

{ pkgs, config, ... }: {
home.username = "cswimr";
home.homeDirectory = "/home/cswimr";
home.file = {
".face.icon".source =
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/assets/img/clownfish.png";
".config/fastfetch/config.jsonc".source =
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/fastfetch.jsonc";
".psqlrc".source =
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/.psqlrc";
".config/glow/glow.yml".source =
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/glow.yml";
".config/glow/theme.json".source =
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/themes/glow.json";
};
home.sessionPath = [ "/etc/nixos/scripts" ];
# 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 ];
# basic configuration of git, please change to your own
programs.git = {
enable = true;
userName = "cswimr";
userEmail = "seaswimmerthefsh@gmail.com";
extraConfig = {
user = { signingkey = "0EC431A8DA8F8087"; };
commit = { gpgsign = true; };
signing = {
signByDefault = true;
key = "0EC431A8DA8F8087";
};
init = { defaultBranch = "master"; };
safe = { directory = "/etc/nixos"; };
url = {
"git@coastalcommits.com:" = {
insteadOf =
[ "https://www.coastalcommits.com/" "cc:" "coastalcommits:" ];
};
"git@github.com:" = {
insteadOf = [ "https://github.com/" "gh:" "github:" ];
};
};
hub.protocol = "ssh";
};
};
# 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;
}