let sources = import ../sources.nix; hostname = "vm"; username = "leana"; in { config, lib, pkgs, ... }: let inherit (lib.modules) mkAliasOptionModule; in { imports = [ # # Shorthands # (mkAliasOptionModule ["me"] ["users" "users" username]) (mkAliasOptionModule ["hm"] ["home-manager" "users" username]) # # hostname # {_module.args = {inherit hostname;};} # # nixpkgs # { nixpkgs = { overlays = map import [ ../overlays/packages.nix ]; config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "posy-cursors" ]; }; system.nixos.version = lib.substring 0 8 sources.nixpkgs.rev; } # # NixOS modules # { services.xserver.windowManager.xmonad = { enable = true; enableContribAndExtras = true; }; services.xserver = { enable = true; autoRepeatDelay = 300; autoRepeatInterval = 40; }; services.xserver.displayManager.lightdm = { enable = true; background = "#000000"; # greeters.gtk.cursorTheme = { # name = "Posy_Cursor_Black"; # package = pkgs.posy-cursors; # size = 72; # }; }; } ../nixosModules/extra/layouts # # home-manager # (sources.home-manager + "/nixos") { home-manager = { useGlobalPkgs = true; useUserPackages = true; sharedModules = [{home.stateVersion = lib.mkDefault config.system.stateVersion;}]; }; hm.imports = [ # # hostname # {_module.args = {inherit hostname;};} # # home modules # ({nixosConfig, ...}: { programs.kitty.enable = true; programs.firefox.enable = true; home.packages = with pkgs; [ dmenu ]; xdg.configFile = { "xmonad".source = "${./vm/home/xmonad}"; }; home.pointerCursor = { x11.enable = true; gtk.enable = true; name = "Posy_Cursor_Black"; package = pkgs.posy-cursors; size = 72; }; }) ]; } { # VM specifics users.mutableUsers = false; me.password = ""; } { # Me programs.fish.enable = true; nix.settings.trusted-users = ["leana"]; users.users."leana" = { isNormalUser = true; home = "/home/leana"; description = "Leana"; group = "leana"; extraGroups = ["wheel"]; shell = pkgs.fish; openssh.authorizedKeys.keys = config.users.users.root.openssh.authorizedKeys.keys; }; users.groups.leana = {}; } ]; }