Streamline base install
Don't install printers by default Don't install NetworkManager by default, as it pulls in WAY too many dependencies, including a full GUI suite Simplify the template
This commit is contained in:
+1
-2
@@ -24,7 +24,7 @@
|
|||||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||||
|
|
||||||
# Enable networking
|
# Enable networking
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = false;
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "America/Chicago";
|
time.timeZone = "America/Chicago";
|
||||||
@@ -73,7 +73,6 @@
|
|||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Greg Hellings";
|
description = "Greg Hellings";
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"networkmanager"
|
|
||||||
"wheel"
|
"wheel"
|
||||||
];
|
];
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ rec {
|
|||||||
vm-jellyfin = vm { name = "vm-jellyfin"; };
|
vm-jellyfin = vm { name = "vm-jellyfin"; };
|
||||||
jellyfin = vm-jellyfin;
|
jellyfin = vm-jellyfin;
|
||||||
vm-matrix = vm { name = "vm-matrix"; };
|
vm-matrix = vm { name = "vm-matrix"; };
|
||||||
|
proxmoxtemplate = unstable { name = "proxmoxtemplate"; };
|
||||||
|
|
||||||
iso = unstable { name = "iso"; };
|
iso = unstable { name = "iso"; };
|
||||||
# nix build '.#nixosConfigurations.wsl.config.system.build.installer'
|
# nix build '.#nixosConfigurations.wsl.config.system.build.installer'
|
||||||
|
|||||||
@@ -0,0 +1,55 @@
|
|||||||
|
# Edit this configuration file to define what should be installed on
|
||||||
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ # Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader = {
|
||||||
|
systemd-boot.enable = true;
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
];
|
||||||
|
|
||||||
|
greg = {
|
||||||
|
home = true;
|
||||||
|
tailscale.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = "proxmoxtemplate"; # Define your hostname.
|
||||||
|
# defaultGateway = {
|
||||||
|
# address = " 10.42.1.2";
|
||||||
|
# interface = "enp6s18";
|
||||||
|
# };
|
||||||
|
# interfaces = {
|
||||||
|
# enp6s18 = {
|
||||||
|
# ipv4.addresses = [
|
||||||
|
# {
|
||||||
|
# address = "10.42.1.8";
|
||||||
|
# prefixLength = 16;
|
||||||
|
# }
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
nameservers = [ "10.42.1.5" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "24.11"; # Did you read the comment?
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.users.greg = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Greg Hellings";
|
||||||
|
extraGroups = [ "wheel" ];
|
||||||
|
packages = with pkgs; [];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/507251f1-efe7-448d-8de8-91ee582a9afb";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/7115-EFA6";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp6s18.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
}
|
||||||
@@ -45,13 +45,13 @@
|
|||||||
settings.auto-optimise-store = true;
|
settings.auto-optimise-store = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# I am a fan of network manager, myself
|
# Network Manager pulls in too many deps
|
||||||
networking = {
|
networking = {
|
||||||
search = [
|
search = [
|
||||||
"thehellings.lan"
|
"thehellings.lan"
|
||||||
"home"
|
"home"
|
||||||
];
|
];
|
||||||
networkmanager.enable = true;
|
networkmanager.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.xonsh = {
|
programs.xonsh = {
|
||||||
@@ -79,7 +79,6 @@
|
|||||||
createHome = true;
|
createHome = true;
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"wheel"
|
"wheel"
|
||||||
"networkmanager"
|
|
||||||
]; # Enable ‘sudo’ for the user.
|
]; # Enable ‘sudo’ for the user.
|
||||||
shell = config.programs.xonsh.package;
|
shell = config.programs.xonsh.package;
|
||||||
initialPassword = "password";
|
initialPassword = "password";
|
||||||
|
|||||||
@@ -11,11 +11,7 @@ let
|
|||||||
in
|
in
|
||||||
with lib;
|
with lib;
|
||||||
{
|
{
|
||||||
options.greg.print.enable = mkOption {
|
options.greg.print.enable = mkEnableOption "Configures the system to print with my home printer";
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
description = "Configures the system to print with my home printer";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
# ipp://printer.thehellings.lan:631/ - generic postscript printer
|
# ipp://printer.thehellings.lan:631/ - generic postscript printer
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ in
|
|||||||
"net.ipv4.ip_forward" = "1";
|
"net.ipv4.ip_forward" = "1";
|
||||||
"net.ipv6.conf.all.forwarding" = "1";
|
"net.ipv6.conf.all.forwarding" = "1";
|
||||||
};
|
};
|
||||||
|
environment.systemPackages = [ config.services.tailscale.package ];
|
||||||
systemd.services.tailscaled.partOf = [ "network-online.target" ];
|
systemd.services.tailscaled.partOf = [ "network-online.target" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user