massive restructure
This commit is contained in:
@@ -0,0 +1,266 @@
|
||||
{
|
||||
pkgs,
|
||||
sls-steam,
|
||||
options,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cpuid-fault-emulation = pkgs.callPackage ../../pkgs/cpuid-fault-emulation {
|
||||
kernel = config.boot.kernelPackages.kernel;
|
||||
};
|
||||
in
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
./packages.nix
|
||||
../../modules/scripts.nix
|
||||
../../modules/desktop/xremap.nix
|
||||
];
|
||||
|
||||
# DISKS
|
||||
fileSystems."/media/gamedisk4" = {
|
||||
device = "/dev/disk/by-uuid/D290EB87C8A1E82A";
|
||||
fsType = "ntfs3";
|
||||
options = [
|
||||
"uid=1000"
|
||||
"gid=100"
|
||||
"rw"
|
||||
"user"
|
||||
"exec"
|
||||
"umask=000"
|
||||
"nofail"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/media/gamedisk" = {
|
||||
device = "/dev/disk/by-uuid/5C7C14707C1446E4";
|
||||
fsType = "ntfs3";
|
||||
options = [
|
||||
"uid=1000"
|
||||
"gid=100"
|
||||
"rw"
|
||||
"user"
|
||||
"exec"
|
||||
"umask=000"
|
||||
"nofail"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/media/gamedisk2" = {
|
||||
device = "/dev/disk/by-uuid/945A7421DAD8A3CE";
|
||||
fsType = "ntfs3";
|
||||
options = [
|
||||
"uid=1000"
|
||||
"gid=100"
|
||||
"rw"
|
||||
"user"
|
||||
"exec"
|
||||
"umask=000"
|
||||
"nofail"
|
||||
];
|
||||
};
|
||||
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
|
||||
boot.kernelParams = [
|
||||
"iomem=relaxed"
|
||||
"iommu=pt"
|
||||
"amd_iommu=on"
|
||||
"kvm.ignore_msrs=1"
|
||||
"mitigations=off"
|
||||
"amdgpu.ppfeaturemask=0xffffffff"
|
||||
"clearcpuid=umip"
|
||||
];
|
||||
|
||||
xdg = {
|
||||
mime.defaultApplications = {
|
||||
"inode/directory" = [ "nemo.desktop" ];
|
||||
"application/x-gnome-saved-search" = [ "nemo.desktop" ];
|
||||
};
|
||||
};
|
||||
|
||||
hardware.graphics.enable = true;
|
||||
hardware.graphics.enable32Bit = true;
|
||||
services.hardware.openrgb.enable = true;
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.device = "nodev";
|
||||
boot.loader.grub.efiSupport = true;
|
||||
boot.extraModulePackages = [ cpuid-fault-emulation ];
|
||||
|
||||
environment.systemPackages = [
|
||||
(pkgs.writeShellScriptBin "enable-hypervisor" ''
|
||||
sudo modprobe -r kvm_amd kvm
|
||||
sudo modprobe cpuid_fault_emulation
|
||||
'')
|
||||
(pkgs.writeShellScriptBin "disable-hypervisor" ''
|
||||
sudo modprobe -r cpuid_fault_emulation
|
||||
sudo modprobe kvm_amd kvm
|
||||
'')
|
||||
];
|
||||
|
||||
networking.hostName = "nixos-desktop";
|
||||
networking.firewall.enable = false;
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "de_DE.UTF-8";
|
||||
LC_IDENTIFICATION = "de_DE.UTF-8";
|
||||
LC_MEASUREMENT = "de_DE.UTF-8";
|
||||
LC_MONETARY = "de_DE.UTF-8";
|
||||
LC_NAME = "de_DE.UTF-8";
|
||||
LC_NUMERIC = "de_DE.UTF-8";
|
||||
LC_PAPER = "de_DE.UTF-8";
|
||||
LC_TELEPHONE = "de_DE.UTF-8";
|
||||
LC_TIME = "de_DE.UTF-8";
|
||||
};
|
||||
|
||||
console.keyMap = "de";
|
||||
|
||||
programs.fish.enable = true;
|
||||
users.users.user = {
|
||||
isNormalUser = true;
|
||||
description = "user";
|
||||
uid = 1000;
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
"docker"
|
||||
];
|
||||
shell = pkgs.fish;
|
||||
};
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
programs.niri.enable = true;
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
|
||||
# environment.loginShellInit = ''
|
||||
# if [ "$(tty)" = "/dev/tty1" ] && [ -z "$WAYLAND_DISPLAY" ]; then
|
||||
# exec start-hyprland
|
||||
# fi
|
||||
# '';
|
||||
|
||||
# NFS / MPD
|
||||
fileSystems."/media/music" = {
|
||||
device = "192.168.132.149:/media/music";
|
||||
fsType = "nfs4";
|
||||
};
|
||||
boot.supportedFilesystems = [ "nfs4" ];
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "qt5ct";
|
||||
style = "breeze";
|
||||
};
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
services.gvfs.enable = true;
|
||||
services.goxlr-utility.enable = true;
|
||||
services.lact.enable = true;
|
||||
services.rsync.enable = true;
|
||||
programs.kdeconnect.enable = true;
|
||||
programs.neovim.enable = true;
|
||||
programs.tmux.enable = true;
|
||||
programs.bat.enable = true;
|
||||
programs.nh.enable = true;
|
||||
programs.git = {
|
||||
enable = true;
|
||||
config = {
|
||||
signing = {
|
||||
key = "51AE8C6E80E6AF3BDFBE2BF804B31D181764898D";
|
||||
signByDefault = true;
|
||||
};
|
||||
user = {
|
||||
name = "KeksNino";
|
||||
email = "KeksNino@proton.me";
|
||||
};
|
||||
init = {
|
||||
defaultBranch = "main";
|
||||
};
|
||||
push = {
|
||||
autoSetupRemote = true;
|
||||
};
|
||||
commit = {
|
||||
gpgsign = true;
|
||||
};
|
||||
tag = {
|
||||
gpgsign = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
pinentryPackage = pkgs.pinentry-curses;
|
||||
};
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
package = pkgs.millennium-steam.override {
|
||||
extraEnv = {
|
||||
LD_AUDIT = "${sls-steam.packages.${pkgs.stdenv.hostPlatform.system}.sls-steam}/library-inject.so:${
|
||||
sls-steam.packages.${pkgs.stdenv.hostPlatform.system}.sls-steam
|
||||
}/SLSsteam.so";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
libraries =
|
||||
options.programs.nix-ld.libraries.default
|
||||
++ (with pkgs; [
|
||||
dbus # libdbus-1.so.3
|
||||
fontconfig # libfontconfig.so.1
|
||||
freetype # libfreetype.so.6
|
||||
glib # libglib-2.0.so.0
|
||||
libGL # libGL.so.1
|
||||
libxkbcommon # libxkbcommon.so.0
|
||||
libx11 # libX11.so.6
|
||||
wayland
|
||||
]);
|
||||
};
|
||||
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
|
||||
security.pam.loginLimits = [
|
||||
{
|
||||
domain = "@users";
|
||||
item = "rtprio";
|
||||
type = "-";
|
||||
value = "95";
|
||||
}
|
||||
{
|
||||
domain = "@users";
|
||||
item = "memlock";
|
||||
type = "-";
|
||||
value = "unlimited";
|
||||
}
|
||||
];
|
||||
|
||||
security.rtkit.enable = true;
|
||||
|
||||
system.stateVersion = "24.11";
|
||||
system.autoUpgrade.enable = false;
|
||||
system.autoUpgrade.allowReboot = true;
|
||||
}
|
||||
Reference in New Issue
Block a user