I am batman
This commit is contained in:
188
hosts/template/configuration.nix
Normal file
188
hosts/template/configuration.nix
Normal file
@@ -0,0 +1,188 @@
|
||||
{ config, pkgs, inputs, lib, ... }:
|
||||
|
||||
{
|
||||
imports = [ ./hardware-configuration.nix ]; # Include hardware scan results.
|
||||
|
||||
boot.loader.grub = {
|
||||
enable = true;
|
||||
efiSupport = true;
|
||||
device = "nodev";
|
||||
useOSProber = true;
|
||||
};
|
||||
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
networking = {
|
||||
hostName = "REPLACE_HOST";
|
||||
networkmanager.enable = true; # Enable NetworkManager
|
||||
};
|
||||
|
||||
time.timeZone = "America/Detroit";
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
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";
|
||||
};
|
||||
};
|
||||
|
||||
programs.zsh.enable = true;
|
||||
|
||||
users.users.REPLACE_USER = {
|
||||
isNormalUser = true;
|
||||
description = "REPLACE_USER";
|
||||
extraGroups = [ "wheel" "networkmanager" "libvirtd" "kvm" "qemu" "docker" ];
|
||||
packages = with pkgs; [ ];
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
home-manager.users.REPLACE_USER = import ./home.nix;
|
||||
|
||||
nixpkgs.overlays = [
|
||||
inputs.nur.overlays.default
|
||||
];
|
||||
|
||||
services = {
|
||||
xserver = {
|
||||
enable = true;
|
||||
xkb.layout = "us";
|
||||
displayManager.sddm.enable = true;
|
||||
displayManager.defaultSession = "hyprland";
|
||||
};
|
||||
|
||||
displayManager.sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true; # important for Hyprland
|
||||
theme = "sddm-sugar-dark";
|
||||
};
|
||||
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
virtualisation = {
|
||||
libvirtd.enable = true; # Enables libvirt daemon and KVM support
|
||||
docker.enable = true; # Enable this only if you want Docker
|
||||
};
|
||||
|
||||
programs.virt-manager.enable = true;
|
||||
|
||||
programs.hyprland.enable = true;
|
||||
|
||||
boot.kernelModules = [
|
||||
"kvm"
|
||||
"kvm-intel"
|
||||
"v4l2loopback"
|
||||
];
|
||||
|
||||
fonts = {
|
||||
fontconfig.enable = true;
|
||||
fontconfig.defaultFonts.monospace = [ "Meslo LG M Regular Nerd Font Complete Mono" ];
|
||||
packages = with pkgs; [
|
||||
nerd-fonts.meslo-lg
|
||||
nerd-fonts.jetbrains-mono
|
||||
nerd-fonts.agave
|
||||
font-awesome
|
||||
powerline-fonts
|
||||
powerline-symbols
|
||||
];
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
vim
|
||||
lastpass-cli
|
||||
wget
|
||||
git
|
||||
docker
|
||||
xhost
|
||||
docker-compose
|
||||
gnumake42
|
||||
go
|
||||
cmake
|
||||
gcc
|
||||
gdb
|
||||
networkmanagerapplet
|
||||
pywalfox-native
|
||||
# droidcam
|
||||
# kdenlive
|
||||
vlc
|
||||
xcolor
|
||||
adb-sync
|
||||
wl-clipboard
|
||||
stash
|
||||
nwg-look
|
||||
libsForQt5.qt5.qtgraphicaleffects
|
||||
linuxPackages.v4l2loopback # Kernel module for virtual webcam
|
||||
alsa-utils # Audio support
|
||||
v4l-utils # Video4Linux tools
|
||||
pipewire
|
||||
qemu
|
||||
libvirt
|
||||
virt-manager
|
||||
bridge-utils # For networking support
|
||||
dnsmasq # DHCP for VM networking
|
||||
ebtables # NAT support for VMs
|
||||
grim
|
||||
slurp
|
||||
grimblast
|
||||
swappy
|
||||
dunst
|
||||
jq
|
||||
moreutils
|
||||
hyprland
|
||||
libnotify
|
||||
coreutils
|
||||
hyprshade
|
||||
unityhub
|
||||
pkg-config
|
||||
xorg.libX11
|
||||
xorg.libXcursor
|
||||
xorg.libXrandr
|
||||
xorg.libXinerama
|
||||
xorg.libXi
|
||||
mesa
|
||||
libGL
|
||||
alsa-lib
|
||||
(pkgs.stdenv.mkDerivation {
|
||||
pname = "sugar-candy-sddm-theme";
|
||||
version = "latest";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "MarianArlt";
|
||||
repo = "sddm-sugar-dark";
|
||||
rev = "master";
|
||||
sha256 = "0153z1kylbhc9d12nxy9vpn0spxgrhgy36wy37pk6ysq7akaqlvy";
|
||||
};
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/sddm/themes/sddm-sugar-dark
|
||||
cp -r * $out/share/sddm/themes/sddm-sugar-dark
|
||||
'';
|
||||
})
|
||||
|
||||
];
|
||||
|
||||
# Optional: Specify the SDDM theme configuration
|
||||
# environment.etc."sddm.conf".text = lib.mkForce ''
|
||||
# [Theme]
|
||||
# Current=sddm-sugar-dark
|
||||
# '';
|
||||
#
|
||||
# Miscellaneous Settings
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
|
||||
# System State Version
|
||||
system.stateVersion = "25.11";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user