{ lib, config, pkgs, inputs, ... }: with lib.hm.gvariant; { # 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.firefox 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.ffmpeg (pkgs.wrapOBS { plugins = with pkgs.obs-studio-plugins; [ droidcam-obs ]; }) # (pkgs.wrapOBS.override { # obs-studio = # (pkgs.obs-studio.override { # plugins = [ pkgs.obs-studio-plugins.droidcam-obs ]; # }) # ;}) # 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"; # nix = { # package = pkgs.nix; # settings.experimental-features = [ "nix-command" "flakes" ]; # }; # 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"; }; programs.kitty = { enable = true; }; # 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; }; programs.bash = { enable = true; initExtra = '' export EDITOR=emacs\ -nw ''; }; # programs.gdb = { # enable = true; # }; # home.file.".emacs.d" = { # source = inputs.emacs-config; # recursive = true; # }; # home.file.".config/obs-studio/droidcam-obs".source = pkgs.fetchzip { # url = "https://github.com/dev47apps/droidcam-obs-plugin/releases/download/2.3.2/droidcam_obs_2.3.2_linux_flatpak.zip"; # sha256 = "6IXNUtCqMYKmHDDpVvi8DFG4N5WfB+lyu/Xj7Qg0L70"; # stripRoot = false; # }; home.file.".face".source = builtins.fetchurl { url = "https://marq42.xyz/rena.webp"; sha256 = "10x3qvfdp79fmbbi7ljnqx419xmwpiyyr4pfxhynh3xq7fd0laz2"; }; # programs.dconf.enable = true; home.file.".local/share/backgrounds/mojave.jpg".source = builtins.fetchurl { url = "https://www.teahub.io/photos/full/154-1542362_mac-os-mojave-screenshot.jpg"; sha256 = "0vrcn44aibdsl1hc6n0jbp0znpwhcb4hyhbzs5690i1nrapcmyka"; }; dconf.settings = { "org/gnome/shell" = { "favorite-apps" = [ "org.gnome.Console.desktop" "firefox.desktop" "emacs.desktop" "org.gnome.Settings.desktop" "org.gnome.Nautilus.desktop" "btop.desktop" ]; }; "org/gnome/desktop/interface" = { "color-scheme" = "prefer-dark"; }; "org/gnome/mutter" = { "edge-tiling" = true; }; "org/gnome/desktop/background" = { "picture-uri" = "file:///home/mir/.local/share/backgrounds/mojave.jpg"; "picture-uri-dark" = "file:///home/mir/.local/share/backgrounds/mojave.jpg"; }; "org/gnome/desktop/screensaver" = { "picture-uri" = "file:///home/mir/.local/share/backgrounds/mojave.jpg"; "picture-uri-dark" = "file:///home/mir/.local/share/backgrounds/mojave.jpg"; }; "org/gnome/desktop/input-sources" = { "xkb-options" = [ "caps:escape" ]; }; "org/gnome/desktop/wm/preferences" = { "focus-mode" = "sloppy"; }; "org/gnome/settings-daemon/plugins/power" = { "idle-dim" = false; "sleep-inactive-ac-type" = "nothing"; }; "org/gnome/gnome-system-monitor" = { "current-tab" = "resources"; }; "org/gnome/desktop/interface" = { "show-battery-percentage" = true; }; "org/gnome/desktop/session" = { "idle-delay" = mkUint32 0; }; }; 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"; # }; }; # programs.obs-studio = { # enable = true; # # plugins = [ pkgs.obs-studio-plugins.droidcam-obs ]; # # package = (pkgs.wrapOBS { # # plugins = with pkgs.obs-studio-plugins; [ # # droidcam-obs # # ]; # # }); # }; services.gpg-agent = { enable = true; defaultCacheTtl = 1800; enableSshSupport = true; }; }