production client
This commit is contained in:
		
							parent
							
								
									8c8587e59a
								
							
						
					
					
						commit
						8a48849432
					
				
							
								
								
									
										20
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								flake.nix
									
									
									
									
									
								
							| @ -36,6 +36,17 @@ | ||||
|             }) | ||||
|           ]; | ||||
|         }; | ||||
|         lkk-prod-1 = lib.nixosSystem { | ||||
|           specialArgs = { inherit inputs; }; | ||||
|           modules = [ | ||||
|             allowUnfree | ||||
|             ./hosts/lkk-prod-1 | ||||
|             agenix.nixosModules.default | ||||
|             ({ config, pkgs, ... }: { | ||||
|               nixpkgs.overlays = [ overlay-unstable ]; | ||||
|             }) | ||||
|           ]; | ||||
|         }; | ||||
|       }; | ||||
|       homeConfigurations = { | ||||
|         # Laptop | ||||
| @ -61,6 +72,15 @@ | ||||
|             self.nixosConfigurations.lkk-nix-1; | ||||
|         }; | ||||
|       }; | ||||
|       deploy.nodes.lkk-prod-1 = { | ||||
|         hostname = "lkk-prod-1"; | ||||
|         sshUser = "root"; | ||||
|         profiles.system = { | ||||
|           user = "root"; | ||||
|           path = deploy-rs.lib.x86_64-linux.activate.nixos | ||||
|             self.nixosConfigurations.lkk-prod-1; | ||||
|         }; | ||||
|       }; | ||||
|       deploy.remoteBuild = true; | ||||
|     }; | ||||
| } | ||||
|  | ||||
							
								
								
									
										14
									
								
								home/features/desktop/plasma.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								home/features/desktop/plasma.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | ||||
| 
 | ||||
| { pkgs, lib, outputs, ... }: | ||||
| { | ||||
|   imports = [ | ||||
|     # | ||||
|   ]; | ||||
| 
 | ||||
|   home.packages = with pkgs; [ | ||||
|     alacritty | ||||
|     brave | ||||
|     libreoffice | ||||
|     nextcloud-client | ||||
|   ]; | ||||
| } | ||||
							
								
								
									
										15
									
								
								home/users/produktion/#lkk-prod-1.nix#
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								home/users/produktion/#lkk-prod-1.nix#
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | ||||
| { config, pkgs, ... }: { | ||||
|   imports = [ | ||||
|     ./base | ||||
|     ../../features/cli | ||||
|     ../../features/desktop/plasma.nix ]; | ||||
| 
 | ||||
|   features = { | ||||
|     cli = { | ||||
|       fish.enable = true; | ||||
|       starship.enable = true; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   home.stateVersion = "22.11"; | ||||
| } | ||||
							
								
								
									
										14
									
								
								home/users/produktion/base/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								home/users/produktion/base/default.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | ||||
| { config, lib, pkgs, ... }: | ||||
| let | ||||
| 
 | ||||
| in { | ||||
|   programs = { | ||||
|     home-manager.enable = true; | ||||
|     git.enable = true; | ||||
|   }; | ||||
| 
 | ||||
|   home = { | ||||
|     username = lib.mkDefault "produktion"; | ||||
|     homeDirectory = lib.mkDefault "/home/${config.home.username}"; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										16
									
								
								home/users/produktion/lkk-prod-1.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								home/users/produktion/lkk-prod-1.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| { config, pkgs, ... }: { | ||||
|   imports = [ | ||||
|     ./base | ||||
|     ../../features/cli | ||||
|     ../../features/desktop/plasma.nix | ||||
|   ]; | ||||
| 
 | ||||
|   features = { | ||||
|     cli = { | ||||
|       fish.enable = true; | ||||
|       starship.enable = true; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   home.stateVersion = "22.11"; | ||||
| } | ||||
							
								
								
									
										14
									
								
								hosts/common/users/produktion/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								hosts/common/users/produktion/default.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | ||||
| { config, pkgs, lib, outputs, ... }: { | ||||
|   users.users.produktion = { | ||||
|      | ||||
|     isNormalUser = true; | ||||
|     description = "Produktion"; | ||||
|     openssh.authorizedKeys.keys = [ | ||||
|       "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3YEmpYbM+cpmyD10tzNRHEn526Z3LJOzYpWEKdJg8DaYyPbDn9iyVX30Nja2SrW4Wadws0Y8DW+Urs25/wVB6mKl7jgPJVkMi5hfobu3XAz8gwSdjDzRSWJrhjynuaXiTtRYED2INbvjLuxx3X8coNwMw58OuUuw5kNJp5aS2qFmHEYQErQsGT4MNqESe3jvTP27Z5pSneBj45LmGK+RcaSnJe7hG+KRtjuhjI7RdzMeDCX73SfUsal+rHeuEw/mmjYmiIItXhFTDn8ZvVwpBKv7xsJG90DkaX2vaTk0wgJdMnpVIuIRBa4EkmMWOQ3bMLGkLQeK/4FUkNcvQ/4+zcZsg4cY9Q7Fj55DD41hAUdF6SYODtn5qMPsTCnJz44glHt/oseKXMSd556NIw2HOvihbJW7Rwl4OEjGaO/dF4nUw4c9tHWmMn9dLslAVpUuZOb7ykgP0jk79ldT3Dv+2Hj0CdAWT2cJAdFX58KQ9jUPT3tBnObSF1lGMI7t77VU= m3tam3re@m3-nix" | ||||
|     ]; | ||||
|     packages = [ pkgs.home-manager ]; | ||||
|   }; | ||||
|   nixpkgs.config.allowUnfree = true; | ||||
|   home-manager.users.produktion = import produktion/${config.networking.hostName}.nix; | ||||
|    | ||||
| } | ||||
							
								
								
									
										1
									
								
								hosts/common/users/produktion/produktion
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								hosts/common/users/produktion/produktion
									
									
									
									
									
										Symbolic link
									
								
							| @ -0,0 +1 @@ | ||||
| ../../../../home/users/produktion | ||||
							
								
								
									
										135
									
								
								hosts/lkk-prod-1/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										135
									
								
								hosts/lkk-prod-1/default.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,135 @@ | ||||
| { config, pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   imports = [ # Include the results of the hardware scan. | ||||
|     ./hardware-configuration.nix | ||||
|     ../common/users/produktion | ||||
|     ../common/base | ||||
|   ]; | ||||
| 
 | ||||
|   boot.loader.grub.enable = true; | ||||
|   boot.loader.grub.device = "/dev/vda"; | ||||
|   boot.loader.grub.useOSProber = true; | ||||
| 
 | ||||
|   #  networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant. | ||||
|   networking = { | ||||
|     hostName = "lkk-prod-1"; | ||||
|     networkmanager.enable = true; | ||||
|     firewall.enable = true; | ||||
|   }; | ||||
|   services.openssh = { | ||||
|     enable = true; | ||||
|     permitRootLogin = "yes"; | ||||
|   }; | ||||
|   services.avahi = {  | ||||
|     enable = true;  | ||||
|     nssmdns = true;  | ||||
|     }; | ||||
|   # Configure network proxy if necessary | ||||
|   # networking.proxy.default = "http://user:password@proxy:port/"; | ||||
|   # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; | ||||
| 
 | ||||
| 
 | ||||
|   # Set your time zone. | ||||
|   time.timeZone = "Europe/Berlin"; | ||||
| 
 | ||||
|   # Select internationalisation properties. | ||||
|   i18n.defaultLocale = "de_DE.UTF-8"; | ||||
| 
 | ||||
|   i18n.extraLocaleSettings = { | ||||
|     LC_ADDRESS = "de_DE.UTF-8"; | ||||
|     LC_IDENTIFICATION = "de_DE.UTF-8"; | ||||
|     LC_MEASUREMENT = "de_DE.UTF-8"; | ||||
|     LC_MONETARY = "de_DE.UTF-8"; | ||||
|     LC_NAME = "de_DE.UTF-8"; | ||||
|     LC_NUMERIC = "de_DE.UTF-8"; | ||||
|     LC_PAPER = "de_DE.UTF-8"; | ||||
|     LC_TELEPHONE = "de_DE.UTF-8"; | ||||
|     LC_TIME = "de_DE.UTF-8"; | ||||
|   }; | ||||
| 
 | ||||
|   # Enable the X11 windowing system. | ||||
|   services.xserver.enable = true; | ||||
| 
 | ||||
|   # Enable the KDE Plasma Desktop Environment. | ||||
|   services.xserver.displayManager.sddm.enable = true; | ||||
|   services.xserver.desktopManager.plasma5.enable = true; | ||||
| 
 | ||||
|   # Configure keymap in X11 | ||||
|   services.xserver = { | ||||
|     layout = "de"; | ||||
|     xkbVariant = ""; | ||||
|   }; | ||||
| 
 | ||||
|   # Configure console keymap | ||||
|   console.keyMap = "de"; | ||||
| 
 | ||||
|   # Enable CUPS to print documents. | ||||
|   services.printing.enable = true; | ||||
| 
 | ||||
|   # Enable sound with pipewire. | ||||
|   sound.enable = true; | ||||
|   hardware.pulseaudio.enable = false; | ||||
|   security.rtkit.enable = true; | ||||
|   services.pipewire = { | ||||
|     enable = true; | ||||
|     alsa.enable = true; | ||||
|     alsa.support32Bit = true; | ||||
|     pulse.enable = true; | ||||
|     # If you want to use JACK applications, uncomment this | ||||
|     #jack.enable = true; | ||||
| 
 | ||||
|     # use the example session manager (no others are packaged yet so this is enabled by default, | ||||
|     # no need to redefine it in your config for now) | ||||
|     #media-session.enable = true; | ||||
|   }; | ||||
| 
 | ||||
|   # Enable touchpad support (enabled default in most desktopManager). | ||||
|   # services.xserver.libinput.enable = true; | ||||
| 
 | ||||
|   # Allow unfree packages | ||||
|   nixpkgs.config.allowUnfree = true; | ||||
| 
 | ||||
|   # List packages installed in system profile. To search, run: | ||||
|   # $ nix search wget | ||||
|   environment.systemPackages = with pkgs; | ||||
|     [ | ||||
|       neovim | ||||
|     ]; | ||||
| 
 | ||||
|   nix = { | ||||
|     gc = { | ||||
|       automatic = true; | ||||
|       options = "--delete-older-than 30d"; | ||||
|     }; | ||||
|     optimise.automatic = true; | ||||
|   }; | ||||
| 
 | ||||
|   system.stateVersion = "22.11"; # Did you read the comment? | ||||
|   # Some programs need SUID wrappers, can be configured further or are | ||||
|   # started in user sessions. | ||||
|   # programs.mtr.enable = true; | ||||
|   # programs.gnupg.agent = { | ||||
|   #   enable = true; | ||||
|   #   enableSSHSupport = true; | ||||
|   # }; | ||||
| 
 | ||||
|   # List services that you want to enable: | ||||
| 
 | ||||
|   # Enable the OpenSSH daemon. | ||||
|   # services.openssh.enable = true; | ||||
| 
 | ||||
|   # Open ports in the firewall. | ||||
|   # networking.firewall.allowedTCPPorts = [ ... ]; | ||||
|   # networking.firewall.allowedUDPPorts = [ ... ]; | ||||
|   # Or disable the firewall altogether. | ||||
|   # networking.firewall.enable = false; | ||||
| 
 | ||||
|   # This value determines the NixOS release from which the default | ||||
|   # settings for stateful data, like file locations and database versions | ||||
|   # on your system were taken. It‘s perfectly fine and recommended to leave | ||||
|   # this value at the release version of the first install of this system. | ||||
|   # Before changing this value read the documentation for this option | ||||
|   # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										34
									
								
								hosts/lkk-prod-1/hardware-configuration.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								hosts/lkk-prod-1/hardware-configuration.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,34 @@ | ||||
| # 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 = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ]; | ||||
|   boot.initrd.kernelModules = [ ]; | ||||
|   boot.kernelModules = [ "kvm-intel" ]; | ||||
|   boot.extraModulePackages = [ ]; | ||||
| 
 | ||||
|   fileSystems."/" = | ||||
|     { device = "/dev/disk/by-uuid/72016102-ac1b-462f-97c5-8575f91780d8"; | ||||
|       fsType = "ext4"; | ||||
|     }; | ||||
| 
 | ||||
|   swapDevices = | ||||
|     [ { device = "/dev/disk/by-uuid/0d57f573-b278-48d2-ad44-5a1cf28bcd2b"; } | ||||
|     ]; | ||||
| 
 | ||||
|   # 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.enp1s0.useDHCP = lib.mkDefault true; | ||||
| 
 | ||||
|   nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; | ||||
|   hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user