From 2c81a6e9689e1e577914b88b5f091503bb281a90 Mon Sep 17 00:00:00 2001 From: martin Date: Thu, 16 Apr 2026 14:00:59 +0200 Subject: [PATCH] Dateistruktur umgebaut --- modules/desktop/hyprland.nix | 39 +++++++++ modules/desktop/kde.nix | 39 +++++++++ modules/desktop/niri.nix | 39 +++++++++ modules/user/kde-home.nix | 161 +++++++++++++++++++++++++++++++++++ modules/user/niri-home.nix | 161 +++++++++++++++++++++++++++++++++++ 5 files changed, 439 insertions(+) create mode 100755 modules/desktop/hyprland.nix create mode 100755 modules/desktop/kde.nix create mode 100755 modules/desktop/niri.nix create mode 100755 modules/user/kde-home.nix create mode 100755 modules/user/niri-home.nix diff --git a/modules/desktop/hyprland.nix b/modules/desktop/hyprland.nix new file mode 100755 index 0000000..d1de2db --- /dev/null +++ b/modules/desktop/hyprland.nix @@ -0,0 +1,39 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page, on +# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). + +{ config, lib, pkgs, ... }: + +{ +# imports = +# [ +# ]; + + # Enable the X11 windowing system. + services.xserver.enable = true; + services.displayManager.gdm.enable = true; + services.desktopManager.gnome.enable = true; + + # Configure keymap in X11 + services.xserver.xkb.layout = "de"; + # services.xserver.xkb.options = "eurosign:e,caps:escape"; + + # Enable gnome-settings-daemon udev rules + services.udev.packages = with pkgs; [ + gnome-settings-daemon + ]; + +# environment.systemPackages = with pkgs; [ +# gnome-tweaks +# gnome-extension-manager +# gnomeExtensions.appindicator +# gnomeExtensions.dash-to-dock +# gnomeExtensions.blur-my-shell +# ]; + +# environment.gnome.excludePackages = with pkgs; [ +# gnome-tour +# gnome-music +# epiphany +# ]; +} diff --git a/modules/desktop/kde.nix b/modules/desktop/kde.nix new file mode 100755 index 0000000..d1de2db --- /dev/null +++ b/modules/desktop/kde.nix @@ -0,0 +1,39 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page, on +# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). + +{ config, lib, pkgs, ... }: + +{ +# imports = +# [ +# ]; + + # Enable the X11 windowing system. + services.xserver.enable = true; + services.displayManager.gdm.enable = true; + services.desktopManager.gnome.enable = true; + + # Configure keymap in X11 + services.xserver.xkb.layout = "de"; + # services.xserver.xkb.options = "eurosign:e,caps:escape"; + + # Enable gnome-settings-daemon udev rules + services.udev.packages = with pkgs; [ + gnome-settings-daemon + ]; + +# environment.systemPackages = with pkgs; [ +# gnome-tweaks +# gnome-extension-manager +# gnomeExtensions.appindicator +# gnomeExtensions.dash-to-dock +# gnomeExtensions.blur-my-shell +# ]; + +# environment.gnome.excludePackages = with pkgs; [ +# gnome-tour +# gnome-music +# epiphany +# ]; +} diff --git a/modules/desktop/niri.nix b/modules/desktop/niri.nix new file mode 100755 index 0000000..d1de2db --- /dev/null +++ b/modules/desktop/niri.nix @@ -0,0 +1,39 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page, on +# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). + +{ config, lib, pkgs, ... }: + +{ +# imports = +# [ +# ]; + + # Enable the X11 windowing system. + services.xserver.enable = true; + services.displayManager.gdm.enable = true; + services.desktopManager.gnome.enable = true; + + # Configure keymap in X11 + services.xserver.xkb.layout = "de"; + # services.xserver.xkb.options = "eurosign:e,caps:escape"; + + # Enable gnome-settings-daemon udev rules + services.udev.packages = with pkgs; [ + gnome-settings-daemon + ]; + +# environment.systemPackages = with pkgs; [ +# gnome-tweaks +# gnome-extension-manager +# gnomeExtensions.appindicator +# gnomeExtensions.dash-to-dock +# gnomeExtensions.blur-my-shell +# ]; + +# environment.gnome.excludePackages = with pkgs; [ +# gnome-tour +# gnome-music +# epiphany +# ]; +} diff --git a/modules/user/kde-home.nix b/modules/user/kde-home.nix new file mode 100755 index 0000000..17e4cf7 --- /dev/null +++ b/modules/user/kde-home.nix @@ -0,0 +1,161 @@ +{ config, pkgs, ... }: + +{ + imports = [ + ./modules/shell/alacritty.nix + ./system/default.nix + ./gnome.nix + ]; + + # Home Manager needs a bit of information about you and the paths it should + # manage. + home.username = "martin"; + home.homeDirectory = "/home/martin"; + + # This value determines the Home Manager release that your configuration is + # compatible with. This helps avoid breakage when a new Home Manager release + # introduces backwards incompatible changes. + # + # You should not change this value, even if you update Home Manager. If you do + # want to update the value, then make sure to first check the Home Manager + # release notes. + home.stateVersion = "25.11"; # Please read the comment before changing. + + # The home.packages option allows you to install Nix packages into your + # environment. + +# home.file.".alias" = { +# source = /home/martin/Nextcloud/IT/mydotfiles/.alias; +# recursive = true; +# }; + + # home.file.".bashrc" = { + # source = /home/martin/Nextcloud/IT/mydotfiles/.bashrc; + # recursive = true; + # }; + + #home.file.".config/kitty" = { + # source = /home/martin/Nextcloud/IT/mydotfiles/kitty; + # recursive = true; + #}; + + #home.file.".thunderbird" = { + # source = /home/martin/Nextcloud/IT/mydotfiles/.thunderbird; + # recursive = true; + #}; + +# home.file.".config/neofetch/config.conf" = { +# source = /home/martin/Nextcloud/IT/mydotfiles/neofetch/config.conf; +# recursive = true; +# }; + + #home.file.".config/hypr" = { + # source = /home/martin/Nextcloud/IT/mydotfiles/hypr; + # recursive = true; + #}; + + #home.file.".purple" = { + # source = /home/martin/Nextcloud/IT/mydotfiles/pidgin/.purple; + # recursive = true; + #}; + + home.packages = with pkgs; [ + htop + noto-fonts + fira-code + nerd-fonts.fira-code +# pkgs.pidgin + # pkgs.gnomeExtensions.user-themes + # pkgs.gnomeExtensions.tray-icons-reloaded + # pkgs.gnomeExtensions.vitals + # pkgs.gnomeExtensions.dash-to-panel + # pkgs.gnomeExtensions.sound-output-device-chooser + # pkgs.gnomeExtensions.space-bar + unzip + zip + # yazi + pkgs.p7zip + inetutils + signal-desktop + # # Adds the 'hello' command to your environment. It prints a friendly + # # "Hello, world!" when run. + # pkgs.hello + + # # It is sometimes useful to fine-tune packages, for example, by applying + # # overrides. You can do that directly here, just don't forget the + # # parentheses. Maybe you want to install Nerd Fonts with a limited number of + # # fonts? + # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) + + # # You can also create simple shell scripts directly inside your + # # configuration. For example, this adds a command 'my-hello' to your + # # environment: + # (pkgs.writeShellScriptBin "my-hello" '' + # echo "Hello, ${config.home.username}!" + # '') + ]; + + # Home Manager is pretty good at managing dotfiles. The primary way to manage + # plain files is through 'home.file'. + home.file = { + # # Building this configuration will create a copy of 'dotfiles/screenrc' in + # # the Nix store. Activating the configuration will then make '~/.screenrc' a + # # symlink to the Nix store copy. + # ".screenrc".source = dotfiles/screenrc; + + # # You can also set the file content immediately. + # ".gradle/gradle.properties".text = '' + # org.gradle.console=verbose + # org.gradle.daemon.idletimeout=3600000 + # ''; + }; + gtk = { + enable = true; + + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.papirus-icon-theme; + }; + + theme = { + name = "palenight"; + package = pkgs.palenight-theme; + }; + + cursorTheme = { + name = "Numix-Cursor"; + package = pkgs.numix-cursor-theme; + }; + + gtk3.extraConfig = { + Settings = '' + gtk-application-prefer-dark-theme=1 + ''; + }; + + gtk4.extraConfig = { + Settings = '' + gtk-application-prefer-dark-theme=1 + ''; + }; + }; + # Home Manager can also manage your environment variables through + # 'home.sessionVariables'. If you don't want to manage your shell through Home + # Manager then you have to manually source 'hm-session-vars.sh' located at + # either + # + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # /etc/profiles/per-user/martin/etc/profile.d/hm-session-vars.sh + # + home.sessionVariables = { + # EDITOR = "emacs"; + GTK_THEME = "palenight"; + }; + + # Let Home Manager install and manage itself. + fonts.fontconfig.enable = true; + programs.home-manager.enable = true; +} diff --git a/modules/user/niri-home.nix b/modules/user/niri-home.nix new file mode 100755 index 0000000..17e4cf7 --- /dev/null +++ b/modules/user/niri-home.nix @@ -0,0 +1,161 @@ +{ config, pkgs, ... }: + +{ + imports = [ + ./modules/shell/alacritty.nix + ./system/default.nix + ./gnome.nix + ]; + + # Home Manager needs a bit of information about you and the paths it should + # manage. + home.username = "martin"; + home.homeDirectory = "/home/martin"; + + # This value determines the Home Manager release that your configuration is + # compatible with. This helps avoid breakage when a new Home Manager release + # introduces backwards incompatible changes. + # + # You should not change this value, even if you update Home Manager. If you do + # want to update the value, then make sure to first check the Home Manager + # release notes. + home.stateVersion = "25.11"; # Please read the comment before changing. + + # The home.packages option allows you to install Nix packages into your + # environment. + +# home.file.".alias" = { +# source = /home/martin/Nextcloud/IT/mydotfiles/.alias; +# recursive = true; +# }; + + # home.file.".bashrc" = { + # source = /home/martin/Nextcloud/IT/mydotfiles/.bashrc; + # recursive = true; + # }; + + #home.file.".config/kitty" = { + # source = /home/martin/Nextcloud/IT/mydotfiles/kitty; + # recursive = true; + #}; + + #home.file.".thunderbird" = { + # source = /home/martin/Nextcloud/IT/mydotfiles/.thunderbird; + # recursive = true; + #}; + +# home.file.".config/neofetch/config.conf" = { +# source = /home/martin/Nextcloud/IT/mydotfiles/neofetch/config.conf; +# recursive = true; +# }; + + #home.file.".config/hypr" = { + # source = /home/martin/Nextcloud/IT/mydotfiles/hypr; + # recursive = true; + #}; + + #home.file.".purple" = { + # source = /home/martin/Nextcloud/IT/mydotfiles/pidgin/.purple; + # recursive = true; + #}; + + home.packages = with pkgs; [ + htop + noto-fonts + fira-code + nerd-fonts.fira-code +# pkgs.pidgin + # pkgs.gnomeExtensions.user-themes + # pkgs.gnomeExtensions.tray-icons-reloaded + # pkgs.gnomeExtensions.vitals + # pkgs.gnomeExtensions.dash-to-panel + # pkgs.gnomeExtensions.sound-output-device-chooser + # pkgs.gnomeExtensions.space-bar + unzip + zip + # yazi + pkgs.p7zip + inetutils + signal-desktop + # # Adds the 'hello' command to your environment. It prints a friendly + # # "Hello, world!" when run. + # pkgs.hello + + # # It is sometimes useful to fine-tune packages, for example, by applying + # # overrides. You can do that directly here, just don't forget the + # # parentheses. Maybe you want to install Nerd Fonts with a limited number of + # # fonts? + # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) + + # # You can also create simple shell scripts directly inside your + # # configuration. For example, this adds a command 'my-hello' to your + # # environment: + # (pkgs.writeShellScriptBin "my-hello" '' + # echo "Hello, ${config.home.username}!" + # '') + ]; + + # Home Manager is pretty good at managing dotfiles. The primary way to manage + # plain files is through 'home.file'. + home.file = { + # # Building this configuration will create a copy of 'dotfiles/screenrc' in + # # the Nix store. Activating the configuration will then make '~/.screenrc' a + # # symlink to the Nix store copy. + # ".screenrc".source = dotfiles/screenrc; + + # # You can also set the file content immediately. + # ".gradle/gradle.properties".text = '' + # org.gradle.console=verbose + # org.gradle.daemon.idletimeout=3600000 + # ''; + }; + gtk = { + enable = true; + + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.papirus-icon-theme; + }; + + theme = { + name = "palenight"; + package = pkgs.palenight-theme; + }; + + cursorTheme = { + name = "Numix-Cursor"; + package = pkgs.numix-cursor-theme; + }; + + gtk3.extraConfig = { + Settings = '' + gtk-application-prefer-dark-theme=1 + ''; + }; + + gtk4.extraConfig = { + Settings = '' + gtk-application-prefer-dark-theme=1 + ''; + }; + }; + # Home Manager can also manage your environment variables through + # 'home.sessionVariables'. If you don't want to manage your shell through Home + # Manager then you have to manually source 'hm-session-vars.sh' located at + # either + # + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # /etc/profiles/per-user/martin/etc/profile.d/hm-session-vars.sh + # + home.sessionVariables = { + # EDITOR = "emacs"; + GTK_THEME = "palenight"; + }; + + # Let Home Manager install and manage itself. + fonts.fontconfig.enable = true; + programs.home-manager.enable = true; +}