diff --git a/hosts/yodaTab/hardware-configuration.nix b/hosts/yodaTab/hardware-configuration.nix index 2c44a47..074c68d 100644 --- a/hosts/yodaTab/hardware-configuration.nix +++ b/hosts/yodaTab/hardware-configuration.nix @@ -1,5 +1,5 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes +# 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, ... }: diff --git a/hosts/yodaTux/configuration.nix b/hosts/yodaTux/configuration.nix new file mode 100644 index 0000000..8123624 --- /dev/null +++ b/hosts/yodaTux/configuration.nix @@ -0,0 +1,26 @@ +# 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, ... }: + +{ + # Paths to other modules. + # Compose this module out of smaller ones. + # https://nixos.wiki/wiki/NixOS_modules + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./home-manager.nix + ../../modules/base.nix + ../../modules/programs.nix + ../../modules/git.nix + ../../modules/zsh.nix + ../../modules/print-and-scan.nix + ../../modules/nitrokey-ssh-gpg.nix + ../../modules/fde-ssh-unlock.nix + ../../modules/nextcloud-integration.nix + ]; + + networking.hostName = "yodaTux"; +} diff --git a/hosts/yodaTux/hardware-configuration.nix b/hosts/yodaTux/hardware-configuration.nix new file mode 100644 index 0000000..f68f754 --- /dev/null +++ b/hosts/yodaTux/hardware-configuration.nix @@ -0,0 +1,43 @@ +# 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 + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "uas" "sd_mod" "rtsx_usb_sdmmc" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/01f67928-9b35-48b2-aaa6-c58ff6c440a8"; + fsType = "btrfs"; + # Manually enable compression + # https://nixos.wiki/wiki/Btrfs#Compression + options = [ "subvol=@" "compress=zstd" ]; + }; + + boot.initrd.luks.devices."luks-ea7099e3-320d-4eb3-a4c3-9910a9af817b".device = "/dev/disk/by-uuid/ea7099e3-320d-4eb3-a4c3-9910a9af817b"; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/4840-0BFE"; + fsType = "vfat"; + }; + + 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..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.eno1.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/yodaTux/home-manager.nix b/hosts/yodaTux/home-manager.nix new file mode 100644 index 0000000..b491396 --- /dev/null +++ b/hosts/yodaTux/home-manager.nix @@ -0,0 +1,15 @@ +{ config, pkgs, ... }: +let + # Import Home Manager with niv. + home-manager = (import ../../nix/sources.nix).home-manager; +in +{ + imports = [ + (import "${home-manager}/nixos") + ../../modules/base.home.nix + ../../modules/git.home.nix + ../../modules/zsh.home.nix + # TODO + #../../modules/nitrokey-ssh-gpg.home.nix + ]; +}