mirror of
https://github.com/Dichgrem/DCGOS.git
synced 2025-12-17 03:31:59 -05:00
Init:start-nix
This commit is contained in:
32
hosts/example/default.nix
Normal file
32
hosts/example/default.nix
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
username,
|
||||
...
|
||||
}: {
|
||||
imports =
|
||||
[
|
||||
./hardware.nix
|
||||
]
|
||||
++ lib.filesystem.listFilesRecursive ../../modules;
|
||||
|
||||
# Define users
|
||||
# If use nixos-anywhere to install, hashedPassword should be declared before installation
|
||||
users = {
|
||||
# users.root = {
|
||||
# hashedPassword = "xxxxxx"; could be generated by mkpasswd
|
||||
# };
|
||||
users."${username}" = {
|
||||
extraGroups = [
|
||||
"libvirtd"
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
];
|
||||
# hashedPassword = "";
|
||||
homeMode = "755";
|
||||
ignoreShellProgramCheck = true;
|
||||
isNormalUser = true;
|
||||
shell = pkgs.nushell;
|
||||
};
|
||||
};
|
||||
}
|
||||
66
hosts/example/env.nix
Normal file
66
hosts/example/env.nix
Normal file
@@ -0,0 +1,66 @@
|
||||
{
|
||||
# Specific Use Cases
|
||||
## Hardware related
|
||||
Bluetooth = false;
|
||||
### See https://github.com/blueman-project/blueman
|
||||
|
||||
GPU-AMD = false;
|
||||
### See https://nixos.wiki/wiki/AMD_GPU
|
||||
|
||||
GPU-Nvidia = false;
|
||||
### See https://nixos.wiki/wiki/Nvidia
|
||||
|
||||
GPU-Intel = false;
|
||||
### See https://nixos.wiki/wiki/Intel_Graphics
|
||||
|
||||
HotSpot-Use-Case = false;
|
||||
### See https://nixos.wiki/wiki/Internet_Connection_Sharing
|
||||
|
||||
ZFS-Networking-HostID = "";
|
||||
### See https://search.nixos.org/options?channel=unstable&show=networking.hostId&from=0&size=30&sort=relevance&query=networking.hostId
|
||||
### Could be generated by `head -c4 /dev/urandom | od -A none -t x4`
|
||||
|
||||
ZFS-Use-Case = false;
|
||||
### See https://openzfs.github.io/openzfs-docs/Getting%20Started/NixOS/index.html
|
||||
|
||||
## Software related
|
||||
QEMU-VM-Use-Case = false;
|
||||
### See https://github.com/qemu/qemu ; https://github.com/virt-manager/virt-manager
|
||||
|
||||
Transparent-Proxy = false;
|
||||
### See https://github.com/daeuniverse/daed
|
||||
|
||||
# Options
|
||||
## System related
|
||||
BootLoader = "systemd-boot";
|
||||
### Possible options: grub ; grub-mirror ; systemd-boot # See https://nixos.wiki/wiki/Bootloader https://search.nixos.org/options?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=mirroredBoots
|
||||
|
||||
KernelPackages = "linuxPackages_cachyos";
|
||||
### See https://search.nixos.org/options?show=boot.kernelPackages https://www.nyx.chaotic.cx/#using-sched-ext-schedulers
|
||||
|
||||
KeyboardLayout = "us";
|
||||
### See https://en.wikipedia.org/wiki/Keyboard_layout
|
||||
|
||||
Locale = "en_US.UTF-8";
|
||||
### See https://docs.moodle.org/405/en/Table_of_locales
|
||||
|
||||
StateVersion = "25.05";
|
||||
### See https://mynixos.com/nixpkgs/option/system.stateVersion
|
||||
|
||||
TimeZone = "Asia/Singapore";
|
||||
### See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||
|
||||
## Wayland related
|
||||
MonitorSettings = "monitor = , preferred, auto, auto";
|
||||
### MonitorSettings For Hyprland See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
|
||||
OutputSettings = "output * scale 1";
|
||||
### OutputSettings For sway See https://github.com/swaywm/sway/wiki#display-configuration
|
||||
|
||||
ScaleLevel = "1";
|
||||
### For Hyprland see https://wiki.hyprland.org/Configuring/XWayland/#hidpi-xwayland
|
||||
### For sway see https://github.com/swaywm/sway/wiki#hidpi
|
||||
|
||||
WM = "Hyprland";
|
||||
### Possible options: Hyprland ; niri ; sway
|
||||
}
|
||||
39
hosts/example/hardware.nix
Normal file
39
hosts/example/hardware.nix
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "nvme" "usbhid" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
# boot.kernelModules = [ "kvm-amd" ];# For AMD CPU
|
||||
boot.kernelModules = ["kvm-intel"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
|
||||
fsType = "vfat";
|
||||
options = ["fmask=0022" "dmask=0022"];
|
||||
};
|
||||
|
||||
swapDevices = [];
|
||||
|
||||
# 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;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
# hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; # For AMD CPU
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; # For Intel CPU
|
||||
}
|
||||
Reference in New Issue
Block a user