nixos/home.nix

136 lines
3.1 KiB
Nix
Raw Normal View History

{ lib, config, pkgs, nur, inputs, ... }:
2024-02-25 15:34:13 -09:00
with lib.hm.gvariant;
2024-02-25 15:34:13 -09:00
{
2024-03-26 20:50:46 -08:00
imports = [
./modules/dconf.nix
./modules/shell.nix
./modules/firefox.nix
2024-03-26 20:50:46 -08:00
];
2024-02-25 15:34:13 -09:00
# 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
2024-02-25 15:34:13 -09:00
pkgs.file
pkgs.findutils
pkgs.wget
pkgs.yt-dlp
pkgs.mpv
2024-03-05 17:45:43 -09:00
pkgs.fzf
2024-02-25 21:51:21 -09:00
pkgs.nerdfonts
pkgs.eza
2024-03-23 12:36:27 -08:00
pkgs.python3
pkgs.unzip
2024-02-25 15:34:13 -09:00
# pkgs.gnupg
# pkgs.python3
2024-03-02 14:13:44 -09:00
# (pkgs.python3.withPackages(
# ps: with ps; [
# epc sexpdata six pynput inflect
# pyqt6
# # pyqt6-qt6
# pyqt6-sip]))
2024-02-25 15:34:13 -09:00
# (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 = {
2024-04-12 08:30:37 -08:00
# format from https://johns.codes/blog/organizing-system-configs-with-nixos
enable = true;
2024-04-12 08:30:37 -08:00
settings = {
font_family = "MesloLGS NF";
};
};
2024-02-25 15:34:13 -09:00
# environment.systemPackages = with pkgs; [
# (python3.withPackages(
# ps: with ps; [epc sexpdata six pynput inflect PyQt6 PyQt6-Qt6 PyQt6-sip]))
# ];
2024-02-25 21:49:40 -09:00
fonts.fontconfig.enable = true;
2024-02-25 15:34:13 -09:00
programs.git = {
enable = true;
package = pkgs.gitFull;
2024-02-25 15:34:13 -09:00
userName = "mir";
userEmail = "mirmarq428@gmail.com";
2024-03-23 12:36:08 -08:00
extraConfig = {
credential.helper = "store";
init.defaultBranch = "main";
};
2024-02-25 15:34:13 -09:00
};
# programs.gdb = {
# enable = true;
# };
2024-03-23 12:36:27 -08:00
# home.file.".emacs.d" = {
# source = inputs.emacs-config;
# recursive = true;
# };
2024-03-26 20:50:46 -08:00
2024-03-07 12:14:09 -09:00
programs.hyfetch = {
enable = true;
settings = {
preset = "nonbinary";
2024-03-07 12:14:09 -09:00
mode = "rgb";
color_align = {
mode = "horizontal";
};
backend = "fastfetch";
2024-03-07 12:14:09 -09:00
};
};
2024-02-25 15:34:13 -09:00
programs.gpg = {
2024-02-25 21:50:01 -09:00
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=";
# };
# });
2024-02-25 21:50:01 -09:00
# agent = {
# pinentryFlavor = "gnome3";
# };
2024-02-25 15:34:13 -09:00
};
services.gpg-agent = {
enable = true;
defaultCacheTtl = 1800;
enableSshSupport = true;
};
}