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:
@@ -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
|
||||
@@ -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
|
||||
];
|
||||
}
|
||||
@@ -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 = "";
|
||||
};
|
||||
}
|
||||
@@ -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"
|
||||
];
|
||||
};
|
||||
|
||||
}
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user