From a9d0a9d62b9e0792e9085c9e47025ed6eb8cb893 Mon Sep 17 00:00:00 2001 From: "Mohamed C." Date: Sat, 10 Aug 2024 20:30:24 +0200 Subject: [PATCH] reorder and use default.nix --- hosts/computer-mo/system/default.nix | 24 +++++++++++++++++++ .../computer-mo/system/pkg-customization.nix | 9 +++++++ hosts/computer-mo/system/pkg-desktop.nix | 6 +++++ hosts/computer-mo/system/pkg-dev.nix | 10 ++++++++ hosts/computer-mo/system/pkg-firefox.nix | 7 ++++++ hosts/computer-mo/system/pkg-gaming.nix | 10 ++++++++ hosts/computer-mo/system/pkg-hardware.nix | 10 ++++++++ hosts/computer-mo/system/pkg-media.nix | 16 +++++++++++++ hosts/computer-mo/system/pkg-misc.nix | 15 ++++++++++++ hosts/computer-mo/system/pkg-steam.nix | 10 ++++++++ hosts/computer-mo/system/pkg-system.nix | 8 +++++++ hosts/computer-mo/system/set-boot.nix | 10 ++++++++ hosts/computer-mo/system/set-controller.nix | 7 ++++++ hosts/computer-mo/system/set-desktop.nix | 6 +++++ hosts/computer-mo/system/set-filesystems.nix | 18 ++++++++++++++ hosts/computer-mo/system/set-hardware.nix | 17 +++++++++++++ hosts/computer-mo/system/set-hostname.nix | 4 ++++ hosts/computer-mo/system/set-steam.nix | 18 ++++++++++++++ hosts/computer-mo/system/set-systemd.nix | 12 ++++++++++ hosts/computer-mo/system/set-users.nix | 8 +++++++ 20 files changed, 225 insertions(+) create mode 100644 hosts/computer-mo/system/default.nix create mode 100644 hosts/computer-mo/system/pkg-customization.nix create mode 100644 hosts/computer-mo/system/pkg-desktop.nix create mode 100644 hosts/computer-mo/system/pkg-dev.nix create mode 100644 hosts/computer-mo/system/pkg-firefox.nix create mode 100644 hosts/computer-mo/system/pkg-gaming.nix create mode 100644 hosts/computer-mo/system/pkg-hardware.nix create mode 100644 hosts/computer-mo/system/pkg-media.nix create mode 100644 hosts/computer-mo/system/pkg-misc.nix create mode 100644 hosts/computer-mo/system/pkg-steam.nix create mode 100644 hosts/computer-mo/system/pkg-system.nix create mode 100644 hosts/computer-mo/system/set-boot.nix create mode 100644 hosts/computer-mo/system/set-controller.nix create mode 100644 hosts/computer-mo/system/set-desktop.nix create mode 100644 hosts/computer-mo/system/set-filesystems.nix create mode 100644 hosts/computer-mo/system/set-hardware.nix create mode 100644 hosts/computer-mo/system/set-hostname.nix create mode 100644 hosts/computer-mo/system/set-steam.nix create mode 100644 hosts/computer-mo/system/set-systemd.nix create mode 100644 hosts/computer-mo/system/set-users.nix diff --git a/hosts/computer-mo/system/default.nix b/hosts/computer-mo/system/default.nix new file mode 100644 index 0000000..88c7f85 --- /dev/null +++ b/hosts/computer-mo/system/default.nix @@ -0,0 +1,24 @@ +{ ... }: +{ + imports = [ + ./pkg-customization.nix + ./pkg-desktop.nix + ./pkg-dev.nix + ./pkg-firefox.nix + ./pkg-gaming.nix + ./pkg-hardware.nix + ./pkg-media.nix + ./pkg-misc.nix + ./pkg-steam.nix + ./pkg-system.nix + ./set-boot.nix + ./set-controller.nix + ./set-desktop.nix + ./set-filesystems.nix + ./set-hardware.nix + ./set-hostname.nix + ./set-steam.nix + ./set-systemd.nix + ./set-users.nix + ]; +} diff --git a/hosts/computer-mo/system/pkg-customization.nix b/hosts/computer-mo/system/pkg-customization.nix new file mode 100644 index 0000000..e6049bd --- /dev/null +++ b/hosts/computer-mo/system/pkg-customization.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: +{ + environment.systemPackages = + (with pkgs; [ + kde-rounded-corners + neofetch + ibm-plex + ]); +} diff --git a/hosts/computer-mo/system/pkg-desktop.nix b/hosts/computer-mo/system/pkg-desktop.nix new file mode 100644 index 0000000..c6dbb10 --- /dev/null +++ b/hosts/computer-mo/system/pkg-desktop.nix @@ -0,0 +1,6 @@ +{ ... }: +{ + services.desktopManager.plasma6.enable = true; + services.displayManager.sddm.wayland.enable = true; + services.displayManager.sddm.enable = true; +} diff --git a/hosts/computer-mo/system/pkg-dev.nix b/hosts/computer-mo/system/pkg-dev.nix new file mode 100644 index 0000000..545262b --- /dev/null +++ b/hosts/computer-mo/system/pkg-dev.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: +{ + environment.systemPackages = + (with pkgs; [ + kdePackages.kate + git + nil + yaml-language-server + ]); +} diff --git a/hosts/computer-mo/system/pkg-firefox.nix b/hosts/computer-mo/system/pkg-firefox.nix new file mode 100644 index 0000000..7ab5fb5 --- /dev/null +++ b/hosts/computer-mo/system/pkg-firefox.nix @@ -0,0 +1,7 @@ +{ ... }: +{ + programs.firefox = { + enable = true; + languagePacks = ["de"]; + }; +} diff --git a/hosts/computer-mo/system/pkg-gaming.nix b/hosts/computer-mo/system/pkg-gaming.nix new file mode 100644 index 0000000..44cf0b5 --- /dev/null +++ b/hosts/computer-mo/system/pkg-gaming.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: +{ + environment.systemPackages = + (with pkgs; [ + mangohud + unigine-valley + unigine-heaven + unigine-tropics + ]); +} diff --git a/hosts/computer-mo/system/pkg-hardware.nix b/hosts/computer-mo/system/pkg-hardware.nix new file mode 100644 index 0000000..c4a28c6 --- /dev/null +++ b/hosts/computer-mo/system/pkg-hardware.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: +{ + environment.systemPackages = + (with pkgs; [ + pciutils + aha + lact + kdePackages.isoimagewriter + ]); +} diff --git a/hosts/computer-mo/system/pkg-media.nix b/hosts/computer-mo/system/pkg-media.nix new file mode 100644 index 0000000..395a885 --- /dev/null +++ b/hosts/computer-mo/system/pkg-media.nix @@ -0,0 +1,16 @@ +{ pkgs, ... }: +{ + environment.systemPackages = + (with pkgs; [ + kdePackages.gwenview + kdePackages.okular + kdePackages.kdenlive + kdePackages.elisa + haruna + krita + ]); +} + + + + diff --git a/hosts/computer-mo/system/pkg-misc.nix b/hosts/computer-mo/system/pkg-misc.nix new file mode 100644 index 0000000..bf32362 --- /dev/null +++ b/hosts/computer-mo/system/pkg-misc.nix @@ -0,0 +1,15 @@ +{ pkgs, ... }: +{ + environment.systemPackages = + (with pkgs; [ + vesktop + google-chrome + teams-for-linux + kdePackages.kcolorchooser + xwaylandvideobridge + kdePackages.kfind + kdePackages.kcalc + kdePackages.filelight + kdePackages.skanlite + ]); +} diff --git a/hosts/computer-mo/system/pkg-steam.nix b/hosts/computer-mo/system/pkg-steam.nix new file mode 100644 index 0000000..bf76fe8 --- /dev/null +++ b/hosts/computer-mo/system/pkg-steam.nix @@ -0,0 +1,10 @@ +{ ... }: +{ + jovian.steam = { + enable = true; + }; + + programs.steam = { + enable = true; + }; +} diff --git a/hosts/computer-mo/system/pkg-system.nix b/hosts/computer-mo/system/pkg-system.nix new file mode 100644 index 0000000..30f75a2 --- /dev/null +++ b/hosts/computer-mo/system/pkg-system.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + environment.systemPackages = + (with pkgs; [ + kdePackages.ksystemlog + kdePackages.partitionmanager + ]); +} diff --git a/hosts/computer-mo/system/set-boot.nix b/hosts/computer-mo/system/set-boot.nix new file mode 100644 index 0000000..254d37d --- /dev/null +++ b/hosts/computer-mo/system/set-boot.nix @@ -0,0 +1,10 @@ +{ ... }: +{ + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + boot.extraModprobeConfig = '' + options amdgpu ppfeaturemask=0xFFF7FFFF +''; +} diff --git a/hosts/computer-mo/system/set-controller.nix b/hosts/computer-mo/system/set-controller.nix new file mode 100644 index 0000000..3a5e479 --- /dev/null +++ b/hosts/computer-mo/system/set-controller.nix @@ -0,0 +1,7 @@ +{ ... }: +{ + # Ignore Dualsense Touchpad in Desktop + services.udev.extraRules ='' + ACTION=="add|change", KERNEL=="event[0-9]*", ATTRS{name}=="*Wireless Controller Touchpad", ENV{LIBINPUT_IGNORE_DEVICE}="1" + ''; +} diff --git a/hosts/computer-mo/system/set-desktop.nix b/hosts/computer-mo/system/set-desktop.nix new file mode 100644 index 0000000..8a82979 --- /dev/null +++ b/hosts/computer-mo/system/set-desktop.nix @@ -0,0 +1,6 @@ +{ user-computer, ... }: +{ + services.xserver.enable = false; + services.displayManager.autoLogin.enable = true; + services.displayManager.autoLogin.user = user-computer; +} diff --git a/hosts/computer-mo/system/set-filesystems.nix b/hosts/computer-mo/system/set-filesystems.nix new file mode 100644 index 0000000..6d1435e --- /dev/null +++ b/hosts/computer-mo/system/set-filesystems.nix @@ -0,0 +1,18 @@ +{ ... }: +{ + fileSystems."/" = + { device = "/dev/disk/by-partlabel/root"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-partlabel/EFI"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + swapDevices = [ { + device = "/var/lib/swapfile"; + size = 16*1024; + }]; +} diff --git a/hosts/computer-mo/system/set-hardware.nix b/hosts/computer-mo/system/set-hardware.nix new file mode 100644 index 0000000..55e3871 --- /dev/null +++ b/hosts/computer-mo/system/set-hardware.nix @@ -0,0 +1,17 @@ +{ lib, config,... }: +{ + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + services.fwupd.enable = true; + services.printing.enable = true; + hardware.bluetooth.enable = true; + hardware.bluetooth.powerOnBoot = true; + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + services.libinput.enable = false; +} diff --git a/hosts/computer-mo/system/set-hostname.nix b/hosts/computer-mo/system/set-hostname.nix new file mode 100644 index 0000000..4a2ddef --- /dev/null +++ b/hosts/computer-mo/system/set-hostname.nix @@ -0,0 +1,4 @@ +{ host-computer, ... }: +{ + networking.hostName = host-computer; +} diff --git a/hosts/computer-mo/system/set-steam.nix b/hosts/computer-mo/system/set-steam.nix new file mode 100644 index 0000000..48df2a9 --- /dev/null +++ b/hosts/computer-mo/system/set-steam.nix @@ -0,0 +1,18 @@ +{ user-computer, ... }: +{ + jovian.steam = { + autoStart = false; + user = user-computer; + desktopSession = "plasma"; + }; + + jovian.hardware.has.amd.gpu = true; + jovian.hardware.amd.gpu.enableEarlyModesetting = true; + jovian.steamos.enableBluetoothConfig = true; + + programs.steam = { + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + localNetworkGameTransfers.openFirewall = true; + }; +} diff --git a/hosts/computer-mo/system/set-systemd.nix b/hosts/computer-mo/system/set-systemd.nix new file mode 100644 index 0000000..aaa24b9 --- /dev/null +++ b/hosts/computer-mo/system/set-systemd.nix @@ -0,0 +1,12 @@ +{ pkgs,... }: +{ + systemd.services.lact = { + enable = true; + description = "AMDGPU Control Daemon"; + after = ["multi-user.target"]; + wantedBy = ["multi-user.target"]; + serviceConfig = { + ExecStart = "${pkgs.lact}/bin/lact daemon"; + }; + }; +} diff --git a/hosts/computer-mo/system/set-users.nix b/hosts/computer-mo/system/set-users.nix new file mode 100644 index 0000000..0e574ce --- /dev/null +++ b/hosts/computer-mo/system/set-users.nix @@ -0,0 +1,8 @@ +{ user-computer, ... }: +{ + users.users.${user-computer} = { + isNormalUser = true; + description = "Mohamed Chrayed"; + extraGroups = [ "networkmanager" "wheel" ]; + }; +}