seems right

This commit is contained in:
unexplrd
2025-02-06 14:23:13 +02:00
parent 2e6e28ef32
commit d76e7f4f71
10 changed files with 88 additions and 92 deletions

View File

@ -0,0 +1,14 @@
{config, ...}: {
xdg.userDirs = {
enable = true;
createDirectories = true;
templates = "${config.home.homeDirectory}/temps";
publicShare = "${config.home.homeDirectory}/pub";
desktop = "${config.home.homeDirectory}/desktop";
download = "${config.home.homeDirectory}/downloads";
documents = "${config.home.homeDirectory}/docs";
pictures = "${config.home.homeDirectory}/pics";
videos = "${config.home.homeDirectory}/vids";
music = "${config.home.homeDirectory}/music";
};
}

View File

@ -1,5 +1,6 @@
{ {
imports = [ imports = [
./common/xdg-userdirs.nix
./hyprland/default.nix ./hyprland/default.nix
./niri/default.nix ./niri/default.nix
./plasma/default.nix ./plasma/default.nix

View File

@ -7,6 +7,8 @@
}: let }: let
cfg = config.desktop.hyprland; cfg = config.desktop.hyprland;
hostname = osConfig.networking.hostName; hostname = osConfig.networking.hostName;
xdgPictures =
config.xdg.userDirs.pictures;
in { in {
options = { options = {
desktop.hyprland.enable = desktop.hyprland.enable =
@ -225,10 +227,11 @@ in {
"$modCtrl, B, exec, $webBrowser" "$modCtrl, B, exec, $webBrowser"
"$modCtrl, V, exec, $clipboardManager" "$modCtrl, V, exec, $clipboardManager"
", Print, exec, flameshot gui" #${xdg.userDirs.pictures}/screenshots/" # ", Print, exec, flameshot gui" #${xdg.userDirs.pictures}/screenshots/"
#", Print, exec, grimblast --freeze copy area" #${xdg.userDirs.pictures}/screenshots/" ", Print, exec, ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp -o -r -c '\#\#ff0000ff')\" -t ppm - | ${pkgs.satty}/bin/satty --filename - --fullscreen --output-filename ${xdgPictures}/screenshots/satty-$(date '+%Y%m%d-%H:%M:%S').png"
#"CTRL, Print, exec, grimblast --freeze copy active" #${xdg.userDirs.pictures}/screenshots/" # ", Print, exec, grimblast --freeze copy area" #${xdg.userDirs.pictures}/screenshots/"
#"SHIFT, Print, exec, grimblast --freeze copy output" #${xdg.userDirs.pictures}/screenshots/" # "CTRL, Print, exec, grimblast --freeze copy active" #${xdg.userDirs.pictures}/screenshots/"
# "SHIFT, Print, exec, grimblast --freeze copy output" #${xdg.userDirs.pictures}/screenshots/"
# navigation # navigation
#"$modCtrl, N," #"$modCtrl, N,"
"$mod, $left, hy3:movefocus, l" "$mod, $left, hy3:movefocus, l"
@ -1611,18 +1614,6 @@ in {
"x-scheme-handler/unknown" = web_browser; "x-scheme-handler/unknown" = web_browser;
}; };
}; };
xdg.userDirs = {
enable = true;
createDirectories = true;
templates = "${config.home.homeDirectory}/temps";
publicShare = "${config.home.homeDirectory}/pub";
desktop = "${config.home.homeDirectory}/desktop";
download = "${config.home.homeDirectory}/downloads";
documents = "${config.home.homeDirectory}/docs";
pictures = "${config.home.homeDirectory}/pics";
videos = "${config.home.homeDirectory}/vids";
music = "${config.home.homeDirectory}/music";
};
systemd.user.settings.Manager.DefaultEnvironment = { systemd.user.settings.Manager.DefaultEnvironment = {
# QT_QPA_PLATFORMTHEME = "gtk3"; # QT_QPA_PLATFORMTHEME = "gtk3";
QT_QPA_PLATFORM = "wayland"; QT_QPA_PLATFORM = "wayland";

View File

@ -1347,18 +1347,6 @@ in {
"x-scheme-handler/unknown" = web_browser; "x-scheme-handler/unknown" = web_browser;
}; };
}; };
xdg.userDirs = {
enable = true;
createDirectories = true;
templates = "${config.home.homeDirectory}/temps";
publicShare = "${config.home.homeDirectory}/pub";
desktop = "${config.home.homeDirectory}/desktop";
download = "${config.home.homeDirectory}/downloads";
documents = "${config.home.homeDirectory}/docs";
pictures = "${config.home.homeDirectory}/pics";
videos = "${config.home.homeDirectory}/vids";
music = "${config.home.homeDirectory}/music";
};
systemd.user.settings.Manager.DefaultEnvironment = { systemd.user.settings.Manager.DefaultEnvironment = {
# QT_QPA_PLATFORMTHEME = "gtk3"; # QT_QPA_PLATFORMTHEME = "gtk3";
QT_QPA_PLATFORM = "wayland"; QT_QPA_PLATFORM = "wayland";

View File

@ -14,19 +14,7 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
stylix.targets.kde.enable = true; stylix.targets.kde.enable = true;
home.packages = with pkgs; [ home.packages = with pkgs; [
wl-clipboard wl-clipboard-rs
]; ];
xdg.userDirs = {
enable = true;
createDirectories = true;
templates = "${config.home.homeDirectory}/temps";
publicShare = "${config.home.homeDirectory}/pub";
desktop = "${config.home.homeDirectory}/desktop";
download = "${config.home.homeDirectory}/downloads";
documents = "${config.home.homeDirectory}/docs";
pictures = "${config.home.homeDirectory}/pics";
videos = "${config.home.homeDirectory}/vids";
music = "${config.home.homeDirectory}/music";
};
}; };
} }

View File

@ -7,31 +7,40 @@
with lib; let with lib; let
cfg = config.desktop.hyprland; cfg = config.desktop.hyprland;
in { in {
imports = [./misc/sound.nix ./misc/regreet.nix]; imports = [./common/pipewire.nix];
options = { options = {
desktop.hyprland.enable = desktop.hyprland.enable =
mkEnableOption "enable hyprland desktop"; mkEnableOption "enable hyprland desktop";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.hyprland.enable = true; programs.hyprland.enable = true;
programs.hyprland.package = pkgs.hyprland; environment.systemPackages = with pkgs; [
fonts.fontDir.enable = true; brightnessctl
security.pam.services.hyprlock = {}; gcr_4
security.pam.loginLimits = [
{
domain = "@users";
item = "rtprio";
type = "-";
value = 1;
}
]; ];
programs.dconf.enable = true; fonts.fontDir.enable = true;
programs.seahorse.enable = true; security.pam = {
services.gnome.gnome-keyring.enable = true; services.hyprlock = {};
services.udisks2.enable = true; loginLimits = [
services.dbus = { {
apparmor = "enabled"; domain = "@users";
implementation = "broker"; item = "rtprio";
type = "-";
value = 1;
}
];
};
services = {
gnome.gnome-keyring.enable = true;
udisks2.enable = true;
dbus = {
apparmor = "enabled";
implementation = "broker";
};
};
programs = {
dconf.enable = true;
seahorse.enable = true;
}; };
xdg.portal = { xdg.portal = {
enable = true; enable = true;
@ -39,18 +48,25 @@ in {
xdg-desktop-portal-hyprland xdg-desktop-portal-hyprland
xdg-desktop-portal-gtk xdg-desktop-portal-gtk
]; ];
config = { config.common.default = [
common = { "hyprland"
default = [ "gtk"
"hyprland" ];
"gtk" };
];
programs.regreet.enable = true;
services.greetd = {
enable = true;
vt = 6;
settings = {
default_session = {
command = "${pkgs.cage}/bin/cage -s -m last -- ${pkgs.greetd.regreet}/bin/regreet";
};
initial_session = {
user = "user";
command = "Hyprland";
}; };
}; };
}; };
services.greetd.settings.initial_session = {
user = "user";
command = "Hyprland";
};
}; };
} }

View File

@ -1,12 +0,0 @@
{pkgs, ...}: {
programs.regreet.enable = true;
services.greetd = {
enable = true;
vt = 6;
settings = {
default_session = {
command = "${pkgs.cage}/bin/cage -s -m last -- ${pkgs.greetd.regreet}/bin/regreet";
};
};
};
}

View File

@ -7,7 +7,7 @@
with lib; let with lib; let
cfg = config.desktop.niri; cfg = config.desktop.niri;
in { in {
imports = [./misc/sound.nix ./misc/regreet.nix]; imports = [./common/pipewire.nix];
options = { options = {
desktop.niri.enable = desktop.niri.enable =
mkEnableOption "enable niri desktop"; mkEnableOption "enable niri desktop";
@ -52,9 +52,19 @@ in {
"gtk" "gtk"
]; ];
}; };
services.greetd.settings.initial_session = { programs.regreet.enable = true;
user = "user"; services.greetd = {
command = "${pkgs.niri}/bin/niri-session"; enable = true;
vt = 6;
settings = {
default_session = {
command = "${pkgs.cage}/bin/cage -s -m last -- ${pkgs.greetd.regreet}/bin/regreet";
};
initial_session = {
user = "user";
command = "${pkgs.niri}/bin/niri-session";
};
};
}; };
}; };
} }

View File

@ -1,6 +1,5 @@
{ {
config, config,
pkgs,
lib, lib,
... ...
}: }:
@ -8,7 +7,7 @@ with lib; let
cfg = config.desktop.plasma; cfg = config.desktop.plasma;
in { in {
imports = [ imports = [
./misc/sound.nix ./common/pipewire.nix
]; ];
options = { options = {
desktop.plasma = { desktop.plasma = {
@ -17,12 +16,13 @@ in {
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.displayManager.sddm = { services = {
enable = cfg.sddmEnable; desktopManager.plasma6.enable = true;
wayland.enable = true; displayManager.sddm = {
enable = cfg.sddmEnable;
wayland.enable = true;
};
}; };
services.desktopManager.plasma6.enable = true;
fonts.fontDir.enable = true; fonts.fontDir.enable = true;
}; };
} }