1
0
Fork 0
forked from irl/nix-configs

feat: initial commit

This commit is contained in:
Iain Learmonth 2025-06-06 06:46:08 +01:00
commit 4622aaafb1
6 changed files with 372 additions and 0 deletions

21
nixos/common.nix Normal file
View file

@ -0,0 +1,21 @@
{ ... }:
{
nix.settings.experimental-features = "nix-command flakes";
time.timeZone = "Europe/London";
i18n.defaultLocale = "en_GB.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_GB.UTF-8";
LC_IDENTIFICATION = "en_GB.UTF-8";
LC_MEASUREMENT = "en_GB.UTF-8";
LC_MONETARY = "en_GB.UTF-8";
LC_NAME = "en_GB.UTF-8";
LC_NUMERIC = "en_GB.UTF-8";
LC_PAPER = "en_GB.UTF-8";
LC_TELEPHONE = "en_GB.UTF-8";
LC_TIME = "en_GB.UTF-8";
};
}

View file

@ -0,0 +1,60 @@
{ config, pkgs, ... }:
{
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.initrd.luks.devices."luks-2f61d72f-848d-487d-be98-eb0b68842d5c".device =
"/dev/disk/by-uuid/2f61d72f-848d-487d-be98-eb0b68842d5c";
networking.hostName = "laptop";
networking.networkmanager.enable = true;
services.xserver.enable = true;
services.displayManager.gdm.enable = true;
services.desktopManager.gnome.enable = true;
services.xserver.xkb = {
layout = "gb";
variant = "";
};
console.keyMap = "uk";
services.printing.enable = true;
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
users.users.irl = {
isNormalUser = true;
description = "irl";
extraGroups = [
"networkmanager"
"wheel"
];
};
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
curl
home-manager
neovim
wget
];
hardware.gpgSmartcards.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
system.stateVersion = "25.05";
}

View file

@ -0,0 +1,57 @@
# 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 = [
"nvme"
"xhci_pci"
"usb_storage"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/09ccfb77-74dd-481a-a9d6-104e0340fd67";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-03e009d9-7251-4094-b4f0-bc950ef05c98".device =
"/dev/disk/by-uuid/03e009d9-7251-4094-b4f0-bc950ef05c98";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/9B25-EC01";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = [
{ device = "/dev/disk/by-uuid/91eff84a-51be-4448-a487-d6a33d0b3a80"; }
];
# 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.wlp1s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}