{ config, pkgs, user, ... }: let theme = pkgs.nordic; themeName = "Nordic"; colors = import ../colors; in { imports = [ ../vim.nix ../ranger.nix ../fcitx5 ../picom.nix ../i3.nix ../polybar ../rofi ../git.nix ../terminal.nix ]; home.file."./.background-image".source = ../wallpapers/${colors.wallpaper}; programs.home-manager.enable = true; gtk = { enable = true; iconTheme = { name = "${themeName}"; package = "${theme}"; }; theme = { name = "${themeName}"; package = "${theme}"; }; # Remove minimize, maximize, and close buttons gtk3.extraConfig = { gtk-decoration-layout = "appmenu:none"; }; gtk4.extraConfig = { gtk-decoration-layout = "appmenu:none"; }; }; qt = { enable = true; platformTheme = "gtk"; }; home = { username = "${user}"; homeDirectory = "/home/${user}"; stateVersion = "22.05"; packages = with pkgs; [ # Command line utilities wget neofetch pfetch fortune killall trash-cli # aliased to rm in .bashrc # Tray applications networkmanagerapplet # nm-applet nextcloud-client # GUI applications firefox discord #gnome.nautilus #gimp #krita #musescore ]; }; programs.bash = { enable = true; shellAliases = { g = "git"; ga = "g add"; gc = "g commit -m "; gu = "ga . && gc"; gs = "g status"; gi = "g init"; gp = "g push"; gf = "g pull"; gC = "g clone"; goops = "g reset --soft HEAD^"; v = "vim"; r = "ranger"; rm = "trash-put"; }; # Change to directory when exiting ranger with Q # https://github.com/ranger/ranger/issues/1554#issuecomment-491650123 bashrcExtra = '' function ranger { local IFS=$'\t\n' local tempfile="$(mktemp -t tmp.XXXXXX)" local ranger_cmd=( command ranger --cmd="map Q chain shell echo %d > "$tempfile"; quitall" ) ''${ranger_cmd[@]} "$@" if [[ -f "$tempfile" ]] && [[ "$(cat -- "$tempfile")" != "$(echo -n `pwd`)" ]]; then cd -- "$(cat "$tempfile")" || return fi command rm -f -- "$tempfile" 2>/dev/null } pfetch while true; do f=`fortune` if [ ''${#f} -lt 128 ]; then echo "''${f}" break fi done ''; }; }