summaryrefslogtreecommitdiff
path: root/hosts
diff options
context:
space:
mode:
Diffstat (limited to 'hosts')
-rw-r--r--hosts/microwave/configuration.nix108
-rw-r--r--hosts/microwave/hardware-configuration.nix56
2 files changed, 164 insertions, 0 deletions
diff --git a/hosts/microwave/configuration.nix b/hosts/microwave/configuration.nix
new file mode 100644
index 0000000..7020447
--- /dev/null
+++ b/hosts/microwave/configuration.nix
@@ -0,0 +1,108 @@
+# 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, ... }:
+
+{
+ imports =
+ [ # Include the results of the hardware scan.
+ ./hardware-configuration.nix
+ ];
+
+ # SWAP
+ zramSwap = {
+ enable = true;
+ algorithm = "zstd";
+ };
+
+ environment.systemPackages = with pkgs; [
+ tdesktop
+ signal-desktop
+ cubicsdr
+ kicad
+ gimp
+ inkscape
+ ];
+ networking.firewall.enable = true;
+ services.xserver.videoDrivers = [ "displaylink" "modesetting" ];
+
+ networking = {
+ hostName = "microwave"; # Define your hostname.
+ networkmanager.enable = true;
+ wireguard.enable = true;
+
+ };
+
+
+ nixpkgs.config.allowUnfree = true;
+
+ services.fstrim.enable = true;
+
+ boot = {
+ supportedFilesystems = ["btrfs"];
+
+ # use systemd boot by default
+ loader = {
+ systemd-boot.enable = true;
+ efi.canTouchEfiVariables = true;
+ };
+ tmpOnTmpfs = true;
+ plymouth.enable = false;
+ };
+
+ # update the microcode
+ hardware.cpu.intel.updateMicrocode = true;
+ hardware.enableAllFirmware = true;
+
+
+ # Copy the NixOS configuration file and link it from the resulting system
+ # (/run/current-system/configuration.nix). This is useful in case you
+ # accidentally delete configuration.nix.
+ # system.copySystemConfiguration = true;
+
+
+ # Enable touchpad support.
+ services.xserver.libinput = {
+ enable = true;
+ touchpad = {
+ disableWhileTyping = true;
+ naturalScrolling = true;
+ scrollMethod = "twofinger";
+ tapping = true;
+ accelProfile = "adaptive";
+ # clickMethod = "clickfinger";
+ };
+ };
+
+ # Shell config (bash)
+ programs.bash = {
+ enableCompletion = true;
+ };
+
+ security.sudo = {
+ enable = true;
+ wheelNeedsPassword = true;
+ };
+
+ # Users
+ users.users.grue = {
+ createHome = true;
+ extraGroups = [ "wheel" "networkmanager" "wireshark" "video"
+ "libvirtd" "plugdev" "dialout" "bluetooth" ];
+ group = "users";
+ home = "/home/grue";
+ isNormalUser = true;
+ uid = 1000;
+ };
+
+ # 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 = "22.05"; # Did you read the comment?
+
+}
+
diff --git a/hosts/microwave/hardware-configuration.nix b/hosts/microwave/hardware-configuration.nix
new file mode 100644
index 0000000..13aefaa
--- /dev/null
+++ b/hosts/microwave/hardware-configuration.nix
@@ -0,0 +1,56 @@
+# 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 = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
+ boot.initrd.kernelModules = [ ];
+ boot.kernelModules = [ "kvm-intel" ];
+ boot.extraModulePackages = [ ];
+
+ fileSystems."/" =
+ { device = "/dev/disk/by-uuid/f9edd500-f47b-42e5-9b88-7b6d86f76caa";
+ fsType = "btrfs";
+ options = [ "subvol=root" "noatime" "compress=zstd" ];
+ };
+
+ boot.initrd.luks.devices."nixos-crypt".device = "/dev/disk/by-uuid/dbee4082-85ae-40f0-9c80-034f3574688f";
+
+ fileSystems."/boot" =
+ { device = "/dev/disk/by-uuid/4B02-CE16";
+ fsType = "vfat";
+ };
+
+ fileSystems."/home" =
+ { device = "/dev/disk/by-uuid/f9edd500-f47b-42e5-9b88-7b6d86f76caa";
+ fsType = "btrfs";
+ options = [ "subvol=home" "noatime" "compress=zstd" ];
+ };
+
+ fileSystems."/nix" =
+ { device = "/dev/disk/by-uuid/f9edd500-f47b-42e5-9b88-7b6d86f76caa";
+ fsType = "btrfs";
+ options = [ "subvol=nix" "noatime" "compress=zstd" ];
+ };
+
+ fileSystems."/tmp" =
+ { device = "/dev/disk/by-uuid/f9edd500-f47b-42e5-9b88-7b6d86f76caa";
+ fsType = "btrfs";
+ options = [ "subvol=tmp" "noatime" "compress=zstd" ];
+ };
+
+ # The global useDHCP flag is deprecated, therefore explicitly set to false here.
+ # Per-interface useDHCP will be mandatory in the future, so this generated config
+ # replicates the default behaviour.
+ networking.useDHCP = lib.mkDefault false;
+ networking.interfaces.enp53s0.useDHCP = lib.mkDefault true;
+ networking.interfaces.wlp54s0.useDHCP = lib.mkDefault true;
+
+ powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
+ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+}