148 lines
4.3 KiB
Nix
148 lines
4.3 KiB
Nix
{ 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
|
|
# '';
|
|
# };
|
|
# };
|
|
}
|