NixOS module fun

- Group module settings into config files
- no more root configuration outside of flake
- added readme for future me
This commit is contained in:
2026-03-13 23:21:46 -04:00
parent 18cef3676c
commit fc2ca20f6d
8 changed files with 137 additions and 115 deletions
+13
View File
@@ -0,0 +1,13 @@
# It's NixOS!
Hello MtV and welcome to my crib. These are all the things pertaining to my nixos stuff.
- [./common.nix](./common.nix) is all the common things that hosts will have configured
- Services
- locale settings
- timezone
- [./gui1](./gui1.nix) all config things for a linux UX experience, KDE Plasma in this instance, but perhaps there could be a gui2 someday...
- [./qlhc.nix](./qlhc.nix) this stands for quins-laptop-hardware-configuraion. I'll find a better way to do this stuff later.
- [./user-quin](./user-quin.nix) my personal user account, here for all to see.
- packages
- groups
+37
View File
@@ -0,0 +1,37 @@
{ config, pkgs, ... }:
{
# Base system things that all should know and love
system.stateVersion = "25.11";
nixpkgs.config.allowUnfree = true;
time.timeZone = "America/New_York";
i18n.defaultLocale = "en_US.UTF-8";
networking.networkmanager.enable = true;
#Services
virtualisation.docker.enable = true; # Docker
services.printing.enable = true; # CUPS
services.tailscale.enable = true; # Tailscale
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
environment.systemPackages = with pkgs; [
git
tailscale
];
}
+15
View File
@@ -0,0 +1,15 @@
{ config, pkgs, ... }:
{
# GUI / UX
services.xserver.enable = true;
services.xserver.excludePackages = [
pkgs.xterm
];
services.displayManager.sddm.enable = true;
services.desktopManager.plasma6.enable = true;
services.xserver.xkb = {
layout = "us";
variant = "";
};
}
+43
View File
@@ -0,0 +1,43 @@
# I modified it >:3
{ config, lib, pkgs, modulesPath, ... }:
{
imports =[
(modulesPath + "/installer/scan/not-detected.nix")
];
networking.hostName = "qmoran-laptop";
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
boot.kernelModules = [ "kvm-intel" ];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" ];
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
boot.initrd.luks.devices."luks-ca82dbc3-42a8-4582-99b6-0b6d271dc897".device = "/dev/disk/by-uuid/ca82dbc3-42a8-4582-99b6-0b6d271dc897";
# boot.initrd.kernelModules = [ ]; # Woah this might be helpful for those routers I have!
# boot.extraModulePackages = [ ];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.initrd.luks.devices."luks-df4da4a4-149f-433d-a0c9-efcb7f3acc52".device = "/dev/disk/by-uuid/df4da4a4-149f-433d-a0c9-efcb7f3acc52";
swapDevices = [
{
device = "/dev/mapper/luks-df4da4a4-149f-433d-a0c9-efcb7f3acc52";
}
];
fileSystems."/" = {
device = "/dev/mapper/luks-ca82dbc3-42a8-4582-99b6-0b6d271dc897";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/5C65-493B";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
}
+25
View File
@@ -0,0 +1,25 @@
{ config, pkgs, ... }:
{
# My user for now
users.users.qmoran = {
isNormalUser = true;
description = "quin";
extraGroups = [
"wheel"
"docker"
"networkmanager"
];
packages = with pkgs; [
gh
btop
ctop
kdePackages.kate
signal-desktop
lazygit
element-desktop
vscodium
vivaldi
];
};
}