seems right
This commit is contained in:
14
modules/home/desktop/common/xdg-userdirs.nix
Normal file
14
modules/home/desktop/common/xdg-userdirs.nix
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
@ -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
|
||||||
|
@ -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";
|
||||||
|
@ -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";
|
||||||
|
@ -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";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -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";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user