diff --git a/nix/.ai-vm.nix.swp b/nix/.ai-vm.nix.swp deleted file mode 100644 index f931f4b..0000000 Binary files a/nix/.ai-vm.nix.swp and /dev/null differ diff --git a/nix/ai-server-1.nix b/nix/ai-server-1.nix new file mode 100644 index 0000000..b31461d --- /dev/null +++ b/nix/ai-server-1.nix @@ -0,0 +1,123 @@ +{ config, pkgs, ... }: + +{ + imports = + [ + + /etc/nixos/cachix.nix + ]; + + boot.loader.grub.enable = true; + boot.loader.grub.device = "/dev/vda"; + boot.loader.grub.useOSProber = true; + + networking.networkmanager.enable = true; + + time.timeZone = "America/Denver"; + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_US.UTF-8"; + }; + + #https://github.com/NixOS/nixpkgs/issues/103746#issuecomment-945091229 + systemd.services."getty@tty1".enable = false; + systemd.services."autovt@tty1".enable = false; + + services.xserver.enable = true; + services.displayManager = { + gdm.enable = true; + autoLogin = { + enable = true; + user = "alex"; + }; + }; + services.xserver.desktopManager.gnome.enable = true; + + # Configure keymap in X11 + services.xserver.xkb = { + layout = "us"; + variant = ""; + }; + services.pulseaudio.enable = false; + + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + + users.users.alex = { + isNormalUser = true; + description = "alex"; + extraGroups = [ "networkmanager" "wheel" "docker" "video" "render" "input" ]; + shell = pkgs.fish; + + packages = with pkgs; [ + lazydocker + btop + nvtopPackages.full + uv + git + tmux + vscode + ]; + }; + home-manager.users.alex = { pgks, ...}: { + home.stateVersion = "24.11"; + imports = [ + ./home-manager/ai-vm.home.nix + ]; + }; + + programs.firefox.enable = true; + nixpkgs.config.allowUnfree = true; + + system.stateVersion = "24.11"; # Did you read the comment? + + environment.systemPackages = with pkgs; [ + vim + libva-utils + vulkan-tools + ffmpeg + ]; + programs.nix-ld.enable = true; + + programs.fish.enable = true; + services.tailscale.enable = true; + services.openssh.enable = true; + virtualisation.docker.enable = true; + hardware.steam-hardware.enable = true; + + systemd.targets.sleep.enable = false; + systemd.targets.suspend.enable = false; + systemd.targets.hibernate.enable = false; + systemd.targets.hybrid-sleep.enable = false; + + services.flatpak.enable = true; + services.sunshine = { + enable = true; + autoStart = true; + capSysAdmin = true; + openFirewall = true; + }; + + xdg.portal.enable = true; + xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gnome ]; + xdg.portal.config.common.default = [ "gnome" ]; + + hardware.graphics = { + enable32Bit = true; + enable = true; + }; +}