Regenerated
This commit is contained in:
+404
-379
File diff suppressed because it is too large
Load Diff
+40
-15
@@ -1434,29 +1434,31 @@ This sets the XDG implementation
|
|||||||
{ lib, config, pkgs, flakeRoot, ... }:
|
{ lib, config, pkgs, flakeRoot, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
# Use the config option defaultUser directly, fallback to "henrov"
|
|
||||||
username = config.defaultUser or "henrov";
|
username = config.defaultUser or "henrov";
|
||||||
|
|
||||||
|
homeDir = "/home/${username}";
|
||||||
|
|
||||||
# Portal backends
|
# Portal backends
|
||||||
basePortal = pkgs.xdg-desktop-portal-gtk; # full portal implementation
|
basePortal = pkgs.xdg-desktop-portal-gtk;
|
||||||
hyprlandPortal = pkgs.xdg-desktop-portal-hyprland; # Hyprland screencast
|
hyprlandPortal = pkgs.xdg-desktop-portal-hyprland;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
#################################
|
#################################
|
||||||
# Enable XDG desktop portals system-wide
|
# XDG Desktop Portals (system)
|
||||||
#################################
|
#################################
|
||||||
xdg.portal.enable = true;
|
xdg.portal.enable = true;
|
||||||
|
|
||||||
# Base + Hyprland portals
|
xdg.portal.extraPortals = [
|
||||||
xdg.portal.extraPortals = [ basePortal hyprlandPortal ];
|
basePortal
|
||||||
|
hyprlandPortal
|
||||||
|
];
|
||||||
|
|
||||||
# Map screencast interface explicitly to Hyprland
|
|
||||||
xdg.portal.config = {
|
xdg.portal.config = {
|
||||||
"org.freedesktop.impl.portal.Screencast".backend = "hyprland";
|
"org.freedesktop.impl.portal.Screencast".backend = "hyprland";
|
||||||
};
|
};
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
# Install portal packages system-wide
|
# System packages
|
||||||
#################################
|
#################################
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
basePortal
|
basePortal
|
||||||
@@ -1464,14 +1466,37 @@ in
|
|||||||
];
|
];
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
# Home Manager user configuration
|
# Home Manager user config
|
||||||
#################################
|
#################################
|
||||||
home-manager.users = {
|
home-manager.users.${username} = {
|
||||||
${username} = {
|
#################################
|
||||||
home.packages = [
|
# User packages
|
||||||
basePortal
|
#################################
|
||||||
hyprlandPortal
|
home.packages = [
|
||||||
];
|
basePortal
|
||||||
|
hyprlandPortal
|
||||||
|
];
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# XDG user directories (HOME ONLY)
|
||||||
|
#################################
|
||||||
|
xdg.userDirs = {
|
||||||
|
enable = true;
|
||||||
|
createDirectories = true;
|
||||||
|
|
||||||
|
desktop = null;
|
||||||
|
download = "${homeDir}/Downloads";
|
||||||
|
documents = "${homeDir}/Documents";
|
||||||
|
pictures = "${homeDir}/Pictures";
|
||||||
|
music = null;
|
||||||
|
publicShare = null;
|
||||||
|
templates = "${homeDir}/Experiments";
|
||||||
|
videos = "${homeDir}/Videos";
|
||||||
|
|
||||||
|
extraConfig = {
|
||||||
|
XDG_PROJECTS_DIR = "${homeDir}/Projects";
|
||||||
|
XDG_WORK_DIR = "${homeDir}/Work";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,29 +2,31 @@
|
|||||||
{ lib, config, pkgs, flakeRoot, ... }:
|
{ lib, config, pkgs, flakeRoot, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
# Use the config option defaultUser directly, fallback to "henrov"
|
|
||||||
username = config.defaultUser or "henrov";
|
username = config.defaultUser or "henrov";
|
||||||
|
|
||||||
|
homeDir = "/home/${username}";
|
||||||
|
|
||||||
# Portal backends
|
# Portal backends
|
||||||
basePortal = pkgs.xdg-desktop-portal-gtk; # full portal implementation
|
basePortal = pkgs.xdg-desktop-portal-gtk;
|
||||||
hyprlandPortal = pkgs.xdg-desktop-portal-hyprland; # Hyprland screencast
|
hyprlandPortal = pkgs.xdg-desktop-portal-hyprland;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
#################################
|
#################################
|
||||||
# Enable XDG desktop portals system-wide
|
# XDG Desktop Portals (system)
|
||||||
#################################
|
#################################
|
||||||
xdg.portal.enable = true;
|
xdg.portal.enable = true;
|
||||||
|
|
||||||
# Base + Hyprland portals
|
xdg.portal.extraPortals = [
|
||||||
xdg.portal.extraPortals = [ basePortal hyprlandPortal ];
|
basePortal
|
||||||
|
hyprlandPortal
|
||||||
|
];
|
||||||
|
|
||||||
# Map screencast interface explicitly to Hyprland
|
|
||||||
xdg.portal.config = {
|
xdg.portal.config = {
|
||||||
"org.freedesktop.impl.portal.Screencast".backend = "hyprland";
|
"org.freedesktop.impl.portal.Screencast".backend = "hyprland";
|
||||||
};
|
};
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
# Install portal packages system-wide
|
# System packages
|
||||||
#################################
|
#################################
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
basePortal
|
basePortal
|
||||||
@@ -32,14 +34,37 @@ in
|
|||||||
];
|
];
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
# Home Manager user configuration
|
# Home Manager user config
|
||||||
#################################
|
#################################
|
||||||
home-manager.users = {
|
home-manager.users.${username} = {
|
||||||
${username} = {
|
#################################
|
||||||
home.packages = [
|
# User packages
|
||||||
basePortal
|
#################################
|
||||||
hyprlandPortal
|
home.packages = [
|
||||||
];
|
basePortal
|
||||||
|
hyprlandPortal
|
||||||
|
];
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# XDG user directories (HOME ONLY)
|
||||||
|
#################################
|
||||||
|
xdg.userDirs = {
|
||||||
|
enable = true;
|
||||||
|
createDirectories = true;
|
||||||
|
|
||||||
|
desktop = null;
|
||||||
|
download = "${homeDir}/Downloads";
|
||||||
|
documents = "${homeDir}/Documents";
|
||||||
|
pictures = "${homeDir}/Pictures";
|
||||||
|
music = null;
|
||||||
|
publicShare = null;
|
||||||
|
templates = "${homeDir}/Experiments";
|
||||||
|
videos = "${homeDir}/Videos";
|
||||||
|
|
||||||
|
extraConfig = {
|
||||||
|
XDG_PROJECTS_DIR = "${homeDir}/Projects";
|
||||||
|
XDG_WORK_DIR = "${homeDir}/Work";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user