summaryrefslogtreecommitdiff
path: root/systems/thinkpad-laptop
diff options
context:
space:
mode:
authortriethyl <triethylammonium@pm.me>2025-08-14 14:24:01 -0400
committertriethyl <triethylammonium@pm.me>2025-08-14 14:24:01 -0400
commitf54dad57d4705bb67da6f77b1423c0ed725c59e9 (patch)
tree51cea34ac6c5ee526d7e13e7fd003b8879b1e160 /systems/thinkpad-laptop
parent5f8c7e7b19e48fb4925e5d4fa63dc4dfdf000c5c (diff)
added thinkpad-laptop device
Diffstat (limited to 'systems/thinkpad-laptop')
-rw-r--r--systems/thinkpad-laptop/hardware.nix39
-rw-r--r--systems/thinkpad-laptop/system.nix66
2 files changed, 105 insertions, 0 deletions
diff --git a/systems/thinkpad-laptop/hardware.nix b/systems/thinkpad-laptop/hardware.nix
new file mode 100644
index 0000000..b0470aa
--- /dev/null
+++ b/systems/thinkpad-laptop/hardware.nix
@@ -0,0 +1,39 @@
+# 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" "ahci" "usb_storage" "usbhid" "sd_mod" "rtsx_pci_sdmmc" ];
+ boot.initrd.kernelModules = [ ];
+ boot.kernelModules = [ "kvm-intel" ];
+ boot.extraModulePackages = [ ];
+
+ fileSystems."/" =
+ { device = "/dev/disk/by-uuid/56d54c43-c0bd-4cdc-b2e7-2e1abd16b904";
+ fsType = "ext4";
+ };
+
+ fileSystems."/boot" =
+ { device = "/dev/disk/by-uuid/3016-9300";
+ fsType = "vfat";
+ options = [ "fmask=0077" "dmask=0077" ];
+ };
+
+ 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.wlp4s0.useDHCP = lib.mkDefault true;
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+}
diff --git a/systems/thinkpad-laptop/system.nix b/systems/thinkpad-laptop/system.nix
new file mode 100644
index 0000000..43dc5bd
--- /dev/null
+++ b/systems/thinkpad-laptop/system.nix
@@ -0,0 +1,66 @@
+{config, ...}: {
+ imports = [./hardware.nix];
+
+ general-settings = {
+ hostname = "thinkpad-laptop";
+ locale = "en_US.UTF-8";
+ timezone = "America/New_York";
+ stateVersion = "24.11";
+ };
+
+ age.secrets.lucas-user-password.file = ../../secrets/lucas-user-password.age;
+
+ users.users."lucas" = {
+ hashedPasswordFile = config.age.secrets.lucas-user-password.path;
+ isNormalUser = true;
+ description = "lucas";
+ extraGroups = [
+ "networkmanager"
+ "wheel"
+ "audio"
+ "video"
+ "libvirtd"
+ ];
+ };
+
+ features = {
+ gui = {
+ apps = {
+ steam.enable = true;
+ # vmware.enable = true;
+ };
+ desktops = {
+ niri.enable = true;
+ };
+ };
+ cli = {
+ shells.nushell.enable = true;
+ utils = {
+ nh = {
+ enable = true;
+ flake = "/home/lucas/Sync/setup";
+ };
+ };
+ };
+ services = {
+ core.systemd-boot.enable = true;
+ hardware = {
+ bluetooth.enable = true;
+ iwd.enable = true;
+ pipewire.enable = true;
+ };
+ extra = {
+ plymouth.enable = true;
+ sddm.enable = true;
+ syncthing-client = {
+ enable = true;
+ username = "lucas";
+ };
+ udisks2.enable = true;
+ };
+ bundles = {
+ printing.enable = true;
+ };
+ };
+ };
+}