.files/nix/configurations/vm.nix
2025-05-28 17:07:19 +02:00

105 lines
2.3 KiB
Nix

let
sources = import ../sources.nix;
username = "leana";
in
{
config,
lib,
pkgs,
...
}: let
inherit (lib.modules) mkAliasOptionModule;
in {
imports = [
(mkAliasOptionModule ["me"] ["users" "users" username])
(mkAliasOptionModule ["hm"] ["home-manager" "users" username])
# ../nixosModules/extra/layouts
(sources.home-manager + "/nixos")
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
sharedModules = [{home.stateVersion = lib.mkDefault config.system.stateVersion;}];
};
}
];
nixpkgs.config.allowUnfree = true;
system.nixos.version = lib.substring 0 8 sources.nixpkgs.rev;
# Window manager
services.xserver.windowManager.xmonad = {
enable = true;
enableContribAndExtras = true;
};
services.xserver = {
enable = true;
autoRepeatDelay = 300;
autoRepeatInterval = 40;
};
services.xserver.displayManager.lightdm = {
enable = true;
# This seems to effect the root window
# However adding this doesn't make the cursor work
greeters.gtk.cursorTheme = {
name = "Posy_Cursor_Black";
package = pkgs.posy-cursors;
size = 72;
};
};
hm = {nixosConfig, ...}: {
home.packages = [pkgs.xterm pkgs.dconf];
programs.alacritty.enable = true;
programs.kitty.enable = true;
xdg.configFile = {
"xmonad/xmonad.hs".text = ''
import XMonad
main :: IO ()
main =
xmonad
$ def
{ modMask = mod4Mask
, terminal = "xterm"
}
'';
};
home.pointerCursor = {
x11.enable = true;
gtk.enable = true;
name = "Posy_Cursor_Black";
package = pkgs.posy-cursors;
size = 72;
};
gtk = {
enable = true;
};
xsession = {
enable = true;
};
};
# VM specifics
users.mutableUsers = false;
me.password = "";
# Me
nix.settings.trusted-users = ["leana"];
users.users."leana" = {
isNormalUser = true;
home = "/home/leana";
description = "Leana";
group = "leana";
extraGroups = ["wheel"];
shell = pkgs.bash;
};
users.groups.leana = {};
}