{ pkgs, config, user, ... }: { home.username = user; home.homeDirectory = "/home/${user}"; 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/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"; ".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"; }; # 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 = user; userEmail = "seaswimmerthefsh@gmail.com"; extraConfig = { core = { editor = "code -w"; }; commit = { gpgsign = true; }; signing = { signByDefault = true; }; 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; }