xsession and file manager updates

This commit is contained in:
Patrick Neff 2024-04-15 16:07:59 +02:00
parent 2b1684d24b
commit 3213d23a02
12 changed files with 192 additions and 67 deletions

View File

@ -1,4 +1,8 @@
{ lib, ... }: {
{
lib,
config,
...
}: {
options = {
desktop = {
awesome = {
@ -18,5 +22,5 @@
};
};
};
imports = [ ./awesomewm.nix ];
imports = [./awesomewm.nix ../xserver];
}

View File

@ -16,7 +16,7 @@
fileManager = lib.mkOption {
type = lib.types.str;
description = "the default file_manager to use";
default = "thunar";
default = "pcmanfm";
};
browser = lib.mkOption {
type = lib.types.str;
@ -43,12 +43,17 @@
./rofi
./network-manager-applet
./alacritty
./xserver
./darkman
./pcmanfm
./thunar
];
config = lib.mkIf config.desktop.enable {
desktop.awesome.enable = lib.mkDefault true;
desktop = {
xserver.enable = lib.mkDefault true;
awesome.enable = lib.mkDefault true;
pcmanfm.enable = lib.mkDefault true;
network-manager.enable = lib.mkDefault true;
};
programs = {
keepassxc.enable = lib.mkDefault true;
firefox.enable = lib.mkDefault true;
@ -69,7 +74,6 @@
};
fonts.fontconfig.enable = true;
colorScheme = nix-colors.colorSchemes.catppuccin-mocha;
desktop.network-manager.enable = lib.mkDefault true;
xdg = {
enable = lib.mkDefault true;
portal = {

View File

@ -0,0 +1,16 @@
{
pkgs,
lib,
config,
...
}: let
cfg = config.desktop.pcmanfm;
in
with lib; {
options = {
desktop.pcmanfm.enable = mkEnableOption "pcmanfm";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [pcmanfm];
};
}

View File

@ -4,7 +4,11 @@
lib,
...
}:
with lib;
mkIf config.desktop.enable {
with lib; {
options = {
desktop.thunar.enable = mkEnableOption "Thunar";
};
config = mkIf config.desktop.thunar.enable {
home.packages = with pkgs; [xfce.thunar];
};
}

View File

@ -1,8 +1,10 @@
_: {
{lib, ...}:
with lib; {
imports = [
./xresources.nix
./xsession.nix
];
options = {
desktop.xserver.enable = mkEnableOption "xserver";
};
}

View File

@ -1,4 +1,12 @@
_: {
{
config,
lib,
...
}: let
cfg = config.desktop.xserver;
in
with lib;
mkIf cfg.enable {
xresources.properties = {
"*background" = "#1E1E2E";
"*foreground" = "#CDD6F4";
@ -37,4 +45,3 @@ _: {
"XTerm*faceName" = "FiraCode Nerd Font Mono:bold:size=9";
};
}

View File

@ -4,7 +4,7 @@
lib,
...
}:
lib.mkIf config.desktop.enable {
lib.mkIf config.desktop.xserver.enable {
xsession = {
enable = true;
profileExtra = ''

View File

@ -0,0 +1,78 @@
{vars,...}: let
inherit (vars) timeZone hostName domain;
datadirs = "smb://svartalbenheim.odie.intranet/kodi/userdata";
mysql = {
port = 3306;
user = "kodi";
pass = "kodi";
};
in {
advancedsettings = {
addons = {
unknownsourcecs = true;
};
services = {
devicename = "${hostName}.${domain}";
webserver = true;
webserverauthentication = false;
webserverusername = "kodi";
webserverpassword = "kodi";
webserverport = 8000;
webserverssl = false;
zeroconf = true;
wsdiscovery = true;
upnp = true;
upnpserver = true;
airplay = true;
airplayvideosupport = true;
};
locale = {
language = "resource.language.de_de";
country = "Deutschland";
timezone = timeZone;
};
lookandfeed = {
enablerssfeeds = false;
};
videodatabase = {
type = "mysql";
inherit (mysql) user pass port;
};
musicdatabase = {
type = "mysql";
inherit (mysql) user pass port;
};
videolibrary = {
importwatchedstate = true;
importresumepoint = true;
};
pathsubstitution = {
substitute = [
{
from = "special://profile/playlists/";
to = "${datadirs}/playlists/";
}
{
from = "special://profile/sources.xml";
to = "${datadirs}/sources.xml";
}
{
from = "special://profile/mediasources.xml";
to = "${datadirs}/mediasources.xml";
}
{
from = "special://profile/RssFeeds.xml";
to = "${datadirs}/RssFeeds.xml";
}
{
from = "special://profile/favourites.xml";
to = "${datadirs}/favourites.xml";
}
{
from = "special://profile/passwords.xml";
to = "${datadirs}/passwords.xml";
}
];
};
};
}

View File

@ -1,11 +1,13 @@
{
vars,
pkgs,
config,
lib,
...
}: let
cfg = config.mediacenter.kodi;
in with lib; {
in
with lib; {
options = {
mediacenter.kodi = {
enable = mkEnableOption "kodi";
@ -15,6 +17,7 @@ in with lib; {
programs.kodi = {
enable = true;
package = pkgs.kodi-standalone;
settings = import ./advancedsettings.nix {inherit vars;};
};
};
}

View File

@ -1,6 +1,7 @@
{
lib,
config,
vars,
...
}:
let
@ -13,7 +14,7 @@ lib.mkIf config.services.borgmatic.enable {
home = {
location = {
patterns = [
"R /home/odie"
"R /home/${vars.username}"
] ++ commonExcludes;
repositories = [
{

View File

@ -15,6 +15,9 @@
hardware.opengl.enable = lib.mkDefault true;
desktop.enable = lib.mkDefault true;
security.polkit.enable = lib.mkDefault true;
services.upower.enable = lib.mkDefault true;
services = {
upower.enable = lib.mkDefault true;
gvfs.enable = lib.mkDefault true;
};
};
}

View File

@ -18,6 +18,10 @@
awesome = {
enable = false;
};
network-manager.enable = false;
xserver.enable = false;
pcmanfm.enable = false;
thunar.enable = false;
};
programs = {
firefox.enable = false;
@ -33,7 +37,6 @@
home.packages = with pkgs; [
nix-serve
];
desktop.network-manager.enable = false;
}
];
}