1
0
Fork 0

home-manager: updates

- OVMF setup in home-manager activation script
 - add pkgs: virt-manager libvirt
 - move username out of linux.nix and darwin.nix into {hm,}flake.nix
This commit is contained in:
Pratham Patel 2024-02-17 18:10:46 +05:30
parent 0439257077
commit d1efeb5edb
Signed by: thefossguy
SSH Key Fingerprint: SHA256:/B3wAg7jnMEBQ2JwkebbS/eXVZANDmqRfnd9QkIhxMI
4 changed files with 49 additions and 28 deletions

View File

@ -1,16 +1,4 @@
{ config, lib, pkgs, ... }:
let
OVMFPkg = (pkgs.OVMF.override{
secureBoot = true;
tpmSupport = true;
}).fd;
OVMFBinName = if pkgs.stdenv.isAarch64 then "AAVMF"
else (
if pkgs.stdenv.isx86_64 then "OVMF"
else ""
);
in
{ config, lib, pkgs, OVMFPkg, OVMFBinName, ... }:
{
programs.home-manager.enable = true;
@ -105,6 +93,30 @@ in
};
};
# for raw QEMU VMs
home.activation = {
OVMFActivation = lib.hm.dag.entryAfter [ "installPackages" ] (if pkgs.stdenv.isx86_64 then ''
EDKII_CODE_NIX="${OVMFPkg}/FV/${OVMFBinName}_CODE.fd"
EDKII_VARS_NIX="${OVMFPkg}/FV/${OVMFBinName}_VARS.fd"
EDKII_DIR_HOME="$HOME/.local/share/edk2"
EDKII_CODE_HOME="$EDKII_DIR_HOME/EDKII_CODE"
EDKII_VARS_HOME="$EDKII_DIR_HOME/EDKII_VARS"
if [ -d "$EDKII_DIR_HOME" ]; then
rm -rf "$EDKII_DIR_HOME"
fi
mkdir -vp "$EDKII_DIR_HOME"
cp "$EDKII_CODE_NIX" "$EDKII_CODE_HOME"
cp "$EDKII_VARS_NIX" "$EDKII_VARS_HOME"
chown pratham:pratham "$EDKII_CODE_HOME" "$EDKII_VARS_HOME"
chmod 644 "$EDKII_CODE_HOME" "$EDKII_VARS_HOME"
'' else "");
};
# for libvirt, virt-manager, virsh
xdg.configFile = {
"libvirt/qemu.conf" = {
enable = true;

View File

@ -1,11 +1,8 @@
{ config, lib, pkgs, ... }:
let
me = "pratham";
in
{ config, lib, pkgs, whoAmI, ... }:
{
home.username = "${me}";
home.homeDirectory = "/Users/${me}";
home.username = "${whoAmI}";
home.homeDirectory = "/Users/${whoAmI}";
targets.darwin = {
currentHostDefaults = {

View File

@ -14,14 +14,24 @@
inherit system;
config.allowUnfree = true;
};
OVMFPkg = (pkgs.OVMF.override{
secureBoot = true;
tpmSupport = true;
}).fd;
OVMFBinName = if pkgs.stdenv.isAarch64 then "AAVMF"
else (
if pkgs.stdenv.isx86_64 then "OVMF"
else ""
);
whoAmI = "pratham";
in
{
packages.homeConfigurations = {
"pratham" = home-manager.lib.homeManagerConfiguration {
"${whoAmI}" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [
./home.nix
(if pkgs.stdenv.isLinux then ./linux.nix else ./darwin.nix)
./home.nix OVMFPkg OVMFBinName
(if pkgs.stdenv.isLinux then ./linux.nix whoAmI else ./darwin.nix whoAmI)
{
home.stateVersion = "23.11";
}

View File

@ -1,13 +1,15 @@
{ config, lib, pkgs, ... }:
let
me = "pratham";
in
{ config, lib, pkgs, whoAmI, ... }:
{
home.username = "${me}";
home.homeDirectory = "/home/${me}";
home.username = "${whoAmI}";
home.homeDirectory = "/home/${whoAmI}";
targets.genericLinux.enable = true;
environment.systemPackages = with pkgs; [
virt-manager
libvirt
];
systemd.user = {
timers = {
"update-flake-inputs" = {