From 3b13d9a2a367db84d48940460532c17a374bb488 Mon Sep 17 00:00:00 2001 From: schererleander Date: Thu, 5 Feb 2026 12:03:07 +0100 Subject: feat(modules): use dendritic pattern --- modules/hosts/adam/configuration.nix | 56 +++++++++++++++++++++++++++ modules/hosts/adam/flake-parts.nix | 15 +++++++ modules/hosts/adam/hardware-configuration.nix | 49 +++++++++++++++++++++++ 3 files changed, 120 insertions(+) create mode 100644 modules/hosts/adam/configuration.nix create mode 100644 modules/hosts/adam/flake-parts.nix create mode 100644 modules/hosts/adam/hardware-configuration.nix (limited to 'modules/hosts/adam') diff --git a/modules/hosts/adam/configuration.nix b/modules/hosts/adam/configuration.nix new file mode 100644 index 0000000..53094f0 --- /dev/null +++ b/modules/hosts/adam/configuration.nix @@ -0,0 +1,56 @@ +{ + flake.modules.nixos.adam = + { + pkgs, + ... + }: + { + boot = { + kernelPackages = pkgs.linuxPackages_latest; + kernelParams = [ "amd_pstate=active" ]; + initrd.luks.devices."luks-803851e9-7fa8-4367-a927-0bb76d0fe830".device = + "/dev/disk/by-uuid/803851e9-7fa8-4367-a927-0bb76d0fe830"; + loader = { + timeout = 0; + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + }; + + # Localisation + time.timeZone = "Europe/Berlin"; + i18n.defaultLocale = "en_US.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"; + }; + + # Disable waiting for network to be online + systemd.services.NetworkManager-wait-online.enable = false; + + # User configuration + users.users.schererleander = { + isNormalUser = true; + home = "/home/schererleander"; + shell = pkgs.zsh; + ignoreShellProgramCheck = true; + extraGroups = [ + "wheel" + "networkmanager" + "video" + "input" + ]; + }; + + nixpkgs.config.allowUnfree = true; + nixpkgs.hostPlatform = "x86_64-linux"; + system.stateVersion = "25.11"; + }; +} diff --git a/modules/hosts/adam/flake-parts.nix b/modules/hosts/adam/flake-parts.nix new file mode 100644 index 0000000..cf50170 --- /dev/null +++ b/modules/hosts/adam/flake-parts.nix @@ -0,0 +1,15 @@ +{ inputs, ... }: +{ + flake.nixosConfigurations."adam" = inputs.nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; + modules = [ + inputs.self.modules.nixos.adam + inputs.self.modules.nixos.secrets + inputs.self.modules.nixos.home-manager + inputs.self.modules.nixos.plymouth + inputs.self.modules.nixos.kde + inputs.self.modules.nixos.dns + inputs.self.modules.nixos.bluetooth + ]; + }; +} diff --git a/modules/hosts/adam/hardware-configuration.nix b/modules/hosts/adam/hardware-configuration.nix new file mode 100644 index 0000000..be6cc0a --- /dev/null +++ b/modules/hosts/adam/hardware-configuration.nix @@ -0,0 +1,49 @@ +# 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. +{ + flake.modules.nixos.adam = + { + config, + lib, + ... + }: + + { + boot.initrd.availableKernelModules = [ + "nvme" + "xhci_pci" + "ahci" + "usbhid" + "usb_storage" + "sd_mod" + ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = { + device = "/dev/mapper/luks-37471d57-a31d-4bf1-b219-9992bafe7b64"; + fsType = "ext4"; + }; + + boot.initrd.luks.devices."luks-37471d57-a31d-4bf1-b219-9992bafe7b64".device = + "/dev/disk/by-uuid/37471d57-a31d-4bf1-b219-9992bafe7b64"; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/8E50-FCCA"; + fsType = "vfat"; + options = [ + "fmask=0077" + "dmask=0077" + ]; + }; + + swapDevices = [ + { device = "/dev/mapper/luks-803851e9-7fa8-4367-a927-0bb76d0fe830"; } + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + }; +} -- cgit v1.3.1