~kaction/config

ref: a549523bfb364f9f9d0766477e804d9f020038ea config/universe/default.nix -rw-r--r-- 2.2 KiB
a549523b — Dmitry Bogatov Merge branch 'snapshot-20.09' 8 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
{ pkgs, use-hardware-token ? false }:
let
  inherit (pkgs.lib) isDerivation filterAttrs attrValues optionals;
  outputs = drv: [ drv ] ++ attrValues (filterAttrs (_: isDerivation) drv);

  # This is sanity check that I actually managed to get overrides right
  # to avoid useless dependencies or correctly use static version
  # everwhyere.
  banished = with pkgs; builtins.concatLists (map outputs [
    pristine-execline
    systemd
    pam
    kerberos
    dbus
    coreutils
    man
    acl
    attr
    libusb1
    xorg.libX11
  ]);
  drv = with pkgs; buildEnv {
    name = "universe-13";
    paths = [
      Documentation
      acpi # Check battery status
      attach-shell
      bmake # Not GNU Make, to learn about Make portability
      busybox # simpler than coreutils
      curl
      diohsc
      dvtm
      dropbox_uploader
      dhall
      dhall-bash
      dhall-json
      dhall-lsp-server
      fasm
      fasm-arch
      file # This is part of base system.
      gdb
      git
      git-bug
      git-recall
      hub
      gnupg
      groff
      kpcli
      htop
      jq # json dominated web, and it is probably good
      less
      man-pages # syscall and libc library reference.
      msmtp
      mpop
      mutt
      newsboat
      nix # unstable Nix with flakes support
      ## nixfmt
      nnn # file manager for poorly named files
      openssh
      pkgsStatic.par # Like fmt(1), but better.
      pass
      posix_man_pages # busybox does not provide manpages
      postgresql_10.doc # My ${dayjob} uses Postgres-10
      postgresql_10.man
      psql # client-only
      pstree # overview of processes running on the system.
      python3.pkgs.md2gemini
      rename # mass rename of files
      reuse # automatic management of copyright headers.
      rsync
      srht-ui
      selectors
      strace # When things break, and they break all the time.
      surfraw
      tig
      tree # Useful to inspect result of Nix derivation build
      trezord
      uenv
      urlview # open links in email
      vim
      w3m # Web-browser that supports tables
    ] ++ optionals use-hardware-token [
      python3.pkgs.trezor
      python3.pkgs.trezor_agent
      ssh-env
    ];
  };
in drv.overrideAttrs (_: { disallowedRequisites = banished; })