]> Git — Sourcephile - julm/julm-nix.git/blob - home-manager/profiles/essential.nix
git: git-grep-edit: try to support spaces in names
[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.cryptsetup
23 pkgs.direnv
24 pkgs.dislocker
25 pkgs.dmidecode
26 pkgs.dool
27 pkgs.dust
28 pkgs.e2fsprogs
29 pkgs.efitools
30 pkgs.file
31 pkgs.fio
32 pkgs.fswatch
33 pkgs.gptfdisk
34 pkgs.hdparm
35 pkgs.hwinfo
36 pkgs.hyperfine
37 pkgs.i2c-tools # for decode-dimms
38 pkgs.inxi
39 pkgs.iotop
40 pkgs.iperf
41 pkgs.kernel-hardening-checker
42 pkgs.ldns
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.parted
59 pkgs.pastel
60 pkgs.pciutils
61 #pkgs.powertop
62 pkgs.procps
63 pkgs.pstree
64 pkgs.pv
65 pkgs.refind
66 pkgs.rsync
67 pkgs.s-tui
68 pkgs.sanoid
69 pkgs.sbctl # for Secure Boot
70 pkgs.smartmontools
71 pkgs.smem
72 pkgs.spectre-meltdown-checker
73 pkgs.strace
74 pkgs.stress-ng
75 pkgs.testdisk
76 pkgs.tpm2-tools
77 pkgs.tree
78 pkgs.usbutils
79 pkgs.util-linux
80 pkgs.which
81 ]
82 ++ lib.optionals nixosConfig.services.xserver.enable [
83 pkgs.gparted
84 pkgs.xdg-utils
85 ]
86 ++ pkgs.lib.optionals pkgs.stdenv.hostPlatform.isx86_64 [
87 pkgs.ncdu
88 ];
89 home.sessionPath = [ "${config.home.homeDirectory}/bin" ];
90 home.sessionVariables = {
91 EDITOR = "vim";
92 LANG = "fr_FR.UTF-8";
93 LESS = "-FRSX";
94 # NixOS generates a customized pkgs.glibcLocales in config.i18n.glibcLocales
95 #LOCALE_ARCHIVE = "${pkgs.glibcLocalesUtf8}/lib/locale/locale-archive";
96 MANPAGER = "less";
97 };
98 # Keep only the last generation of the home-manager profile
99 home.activation.delete-generations = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
100 if [ "$(${pkgs.coreutils}/bin/id -u)" = 0 ]
101 then profile="''${NIX_STATE_DIR:-/nix/var/nix}/profiles/per-user/$USER"
102 else profile="''${XDG_STATE_HOME:-$HOME/.local/state}"/nix/profiles
103 fi
104 ${nixosConfig.nix.package}/bin/nix-env --delete-generations +1 --profile "$profile"/home-manager
105 '';
106 }