]> Git — Sourcephile - julm/julm-nix.git/blob - home-manager/profiles/essential.nix
use/op(pcsc-tools): enable as essential
[julm/julm-nix.git] / home-manager / profiles / essential.nix
1 {
2 pkgs,
3 lib,
4 config,
5 nixosConfig,
6 ...
7 }:
8 {
9 imports = [
10 ./bash.nix
11 ./htop.nix
12 ./ssh.nix
13 ./tmux.nix
14 ];
15 programs.bat.enable = lib.mkDefault true;
16 home.packages = [
17 nixosConfig.boot.kernelPackages.cpupower
18 pkgs.acpi
19 pkgs.audit
20 pkgs.binutils
21 pkgs.bmon
22 pkgs.btop
23 pkgs.cryptsetup
24 pkgs.direnv
25 pkgs.dislocker
26 pkgs.dmidecode
27 pkgs.dool
28 pkgs.dust
29 pkgs.e2fsprogs
30 pkgs.efitools
31 pkgs.file
32 pkgs.fio
33 pkgs.fswatch
34 pkgs.gptfdisk
35 pkgs.hdparm
36 pkgs.hwinfo
37 pkgs.hyperfine
38 pkgs.i2c-tools # for decode-dimms
39 pkgs.inxi
40 pkgs.iotop
41 pkgs.iperf
42 pkgs.kernel-hardening-checker
43 pkgs.ldns
44 pkgs.lm_sensors
45 pkgs.lshw
46 pkgs.lsof
47 pkgs.lsscsi
48 pkgs.lzop # for syncoid
49 pkgs.mbuffer # for syncoid
50 pkgs.mkpasswd
51 pkgs.mmc-utils
52 pkgs.mokutil
53 #pkgs.moreutils
54 pkgs.multitail
55 pkgs.nethogs
56 pkgs.nload
57 pkgs.nmon
58 pkgs.nvme-cli
59 pkgs.p7zip
60 pkgs.parted
61 pkgs.pastel
62 pkgs.pciutils
63 pkgs.pcsc-tools
64 #pkgs.powertop
65 pkgs.procps
66 pkgs.pstree
67 pkgs.pv
68 pkgs.refind
69 pkgs.rsync
70 pkgs.s-tui
71 pkgs.sanoid
72 pkgs.sbctl # for Secure Boot
73 pkgs.smartmontools
74 pkgs.smem
75 pkgs.spectre-meltdown-checker
76 pkgs.strace
77 pkgs.stress-ng
78 pkgs.testdisk
79 pkgs.tpm2-tools
80 pkgs.tree
81 pkgs.usbutils
82 pkgs.util-linux
83 pkgs.which
84 ]
85 ++ lib.optionals nixosConfig.services.xserver.enable [
86 pkgs.gparted
87 pkgs.xdg-utils
88 ]
89 ++ pkgs.lib.optionals pkgs.stdenv.hostPlatform.isx86_64 [
90 pkgs.ncdu
91 ];
92 home.sessionPath = [ "${config.home.homeDirectory}/bin" ];
93 home.sessionVariables = {
94 EDITOR = "vi";
95 LANG = "fr_FR.UTF-8";
96 LESS = "-FRSX";
97 # NixOS generates a customized pkgs.glibcLocales in config.i18n.glibcLocales
98 #LOCALE_ARCHIVE = "${pkgs.glibcLocalesUtf8}/lib/locale/locale-archive";
99 MANPAGER = "less";
100 };
101 # Keep only the last generation of the home-manager profile
102 home.activation.delete-generations = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
103 if [ "$(${pkgs.coreutils}/bin/id -u)" = 0 ]
104 then profile="''${NIX_STATE_DIR:-/nix/var/nix}/profiles/per-user/$USER"
105 else profile="''${XDG_STATE_HOME:-$HOME/.local/state}"/nix/profiles
106 fi
107 ${nixosConfig.nix.package}/bin/nix-env --delete-generations +1 --profile "$profile"/home-manager
108 '';
109 }