pumpkin: steam-run: install
[julm/julm-nix.git] / home-manager / profiles / essential.nix
index 0ace1bd71f0ed94a7b9a57cfdd737ab2391971c1..22a44b050c99093fd69be1c7ccd142c0de6bcba7 100644 (file)
@@ -1,64 +1,80 @@
-{ pkgs, lib, config, nixosConfig, ... }:
+{
+  pkgs,
+  lib,
+  config,
+  nixosConfig,
+  ...
+}:
 {
   imports = [
     ./bash.nix
-    ./direnv.nix
-    ./git.nix
-    #./gnupg.nix
     ./htop.nix
-    ./lf.nix
     ./ssh.nix
     ./tmux.nix
   ];
   programs.bat.enable = lib.mkDefault true;
-  programs.home-manager.enable = true;
-  home.packages = [
-    nixosConfig.boot.kernelPackages.cpupower
-    pkgs.acpi
-    pkgs.binutils
-    pkgs.cryptsetup
-    pkgs.dmidecode
-    pkgs.dstat
-    pkgs.e2fsprogs
-    pkgs.file
-    pkgs.gptfdisk
-    pkgs.hdparm
-    pkgs.hwinfo
-    pkgs.i2c-tools # for decode-dimms
-    pkgs.iotop
-    pkgs.iperf
-    pkgs.lm_sensors
-    pkgs.lshw
-    pkgs.lsof
-    pkgs.lsscsi
-    pkgs.mkpasswd
-    #pkgs.moreutils
-    pkgs.multitail
-    pkgs.ncdu
-    pkgs.nix-du
-    pkgs.nix-tree
-    pkgs.nload
-    pkgs.parted
-    pkgs.pass
-    pkgs.pciutils
-    #pkgs.powertop
-    pkgs.procps
-    pkgs.pstree
-    pkgs.pv
-    pkgs.smartmontools
-    pkgs.smem
-    pkgs.strace
-    pkgs.stress-ng
-    pkgs.testdisk
-    pkgs.tree
-    pkgs.usbutils
-    pkgs.util-linux
-    pkgs.which
-    pkgs.xdg-utils
-  ] ++ lib.optionals nixosConfig.services.xserver.enable [
-    pkgs.gparted
-    pkgs.otpclient
-  ];
+  home.packages =
+    [
+      nixosConfig.boot.kernelPackages.cpupower
+      pkgs.acpi
+      pkgs.audit
+      pkgs.binutils
+      pkgs.cryptsetup
+      pkgs.direnv
+      pkgs.dislocker
+      pkgs.dmidecode
+      pkgs.dstat
+      pkgs.dust
+      pkgs.e2fsprogs
+      pkgs.efitools
+      pkgs.file
+      pkgs.fio
+      pkgs.gptfdisk
+      pkgs.hdparm
+      pkgs.hwinfo
+      pkgs.hyperfine
+      pkgs.i2c-tools # for decode-dimms
+      pkgs.inxi
+      pkgs.iotop
+      pkgs.iperf
+      pkgs.kernel-hardening-checker
+      pkgs.ldns
+      pkgs.lm_sensors
+      pkgs.lshw
+      pkgs.lsof
+      pkgs.lsscsi
+      pkgs.mkpasswd
+      pkgs.mmc-utils
+      pkgs.mokutil
+      #pkgs.moreutils
+      pkgs.multitail
+      pkgs.nload
+      pkgs.parted
+      pkgs.pciutils
+      #pkgs.powertop
+      pkgs.procps
+      pkgs.pstree
+      pkgs.pv
+      pkgs.refind
+      pkgs.s-tui
+      pkgs.smartmontools
+      pkgs.smem
+      pkgs.spectre-meltdown-checker
+      pkgs.strace
+      pkgs.stress-ng
+      pkgs.testdisk
+      pkgs.tree
+      pkgs.usbutils
+      pkgs.util-linux
+      pkgs.which
+    ]
+    ++ lib.optionals nixosConfig.services.xserver.enable [
+      pkgs.gparted
+      pkgs.xdg-utils
+    ]
+    ++ pkgs.lib.optionals pkgs.stdenv.hostPlatform.isx86_64 [
+      pkgs.ncdu
+    ];
   home.sessionPath = [ "${config.home.homeDirectory}/bin" ];
   home.sessionVariables = {
     EDITOR = "vim";
     #LOCALE_ARCHIVE = "${pkgs.glibcLocalesUtf8}/lib/locale/locale-archive";
     MANPAGER = "less";
   };
+  # Keep only the last generation of the home-manager profile
+  home.activation.delete-generations = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
+    if [ "$(${pkgs.coreutils}/bin/id -u)" = 0 ]
+    then profile="''${NIX_STATE_DIR:-/nix/var/nix}/profiles/per-user/$USER"
+    else profile="''${XDG_STATE_HOME:-$HOME/.local/state}"/nix/profiles
+    fi
+    ${nixosConfig.nix.package}/bin/nix-env --delete-generations +1 --profile "$profile"/home-manager
+  '';
 }