{ lib, config, pkgs, nur, inputs, ... }: with lib.hm.gvariant; { imports = [ # ./modules/dconf.nix # ./modules/shell.nix ./modules/firefox.nix # ./modules/sway.nix ./modules/emacs.nix ]; # Home Manager needs a bit of information about you and the # paths it should manage. home.username = "mir"; home.homeDirectory = "/home/mir"; home.packages = [ pkgs.btop pkgs.killall pkgs.gdb pkgs.neofetch pkgs.fastfetch pkgs.file pkgs.findutils pkgs.wget pkgs.yt-dlp pkgs.mpv pkgs.fzf pkgs.nerdfonts pkgs.eza pkgs.python3 pkgs.unzip # pkgs.gnupg # pkgs.python3 # (pkgs.python3.withPackages( # ps: with ps; [ # epc sexpdata six pynput inflect # pyqt6 # # pyqt6-qt6 # pyqt6-sip])) # pkgs.fetchFromGitHub ]; # 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 = "23.05"; # Let Home Manager install and manage itself. programs.home-manager = { enable = true; # version = "23.11"; }; home.sessionVariables = { TERMINAL = "kitty"; TERM_PROGRAM = "kitty"; BROWSER = "firefox"; MOZ_USE_XINPUT2 = "1"; }; programs.kitty = { # format from https://johns.codes/blog/organizing-system-configs-with-nixos enable = true; settings = { font_family = "MesloLGS NF"; background_opacity = "0.8"; }; }; # environment.systemPackages = with pkgs; [ # (python3.withPackages( # ps: with ps; [epc sexpdata six pynput inflect PyQt6 PyQt6-Qt6 PyQt6-sip])) # ]; fonts.fontconfig.enable = true; programs.git = { enable = true; package = pkgs.gitFull; userName = "mir"; userEmail = "mirmarq428@gmail.com"; extraConfig = { credential.helper = "store"; init.defaultBranch = "main"; }; }; # programs.gdb = { # enable = true; # }; programs.gpg = { enable = true; # package = pkgs.gnupg.overrideAttrs (orig: { # version = "2.4.0"; # src = pkgs.fetchurl { # url = "mirror://gnupg/gnupg/gnupg-2.4.0.tar.bz2"; # hash = "sha256-HXkVjdAdmSQx3S4/rLif2slxJ/iXhOosthDGAPsMFIM="; # }; # }); # agent = { # pinentryFlavor = "gnome3"; # }; }; services.gpg-agent = { enable = true; defaultCacheTtl = 1800; enableSshSupport = true; }; # programs.bash.enable = true; # programs.bash.profileExtra = lib.mkAfter '' # rm -rf ${config.home.homeDirectory}/.local/share/applications/home-manager # rm -rf ${config.home.homeDirectory}/.icons/nix-icons # ls ${config.home.homeDirectory}/.nix-profile/share/applications/*.desktop > ${config.home.homeDirectory}/.cache/current_desktop_files.txt # ''; # home.activation = { # linkDesktopApplications = { # after = ["writeBoundary" "createXdgUserDirectories"]; # before = []; # data = '' # rm -rf ${config.home.homeDirectory}/.local/share/applications/home-manager # rm -rf ${config.home.homeDirectory}/.icons/nix-icons # mkdir -p ${config.home.homeDirectory}/.local/share/applications/home-manager # mkdir -p ${config.home.homeDirectory}/.icons # ln -sf ${config.home.homeDirectory}/.nix-profile/share/icons ${config.home.homeDirectory}/.icons/nix-icons # # # Check if the cached desktop files list exists # if [ -f ${config.home.homeDirectory}/.cache/current_desktop_files.txt ]; then # current_files=$(cat ${config.home.homeDirectory}/.cache/current_desktop_files.txt) # else # current_files="" # fi # # # Symlink new desktop entries # for desktop_file in ${config.home.homeDirectory}/.nix-profile/share/applications/*.desktop; do # if ! echo "$current_files" | grep -q "$(basename $desktop_file)"; then # ln -sf "$desktop_file" ${config.home.homeDirectory}/.local/share/applications/home-manager/$(basename $desktop_file) # fi # done # # # Update desktop database # ${pkgs.desktop-file-utils}/bin/update-desktop-database ${config.home.homeDirectory}/.local/share/applications # ''; # }; # }; }