mirror of
https://github.com/kaesaecracker/nixos-configuration.git
synced 2025-01-31 07:50:14 +01:00
better split also for desktop envs
This commit is contained in:
parent
44bbfc2fa0
commit
adb51fd36e
|
@ -5,11 +5,11 @@ modulesCfg: {lib, ...}: {
|
||||||
./nixpkgs.nix
|
./nixpkgs.nix
|
||||||
./globalinstalls.nix
|
./globalinstalls.nix
|
||||||
./server.nix
|
./server.nix
|
||||||
./desktop
|
|
||||||
]
|
]
|
||||||
++ (map (path: (import path modulesCfg)) [
|
++ (map (path: (import path modulesCfg)) [
|
||||||
./hardware
|
./hardware
|
||||||
./users
|
./users
|
||||||
|
./desktop
|
||||||
]);
|
]);
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
|
|
@ -1,15 +1,21 @@
|
||||||
{
|
modulesCfg: {
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
isEnabled = config.my.desktop.enable;
|
isEnabled = config.my.desktop.enable;
|
||||||
|
isHomeManager = modulesCfg.enableHomeManager;
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports =
|
||||||
|
[
|
||||||
./gnome.nix
|
./gnome.nix
|
||||||
./kde.nix
|
./kde.nix
|
||||||
./gaming.nix
|
./gaming.nix
|
||||||
|
]
|
||||||
|
++ lib.optionals isHomeManager [
|
||||||
|
./gnome-home.nix
|
||||||
|
./kde-home.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
options.my.desktop.enable = lib.mkEnableOption "desktop";
|
options.my.desktop.enable = lib.mkEnableOption "desktop";
|
||||||
|
|
23
modules/desktop/gnome-home.nix
Normal file
23
modules/desktop/gnome-home.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
isEnabled = config.my.desktop.enableGnome;
|
||||||
|
in {
|
||||||
|
config = lib.mkIf isEnabled {
|
||||||
|
home-manager.sharedModules = [
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
amberol
|
||||||
|
];
|
||||||
|
dconf.settings = {
|
||||||
|
"org/gnome/desktop/peripherals/keyboard" = {
|
||||||
|
numlock-state = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -5,12 +5,10 @@
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
isEnabled = config.my.desktop.enableGnome;
|
isEnabled = config.my.desktop.enableGnome;
|
||||||
enableHomeManager = config.my.modulesCfg.enableHomeManager;
|
|
||||||
in {
|
in {
|
||||||
options.my.desktop.enableGnome = lib.mkEnableOption "gnome desktop";
|
options.my.desktop.enableGnome = lib.mkEnableOption "gnome desktop";
|
||||||
|
|
||||||
config = lib.mkMerge [
|
config = lib.mkIf isEnabled {
|
||||||
(lib.mkIf isEnabled {
|
|
||||||
my.desktop.enable = true;
|
my.desktop.enable = true;
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
@ -47,20 +45,5 @@ in {
|
||||||
pkgs.gnome-connections
|
pkgs.gnome-connections
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
})
|
|
||||||
(lib.mkIf (isEnabled && enableHomeManager) {
|
|
||||||
home-manager.sharedModules = [
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
amberol
|
|
||||||
];
|
|
||||||
dconf.settings = {
|
|
||||||
"org/gnome/desktop/peripherals/keyboard" = {
|
|
||||||
numlock-state = true;
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
18
modules/desktop/kde-home.nix
Normal file
18
modules/desktop/kde-home.nix
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
isEnabled = config.my.desktop.enableKde;
|
||||||
|
in {
|
||||||
|
config = lib.mkIf isEnabled {
|
||||||
|
home-manager.sharedModules = [
|
||||||
|
{
|
||||||
|
services.kdeconnect = {
|
||||||
|
enable = true;
|
||||||
|
indicator = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -5,12 +5,10 @@
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
isEnabled = config.my.desktop.enableKde;
|
isEnabled = config.my.desktop.enableKde;
|
||||||
enableHomeManager = config.my.modulesCfg.enableHomeManager;
|
|
||||||
in {
|
in {
|
||||||
options.my.desktop.enableKde = lib.mkEnableOption "KDE desktop";
|
options.my.desktop.enableKde = lib.mkEnableOption "KDE desktop";
|
||||||
|
|
||||||
config = lib.mkMerge [
|
config = lib.mkIf isEnabled {
|
||||||
(lib.mkIf isEnabled {
|
|
||||||
my.desktop.enable = true;
|
my.desktop.enable = true;
|
||||||
|
|
||||||
# flatpak xdg-portal-kde crashes, otherwise this would be global
|
# flatpak xdg-portal-kde crashes, otherwise this would be global
|
||||||
|
@ -46,16 +44,5 @@ in {
|
||||||
dconf.enable = true;
|
dconf.enable = true;
|
||||||
partition-manager.enable = true;
|
partition-manager.enable = true;
|
||||||
};
|
};
|
||||||
})
|
|
||||||
(lib.mkIf (isEnabled && enableHomeManager) {
|
|
||||||
home-manager.sharedModules = [
|
|
||||||
{
|
|
||||||
services.kdeconnect = {
|
|
||||||
enable = true;
|
|
||||||
indicator = true;
|
|
||||||
};
|
};
|
||||||
}
|
|
||||||
];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue