First Commit

This commit is contained in:
Jack Mechem 2025-07-22 21:05:51 +00:00
commit 4b1d7f684c
5 changed files with 272 additions and 0 deletions

View file

@ -0,0 +1,77 @@
{ config, lib, pkgs, inputs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
];
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Use latest kernel.
boot.kernelPackages = pkgs.linuxPackages_latest;
networking.hostName = "t480"; # Define your hostname.
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
nix.settings.experimental-features = [ "nix-command" "flakes" ];
time.timeZone = "America/LosAngeles";
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable sound.
services.pipewire = {
enable = true;
pulse.enable = true;
};
users.users.jack = {
isNormalUser = true;
extraGroups = [ "wheel" ]; # Enable sudo for the user.
packages = with pkgs; [
zed-editor
];
};
home-manager = {
extraSpecialArgs = {inherit inputs; };
users = {
"jack" = import ./home.nix;
};
};
nixpkgs.config.allowUnfree = true;
# Enable touchpad support (enabled default in most desktopManager).
services.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
programs.firefox.enable = true;
programs.hyprland.enable = true;
# List packages installed in system profile.
environment.systemPackages = with pkgs; [
neovim
tree
vim # Both vim and neovim just in case
wget
ghostty
git
gcc
];
# List services that you want to enable:
# Enable the OpenSSH daemon.
services.openssh.enable = true;
system.stateVersion = "25.05"; # Did you read the comment?
}

View file

@ -0,0 +1,41 @@
# 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" "nvme" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/8b0f7a68-4ca3-42e1-ae75-5a2c904dd88c";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/6E63-D7AB";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/446e42e1-0c23-461f-a098-180d59e0bdef"; }
];
# 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";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

33
hosts/t480/home.nix Normal file
View file

@ -0,0 +1,33 @@
{ config, pkgs, inputs, ... }:
{
imports = [
inputs.zen-browser.homeModules.twilight
];
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "jack";
home.homeDirectory = "/home/jack";
home.stateVersion = "25.05"; # Please read the comment before changing.
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = [
];
programs.zen-browser.enable = true;
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
};
home.sessionVariables = {
EDITOR = "nvim";
};
programs.home-manager.enable = true;
}