This commit is contained in:
2024-12-28 17:09:18 +01:00
100 changed files with 2582 additions and 2026 deletions

View File

@@ -1,34 +1,55 @@
{ config, pkgs, ... }:
{ pkgs, ... }:
{
imports = [ # Include the results of the hardware scan.
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
# GUI
../../modules/system/gui/steam.nix
../../modules/system/gui/hyprland.nix
../../modules/system/gui/thunar.nix
# CLI
../../modules/system/cli/common.nix
../../modules/system/cli/docker.nix
# Hardware
../../modules/system/hardware/firewall.nix
../../modules/system/hardware/garbage-collection.nix
../../modules/system/hardware/locale.nix
../../modules/system/hardware/nvidia.nix
# Import modules
../../modules/system/default.nix
];
settings = {
display-manager = "cosmic-greeter";
desktop-environments = {
cosmic.enable = true;
hyprland.enable = false;
gnome.enable = false;
};
applications = {
common.enable = true;
steam.enable = true;
thunar.enable = false;
};
services = {
docker.enable = false;
quickemu.enable = false;
sunshine.enable = false;
garbage-collection.enable = true;
};
hardware = {
fprint.enable = false;
printing.enable = true;
bluetooth.enable = false;
firewall.enable = true;
locale.enable = true;
nvidia.enable = true;
};
};
nix.settings = {
experimental-features = [ "nix-command" "flakes" ];
substituters = [
"https://nix-community.cachix.org"
"https://cosmic.cachix.org/"
];
trusted-public-keys = [
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
];
};
# Bootloader.
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.grub = {
@@ -37,6 +58,7 @@
device = "nodev";
};
# Networking configuration
networking.hostName = "xv-desktop"; # Define your hostname.
networking.interfaces.enp7s0.wakeOnLan.enable = true;

View File

@@ -2,16 +2,13 @@
{
imports = [
# GUI
../../modules/home/gui/common
../../modules/home/gui/hyprland
../../modules/home/gui/nextcloud.nix
../../modules/home/gui/theming.nix
# CLI
../../modules/home/cli/common
# Modules
../../modules/home/default.nix
];
# Enable home-manager
programs.home-manager.enable = true;
options = {
host = lib.mkOption {
type = with lib.types; str;
@@ -45,6 +42,28 @@
# Enable home-manager
programs.home-manager.enable = true;
settings = {
applications.common.enable = true;
applications.alacritty.enable = false;
applications.devenv.enable = true;
applications.firefox.enable = true;
applications.git.enable = true;
applications.helix.enable = true;
applications.zsh.enable = true;
applications.ssh.enable = true;
applications.thunderbird.enable = true;
applications.yazi.enable = true;
applications.zellij.enable = true;
services.nextcloud-sync.enable = true;
theming.fonts.enable = true;
theming.nix-colors.enable = false;
theming.stylix.enable = true;
desktop-environments.hyprland.enable = false;
};
home.stateVersion = "24.05";
};
}

View File

@@ -1,36 +1,52 @@
{ config, pkgs, ... }:
{ pkgs, ... }:
{
imports = [
# Import hardware configuration
./hardware-configuration.nix
# GUI
../../modules/system/gui/hyprland.nix
../../modules/system/gui/steam.nix
../../modules/system/gui/thunar.nix
# ../../modules/system/gui/plasma.nix
# CLI
../../modules/system/cli/common.nix
../../modules/system/cli/docker.nix
# Hardware
../../modules/system/hardware/amd.nix
../../modules/system/hardware/bluetooth.nix
../../modules/system/hardware/firewall.nix
../../modules/system/hardware/garbage-collection.nix
../../modules/system/hardware/laptop.nix
../../modules/system/hardware/locale.nix
../../modules/system/hardware/printing.nix
../../modules/system/hardware/fprint.nix
../../modules/system/hardware/virt.nix
# Import modules
../../modules/system/default.nix
];
settings = {
display-manager = "cosmic-greeter";
desktop-environments = {
cosmic.enable = true;
hyprland.enable = true;
gnome.enable = false;
};
applications = {
common.enable = true;
steam.enable = true;
thunar.enable = true;
};
services = {
docker.enable = true;
quickemu.enable = true;
sunshine.enable = false;
garbage-collection.enable = true;
};
hardware = {
fprint.enable = true;
printing.enable = true;
bluetooth.enable = true;
firewall.enable = true;
locale.enable = true;
nvidia.enable = false;
};
};
nix.settings = {
experimental-features = [ "nix-command" "flakes" ];
substituters = [
"https://nix-community.cachix.org"
"https://cosmic.cachix.org/"
];
trusted-public-keys = [
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
];
};
@@ -53,16 +69,12 @@
nix.settings.trusted-users = [ "root" "xeovalyte" ];
boot.kernelPackages = pkgs.linuxPackages_latest;
# Configure wacom tablet
hardware.opentabletdriver = {
# Prevent system freeze on high load
services.earlyoom = {
enable = true;
};
services.libinput.enable = true;
services.fwupd.enable = true;
boot.kernelPackages = pkgs.linuxPackages_latest;
system.stateVersion = "24.05";
}

View File

@@ -2,21 +2,10 @@
{
imports = [
# GUI
../../modules/home/gui/common
../../modules/home/gui/hyprland
../../modules/home/gui/nextcloud.nix
../../modules/home/gui/theming.nix
../../modules/home/gui/thunderbird.nix
# CLI
../../modules/home/cli/common
../../modules/home/cli/develop.nix
../../modules/home/cli/ssh.nix
../../modules/home/cli/yazi.nix
# Modules
../../modules/home/default.nix
];
options = {
host = lib.mkOption {
type = with lib.types; str;
@@ -42,14 +31,34 @@
host = "xv-laptop";
headless = false;
settings = {
applications.common.enable = true;
applications.alacritty.enable = true;
applications.devenv.enable = true;
applications.firefox.enable = true;
applications.git.enable = true;
applications.helix.enable = true;
applications.zsh.enable = true;
applications.ssh.enable = true;
applications.thunderbird.enable = true;
applications.yazi.enable = true;
applications.zellij.enable = true;
services.nextcloud-sync.enable = true;
theming.fonts.enable = true;
theming.nix-colors.enable = false;
theming.stylix.enable = true;
desktop-environments.hyprland.enable = false;
};
home.packages = with pkgs; [
# Desktop Applications
kdenlive
prismlauncher
unstable.modrinth-app
unstable.joplin-desktop
unstable.prusa-slicer
unstable.font-manager
signal-desktop
unstable.vesktop
unstable.webcord
@@ -59,7 +68,6 @@
unstable.rnote
unstable.bottles
# Office
libreoffice
@@ -78,15 +86,6 @@
# Enable home-manager
programs.home-manager.enable = true;
# Enable default applications
xdg.mimeApps = {
enable = true;
defaultApplications = {
"application/pdf" = "firefox.desktop";
"application/rnote" = "rnote.desktop";
};
};
home.stateVersion = "24.05";
};

81
hosts/surface/default.nix Normal file
View File

@@ -0,0 +1,81 @@
{ lib, pkgs, ... }:
{
imports = [
# Import hardware configuration
./hardware-configuration.nix
# Import modules
../../modules/system/default.nix
];
settings = {
display-manager = "gdm";
desktop-environments = {
cosmic.enable = false;
hyprland.enable = false;
gnome.enable = true;
};
applications = {
common.enable = true;
steam.enable = false;
thunar.enable = false;
};
services = {
docker.enable = false;
quickemu.enable = false;
sunshine.enable = false;
garbage-collection.enable = true;
};
hardware = {
fprint.enable = false;
printing.enable = false;
bluetooth.enable = true;
firewall.enable = true;
locale.enable = true;
nvidia.enable = false;
};
};
nix.settings = {
experimental-features = [ "nix-command" "flakes" ];
substituters = [
"https://nix-community.cachix.org"
"https://cosmic.cachix.org/"
];
trusted-public-keys = [
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
];
};
# Bootloader.
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.grub = {
enable = true;
efiSupport = true;
device = "nodev";
configurationLimit = 32;
};
networking.hostName = "xv-laptop"; # Define your hostname.
users.users.xeovalyte = {
isNormalUser = true;
description = "Timo Boomers";
extraGroups = [ "networkmanager" "wheel" "dialout" ];
};
nix.settings.trusted-users = [ "root" "xeovalyte" ];
# Prevent system freeze on high load
services.earlyoom = {
enable = true;
};
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
system.stateVersion = "24.05";
}

View File

@@ -0,0 +1,40 @@
# 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 = [ "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/09e81450-2741-4218-a2e5-780515cd90b9";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/FC00-C9A3";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/30618725-d8ff-40c9-b218-6b1f7aaf9155"; }
];
# 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.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

69
hosts/surface/home.nix Normal file
View File

@@ -0,0 +1,69 @@
{ pkgs, lib, ... }:
{
imports = [
# Modules
../../modules/home/default.nix
];
options = {
host = lib.mkOption {
type = with lib.types; str;
description = ''
Define the host of the machine
'';
};
headless = lib.mkOption {
type = with lib.types; bool;
description = ''
Is this machine headless?
'';
};
};
config = {
home = {
username = "xeovalyte";
homeDirectory = "/home/xeovalyte";
};
host = "xv-surface";
headless = false;
settings = {
applications.common.enable = true;
applications.alacritty.enable = false;
applications.devenv.enable = false;
applications.firefox.enable = true;
applications.git.enable = true;
applications.helix.enable = true;
applications.zsh.enable = true;
applications.ssh.enable = false;
applications.thunderbird.enable = false;
applications.yazi.enable = true;
applications.zellij.enable = false;
services.nextcloud-sync.enable = true;
theming.fonts.enable = true;
theming.nix-colors.enable = true;
desktop-environments.hyprland.enable = false;
};
home.packages = with pkgs; [
# Desktop Applications
unstable.rnote
# Office
libreoffice
];
# Enable home-manager
programs.home-manager.enable = true;
home.stateVersion = "24.05";
};
}