summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--users/seth/desktop/default.nix6
-rw-r--r--users/seth/desktop/gnome.nix128
-rw-r--r--users/seth/home.nix10
-rw-r--r--users/seth/options.nix2
-rw-r--r--users/seth/programs/default.nix14
-rw-r--r--users/seth/programs/mangohud/default.nix27
6 files changed, 114 insertions, 73 deletions
diff --git a/users/seth/desktop/default.nix b/users/seth/desktop/default.nix
new file mode 100644
index 0000000..904b6f0
--- /dev/null
+++ b/users/seth/desktop/default.nix
@@ -0,0 +1,6 @@
+_: {
+ imports = [
+ ./gnome.nix
+ # ./plasma.nix
+ ];
+}
diff --git a/users/seth/desktop/gnome.nix b/users/seth/desktop/gnome.nix
index ed62248..44f5eec 100644
--- a/users/seth/desktop/gnome.nix
+++ b/users/seth/desktop/gnome.nix
@@ -1,60 +1,70 @@
-{pkgs, ...}: {
- home.packages = with pkgs;
- [
- adw-gtk3
- ]
- ++ (with pkgs.gnomeExtensions; [
- appindicator
- blur-my-shell
- caffeine
- ]);
-
- dconf.settings = {
- "org/gnome/shell" = {
- favorite-apps = [
- "firefox.desktop"
- "org.gnome.Nautilus.desktop"
- "discord.desktop"
- ];
- };
-
- "org/gnome/desktop/interface" = {
- color-scheme = "prefer-dark";
- };
-
- "org/gnome/desktop/wm/keybindings" = {
- switch-windows = "['<Alt>Tab']";
- switch-windows-backward = "['<Shift><Alt>Tab']";
- };
-
- "org/gnome/shell" = {
- disable-user-extensions = false;
- enabled-extensions = [
- ];
- };
- };
-
- gtk = {
- enable = true;
-
- theme = {
- name = "adw-gtk3";
- package = pkgs.adw-gtk3;
- };
-
- gtk3.extraConfig = {
- Settings = ''
- gtk-application-prefer-dark-theme=1
- '';
- };
-
- gtk4.extraConfig = {
- Settings = ''
- gtk-application-prefer-dark-theme=1
- '';
- };
- };
+{
+ config,
+ pkgs,
+ ...
+}: let
+ inherit (config.seth) desktop;
+ homePackages =
+ if desktop == "gnome"
+ then with pkgs; [adw-gtk3] ++ (with pkgs.gnomeExtensions; [appindicator blur-my-shell caffeine])
+ else [];
+ dconfSettings =
+ if desktop == "gnome"
+ then {
+ "org/gnome/shell" = {
+ favorite-apps = [
+ "firefox.desktop"
+ "org.gnome.Nautilus.desktop"
+ "discord.desktop"
+ ];
+ };
+
+ "org/gnome/desktop/interface" = {
+ color-scheme = "prefer-dark";
+ };
+
+ "org/gnome/desktop/wm/keybindings" = {
+ switch-windows = "['<Alt>Tab']";
+ switch-windows-backward = "['<Shift><Alt>Tab']";
+ };
+
+ "org/gnome/shell" = {
+ disable-user-extensions = false;
+ enabled-extensions = [
+ ];
+ };
+ }
+ else {};
+ gtkConfig =
+ if desktop == "gnome"
+ then {
+ enable = true;
+
+ theme = {
+ name = "adw-gtk3";
+ package = pkgs.adw-gtk3;
+ };
+
+ gtk3.extraConfig = {
+ Settings = ''
+ gtk-application-prefer-dark-theme=1
+ '';
+ };
+
+ gtk4.extraConfig = {
+ Settings = ''
+ gtk-application-prefer-dark-theme=1
+ '';
+ };
+ }
+ else {};
+in {
+ home.packages = homePackages;
+
+ dconf.settings = dconfSettings;
+
+ gtk = gtkConfig;
}
diff --git a/users/seth/home.nix b/users/seth/home.nix
index 1ca1ac7..401a208 100644
--- a/users/seth/home.nix
+++ b/users/seth/home.nix
@@ -1,10 +1,16 @@
-_: {
+{config, ...}: let
+ sysDesktop = with builtins;
+ if config ? config.sys.desktop
+ then config.sys.desktop
+ else "";
+in {
imports = [
- ./desktop/gnome.nix
./options.nix
+ ./desktop
./programs
./shell
];
seth.devel.enable = true;
+ seth.desktop = sysDesktop;
}
diff --git a/users/seth/options.nix b/users/seth/options.nix
index 1cd2f82..676dbfa 100644
--- a/users/seth/options.nix
+++ b/users/seth/options.nix
@@ -8,7 +8,7 @@
desktop = mkOption {
type = types.str;
default = "";
- description = "enable settings for gnome";
+ description = "choose a desktop configuration";
};
};
}
diff --git a/users/seth/programs/default.nix b/users/seth/programs/default.nix
index 13b26ab..ac6a14a 100644
--- a/users/seth/programs/default.nix
+++ b/users/seth/programs/default.nix
@@ -14,6 +14,15 @@
statix
]
else [];
+
+ guiApps =
+ if config.seth.desktop != ""
+ then
+ with pkgs; [
+ discord
+ steam
+ ]
+ else [];
in {
imports = [
./git.nix
@@ -27,7 +36,6 @@ in {
home.packages = with pkgs;
[
bat
- discord
exa
fd
gh
@@ -35,8 +43,8 @@ in {
rclone
restic
ripgrep
- steam
python311
]
- ++ develPackages;
+ ++ develPackages
+ ++ guiApps;
}
diff --git a/users/seth/programs/mangohud/default.nix b/users/seth/programs/mangohud/default.nix
index f41d9d8..3c203c4 100644
--- a/users/seth/programs/mangohud/default.nix
+++ b/users/seth/programs/mangohud/default.nix
@@ -1,10 +1,21 @@
-{pkgs, ...}: {
- home.packages = [
- pkgs.mangohud
- ];
+{
+ config,
+ pkgs,
+ ...
+}: let
+ homePackages =
+ if config.seth.desktop != "null"
+ then with pkgs; [mangohud]
+ else [];
+ mangohudConf =
+ if config.seth.desktop != "null"
+ then {
+ source = ./config;
+ recursive = true;
+ }
+ else {};
+in {
+ home.packages = homePackages;
- xdg.configFile.MangoHud = {
- source = ./config;
- recursive = true;
- };
+ xdg.configFile.MangoHud = mangohudConf;
}