mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-03-27 19:31:05 +01:00
feat: modular home
This commit is contained in:
@@ -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
|
||||
-- <Tab> 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,
|
||||
},
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ with lib; let
|
||||
in {
|
||||
imports = [
|
||||
anyrun.homeManagerModules.default
|
||||
./nvidia.nix
|
||||
];
|
||||
|
||||
options.modules.desktop.hyprland = {
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
24
home/linux/desktop/hyprland/nvidia.nix
Normal file
24
home/linux/desktop/hyprland/nvidia.nix
Normal file
@@ -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";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
20
home/linux/desktop/i3/nvidia.nix
Normal file
20
home/linux/desktop/i3/nvidia.nix
Normal file
@@ -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";
|
||||
};
|
||||
};
|
||||
}
|
||||
12
hosts/12kingdoms/shoukei/home.nix
Normal file
12
hosts/12kingdoms/shoukei/home.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
modules.desktop.hyprland = {
|
||||
nvidia = false;
|
||||
# settings = {
|
||||
# monitor = "";
|
||||
# };
|
||||
};
|
||||
|
||||
modules.desktop.i3 = {
|
||||
nvidia = false;
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user