diff --git a/configuration.nix b/configuration.nix index eb44b40..7da4ac7 100755 --- a/configuration.nix +++ b/configuration.nix @@ -1,38 +1,38 @@ # 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 = - [ - ./hardware-configuration.nix - ./modules/desktop/gnome.nix -# ./modules/desktop/kde.nix -# ./modules/desktop/hyprland.nix -# ./modules/desktop/niri.nix - ]; - -# Use the systemd-boot EFI boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - boot.initrd.enable = true; - - # LUKS Partition - boot.initrd.luks.devices = { - dukebook0 = { - device = "/dev/disk/by-uuid/aaebdca2-acfb-4156-a8f7-057fd9e9e328"; - preLVM = true; - }; - }; - -# # LVM Volume Mounts -# fileSystems."/home/martin/Nextcloud" = { -# device = "dev/disk/by-uuid/5142d945-7948-4bc9-85ca-7f6dc760d17a"; -# fsType = "ext4"; -# }; - + +{ config, lib, pkgs, ... }: + +{ + imports = + [ + ./hardware-configuration.nix +# ./modules/desktop/gnome.nix + ./modules/desktop/kde.nix +# ./modules/desktop/hyprland.nix +# ./modules/desktop/niri.nix + ]; + +# Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + boot.initrd.enable = true; + + # LUKS Partition + boot.initrd.luks.devices = { + dukebook0 = { + device = "/dev/disk/by-uuid/aaebdca2-acfb-4156-a8f7-057fd9e9e328"; + preLVM = true; + }; + }; + +# # LVM Volume Mounts +# fileSystems."/home/martin/Nextcloud" = { +# device = "dev/disk/by-uuid/5142d945-7948-4bc9-85ca-7f6dc760d17a"; +# fsType = "ext4"; +# }; + networking.hostName = "dukebook"; # Define your hostname. # Pick only one of the below networking options. networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. @@ -41,7 +41,7 @@ # Set your time zone. time.timeZone = "Europe/Berlin"; - programs.dconf.enable = true; + programs.dconf.enable = true; # Configure network proxy if necessary # networking.proxy.default = "http://user:password@proxy:port/"; # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; @@ -57,7 +57,7 @@ # Enable Gnome3 Keyring # services.gnome.gnome-keyring.enable = true; - # Enable CUPS to print documents.2 + # Enable CUPS to print documents.2 services.printing.enable = true; services.avahi = { enable = true; @@ -74,6 +74,11 @@ alsa.enable = true; pulse.enable = true; }; + + # Bluetooth Support + hardware.bluetooth.enable = true; + hardware.bluetooth.powerOnBoot = true; + services.blueman.enable = true; # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; @@ -119,12 +124,15 @@ pfetch neovim gnome-software - xwayland-satellite - parted - vscodium + xwayland-satellite + parted + vscodium + libreoffice-fresh + hunspell + signal-desktop ]; - programs.niri.enable = true; + programs.niri.enable = true; programs.neovim = { enable = true; diff --git a/flake.lock b/flake.lock index 352100c..faafe2f 100644 --- a/flake.lock +++ b/flake.lock @@ -20,6 +20,27 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "plasma-manager", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1756579987, + "narHash": "sha256-duCce8zGsaMsrqqOmLOsuaV1PVIw/vXWnKuLKZClsGg=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "99a69bdf8a3c6bf038c4121e9c4b6e99706a187a", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "niri": { "inputs": { "niri-stable": "niri-stable", @@ -168,12 +189,34 @@ "type": "github" } }, + "plasma-manager": { + "inputs": { + "home-manager": "home-manager_2", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775856943, + "narHash": "sha256-b7Mp7P+q2Md5AGt4rjHfMcBykzMumFTen10ST++AuTU=", + "owner": "nix-community", + "repo": "plasma-manager", + "rev": "a524a6160e6df89f7673ba293cf7d78b559eb1a5", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "plasma-manager", + "type": "github" + } + }, "root": { "inputs": { "home-manager": "home-manager", "niri": "niri", "nixpkgs": "nixpkgs_2", - "noctalia": "noctalia" + "noctalia": "noctalia", + "plasma-manager": "plasma-manager" } }, "systems": { diff --git a/flake.nix b/flake.nix index bdfd21e..ea653de 100644 --- a/flake.nix +++ b/flake.nix @@ -11,14 +11,22 @@ url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; + # Niri Flake (Offizielles Community-Flake) niri.url = "github:sodiboo/niri-flake"; + # Noctalia Shell noctalia.url = "github:noctalia-dev/noctalia-shell"; noctalia.inputs.nixpkgs.follows = "nixpkgs"; + + # Plasma-Manager + plasma-manager = { + url = "github:nix-community/plasma-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - outputs = { self, nixpkgs, home-manager, niri, noctalia, ... }@inputs: { + outputs = { self, nixpkgs, home-manager, niri, noctalia, plasma-manager, ... }@inputs: { nixosConfigurations = { dukebook = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; @@ -28,9 +36,15 @@ home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.users.martin = import ./home.nix; - } + home-manager.users.martin = { + imports = [ + inputs.plasma-manager.homeManagerModules.plasma-manager + ./home.nix + ]; + }; + } niri.nixosModules.niri + ]; }; }; diff --git a/home.nix b/home.nix index 927adf7..bd5d8b5 100755 --- a/home.nix +++ b/home.nix @@ -5,7 +5,7 @@ ./modules/shell/alacritty.nix ./modules/shell/aliases.nix ./modules/user/gnome-home.nix -# ./modules/user/kde-home.nix + ./modules/user/kde-home.nix ./modules/user/niri-home.nix # ./modules/user/hyprland-home.nix diff --git a/modules/desktop/kde.nix b/modules/desktop/kde.nix index d1de2db..4de5b9e 100755 --- a/modules/desktop/kde.nix +++ b/modules/desktop/kde.nix @@ -11,8 +11,9 @@ # Enable the X11 windowing system. services.xserver.enable = true; - services.displayManager.gdm.enable = true; - services.desktopManager.gnome.enable = true; + services.displayManager.sddm.enable = true; + services.desktopManager.plasma6.enable = true; + services.displayManager.sddm.wayland.enable = true; # Configure keymap in X11 services.xserver.xkb.layout = "de"; diff --git a/modules/user/kde-home.nix b/modules/user/kde-home.nix index 17e4cf7..5a99603 100755 --- a/modules/user/kde-home.nix +++ b/modules/user/kde-home.nix @@ -2,9 +2,8 @@ { imports = [ - ./modules/shell/alacritty.nix - ./system/default.nix - ./gnome.nix + ../shell/alacritty.nix + ../shell/aliases.nix ]; # Home Manager needs a bit of information about you and the paths it should @@ -24,40 +23,6 @@ # 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 @@ -76,7 +41,7 @@ # yazi pkgs.p7zip inetutils - signal-desktop + # signal-desktop # # Adds the 'hello' command to your environment. It prints a friendly # # "Hello, world!" when run. # pkgs.hello @@ -109,36 +74,36 @@ # 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 - ''; - }; - }; + # 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 @@ -150,12 +115,13 @@ # # /etc/profiles/per-user/martin/etc/profile.d/hm-session-vars.sh # - home.sessionVariables = { +# home.sessionVariables = { # EDITOR = "emacs"; - GTK_THEME = "palenight"; - }; +# GTK_THEME = "palenight"; +# }; # Let Home Manager install and manage itself. - fonts.fontconfig.enable = true; - programs.home-manager.enable = true; +# fonts.fontconfig.enable = true; +# programs.home-manager.enable = true; } +