diff --git a/hosts/computer-mo/assets/wallpaper-nix.png b/assets/wallpaper-nix.png similarity index 100% rename from hosts/computer-mo/assets/wallpaper-nix.png rename to assets/wallpaper-nix.png diff --git a/hosts/computer-mo/dotfiles/BreezeDunkelFarbe.colors b/dotfiles/BreezeDunkelFarbe.colors similarity index 100% rename from hosts/computer-mo/dotfiles/BreezeDunkelFarbe.colors rename to dotfiles/BreezeDunkelFarbe.colors diff --git a/hosts/computer-mo/dotfiles/BreezeHellFarbe.colors b/dotfiles/BreezeHellFarbe.colors similarity index 100% rename from hosts/computer-mo/dotfiles/BreezeHellFarbe.colors rename to dotfiles/BreezeHellFarbe.colors diff --git a/hosts/computer-mo/dotfiles/haruna.conf b/dotfiles/haruna.conf similarity index 100% rename from hosts/computer-mo/dotfiles/haruna.conf rename to dotfiles/haruna.conf diff --git a/hosts/computer-mo/dotfiles/kglobalshortcutsrc b/dotfiles/kglobalshortcutsrc similarity index 100% rename from hosts/computer-mo/dotfiles/kglobalshortcutsrc rename to dotfiles/kglobalshortcutsrc diff --git a/hosts/computer-mo/dotfiles/kwinoutputconfig.json b/dotfiles/kwinoutputconfig.json similarity index 100% rename from hosts/computer-mo/dotfiles/kwinoutputconfig.json rename to dotfiles/kwinoutputconfig.json diff --git a/hosts/computer-mo/dotfiles/kwinrc b/dotfiles/kwinrc similarity index 100% rename from hosts/computer-mo/dotfiles/kwinrc rename to dotfiles/kwinrc diff --git a/flake.nix b/flake.nix index e65b8e2..7580894 100644 --- a/flake.nix +++ b/flake.nix @@ -22,9 +22,15 @@ pkgs = import nixpkgs { inherit system; }; commonModules = [ - ./global/system - jovian.nixosModules.jovian home-manager.nixosModules.home-manager + ./modules/system/boot + ./modules/system/devices + ./modules/system/locale + ./modules/system/networking + ./modules/system/nixsettings + ./modules/system/shell + ./modules/system/systemversion + ./modules/system/upgrades ]; homeManagerConfig = { @@ -39,7 +45,7 @@ hosts = { computer-mo = { user = "mo"; - extraModules = [ ./hosts/computer-mo/system ]; + extraModules = []; userConfig = { isNormalUser = true; home = "/home/mo"; @@ -50,7 +56,7 @@ steamdeck = { user = "deck"; - extraModules = [ ./hosts/steamdeck/system ]; + extraModules = []; userConfig = { isNormalUser = true; home = "/home/deck"; @@ -70,8 +76,6 @@ # Home Manager user imports { home-manager.users.${hostConfig.user}.imports = [ - ./hosts/${hostName}/user - ./global/user ]; } homeManagerConfig diff --git a/hosts/computer-mo/default.nix b/hosts/computer-mo/default.nix index e69de29..2440752 100644 --- a/hosts/computer-mo/default.nix +++ b/hosts/computer-mo/default.nix @@ -0,0 +1,24 @@ +{ ... }: +{ + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + + 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/default.nix b/hosts/computer-mo/system/default.nix deleted file mode 100644 index d18fbc7..0000000 --- a/hosts/computer-mo/system/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ ... }: -{ - 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-steam.nix - ./set-systemd.nix - ]; -} diff --git a/hosts/computer-mo/system/pkg-customization.nix b/hosts/computer-mo/system/pkg-customization.nix deleted file mode 100644 index 4d58a08..0000000 --- a/hosts/computer-mo/system/pkg-customization.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, ... }: -{ - environment.systemPackages = - (with pkgs; [ - kde-rounded-corners - ibm-plex - ]); -} diff --git a/hosts/computer-mo/system/pkg-desktop.nix b/hosts/computer-mo/system/pkg-desktop.nix deleted file mode 100644 index c6dbb10..0000000 --- a/hosts/computer-mo/system/pkg-desktop.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ ... }: -{ - services.desktopManager.plasma6.enable = true; - services.displayManager.sddm.wayland.enable = true; - services.displayManager.sddm.enable = true; -} diff --git a/hosts/computer-mo/system/pkg-gaming.nix b/hosts/computer-mo/system/pkg-gaming.nix deleted file mode 100644 index 7c6dcbf..0000000 --- a/hosts/computer-mo/system/pkg-gaming.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: -{ - environment.systemPackages = - (with pkgs; [ - mangohud - ]); -} diff --git a/hosts/computer-mo/system/pkg-media.nix b/hosts/computer-mo/system/pkg-media.nix deleted file mode 100644 index 395a885..0000000 --- a/hosts/computer-mo/system/pkg-media.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ 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 deleted file mode 100644 index bf32362..0000000 --- a/hosts/computer-mo/system/pkg-misc.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ 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 deleted file mode 100644 index bf76fe8..0000000 --- a/hosts/computer-mo/system/pkg-steam.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ ... }: -{ - 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 deleted file mode 100644 index 30f75a2..0000000 --- a/hosts/computer-mo/system/pkg-system.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ 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 deleted file mode 100644 index 254d37d..0000000 --- a/hosts/computer-mo/system/set-boot.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ ... }: -{ - 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-desktop.nix b/hosts/computer-mo/system/set-desktop.nix deleted file mode 100644 index 225ed9b..0000000 --- a/hosts/computer-mo/system/set-desktop.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ ... }: -{ - services.xserver.enable = false; - services.displayManager.autoLogin.enable = true; - services.displayManager.autoLogin.user = "mo"; -} diff --git a/hosts/computer-mo/system/set-filesystems.nix b/hosts/computer-mo/system/set-filesystems.nix deleted file mode 100644 index 6d1435e..0000000 --- a/hosts/computer-mo/system/set-filesystems.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ ... }: -{ - 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/user/default.nix b/hosts/computer-mo/user/default.nix deleted file mode 100644 index 76dd1d8..0000000 --- a/hosts/computer-mo/user/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ ... }: -{ - imports = [ - ./pkg-desktop.nix - ./set-customization.nix - ./set-desktop.nix - ./set-dotfiles.nix - ]; -} diff --git a/hosts/computer-mo/user/pkg-desktop.nix b/hosts/computer-mo/user/pkg-desktop.nix deleted file mode 100644 index 154335f..0000000 --- a/hosts/computer-mo/user/pkg-desktop.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ ... }: -{ - programs.plasma = { - enable = true; - }; -} diff --git a/hosts/computer-mo/user/set-customization.nix b/hosts/computer-mo/user/set-customization.nix deleted file mode 100644 index 52c14b8..0000000 --- a/hosts/computer-mo/user/set-customization.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ ... }: -{ -} diff --git a/hosts/computer-mo/user/set-dotfiles.nix b/hosts/computer-mo/user/set-dotfiles.nix deleted file mode 100644 index 652deb6..0000000 --- a/hosts/computer-mo/user/set-dotfiles.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ ... }: -{ -home.file.".config/haruna/haruna.conf".source = ../dotfiles/haruna.conf; -home.file.".local/share/color-schemes/BreezeDunkelFarbe.colors".source = ../dotfiles/BreezeDunkelFarbe.colors; -home.file.".local/share/color-schemes/BreezeHellFarbe.colors".source = ../dotfiles/BreezeHellFarbe.colors; -home.file.".config/kglobalshortcutsrc".source = ../dotfiles/kglobalshortcutsrc; -home.file."Bilder/Hintergründe/wallpaper-nix.png".source = ../assets/wallpaper-nix.png; -home.file.".config/kwinrc".source = ../dotfiles/kwinrc; -home.file.".config/kwinoutputconfig.json".source = ../dotfiles/kwinoutputconfig.json; -} diff --git a/hosts/computer-mo/system/pkg-hardware.nix b/modules/system/apps.misc/default.nix similarity index 58% rename from hosts/computer-mo/system/pkg-hardware.nix rename to modules/system/apps.misc/default.nix index c4a28c6..f3f6eda 100644 --- a/hosts/computer-mo/system/pkg-hardware.nix +++ b/modules/system/apps.misc/default.nix @@ -2,9 +2,13 @@ { environment.systemPackages = (with pkgs; [ + ibm-plex + mangohud pciutils aha lact - kdePackages.isoimagewriter + vesktop + google-chrome + teams-for-linux ]); } diff --git a/hosts/computer-mo/system/pkg-dev.nix b/modules/system/apps.shell/default.nix similarity index 84% rename from hosts/computer-mo/system/pkg-dev.nix rename to modules/system/apps.shell/default.nix index 545262b..cb8a109 100644 --- a/hosts/computer-mo/system/pkg-dev.nix +++ b/modules/system/apps.shell/default.nix @@ -2,7 +2,6 @@ { environment.systemPackages = (with pkgs; [ - kdePackages.kate git nil yaml-language-server diff --git a/modules/system/boot/default.nix b/modules/system/boot/default.nix new file mode 100644 index 0000000..26f9b4f --- /dev/null +++ b/modules/system/boot/default.nix @@ -0,0 +1,10 @@ +{ ... }: +{ + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + boot.plymouth.enable = true; + boot.plymouth.theme = "bgrt"; + boot.consoleLogLevel = 0; + boot.kernelParams = [ "quiet" "udev.log_level=0" ]; + boot.initrd.verbose = false; +} diff --git a/hosts/computer-mo/system/pkg-firefox.nix b/modules/system/browser/default.nix similarity index 100% rename from hosts/computer-mo/system/pkg-firefox.nix rename to modules/system/browser/default.nix diff --git a/hosts/computer-mo/system/set-controller.nix b/modules/system/controller/default.nix similarity index 100% rename from hosts/computer-mo/system/set-controller.nix rename to modules/system/controller/default.nix diff --git a/hosts/computer-mo/system/set-hardware.nix b/modules/system/devices/default.nix similarity index 100% rename from hosts/computer-mo/system/set-hardware.nix rename to modules/system/devices/default.nix diff --git a/hosts/computer-mo/system/set-steam.nix b/modules/system/jovian.desktop/default.nix similarity index 61% rename from hosts/computer-mo/system/set-steam.nix rename to modules/system/jovian.desktop/default.nix index b4e26ad..f7811e6 100644 --- a/hosts/computer-mo/system/set-steam.nix +++ b/modules/system/jovian.desktop/default.nix @@ -1,18 +1,12 @@ { ... }: { jovian.steam = { + enable = true; autoStart = false; user = "mo"; 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/modules/system/lact/default.nix similarity index 54% rename from hosts/computer-mo/system/set-systemd.nix rename to modules/system/lact/default.nix index aaa24b9..6f57209 100644 --- a/hosts/computer-mo/system/set-systemd.nix +++ b/modules/system/lact/default.nix @@ -1,5 +1,17 @@ { pkgs,... }: { + # Install LACT Package + environment.systemPackages = + (with pkgs; [ + lact + ]); + + # Enable Modprobe + boot.extraModprobeConfig = '' + options amdgpu ppfeaturemask=0xFFF7FFFF +''; + + # Enable Systemd Service systemd.services.lact = { enable = true; description = "AMDGPU Control Daemon"; diff --git a/modules/system/locale/default.nix b/modules/system/locale/default.nix new file mode 100644 index 0000000..c22d733 --- /dev/null +++ b/modules/system/locale/default.nix @@ -0,0 +1,18 @@ +{ ... }: +{ + time.timeZone = "Europe/Berlin"; + i18n.defaultLocale = "de_DE.UTF-8"; + console.keyMap = "de"; + services.xserver.xkb.layout = "de"; + 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"; + }; +} diff --git a/modules/system/networking/default.nix b/modules/system/networking/default.nix new file mode 100644 index 0000000..bc9dc53 --- /dev/null +++ b/modules/system/networking/default.nix @@ -0,0 +1,6 @@ +{ lib, hostName, ... }: +{ + networking.hostName = hostName; + networking.useDHCP = lib.mkDefault true; + networking.networkmanager.enable = true; +} diff --git a/modules/system/nixsettings/default.nix b/modules/system/nixsettings/default.nix new file mode 100644 index 0000000..a063d3c --- /dev/null +++ b/modules/system/nixsettings/default.nix @@ -0,0 +1,7 @@ +{ lib, ... }: +{ + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + nixpkgs.config.allowUnfree = true; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + +} diff --git a/modules/system/plasma/default.nix b/modules/system/plasma/default.nix new file mode 100644 index 0000000..51ab427 --- /dev/null +++ b/modules/system/plasma/default.nix @@ -0,0 +1,30 @@ +{ user, pkgs, ... }: +{ + services.desktopManager.plasma6.enable = true; + services.displayManager.sddm.wayland.enable = true; + services.displayManager.sddm.enable = true; + services.xserver.enable = false; + services.displayManager.autoLogin.enable = true; + services.displayManager.autoLogin.user = user; + + environment.systemPackages = + (with pkgs; [ + kde-rounded-corners + kdePackages.kate + kdePackages.isoimagewriter + kdePackages.gwenview + kdePackages.okular + kdePackages.kdenlive + kdePackages.elisa + haruna + krita + kdePackages.kcolorchooser + xwaylandvideobridge + kdePackages.kfind + kdePackages.kcalc + kdePackages.filelight + kdePackages.skanlite + kdePackages.ksystemlog + kdePackages.partitionmanager + ]); +} diff --git a/modules/system/shell/default.nix b/modules/system/shell/default.nix new file mode 100644 index 0000000..4471c87 --- /dev/null +++ b/modules/system/shell/default.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + programs.zsh.enable = true; + programs.zsh.enableCompletion = true; + programs.zsh.ohMyZsh.enable = true; + programs.zsh.ohMyZsh.theme = "agnoster"; + users.defaultUserShell = pkgs.zsh; +} diff --git a/modules/system/steam/default.nix b/modules/system/steam/default.nix new file mode 100644 index 0000000..01b7de7 --- /dev/null +++ b/modules/system/steam/default.nix @@ -0,0 +1,9 @@ +{ ... }: +{ + programs.steam = { + enable = true; + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + localNetworkGameTransfers.openFirewall = true; + }; +} diff --git a/modules/system/systemversion/default.nix b/modules/system/systemversion/default.nix new file mode 100644 index 0000000..451c6d8 --- /dev/null +++ b/modules/system/systemversion/default.nix @@ -0,0 +1,4 @@ +{ lib, ... }: +{ + system.stateVersion = "24.05"; +} diff --git a/modules/system/upgrades/default.nix b/modules/system/upgrades/default.nix new file mode 100644 index 0000000..e8a2585 --- /dev/null +++ b/modules/system/upgrades/default.nix @@ -0,0 +1,12 @@ +{ ... }: +{ +system.autoUpgrade = { + enable = true; + dates = "04:00"; + flake = "github:Moe1369/nixos-config"; + flags = [ + "--update-input" "nixpkgs" "--commit-lock-file" + ]; + allowReboot = true; +}; +} diff --git a/modules/user/git/default.nix b/modules/user/git/default.nix new file mode 100644 index 0000000..de6204d --- /dev/null +++ b/modules/user/git/default.nix @@ -0,0 +1,11 @@ +{ ... }: +{ + programs.git = { + enable = true; + userName = "Mohamed C."; + userEmail = "mohamed@chrayed.de"; + extraConfig = { + init.defaultBranch = "main"; + }; + }; +} diff --git a/modules/user/homeversion/default.nix b/modules/user/homeversion/default.nix new file mode 100644 index 0000000..40a51d2 --- /dev/null +++ b/modules/user/homeversion/default.nix @@ -0,0 +1,4 @@ +{ ... }: +{ + home.stateVersion = "24.05"; +} diff --git a/hosts/computer-mo/user/set-desktop.nix b/modules/user/plasma/default.nix similarity index 71% rename from hosts/computer-mo/user/set-desktop.nix rename to modules/user/plasma/default.nix index a5e06c0..f5e8f16 100644 --- a/hosts/computer-mo/user/set-desktop.nix +++ b/modules/user/plasma/default.nix @@ -1,7 +1,17 @@ { ... }: { + home.file.".config/haruna/haruna.conf".source = ../dotfiles/haruna.conf; + home.file.".local/share/color-schemes/BreezeDunkelFarbe.colors".source = ../dotfiles/BreezeDunkelFarbe.colors; + home.file.".local/share/color-schemes/BreezeHellFarbe.colors".source = ../dotfiles/BreezeHellFarbe.colors; + home.file.".config/kglobalshortcutsrc".source = ../dotfiles/kglobalshortcutsrc; + home.file."Bilder/Hintergründe/wallpaper-nix.png".source = ../assets/wallpaper-nix.png; + home.file.".config/kwinrc".source = ../dotfiles/kwinrc; + home.file.".config/kwinoutputconfig.json".source = ../dotfiles/kwinoutputconfig.json; + + programs.plasma = { + enable = true; workspace.wallpaper = "/home/mo/Bilder/Hintergründe/wallpaper-nix.png"; kscreenlocker.appearance.wallpaper = "/home/mo/Bilder/Hintergründe/wallpaper-nix.png";