From 80bea5822b36c6ed7f72d13a0a93103883ec7b5e Mon Sep 17 00:00:00 2001 From: Mohamed Chrayed Date: Thu, 5 Mar 2026 21:42:22 +0100 Subject: [PATCH] new host --- modules/gnome/sys/gdm-nadine.nix | 6 + modules/gnome/usr/gnome-nadine.nix | 157 ++++++++++++++++++ modules/hosts/computer-nadine/hardware.nix | 8 + modules/hosts/computer-nadine/imports.nix | 28 ++++ .../computer-nadine/nixosConfigurations.nix | 6 + 5 files changed, 205 insertions(+) create mode 100644 modules/gnome/sys/gdm-nadine.nix create mode 100644 modules/gnome/usr/gnome-nadine.nix create mode 100644 modules/hosts/computer-nadine/hardware.nix create mode 100644 modules/hosts/computer-nadine/imports.nix create mode 100644 modules/hosts/computer-nadine/nixosConfigurations.nix diff --git a/modules/gnome/sys/gdm-nadine.nix b/modules/gnome/sys/gdm-nadine.nix new file mode 100644 index 0000000..f100088 --- /dev/null +++ b/modules/gnome/sys/gdm-nadine.nix @@ -0,0 +1,6 @@ +{ ... }: { + flake.nixosModules.gnome-sys-gdm-nadine = { ... }:{ + services.displayManager.autoLogin.enable = true; + services.displayManager.autoLogin.user = "nadine"; + }; +} diff --git a/modules/gnome/usr/gnome-nadine.nix b/modules/gnome/usr/gnome-nadine.nix new file mode 100644 index 0000000..7d7b618 --- /dev/null +++ b/modules/gnome/usr/gnome-nadine.nix @@ -0,0 +1,157 @@ +{ ... }: { + flake.homeModules.gnome-usr-gnome-nadine = { config, pkgs, ... }: { + xdg.userDirs = { + enable = true; + createDirectories = true; + desktop = "${config.home.homeDirectory}/Schreibtisch"; + download = "${config.home.homeDirectory}/Downloads"; + templates = "${config.home.homeDirectory}/Vorlagen"; + publicShare = "${config.home.homeDirectory}/Öffentlich"; + documents = "${config.home.homeDirectory}/Dokumente"; + music = "${config.home.homeDirectory}/Musik"; + pictures = "${config.home.homeDirectory}/Bilder"; + videos = "${config.home.homeDirectory}/Videos"; + }; + dconf.settings = { + "org/gnome/shell/keybindings" = { + focus-active-notification = []; + open-new-window-application-1 = []; + open-new-window-application-2 = []; + open-new-window-application-3 = []; + open-new-window-application-4 = []; + open-new-window-application-5 = []; + open-new-window-application-6 = []; + open-new-window-application-7 = []; + open-new-window-application-8 = []; + open-new-window-application-9 = []; + toggle-message-tray = ["N"]; + }; + "org/gnome/settings-daemon/plugins/media-keys" = { + help = []; + home = ["E"]; + screenreader = []; + magnifier = []; + magnifier-zoom-in = []; + magnifier-zoom-out = []; + }; + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { + command = ["kgx --tab"]; + binding = ["Return"]; + name = ["Console"]; + }; + "org/gnome/desktop/wm/keybindings" = { + activate-window-menu = []; + always-on-top = ["T"]; + begin-move = ["M"]; + begin-resize = ["R"]; + close = ["Q"]; + cycle-group = []; + cycle-group-backward = []; + cycle-panels = []; + cycle-panels-backward = []; + cycle-windows = []; + cycle-windows-backward = []; + lower = []; + maximize = []; + maximize-horizontally = []; + minimize = ["Down"]; + move-to-monitor-down = []; + move-to-monitor-left = []; + move-to-monitor-right = []; + move-to-monitor-up = []; + move-to-workspace-1 = []; + move-to-workspace-down = []; + move-to-workspace-last = []; + move-to-workspace-left = []; + move-to-workspace-right = []; + move-to-workspace-up = []; + show-desktop = ["D"]; + switch-applications = ["Tab"]; + switch-applications-backward = ["Tab"]; + switch-group = ["Tab"]; + switch-group-backward = ["Tab"]; + panel-run-dialog = ["Space"]; + switch-input-source = []; + switch-input-source-backward = []; + switch-panels = []; + switch-panels-backward = []; + switch-to-workspace-1 = []; + switch-to-workspace-down = []; + switch-to-workspace-last = []; + switch-to-workspace-left = []; + switch-to-workspace-right = []; + switch-to-workspace-up = []; + toggle-fullscreen = ["F"]; + toggle-maximized = ["Up"]; + toggle-on-all-workspaces = ["S"]; + unmaximize = []; + }; + "org/gnome/mutter" = { + experimental-features = ["variable-refresh-rate"]; + center-new-windows = true; + edge-tiling = true; + dynamic-workspaces = true; + }; + "org/gnome/desktop/interface" = { + font-name = "IBM Plex Sans 11"; + document-font-name = "IBM Plex Sans 11"; + monospace-font-name = "IBM Plex Mono 11"; + gtk-theme = "adw-gtk3"; + enable-hot-corners = false; + cursor-theme = "Adwaita"; + }; + "org/gnome/shell/extensions/rounded-window-corners-reborn" = { + border-width = -2; + skip-libadwaita-app = false; + }; + "org/gnome/shell/extensions/clipboard-indicator" = { + toggle-menu = ["V"]; + }; + "org/gnome/desktop/background" = { + color-shading-type = "solid"; + picture-options = "zoom"; + }; + "org/gnome/shell/extensions/nightthemeswitcher/commands" = { + enabled = true; + sunrise = "gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3' && gsettings set org.gnome.desktop.interface color-scheme 'default'"; + sunset = "gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3-dark' && gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'"; + }; + "org/gnome/shell" = { + enabled-extensions = [ + "appindicatorsupport@rgcjonas.gmail.com" + #"auto-accent-colour@Wartybix" + "clipboard-indicator@tudmotu.com" + "middleclickclose@paolo.tranquilli.gmail.com" + "nightthemeswitcher@romainvigier.fr" + "rounded-window-corners@fxgn" + "tinted-shell@pakovm" + ]; + }; + }; + + home.file.wallpaper = { + recursive = true; + source = ./wallpaper; + target = ".local/share/backgrounds"; + }; + + home.file.".local/share/gnome-background-properties/my-wallpapers.xml" = { + text = let + files = builtins.attrNames (builtins.readDir ./wallpaper); + entry = file: '' + + ${file} + /home/mo/.local/share/backgrounds/${file} + zoom + + ''; + in '' + + + + ${builtins.concatStringsSep "\n" (map entry files)} + + ''; + }; + }; +} diff --git a/modules/hosts/computer-nadine/hardware.nix b/modules/hosts/computer-nadine/hardware.nix new file mode 100644 index 0000000..1f88e94 --- /dev/null +++ b/modules/hosts/computer-nadine/hardware.nix @@ -0,0 +1,8 @@ +{ ... }: { + flake.nixosModules.computer-mo = { system, ... }: { + boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.kernelParams = [ "quiet" "splash" "boot.shell_on_fail" "loglevel=3" "rd.systemd.show_status=false" "rd.udev.log_level=3" "udev.log_priority=3" ]; + nixpkgs.hostPlatform = system; + hardware.cpu.amd.updateMicrocode = true; + }; +} diff --git a/modules/hosts/computer-nadine/imports.nix b/modules/hosts/computer-nadine/imports.nix new file mode 100644 index 0000000..cad1ac5 --- /dev/null +++ b/modules/hosts/computer-nadine/imports.nix @@ -0,0 +1,28 @@ +{ inputs, config, ... }: { + flake.nixosModules.computer-mo = { ... }: { + imports = with inputs.self.nixosModules; [ + apps-sys-chrome + apps-sys-vesktop + base-sys-group + desktop-sys-group + disks-sys-singledisk + gaming-sys-controller + gaming-sys-lact + gaming-sys-steam + gnome-sys-gdm + gnome-sys-gdm-nadine + gnome-sys-gnome + gnome-sys-gnome-apps + security-sys-secureboot + security-sys-sopsnix + users-sys-nadine + ]; + home-manager.users.mo.imports = with config.flake.homeModules; [ + apps-usr-vesktop-all + base-usr-group + gaming-usr-steam-all + gnome-usr-gnome-nadine + security-usr-sopsnix + ]; + }; +} diff --git a/modules/hosts/computer-nadine/nixosConfigurations.nix b/modules/hosts/computer-nadine/nixosConfigurations.nix new file mode 100644 index 0000000..8224809 --- /dev/null +++ b/modules/hosts/computer-nadine/nixosConfigurations.nix @@ -0,0 +1,6 @@ +{ inputs, ... }: { + flake.nixosConfigurations."computer-nadine" = inputs.self.lib.mkHost { + system = "x86_64-linux"; + host = "computer-nadine"; + }; +}