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 = { options = {
desktop = { desktop = {
awesome = { awesome = {
@ -18,5 +22,5 @@
}; };
}; };
}; };
imports = [ ./awesomewm.nix ]; imports = [./awesomewm.nix ../xserver];
} }

View File

@ -16,7 +16,7 @@
fileManager = lib.mkOption { fileManager = lib.mkOption {
type = lib.types.str; type = lib.types.str;
description = "the default file_manager to use"; description = "the default file_manager to use";
default = "thunar"; default = "pcmanfm";
}; };
browser = lib.mkOption { browser = lib.mkOption {
type = lib.types.str; type = lib.types.str;
@ -43,12 +43,17 @@
./rofi ./rofi
./network-manager-applet ./network-manager-applet
./alacritty ./alacritty
./xserver
./darkman ./darkman
./pcmanfm
./thunar ./thunar
]; ];
config = lib.mkIf config.desktop.enable { 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 = { programs = {
keepassxc.enable = lib.mkDefault true; keepassxc.enable = lib.mkDefault true;
firefox.enable = lib.mkDefault true; firefox.enable = lib.mkDefault true;
@ -69,7 +74,6 @@
}; };
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
colorScheme = nix-colors.colorSchemes.catppuccin-mocha; colorScheme = nix-colors.colorSchemes.catppuccin-mocha;
desktop.network-manager.enable = lib.mkDefault true;
xdg = { xdg = {
enable = lib.mkDefault true; enable = lib.mkDefault true;
portal = { 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, lib,
... ...
}: }:
with lib; with lib; {
mkIf config.desktop.enable { options = {
desktop.thunar.enable = mkEnableOption "Thunar";
};
config = mkIf config.desktop.thunar.enable {
home.packages = with pkgs; [xfce.thunar]; home.packages = with pkgs; [xfce.thunar];
} };
}

View File

@ -1,8 +1,10 @@
_: { {lib, ...}:
with lib; {
imports = [ imports = [
./xresources.nix ./xresources.nix
./xsession.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 = { xresources.properties = {
"*background" = "#1E1E2E"; "*background" = "#1E1E2E";
"*foreground" = "#CDD6F4"; "*foreground" = "#CDD6F4";
@ -36,5 +44,4 @@ _: {
"Xft.rgba" = "rgb"; "Xft.rgba" = "rgb";
"XTerm*faceName" = "FiraCode Nerd Font Mono:bold:size=9"; "XTerm*faceName" = "FiraCode Nerd Font Mono:bold:size=9";
}; };
} }

View File

@ -4,7 +4,7 @@
lib, lib,
... ...
}: }:
lib.mkIf config.desktop.enable { lib.mkIf config.desktop.xserver.enable {
xsession = { xsession = {
enable = true; enable = true;
profileExtra = '' 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, pkgs,
config, config,
lib, lib,
... ...
}: let }: let
cfg = config.mediacenter.kodi; cfg = config.mediacenter.kodi;
in with lib; { in
with lib; {
options = { options = {
mediacenter.kodi = { mediacenter.kodi = {
enable = mkEnableOption "kodi"; enable = mkEnableOption "kodi";
@ -15,6 +17,7 @@ in with lib; {
programs.kodi = { programs.kodi = {
enable = true; enable = true;
package = pkgs.kodi-standalone; package = pkgs.kodi-standalone;
settings = import ./advancedsettings.nix {inherit vars;};
}; };
}; };
} }

View File

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

View File

@ -1,4 +1,4 @@
{ lib, ... }: { {lib, ...}: {
imports = [ imports = [
./fonts ./fonts
./sound ./sound
@ -15,6 +15,9 @@
hardware.opengl.enable = lib.mkDefault true; hardware.opengl.enable = lib.mkDefault true;
desktop.enable = lib.mkDefault true; desktop.enable = lib.mkDefault true;
security.polkit.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 = { awesome = {
enable = false; enable = false;
}; };
network-manager.enable = false;
xserver.enable = false;
pcmanfm.enable = false;
thunar.enable = false;
}; };
programs = { programs = {
firefox.enable = false; firefox.enable = false;
@ -33,7 +37,6 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
nix-serve nix-serve
]; ];
desktop.network-manager.enable = false;
} }
]; ];
} }