]> Git — Sourcephile - julm/julm-nix.git/blob - home-manager/profiles/essential.nix
use/replace(drill -> q): q has much more features
[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.lm_sensors
44 pkgs.lshw
45 pkgs.lsof
46 pkgs.lsscsi
47 pkgs.lzop # for syncoid
48 pkgs.mbuffer # for syncoid
49 pkgs.mkpasswd
50 pkgs.mmc-utils
51 pkgs.mokutil
52 #pkgs.moreutils
53 pkgs.multitail
54 pkgs.nethogs
55 pkgs.nload
56 pkgs.nmon
57 pkgs.nvme-cli
58 pkgs.p7zip
59 pkgs.parted
60 pkgs.pastel
61 pkgs.pciutils
62 pkgs.pcsc-tools
63 #pkgs.powertop
64 pkgs.procps
65 pkgs.pstree
66 pkgs.pv
67 pkgs.q
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 }