diff --git a/hosts/tower/configuration.nix b/hosts/tower/configuration.nix new file mode 100644 index 0000000..8baafaa --- /dev/null +++ b/hosts/tower/configuration.nix @@ -0,0 +1,51 @@ +{ + lib, + pkgs, + ... +}: { + # Time Zone + time.timeZone = "Europe/Vienna"; + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; + console.keyMap = "uk"; + security.polkit.enable = true; + + # boot.kernelPackages = pkgs.linuxPackagesFor xanmod_blox; + boot.kernelPackages = pkgs.linuxPackages_xanmod_latest; + programs.nix-ld.enable = true; + services = { + fstrim.enable = lib.mkDefault true; + }; + + meta = { + mainUser.gitSigningKey = ""; + }; + modules = { + system = { + programs = { + editors = { + helix.enable = true; + }; + eza.enable = true; + }; + }; + usrEnv = { + desktops.hyprland.enable = false; + + services = { + locate.enable = true; + }; + }; + other = { + system = { + username = "cr"; + }; + }; + programs = { + ssh.enable = true; + btop.enable = true; + nh.enable = true; + }; + # style.colorScheme.name = "Black Metal Venom"; + }; +} diff --git a/hosts/tower/default.nix b/hosts/tower/default.nix new file mode 100644 index 0000000..e317160 --- /dev/null +++ b/hosts/tower/default.nix @@ -0,0 +1,8 @@ +_: { + imports = [ + ./configuration.nix + ./programs.nix + ./hardware-configuration.nix + ./filesystem + ]; +} diff --git a/hosts/tower/filesystem/default.nix b/hosts/tower/filesystem/default.nix new file mode 100644 index 0000000..f77f11e --- /dev/null +++ b/hosts/tower/filesystem/default.nix @@ -0,0 +1,16 @@ +{ + config = { + fileSystems = { + "/boot" = { + device = "/dev/disk/by-uuid/3480-C94B"; + fsType = "vfat"; + }; + # root on tmpfs + "/" = { + device = "/dev/disk/by-uuid/3dde50ca-440d-4d46-974e-efc623e53703"; + fsType = "btrfs"; + options = ["compress=zstd" "noatime"]; + }; + }; + }; +} diff --git a/hosts/tower/hardware-configuration.nix b/hosts/tower/hardware-configuration.nix new file mode 100644 index 0000000..e30e94e --- /dev/null +++ b/hosts/tower/hardware-configuration.nix @@ -0,0 +1,24 @@ +{ + config, + lib, + modulesPath, + ... +}: { + imports = [(modulesPath + "/installer/scan/not-detected.nix")]; + + boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = []; + boot.extraModulePackages = []; + + # 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.enp4s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = + lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/tower/programs.nix b/hosts/tower/programs.nix new file mode 100644 index 0000000..505d7b8 --- /dev/null +++ b/hosts/tower/programs.nix @@ -0,0 +1,7 @@ +{pkgs, ...}: { + environment.systemPackages = builtins.attrValues { + inherit + (pkgs) + ; + }; +}