summaryrefslogtreecommitdiffstats
path: root/hosts
diff options
context:
space:
mode:
authorsils <sils@sils.li>2023-03-18 10:12:58 +0100
committersils <sils@sils.li>2023-03-18 10:18:37 +0100
commit495c661f5081c023c242e96cf99259181408e99a (patch)
tree1a1c105e4046de38ef4f812345eee33f3eb3f6e0 /hosts
parentPackages: Add zip-utils (diff)
downloadnix-config-495c661f5081c023c242e96cf99259181408e99a.zip
Feat: Restructure and add nameservers.
Diffstat (limited to 'hosts')
-rw-r--r--hosts/thinklappi/basesystem.nix85
-rw-r--r--hosts/thinklappi/default.nix3
-rw-r--r--hosts/thinklappi/thinklappi.nix70
3 files changed, 158 insertions, 0 deletions
diff --git a/hosts/thinklappi/basesystem.nix b/hosts/thinklappi/basesystem.nix
new file mode 100644
index 0000000..e5bc5ba
--- /dev/null
+++ b/hosts/thinklappi/basesystem.nix
@@ -0,0 +1,85 @@
+{
+ config,
+ lib,
+ pkgs,
+ modulesPath,
+ ...
+}: {
+ imports = [
+ (modulesPath + "/installer/scan/not-detected.nix")
+ ];
+
+ boot = {
+ initrd = {
+ availableKernelModules = ["xhci_pci" "nvme" "rtsx_pci_sdmmc"];
+ kernelModules = [];
+ luks.devices."cryptroot".device = "/dev/disk/by-uuid/6700d662-29a9-4ea5-8ca6-85d42550b3ab";
+ };
+ kernelModules = ["kvm-intel"];
+ extraModulePackages = [];
+ kernelPackages = pkgs.linuxPackages_latest;
+ loader = {
+ systemd-boot = {
+ enable = true;
+ configurationLimit = 3;
+ };
+ efi.canTouchEfiVariables = true;
+ };
+ };
+
+ fileSystems = {
+ "/" = {
+ device = "tmpfs";
+ fsType = "tmpfs";
+ options = ["defaults" "size=2G" "mode=755"];
+ };
+ "/nix" = {
+ device = "/dev/disk/by-label/nixos-root";
+ fsType = "btrfs";
+ options = ["subvol=nix" "compress-force=zstd"];
+ };
+ "/etc/NetworkManager" = {
+ device = "/dev/disk/by-label/nixos-root";
+ fsType = "btrfs";
+ options = ["subvol=networkmanagerconfig" "compress-force=zstd"];
+ };
+ "/etc/nixos" = {
+ device = "/dev/disk/by-label/nixos-root";
+ fsType = "btrfs";
+ options = ["subvol=nixconfig" "compress-force=zstd"];
+ };
+ "/srv" = {
+ device = "/dev/disk/by-label/nixos-root";
+ fsType = "btrfs";
+ options = ["subvol=srv" "compress-force=zstd"];
+ };
+ "/home" = {
+ device = "/dev/disk/by-label/nixos-root";
+ fsType = "btrfs";
+ options = ["subvol=home" "compress-force=zstd"];
+ };
+ "/srv/snapshots" = {
+ device = "/dev/disk/by-label/nixos-root";
+ fsType = "btrfs";
+ options = ["subvol=snapshots" "compress-force=zstd"];
+ };
+ "/boot" = {
+ device = "/dev/disk/by-uuid/4064-2D6C";
+ 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.<interface>.useDHCP`.
+ networking.useDHCP = lib.mkDefault true;
+ # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
+ # networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+ powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
+ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+}
diff --git a/hosts/thinklappi/default.nix b/hosts/thinklappi/default.nix
new file mode 100644
index 0000000..5019f10
--- /dev/null
+++ b/hosts/thinklappi/default.nix
@@ -0,0 +1,3 @@
+{...}: {
+ thinklappi = import ./thinklappi.nix;
+}
diff --git a/hosts/thinklappi/thinklappi.nix b/hosts/thinklappi/thinklappi.nix
new file mode 100644
index 0000000..5a3f0f6
--- /dev/null
+++ b/hosts/thinklappi/thinklappi.nix
@@ -0,0 +1,70 @@
+{
+ config,
+ pkgs,
+ ...
+}: let
+ compiledLayout = pkgs.runCommand "keyboard-layout" {} ''
+ ${pkgs.xorg.xkbcomp}/bin/xkbcomp ${../files/neoqwertz.xkb} $out
+ '';
+in {
+ imports = [
+ ./basesystem.nix
+ ../../env.nix
+ ../../nix.nix
+ ../../packages.nix
+ ../../users.nix
+ ../../zsh.nix
+ ../../flatpak.nix # Mainly for minecraft
+
+ # Desktop Environment to use
+ ../../desktop/gnome.nix
+ ];
+
+ services = {
+ printing.enable = true;
+ xserver = {
+ layout = "de";
+ #xkbVariant = ",neo";
+ xkbOptions = "grp:win_space_toggle";
+ displayManager.sessionCommands = "${pkgs.xorg.xkbcomp}/bin/xkbcomp ${compiledLayout} $DISPLAY";
+ };
+ pipewire = {
+ enable = true;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ jack.enable = true;
+ };
+ };
+
+ hardware = {
+ bluetooth.enable = true;
+ pulseaudio.enable = false;
+ };
+ security.rtkit.enable = true;
+
+ environment.systemPackages = [pkgs.xorg.xkbcomp];
+
+ i18n.defaultLocale = "en_US.UTF-8";
+
+ networking = {
+ hostName = "thinklappi";
+ nameservers = ["2620:fe::fe" "2620:fe::9" "9.9.9.9" "149.112.112.112"];
+ networkmanager = {
+ enable = true;
+ dns = "none";
+ };
+ };
+
+ time.timeZone = "Europe/Berlin";
+
+ console = {
+ font = "Lat2-Terminus16";
+ keyMap = "de";
+ #useXkbConfig = true; # use xkbOptions in tty.
+ };
+
+ programs.ssh.startAgent = true;
+
+ system.stateVersion = "23.05";
+}