home.nix
author Tomas Zeman <tomas@functionals.cz>
Fri, 20 Dec 2024 09:18:58 +0100
changeset 30 fca959981afd
parent 28 10558c39473d
permissions -rw-r--r--
Upgrade -> 24.11 (+ removed fossil, moved to system pkgs)
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
{
1
4a1d6dba7fe5 idea launcher
Tomas Zeman <tomas@functionals.cz>
parents: 0
diff changeset
    12
  imports = [
23
4a9597fdc1ad firefox launchers
Tomas Zeman <tomas@functionals.cz>
parents: 22
diff changeset
    13
    ./firefox.nix
1
4a1d6dba7fe5 idea launcher
Tomas Zeman <tomas@functionals.cz>
parents: 0
diff changeset
    14
    ./idea.nix
5
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents: 4
diff changeset
    15
    ./mailcap.nix
24
856a264d045f netbeans
Tomas Zeman <tomas@functionals.cz>
parents: 23
diff changeset
    16
    ./netbeans.nix
8
035b86a56dc6 sbt launcher
Tomas Zeman <tomas@functionals.cz>
parents: 7
diff changeset
    17
    ./sbt.nix
9
ae433b7676e2 scripts: window-title
Tomas Zeman <tomas@functionals.cz>
parents: 8
diff changeset
    18
    ./scripts.nix
7
25cbbb689f97 ssh client config
Tomas Zeman <tomas@functionals.cz>
parents: 5
diff changeset
    19
    ./ssh.nix
25cbbb689f97 ssh client config
Tomas Zeman <tomas@functionals.cz>
parents: 5
diff changeset
    20
    ./priv
1
4a1d6dba7fe5 idea launcher
Tomas Zeman <tomas@functionals.cz>
parents: 0
diff changeset
    21
  ];
0
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    22
15
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    23
  home.file.".hgrc".text = ''
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    24
    [extensions]
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    25
    hgext.mq=
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    26
    hgext.graphlog=
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    27
    hgext.convert=
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    28
    transplant=
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    29
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    30
    [ui]
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    31
    username = Tomas Zeman <tomas@functionals.cz>
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    32
    editor = hgeditor
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    33
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    34
    [pager]
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    35
    pager = less -R
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    36
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    37
    [diff]
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    38
    git = 1
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    39
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    40
    [alias]
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    41
    spull = pull --remotecmd=sudohg
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    42
    spush = push --remotecmd=sudohg
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    43
    sclone = clone --remotecmd=sudohg
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    44
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    45
    [trusted]
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    46
    users = root
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    47
  '';
070c8c2a6a62 .hgrc managed by home-manager.
Tomas Zeman <tomas@functionals.cz>
parents: 14
diff changeset
    48
0
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    49
  home.packages = [
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    50
    my-nur.guilt
3
27522465c8a6 hgeditor package
Tomas Zeman <tomas@functionals.cz>
parents: 2
diff changeset
    51
    my-nur.hgeditor
16
f95667c50320 pkgs.android-file-transfer
Tomas Zeman <tomas@functionals.cz>
parents: 15
diff changeset
    52
    pkgs.android-file-transfer
13
21b163f36071 quilt pkg
Tomas Zeman <tomas@functionals.cz>
parents: 12
diff changeset
    53
    pkgs.quilt
11
59c22f11b270 packages for taking screenshots
Tomas Zeman <tomas@functionals.cz>
parents: 9
diff changeset
    54
    pkgs.xorg.xwd     # X dump/screenshot
59c22f11b270 packages for taking screenshots
Tomas Zeman <tomas@functionals.cz>
parents: 9
diff changeset
    55
    pkgs.netpbm       # pnmtops
59c22f11b270 packages for taking screenshots
Tomas Zeman <tomas@functionals.cz>
parents: 9
diff changeset
    56
    pkgs.ghostscript
20
ab2a7f653156 pdftk package
Tomas Zeman <tomas@functionals.cz>
parents: 19
diff changeset
    57
    pkgs.pdftk
22
2162f44d9a3a home: qpdf (decrypt mBank files)
Tomas Zeman <tomas@functionals.cz>
parents: 21
diff changeset
    58
    pkgs.qpdf
25
99f0e6ebd406 tig package
Tomas Zeman <tomas@functionals.cz>
parents: 24
diff changeset
    59
    pkgs.tig
0
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    60
  ];
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    61
21
a6ca4dbd5316 Upgrade -> 21.05 (incl. stateVersion)
Tomas Zeman <tomas@functionals.cz>
parents: 20
diff changeset
    62
  home.username = "tomas";
a6ca4dbd5316 Upgrade -> 21.05 (incl. stateVersion)
Tomas Zeman <tomas@functionals.cz>
parents: 20
diff changeset
    63
  home.homeDirectory = "/home/tomas";
a6ca4dbd5316 Upgrade -> 21.05 (incl. stateVersion)
Tomas Zeman <tomas@functionals.cz>
parents: 20
diff changeset
    64
14
30c184da8c38 nixpkgs-config.nix: share config.nix for nix-* and home-manager
Tomas Zeman <tomas@functionals.cz>
parents: 13
diff changeset
    65
  nixpkgs.config = import ./nixpkgs-config.nix;
30c184da8c38 nixpkgs-config.nix: share config.nix for nix-* and home-manager
Tomas Zeman <tomas@functionals.cz>
parents: 13
diff changeset
    66
19
dc56fca2ff30 Upgrade -> 20.09
Tomas Zeman <tomas@functionals.cz>
parents: 16
diff changeset
    67
  programs.autojump = {
dc56fca2ff30 Upgrade -> 20.09
Tomas Zeman <tomas@functionals.cz>
parents: 16
diff changeset
    68
    enable = true;
dc56fca2ff30 Upgrade -> 20.09
Tomas Zeman <tomas@functionals.cz>
parents: 16
diff changeset
    69
    enableBashIntegration = true;
dc56fca2ff30 Upgrade -> 20.09
Tomas Zeman <tomas@functionals.cz>
parents: 16
diff changeset
    70
  };
dc56fca2ff30 Upgrade -> 20.09
Tomas Zeman <tomas@functionals.cz>
parents: 16
diff changeset
    71
0
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    72
  programs.bash = {
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    73
    enable = true;
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    74
    initExtra = ''
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    75
      export LC_CTYPE=cs_CZ.UTF-8
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    76
      unset LC_ALL
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    77
      eval `dircolors $HOME/.dir_colors`
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    78
      eval `keychain --eval --agents ssh,gpg`
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    79
      PS1='[\u@\h \W \D{%F %T}]\n\$ '
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    80
    '';
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    81
    sessionVariables = {
3
27522465c8a6 hgeditor package
Tomas Zeman <tomas@functionals.cz>
parents: 2
diff changeset
    82
      HGEDITOR="hgeditor";
0
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    83
    };
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    84
  };
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    85
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    86
  # Let Home Manager install and manage itself.
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    87
  programs.home-manager.enable = true;
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    88
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    89
  programs.direnv = {
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    90
    enable = true;
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    91
    enableBashIntegration = true;
21
a6ca4dbd5316 Upgrade -> 21.05 (incl. stateVersion)
Tomas Zeman <tomas@functionals.cz>
parents: 20
diff changeset
    92
    nix-direnv.enable = true;
0
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    93
  };
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    94
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    95
  services.gpg-agent = {
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    96
    enable = true;
28
10558c39473d Upgrade -> 24.05 (incl. stateVersion)
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    97
    enableBashIntegration = true;
10558c39473d Upgrade -> 24.05 (incl. stateVersion)
Tomas Zeman <tomas@functionals.cz>
parents: 25
diff changeset
    98
    pinentryPackage = pkgs.pinentry-curses;
0
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    99
    verbose = true;
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   100
  };
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   101
14
30c184da8c38 nixpkgs-config.nix: share config.nix for nix-* and home-manager
Tomas Zeman <tomas@functionals.cz>
parents: 13
diff changeset
   102
  xdg.configFile."nixpkgs/config.nix".source = ./nixpkgs-config.nix;
30c184da8c38 nixpkgs-config.nix: share config.nix for nix-* and home-manager
Tomas Zeman <tomas@functionals.cz>
parents: 13
diff changeset
   103
0
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   104
  # This value determines the Home Manager release that your
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   105
  # configuration is compatible with. This helps avoid breakage
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   106
  # when a new Home Manager release introduces backwards
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   107
  # incompatible changes.
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   108
  #
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   109
  # You can update Home Manager without changing this value. See
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   110
  # the Home Manager release notes for a list of state version
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   111
  # changes in each release.
30
fca959981afd Upgrade -> 24.11 (+ removed fossil, moved to system pkgs)
Tomas Zeman <tomas@functionals.cz>
parents: 28
diff changeset
   112
  home.stateVersion = "24.11";
0
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   113
}
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   114
0bfc10663494 Initialized nix-home repo.
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
   115
# vim: ts=2 sw=2 et