restructure
This commit is contained in:
125
modules/hosts/homebox/configuration.nix
Normal file
125
modules/hosts/homebox/configuration.nix
Normal file
@@ -0,0 +1,125 @@
|
||||
{ self, inputs, ... }: {
|
||||
|
||||
|
||||
flake.nixosModules.homebox = { config, pkgs, lib, ... }:
|
||||
{
|
||||
imports =
|
||||
[
|
||||
inputs.disko.nixosModules.default
|
||||
|
||||
inputs.home-manager.nixosModules.default
|
||||
|
||||
self.nixosModules.default
|
||||
|
||||
];
|
||||
|
||||
config = {
|
||||
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxKernel.packages.linux_6_18;
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||
};
|
||||
|
||||
systemd.settings.Manager.DefaultLimitNOFILE = 2048;
|
||||
|
||||
programs.zsh.enable = true;
|
||||
environment.shells = with pkgs; [ zsh bashInteractive ];
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
networking = {
|
||||
nameservers = lib.mkDefault [ "1.1.1.1" "1.0.0.1" ];
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
dns = "none";
|
||||
};
|
||||
useDHCP = false;
|
||||
dhcpcd.enable = false;
|
||||
|
||||
nftables = {};
|
||||
nat = {
|
||||
enable = true;
|
||||
internalInterfaces = [ "ve-.+" ];
|
||||
externalInterface = "wlp7s0"; # wifi
|
||||
#externalInterface = "enp6s0"; # ethernet
|
||||
};
|
||||
};
|
||||
|
||||
services.netbird.clients.default.environment = {
|
||||
NB_EXTRA_DNS_LABELS = "server";
|
||||
};
|
||||
|
||||
fonts.packages = with pkgs; [ nerd-fonts.fira-code ];
|
||||
|
||||
services = {
|
||||
xserver = {
|
||||
enable = false;
|
||||
videoDrivers = ["nvidia"];
|
||||
};
|
||||
displayManager = {
|
||||
enable = false;
|
||||
defaultSession = "hyprland";
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
user = "nathan";
|
||||
};
|
||||
};
|
||||
pulseaudio.enable = false;
|
||||
|
||||
hardware.openrgb = {
|
||||
enable = true;
|
||||
motherboard = "amd";
|
||||
};
|
||||
};
|
||||
|
||||
hardware = {
|
||||
nvidia = {
|
||||
open = true;
|
||||
modesetting.enable = true;
|
||||
nvidiaPersistenced = true;
|
||||
};
|
||||
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = false;
|
||||
};
|
||||
};
|
||||
|
||||
sops = {
|
||||
age.keyFile = "/var/lib/sops/age/keys.txt";
|
||||
defaultSopsFile = ./secrets.yaml;
|
||||
defaultSopsFormat = "yaml";
|
||||
|
||||
secrets = {
|
||||
"nathan/pass" = {
|
||||
neededForUsers = true;
|
||||
};
|
||||
|
||||
"remoteBuildClientKeys/laptop".sopsFile = ./../../features/secrets.yaml;
|
||||
"remoteBuildClientKeys/pi4".sopsFile = ./../../features/secrets.yaml;
|
||||
"remoteBuildClientKeys/android".sopsFile = ./../../features/secrets.yaml;
|
||||
};
|
||||
};
|
||||
|
||||
nix = {
|
||||
settings = {
|
||||
trusted-users = [ "remote-builder" ];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
# 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).
|
||||
system.stateVersion = "23.05"; # Did you read the comment?
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user