From aedfd070b97a0e1a395faa6e1d291d4c4bd39d21 Mon Sep 17 00:00:00 2001 From: Asaki Yuki Date: Fri, 10 Apr 2026 22:58:40 +0700 Subject: [PATCH] add symlink option --- devices/ideapad-slim-5/configuration.nix | 29 ++++++++- modules/features/home/browsers.nix | 2 +- modules/programs/hyprland/default.nix | 1 - .../programs/hyprland/settings/default.nix | 2 +- .../programs/hyprland/settings/key-bind.nix | 4 +- options/desktop/default.nix | 1 + options/desktop/environment.nix | 61 ++++++++++--------- options/desktop/file.nix | 8 +++ 8 files changed, 71 insertions(+), 37 deletions(-) create mode 100644 options/desktop/file.nix diff --git a/devices/ideapad-slim-5/configuration.nix b/devices/ideapad-slim-5/configuration.nix index 26c5195..2e26f3c 100755 --- a/devices/ideapad-slim-5/configuration.nix +++ b/devices/ideapad-slim-5/configuration.nix @@ -7,9 +7,9 @@ imports = [ ./hardware-configuration.nix ./mount.nix - + ../../modules/features/system/upower.nix - + (libs.root "/host/desktop/default.nix") (libs.root "/home/asakiyuki/configuration.nix") ]; @@ -45,10 +45,35 @@ wm.niri.enable = false; wm.hyprland.enable = true; + wm.hyprland.monitors = [ + { + output = "eDP-1"; + mode = "1920x1200@60"; + position = "0x0"; + scale = "1"; + transform = "0"; + bitdepth = 10; + # cm = "hdr"; + # supports_wide_color = 1; + # supports_hdr = 1; + # sdr_min_luminance = 0; + # sdr_max_luminance = 400; + # sdr_eotf = 2; + # sdrbrightness = 1.0; + # sdrsaturation = 1.2; + } + ]; bluetooth.enable = true; flatpak.enable = true; + symlink = { + "SteamApps" = ".local/share/Steam/steamapps"; + "Development/KDE-Widget" = ".local/share/plasma/plasmoids"; + "Development/SplashScreen" = ".local/share/plasma/look-and-feel"; + "Development/DesktopEffects" = ".local/share/kwin/effects"; + }; + programs = { terminal = "ghostty"; obs-studio.enable = true; diff --git a/modules/features/home/browsers.nix b/modules/features/home/browsers.nix index 14896d3..2d1d157 100644 --- a/modules/features/home/browsers.nix +++ b/modules/features/home/browsers.nix @@ -167,6 +167,6 @@ }; }; - chromium.enable = false; + chromium.enable = true; }; } diff --git a/modules/programs/hyprland/default.nix b/modules/programs/hyprland/default.nix index 7adae6a..9a327a0 100644 --- a/modules/programs/hyprland/default.nix +++ b/modules/programs/hyprland/default.nix @@ -7,7 +7,6 @@ wayland.windowManager.hyprland = lib.mkIf osconfig.device.wm.hyprland.enable { enable = true; xwayland.enable = true; - }; } diff --git a/modules/programs/hyprland/settings/default.nix b/modules/programs/hyprland/settings/default.nix index 6696ee9..9071b10 100644 --- a/modules/programs/hyprland/settings/default.nix +++ b/modules/programs/hyprland/settings/default.nix @@ -9,7 +9,7 @@ ]; wayland.windowManager.hyprland.settings = { - monitor = osconfig.device.wm.hyprland.monitors; + monitorv2 = osconfig.device.wm.hyprland.monitors; }; } diff --git a/modules/programs/hyprland/settings/key-bind.nix b/modules/programs/hyprland/settings/key-bind.nix index 9c3427f..d5d70ea 100644 --- a/modules/programs/hyprland/settings/key-bind.nix +++ b/modules/programs/hyprland/settings/key-bind.nix @@ -1,11 +1,11 @@ -{ osconfig, ... }: +{ osconfig, config, ... }: { wayland.windowManager.hyprland.settings.bind = [ "CTRL ALT, T, exec, ${osconfig.device.programs.terminal}" "SUPER SHIFT, L, exit," "SUPER SHIFT, TAB, togglefloating," - "SUPER SHIFT, S, exec, hyprshot -m region -o '/home/asakiyuki/Pictures/Screenshots/' -z" + "SUPER SHIFT, S, exec, hyprshot -m region -o '${config.home.homeDirectory}/Pictures/Screenshots/' -z" "SUPER, J, togglesplit," "SUPER, E, exec, dolphin" diff --git a/options/desktop/default.nix b/options/desktop/default.nix index 63061ff..2c25632 100644 --- a/options/desktop/default.nix +++ b/options/desktop/default.nix @@ -5,6 +5,7 @@ ./environment.nix ./programs.nix ./hardware.nix + ./file.nix ]; options.device = { diff --git a/options/desktop/environment.nix b/options/desktop/environment.nix index a9e42b7..88a471b 100644 --- a/options/desktop/environment.nix +++ b/options/desktop/environment.nix @@ -1,33 +1,34 @@ -{ lib, ... }: { - options.device = { - dm = { - sddm = { - enable = lib.mkEnableOption "sddm"; - theme = lib.mkOption { - type = lib.types.str; - default = "hyprland_kath"; - description = "astronaut theme name"; - }; - }; - - gdm.enable = lib.mkEnableOption "gdm"; +{ lib, ... }: +{ + options.device = { + dm = { + sddm = { + enable = lib.mkEnableOption "sddm"; + theme = lib.mkOption { + type = lib.types.str; + default = "hyprland_kath"; + description = "astronaut theme name"; }; + }; - de = { - kdePlasma.enable = lib.mkEnableOption "kde plasma"; - gnome.enable = lib.mkEnableOption "gnome"; - }; - - wm = { - niri.enable = lib.mkEnableOption "niri"; - hyprland = { - enable = lib.mkEnableOption "hyprland"; - monitors = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = [ "eDP-1, 1920x1200@60, 0x0, 1" ]; - description = "Monitors settings"; - }; - }; - }; + gdm.enable = lib.mkEnableOption "gdm"; }; -} \ No newline at end of file + + de = { + kdePlasma.enable = lib.mkEnableOption "kde plasma"; + gnome.enable = lib.mkEnableOption "gnome"; + }; + + wm = { + niri.enable = lib.mkEnableOption "niri"; + hyprland = { + enable = lib.mkEnableOption "hyprland"; + monitors = lib.mkOption { + type = lib.types.listOf lib.types.attrs; + default = []; + description = "Monitors settings"; + }; + }; + }; + }; +} diff --git a/options/desktop/file.nix b/options/desktop/file.nix new file mode 100644 index 0000000..9d69748 --- /dev/null +++ b/options/desktop/file.nix @@ -0,0 +1,8 @@ +{ lib, ... }: { + options.device = { + symlink = lib.mkOption { + default = {}; + type = lib.type.attrsOf lib.types.str; + }; + }; +} \ No newline at end of file