home.nix
author Tomas Zeman <tomas@functionals.cz>
Wed, 20 May 2020 22:17:53 +0200
changeset 0 0bfc10663494
child 1 4a1d6dba7fe5
child 2 a71813720fef
permissions -rw-r--r--
Initialized nix-home repo.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     1
{ config, pkgs, ... }:
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     2
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     3
let
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     4
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     5
  my-nur = import /repos/NixOS/nur-packages {
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     6
    inherit pkgs;
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     7
  };
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     8
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     9
in
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    10
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    11
{
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    12
  home.file."bin/idea" = {
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    13
    text = ''
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    14
      #!${pkgs.bash}/bin/bash
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    15
      export JAVA_HOME=${pkgs.jetbrains.jdk}
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    16
      exec /opt/idea-IC-201.7223.91/bin/idea.sh
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    17
    '';
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    18
    executable = true;
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    19
  };
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    20
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    21
  home.packages = [
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    22
    my-nur.guilt
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    23
    pkgs.nix-direnv
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    24
  ];
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    25
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    26
  programs.bash = {
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    27
    enable = true;
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    28
    initExtra = ''
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    29
      export LC_CTYPE=cs_CZ.UTF-8
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    30
      unset LC_ALL
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    31
      eval `dircolors $HOME/.dir_colors`
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    32
      eval `keychain --eval --agents ssh,gpg`
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    33
      PS1='[\u@\h \W \D{%F %T}]\n\$ '
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    34
    '';
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    35
    sessionVariables = {
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    36
      HGEDITOR="~/bin/hgeditor";
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    37
    };
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    38
  };
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    39
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    40
  # Let Home Manager install and manage itself.
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    41
  programs.home-manager.enable = true;
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    42
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    43
  programs.direnv = {
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    44
    enable = true;
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    45
    enableBashIntegration = true;
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    46
    stdlib = ''
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    47
      if [ -f ~/.nix-profile/share/nix-direnv/direnvrc ]; then
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    48
        source ~/.nix-profile/share/nix-direnv/direnvrc
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    49
      fi
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    50
    '';
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    51
  };
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    52
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    53
  services.gpg-agent = {
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    54
    enable = true;
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    55
    pinentryFlavor = "gtk2";
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    56
    verbose = true;
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    57
  };
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    58
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    59
  # This value determines the Home Manager release that your
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    60
  # configuration is compatible with. This helps avoid breakage
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    61
  # when a new Home Manager release introduces backwards
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    62
  # incompatible changes.
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    63
  #
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    64
  # You can update Home Manager without changing this value. See
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    65
  # the Home Manager release notes for a list of state version
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    66
  # changes in each release.
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    67
  home.stateVersion = "20.03";
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    68
}
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    69
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    70
# vim: ts=2 sw=2 et