diff --git a/home/base/desktop/neovim/astronvim_user/init.lua b/home/base/desktop/neovim/astronvim_user/init.lua index 5494f874..1111ed79 100644 --- a/home/base/desktop/neovim/astronvim_user/init.lua +++ b/home/base/desktop/neovim/astronvim_user/init.lua @@ -17,7 +17,7 @@ return { { import = "astrocommunity.colorscheme.catppuccin" }, -- Highly experimental plugin that completely replaces -- the UI for messages, cmdline and the popupmenu. - { import = "astrocommunity.utility.noice-nvim" }, + -- { import = "astrocommunity.utility.noice-nvim" }, -- Fully featured & enhanced replacement for copilot.vim -- work with both auto completion in cmp and copilot { import = "astrocommunity.media.vim-wakatime" }, @@ -77,7 +77,7 @@ return { -- lazy-loading on events event = { "InsertLeave", "TextChanged" }, opts = function(_, opts) - opts.prompt_style = "notify" -- or stdout + opts.prompt_style = "stdout" -- notify or stdout end, }, diff --git a/home/linux/desktop/hyprland/default.nix b/home/linux/desktop/hyprland/default.nix index 56d022ac..b9a45ab2 100644 --- a/home/linux/desktop/hyprland/default.nix +++ b/home/linux/desktop/hyprland/default.nix @@ -10,6 +10,7 @@ with lib; let in { imports = [ anyrun.homeManagerModules.default + ./nvidia.nix ]; options.modules.desktop.hyprland = { diff --git a/home/linux/desktop/hyprland/hypr-conf/hyprland.conf b/home/linux/desktop/hyprland/hypr-conf/hyprland.conf index f67a28a6..68a2283a 100644 --- a/home/linux/desktop/hyprland/hypr-conf/hyprland.conf +++ b/home/linux/desktop/hyprland/hypr-conf/hyprland.conf @@ -13,8 +13,15 @@ env = WLR_NO_HARDWARE_CURSORS,1 # format: # monitor=name,resolution,position,scale - monitor=DP-2,3840x2160@144,0x0,1.6 - workspace=DP-2,1 + + + +# monitor=DP-2,3840x2160@144,0x0,1.6 +# workspace=DP-2,1 + +# Shoukei's builtin display(Macbook Pro 2022 13.3 inch) +monitor=eDP-1,2560x1660@60,0x0,1.5 +workspace=eDP-1,1 #-- Input ---------------------------------------------------- # Configure mouse and touchpad here. diff --git a/home/linux/desktop/hyprland/hyprland.nix b/home/linux/desktop/hyprland/hyprland.nix index 825ec7d3..ab7392ed 100644 --- a/home/linux/desktop/hyprland/hyprland.nix +++ b/home/linux/desktop/hyprland/hyprland.nix @@ -12,7 +12,7 @@ wayland.windowManager.hyprland = { enable = true; package = hyprland.packages.${pkgs.system}.hyprland; - settings = lib.mkForce {}; + settings = {}; extraConfig = builtins.readFile ./hypr-conf/hyprland.conf; # gammastep/wallpaper-switcher need this to be enabled. systemd.enable = true; @@ -62,13 +62,5 @@ "NIXOS_OZONE_WL" = "1"; # for any ozone-based browser & electron apps to run on wayland "MOZ_ENABLE_WAYLAND" = "1"; # for firefox to run on wayland "MOZ_WEBRENDER" = "1"; - - # for hyprland with nvidia gpu, ref https://wiki.hyprland.org/Nvidia/ - "LIBVA_DRIVER_NAME" = "nvidia"; - "XDG_SESSION_TYPE" = "wayland"; - "GBM_BACKEND" = "nvidia-drm"; - "__GLX_VENDOR_LIBRARY_NAME" = "nvidia"; - "WLR_NO_HARDWARE_CURSORS" = "1"; - "WLR_EGL_NO_MODIFIRES" = "1"; }; } diff --git a/home/linux/desktop/hyprland/nvidia.nix b/home/linux/desktop/hyprland/nvidia.nix new file mode 100644 index 00000000..7118232a --- /dev/null +++ b/home/linux/desktop/hyprland/nvidia.nix @@ -0,0 +1,24 @@ +{ + config, + lib, + ... +}: +with lib; let + cfg = config.modules.desktop.hyprland; +in { + options.modules.desktop.hyprland = { + nvidia = mkEnableOption "whether nvidia GPU is used"; + }; + + config = mkIf (cfg.enable && cfg.nvidia) { + systemd.user.sessionVariables = { + # for hyprland with nvidia gpu, ref https://wiki.hyprland.org/Nvidia/ + "LIBVA_DRIVER_NAME" = "nvidia"; + "XDG_SESSION_TYPE" = "wayland"; + "GBM_BACKEND" = "nvidia-drm"; + "__GLX_VENDOR_LIBRARY_NAME" = "nvidia"; + "WLR_NO_HARDWARE_CURSORS" = "1"; + "WLR_EGL_NO_MODIFIRES" = "1"; + }; + }; +} diff --git a/home/linux/desktop/i3/default.nix b/home/linux/desktop/i3/default.nix index e9386eaf..0f266af5 100644 --- a/home/linux/desktop/i3/default.nix +++ b/home/linux/desktop/i3/default.nix @@ -7,6 +7,10 @@ with lib; let cfg = config.modules.desktop.i3; in { + imports = [ + ./nvidia.nix + ]; + options.modules.desktop.i3 = { enable = mkEnableOption "i3 window manager"; }; diff --git a/home/linux/desktop/i3/i3.nix b/home/linux/desktop/i3/i3.nix index 2fac9409..f5c01892 100644 --- a/home/linux/desktop/i3/i3.nix +++ b/home/linux/desktop/i3/i3.nix @@ -52,10 +52,4 @@ _: { # allow fontconfig to discover fonts and configurations installed through home.packages fonts.fontconfig.enable = true; - - systemd.user.sessionVariables = { - "LIBVA_DRIVER_NAME" = "nvidia"; - "GBM_BACKEND" = "nvidia-drm"; - "__GLX_VENDOR_LIBRARY_NAME" = "nvidia"; - }; } diff --git a/home/linux/desktop/i3/nvidia.nix b/home/linux/desktop/i3/nvidia.nix new file mode 100644 index 00000000..b10d8e81 --- /dev/null +++ b/home/linux/desktop/i3/nvidia.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + ... +}: +with lib; let + cfg = config.modules.desktop.i3; +in { + options.modules.desktop.i3 = { + nvidia = mkEnableOption "whether nvidia GPU is used"; + }; + + config = mkIf (cfg.enable && cfg.nvidia) { + systemd.user.sessionVariables = { + "LIBVA_DRIVER_NAME" = "nvidia"; + "GBM_BACKEND" = "nvidia-drm"; + "__GLX_VENDOR_LIBRARY_NAME" = "nvidia"; + }; + }; +} diff --git a/hosts/12kingdoms/shoukei/home.nix b/hosts/12kingdoms/shoukei/home.nix new file mode 100644 index 00000000..0d544056 --- /dev/null +++ b/hosts/12kingdoms/shoukei/home.nix @@ -0,0 +1,12 @@ +{ + modules.desktop.hyprland = { + nvidia = false; + # settings = { + # monitor = ""; + # }; + }; + + modules.desktop.i3 = { + nvidia = false; + }; +} diff --git a/systems/vars.nix b/systems/vars.nix index a2bda253..d62eb6b3 100644 --- a/systems/vars.nix +++ b/systems/vars.nix @@ -1,5 +1,5 @@ let - _dekstop_bass_modules = { + desktop_base_modules = { nixos-modules = [ ../secrets/nixos.nix ../modules/nixos/desktop.nix @@ -8,51 +8,34 @@ let ../home/linux/desktop.nix ]; }; - - desktop_i3_modules = { - nixos-modules = - [ - {modules.desktop.xorg.enable = true;} - ] - ++ _dekstop_bass_modules.nixos-modules; - home-module.imports = - [ - ../home/linux/desktop.nix - {modules.desktop.i3.enable = true;} - ] - ++ _dekstop_bass_modules.home-module.imports; - }; - desktop_hyprland_modules = { - nixos-modules = - [ - {modules.desktop.wayland.enable = true;} - ] - ++ _dekstop_bass_modules.nixos-modules; - home-module.imports = - [ - ../home/linux/desktop.nix - {modules.desktop.hyprland.enable = true;} - ] - ++ _dekstop_bass_modules.home-module.imports; - }; -in rec { +in { # 星野 アイ, Hoshino Ai idol_ai_modules_i3 = { nixos-modules = [ ../hosts/idols/ai + {modules.desktop.xorg.enable = true;} ] - ++ desktop_i3_modules.nixos-modules; - home-module = desktop_i3_modules.home-module; + ++ desktop_base_modules.nixos-modules; + home-module.imports = + [ + {modules.desktop.i3.enable = true;} + ] + ++ desktop_base_modules.home-module.imports; }; idol_ai_modules_hyprland = { nixos-modules = [ ../hosts/idols/ai + {modules.desktop.wayland.enable = true;} ] - ++ desktop_hyprland_modules.nixos-modules; - home-module = desktop_hyprland_modules.home-module; + ++ desktop_base_modules.nixos-modules; + home-module.imports = + [ + {modules.desktop.hyprland.enable = true;} + ] + ++ desktop_base_modules.home-module.imports; }; # 星野 愛久愛海, Hoshino Akuamarin @@ -132,18 +115,30 @@ in rec { nixos-modules = [ ../hosts/12kingdoms/shoukei + {modules.desktop.xorg.enable = true;} ] - ++ desktop_i3_modules.nixos-modules; - home-module = desktop_i3_modules.home-module; + ++ desktop_base_modules.nixos-modules; + home-module.imports = + [ + ../hosts/12kingdoms/shoukei/home.nix + {modules.desktop.i3.enable = true;} + ] + ++ desktop_base_modules.home-module.imports; }; _12kingdoms_shoukei_modules_hyprland = { nixos-modules = [ ../hosts/12kingdoms/shoukei + {modules.desktop.wayland.enable = true;} ] - ++ desktop_hyprland_modules.nixos-modules; - home-module = desktop_hyprland_modules.home-module; + ++ desktop_base_modules.nixos-modules; + home-module.imports = + [ + ../hosts/12kingdoms/shoukei/home.nix + {modules.desktop.hyprland.enable = true;} + ] + ++ desktop_base_modules.home-module.imports; }; # darwin systems