home.nix
author Tomas Zeman <tomas@functionals.cz>
Sun, 09 Jul 2023 13:00:41 +0200
changeset 26 3d5c050af88c
parent 25 99f0e6ebd406
child 28 10558c39473d
permissions -rw-r--r--
idea: fix for 23.1

{ config, pkgs, ... }:

let

  my-nur = import /repos/NixOS/nur-packages {
    inherit pkgs;
  };

in

{
  imports = [
    ./firefox.nix
    ./idea.nix
    ./mailcap.nix
    ./netbeans.nix
    ./sbt.nix
    ./scripts.nix
    ./ssh.nix
    ./priv
  ];

  home.file.".hgrc".text = ''
    [extensions]
    hgext.mq=
    hgext.graphlog=
    hgext.convert=
    transplant=

    [ui]
    username = Tomas Zeman <tomas@functionals.cz>
    editor = hgeditor

    [pager]
    pager = less -R

    [diff]
    git = 1

    [alias]
    spull = pull --remotecmd=sudohg
    spush = push --remotecmd=sudohg
    sclone = clone --remotecmd=sudohg

    [trusted]
    users = root
  '';

  home.packages = [
    my-nur.guilt
    my-nur.hgeditor
    pkgs.android-file-transfer
    pkgs.fossil
    pkgs.quilt
    pkgs.xorg.xwd     # X dump/screenshot
    pkgs.netpbm       # pnmtops
    pkgs.ghostscript
    pkgs.pdftk
    pkgs.qpdf
    pkgs.tig
  ];

  home.username = "tomas";
  home.homeDirectory = "/home/tomas";

  nixpkgs.config = import ./nixpkgs-config.nix;

  programs.autojump = {
    enable = true;
    enableBashIntegration = true;
  };

  programs.bash = {
    enable = true;
    initExtra = ''
      export LC_CTYPE=cs_CZ.UTF-8
      unset LC_ALL
      eval `dircolors $HOME/.dir_colors`
      eval `keychain --eval --agents ssh,gpg`
      PS1='[\u@\h \W \D{%F %T}]\n\$ '
    '';
    sessionVariables = {
      HGEDITOR="hgeditor";
    };
  };

  # Let Home Manager install and manage itself.
  programs.home-manager.enable = true;

  programs.direnv = {
    enable = true;
    enableBashIntegration = true;
    nix-direnv.enable = true;
  };

  services.gpg-agent = {
    enable = true;
    pinentryFlavor = "gtk2";
    verbose = true;
  };

  xdg.configFile."nixpkgs/config.nix".source = ./nixpkgs-config.nix;

  # 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 = "21.05";
}

# vim: ts=2 sw=2 et