{ lib, config, pkgs, nur, inputs, ... }: with lib.hm.gvariant; { imports = [ ./modules/dconf.nix ./modules/shell.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.file pkgs.findutils pkgs.wget pkgs.yt-dlp pkgs.mpv pkgs.fzf pkgs.nerdfonts pkgs.eza pkgs.python3 pkgs.unzip pkgs.devenv # pkgs.gnupg # pkgs.python3 # (pkgs.python3.withPackages( # ps: with ps; [ # epc sexpdata six pynput inflect # pyqt6 # # pyqt6-qt6 # pyqt6-sip])) # (pkgs.emacsWithPackagesFromUsePackage { # package = pkgs.emacs29-pgtk; # config = ~/.emacs.d/init.el; # extraEmacsPackages = epkgs: [ # epkgs.dash; # ] # }) # 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"; }; # environment.variables = rec { # EDITOR = "emacs -nw"; # }; home.sessionVariables = { EDITOR = "emacs"; 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"; }; }; # 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.firefox = { enable = true; profiles = { default = { id = 0; name = "default"; isDefault = true; settings = { "browser.startup.homepage" = "https://search.marq42.xyz"; "browser.search.defaultenginename" = "searx"; "borwser.search.order.1" = "searx"; }; search = { force = true; default = "searx"; order = [ "searx" "Google" ]; }; extensions = with pkgs.nur.repos.rycee.firefox-addons; [ ublock-origin vimium ]; }; }; }; # programs.gdb = { # enable = true; # }; # home.file.".emacs.d" = { # source = inputs.emacs-config; # recursive = true; # }; programs.hyfetch = { enable = true; settings = { preset = "genderfluid"; mode = "rgb"; color_align = { mode = "horizontal"; }; backend = "neofetch"; }; }; 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; }; }