nixos/home.nix

189 lines
4.7 KiB
Nix

{ 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.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";
};
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.".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";
# };
};
services.gpg-agent = {
enable = true;
defaultCacheTtl = 1800;
enableSshSupport = true;
};
}