Compare commits
19 Commits
kodi-hdr
...
7da089daa3
| Author | SHA1 | Date | |
|---|---|---|---|
| 7da089daa3 | |||
| 8134d7cb33 | |||
| 24f1a64f3c | |||
| 19531074ca | |||
| a30c130f21 | |||
| e088ee2dc8 | |||
| 366a7e2ea3 | |||
| 9116e44dfe | |||
| e3ef710bdb | |||
| e1a804cfed | |||
| ec59936012 | |||
| 844d17a855 | |||
| b19dc65c6d | |||
| 6db2c78e0b | |||
| 475aafa33e | |||
| 09562f0af9 | |||
| ae543d9628 | |||
| c7716d2bca | |||
| 54cf339d52 |
43
flake.lock
generated
43
flake.lock
generated
@@ -7,11 +7,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729459288,
|
"lastModified": 1732793095,
|
||||||
"narHash": "sha256-gBOVJv+q6Mx8jGvwX7cE6J8+sZmi1uxpRVsO7WxvVuQ=",
|
"narHash": "sha256-6TrknJ8CpvSSF4gviQSeD+wyj3siRcMvdBKhOXkEMKU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "1e27f213d77fc842603628bcf2df6681d7d08f7e",
|
"rev": "2f7739d01080feb4549524e8f6927669b61c6ee3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -22,11 +22,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729256560,
|
"lastModified": 1732521221,
|
||||||
"narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
|
"narHash": "sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
|
"rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -36,22 +36,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1729357638,
|
|
||||||
"narHash": "sha256-66RHecx+zohbZwJVEPF7uuwHeqf8rykZTMCTqIrOew4=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "bb8c2cf7ea0dd2e18a52746b2c3a5b0c73b93c22",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "release-24.05",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"plasma-manager": {
|
"plasma-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": [
|
"home-manager": [
|
||||||
@@ -62,11 +46,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729372184,
|
"lastModified": 1732639391,
|
||||||
"narHash": "sha256-Tb2/jJ74pt0nmfprkOW1g5zZphJTNbzLnyDENM+c5+I=",
|
"narHash": "sha256-kFtXjoCIqx9xe0ZryPXpqS6l/HVg71aNcuL8Y5e8+pI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "plasma-manager",
|
"repo": "plasma-manager",
|
||||||
"rev": "9390dadadc58ffda8e494b31ef66a4ae041f6dd1",
|
"rev": "06e3209d11797d9c741e25df06ab61048746bf93",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -87,15 +71,14 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
]
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729394972,
|
"lastModified": 1732575825,
|
||||||
"narHash": "sha256-fADlzOzcSaGsrO+THUZ8SgckMMc7bMQftztKFCLVcFI=",
|
"narHash": "sha256-xtt95+c7OUMoqZf4OvA/7AemiH3aVuWHQbErYQoPwFk=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "c504fd7ac946d7a1b17944d73b261ca0a0b226a5",
|
"rev": "3433ea14fbd9e6671d0ff0dd45ed15ee4c156ffa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ in {
|
|||||||
source = fetchGit {
|
source = fetchGit {
|
||||||
url = "https://github.com/doomemacs/doomemacs.git";
|
url = "https://github.com/doomemacs/doomemacs.git";
|
||||||
# When updating me, remember to run `doom sync`
|
# When updating me, remember to run `doom sync`
|
||||||
rev = "5ad99220b86ae1bf421861dfad24492d768ac4d9";
|
rev = "f425f2ff3da584cfe2676f6b9cf1d81a690a75e5";
|
||||||
};
|
};
|
||||||
# We need to use recursive mode here or else doom fails to sync for
|
# We need to use recursive mode here or else doom fails to sync for
|
||||||
# some reason related to the permissions on the synced path. I'm not
|
# some reason related to the permissions on the synced path. I'm not
|
||||||
|
|||||||
@@ -149,7 +149,7 @@
|
|||||||
;;lua ; one-based indices? one-based indices
|
;;lua ; one-based indices? one-based indices
|
||||||
markdown ; writing docs for people to ignore
|
markdown ; writing docs for people to ignore
|
||||||
;;nim ; python + lisp at the speed of c
|
;;nim ; python + lisp at the speed of c
|
||||||
(nix +tree-sitter +lsp) ; I hereby declare "nix geht mehr!"
|
(nix +tree-sitter) ; I hereby declare "nix geht mehr!"
|
||||||
;;ocaml ; an objective camel
|
;;ocaml ; an objective camel
|
||||||
(org +roam2) ; organize your plain life in plain text
|
(org +roam2) ; organize your plain life in plain text
|
||||||
;;php ; perl's insecure younger brother
|
;;php ; perl's insecure younger brother
|
||||||
|
|||||||
@@ -1,27 +1,18 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
|
||||||
# The following can be generated with the command:
|
# The current KDE config can be output with the command:
|
||||||
# nix run github:nix-community/plasma-manager
|
# nix run github:nix-community/plasma-manager
|
||||||
#
|
#
|
||||||
# Plasma-manager options documentation
|
# Plasma-manager options documentation
|
||||||
# https://nix-community.github.io/plasma-manager/options.xhtml
|
# https://nix-community.github.io/plasma-manager/options.xhtml
|
||||||
#
|
#
|
||||||
# Polonium usage
|
# TODO: (ambitious) Add Kmail support to plasma-manager
|
||||||
# https://github.com/zeroxoneafour/polonium/blob/master/docs/usage.md
|
|
||||||
#
|
|
||||||
# TODO: Extract this configuration into something that's a bit easier to manage
|
|
||||||
# TODO: Update shortcuts for better window/tiling/desktop management akin to i3wm
|
|
||||||
# TODO(ambitious): Add Kmail support to plasma-manager
|
|
||||||
{
|
{
|
||||||
programs.plasma = {
|
programs.plasma = {
|
||||||
enable = true;
|
enable = true;
|
||||||
overrideConfig = true;
|
overrideConfig = true;
|
||||||
|
|
||||||
kwin = {
|
|
||||||
scripts.polonium.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
hotkeys.commands."launch-konsole" = {
|
hotkeys.commands."launch-konsole" = {
|
||||||
name = "Launch Konsole";
|
name = "Launch Konsole";
|
||||||
key = "Meta+Return";
|
key = "Meta+Return";
|
||||||
@@ -67,46 +58,7 @@
|
|||||||
|
|
||||||
"Activate Window Demanding Attention" = "Meta+Ctrl+A";
|
"Activate Window Demanding Attention" = "Meta+Ctrl+A";
|
||||||
|
|
||||||
"PoloniumCycleEngine" = "Meta+|,none,Polonium: Cycle Engine";
|
|
||||||
"PoloniumFocusAbove" = "Meta+K,none,Polonium: Focus Above";
|
|
||||||
"PoloniumFocusBelow" = "Meta+J,none,Polonium: Focus Below";
|
|
||||||
"PoloniumFocusLeft" = "Meta+H,none,Polonium: Focus Left";
|
|
||||||
"PoloniumFocusRight" = "Meta+L,none,Polonium: Focus Right";
|
|
||||||
"PoloniumInsertAbove" = "Meta+Shift+K,none,Polonium: Insert Above";
|
|
||||||
"PoloniumInsertBelow" = "Meta+Shift+J,none,Polonium: Insert Below";
|
|
||||||
"PoloniumInsertLeft" = "Meta+Shift+H,none,Polonium: Insert Left";
|
|
||||||
"PoloniumInsertRight" = "Meta+Shift+L,none,Polonium: Insert Right";
|
|
||||||
"PoloniumOpenSettings" = "Meta+\\\\,none,Polonium: Open Settings Dialog";
|
|
||||||
"PoloniumResizeAbove" = "Meta+Ctrl+K,none,Polonium: Resize Above";
|
|
||||||
"PoloniumResizeBelow" = "Meta+Ctrl+J,none,Polonium: Resize Below";
|
|
||||||
"PoloniumResizeLeft" = "Meta+Ctrl+H,none,Polonium: Resize Left";
|
|
||||||
"PoloniumResizeRight" = "Meta+Ctrl+L,none,Polonium: Resize Right";
|
|
||||||
"PoloniumRetileWindow" = "Meta+Shift+Space,none,Polonium: Retile Window";
|
|
||||||
"PoloniumSwitchBTree" = [ ];
|
|
||||||
"PoloniumSwitchHalf" = [ ];
|
|
||||||
"PoloniumSwitchKwin" = [ ];
|
|
||||||
"PoloniumSwitchMonocle" = [ ];
|
|
||||||
"PoloniumSwitchThreeColumn" = [ ];
|
|
||||||
|
|
||||||
"Show Desktop" = "Meta+D";
|
"Show Desktop" = "Meta+D";
|
||||||
"Switch to Desktop 1" = "Meta+1,,Switch to Desktop 1";
|
|
||||||
"Switch to Desktop 2" = "Meta+2,,Switch to Desktop 2";
|
|
||||||
"Switch to Desktop 3" = "Meta+3,,Switch to Desktop 3";
|
|
||||||
"Switch to Desktop 4" = "Meta+4,,Switch to Desktop 4";
|
|
||||||
"Switch to Desktop 5" = "Meta+5,,Switch to Desktop 5";
|
|
||||||
"Switch to Desktop 6" = "none,,Switch to Desktop 6";
|
|
||||||
"Switch to Desktop 7" = "none,,Switch to Desktop 7";
|
|
||||||
"Switch to Desktop 8" = "none,,Switch to Desktop 8";
|
|
||||||
"Switch to Desktop 9" = "none,,Switch to Desktop 9";
|
|
||||||
"Window to Desktop 1" = "Meta+!,,Window to Desktop 1";
|
|
||||||
"Window to Desktop 2" = "Meta+@,,Window to Desktop 2";
|
|
||||||
"Window to Desktop 3" = "Meta+#,,Window to Desktop 3";
|
|
||||||
"Window to Desktop 4" = "Meta+$,,Window to Desktop 4";
|
|
||||||
"Window to Desktop 5" = "Meta+%,,Window to Desktop 5";
|
|
||||||
"Window to Desktop 6" = "none,,Window to Desktop 6";
|
|
||||||
"Window to Desktop 7" = "none,,Window to Desktop 7";
|
|
||||||
"Window to Desktop 8" = "none,,Window to Desktop 8";
|
|
||||||
"Window to Desktop 9" = "none,,Window to Desktop 9";
|
|
||||||
|
|
||||||
"Walk Through Windows" = "Alt+Tab";
|
"Walk Through Windows" = "Alt+Tab";
|
||||||
"Walk Through Windows (Reverse)" = "Alt+Shift+Tab";
|
"Walk Through Windows (Reverse)" = "Alt+Shift+Tab";
|
||||||
@@ -155,9 +107,21 @@
|
|||||||
|
|
||||||
configFile = {
|
configFile = {
|
||||||
kwinrc.Desktops.Number = {
|
kwinrc.Desktops.Number = {
|
||||||
value = 9;
|
value = 10;
|
||||||
immutable = true;
|
immutable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
kcminputrc.Libinput = {
|
||||||
|
AccelerationProfile = "adaptive";
|
||||||
|
PointerAcceleration = 0.5;
|
||||||
|
};
|
||||||
|
|
||||||
|
kcminputrc.Mouse = {
|
||||||
|
X11LibInputXAccelProfileFlat = false;
|
||||||
|
XLbInptAccelProfileFlat = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
kdeglobals.KDE.LookAndFeelPackage = "org.kde.breezedark.desktop";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,10 +19,6 @@ with lib;
|
|||||||
autologin = true;
|
autologin = true;
|
||||||
wayland = true;
|
wayland = true;
|
||||||
};
|
};
|
||||||
spotifyd = {
|
|
||||||
enable = true;
|
|
||||||
deviceType = "t_v";
|
|
||||||
};
|
|
||||||
users.enable = true;
|
users.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,10 @@
|
|||||||
roles = {
|
roles = {
|
||||||
audio.enable = true;
|
audio.enable = true;
|
||||||
bluetooth.enable = true;
|
bluetooth.enable = true;
|
||||||
desktop.enable = true;
|
desktop = {
|
||||||
|
enable = true;
|
||||||
|
waylandOnly = true;
|
||||||
|
};
|
||||||
nfs-mounts.enable = true;
|
nfs-mounts.enable = true;
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
spotifyd.enable = true;
|
spotifyd.enable = true;
|
||||||
|
|||||||
@@ -57,11 +57,6 @@
|
|||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/arch" =
|
|
||||||
{ device = "/dev/disk/by-label/endeavouros";
|
|
||||||
fsType = "btrfs";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
services.beesd.filesystems = {
|
services.beesd.filesystems = {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
nextcloudTalkDesktop = pkgs.callPackage ./nextcloud-talk-desktop {};
|
nextcloudTalkDesktop = pkgs.callPackage ./nextcloud-talk-desktop {};
|
||||||
|
modrinthNvidia = pkgs.callPackage ./modrinth-nvidia {};
|
||||||
}
|
}
|
||||||
|
|||||||
35
packages/modrinth-nvidia/default.nix
Normal file
35
packages/modrinth-nvidia/default.nix
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{ pkgs ? import <nixpkgs> {} }:
|
||||||
|
pkgs.stdenv.mkDerivation {
|
||||||
|
pname = "modrinth-nvidia";
|
||||||
|
version = "0.1.0";
|
||||||
|
src = null;
|
||||||
|
dontUnpack = true;
|
||||||
|
dontBuild = true;
|
||||||
|
dontConfigure = true;
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
# Copy the original binary
|
||||||
|
cp ${pkgs.modrinth-app}/bin/ModrinthApp $out/bin/modrinth-nvidia-real
|
||||||
|
chmod +x $out/bin/modrinth-nvidia-real
|
||||||
|
|
||||||
|
# Wrap the binary with makeWrapper, producing a new script at 'modrinth-nvidia'
|
||||||
|
makeWrapper $out/bin/modrinth-nvidia-real $out/bin/modrinth-nvidia \
|
||||||
|
--set WEBKIT_DISABLE_DMABUF_RENDERER 1 \
|
||||||
|
--set WEBKIT_DISABLE_COMPOSITING_MODE 1
|
||||||
|
|
||||||
|
mkdir -p $out/share/applications
|
||||||
|
cat > $out/share/applications/modrinth-nvidia.desktop <<EOF
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=Modrinth (NVIDIA)
|
||||||
|
Comment=Launch Modrinth with environment variables tuned for NVIDIA systems
|
||||||
|
Exec=$out/bin/modrinth-nvidia
|
||||||
|
Icon=modrinth-app
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
Categories=Game;
|
||||||
|
EOF
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -13,15 +13,16 @@ in
|
|||||||
config = mkIf cfg.enable
|
config = mkIf cfg.enable
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
alsa-utils
|
|
||||||
paprefs
|
paprefs
|
||||||
pavucontrol
|
pavucontrol
|
||||||
pulsemixer
|
pulsemixer
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware.pulseaudio.enable = true;
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
hardware.pulseaudio.package = pkgs.pulseaudioFull;
|
hardware.pulseaudio.package = pkgs.pulseaudioFull;
|
||||||
hardware.pulseaudio.support32Bit = true;
|
|
||||||
hardware.pulseaudio.extraConfig = "
|
hardware.pulseaudio.extraConfig = "
|
||||||
load-module module-combine-sink
|
load-module module-combine-sink
|
||||||
load-module module-switch-on-connect
|
load-module module-switch-on-connect
|
||||||
|
|||||||
@@ -31,16 +31,25 @@ with lib;
|
|||||||
};
|
};
|
||||||
time.timeZone = "America/Los_Angeles";
|
time.timeZone = "America/Los_Angeles";
|
||||||
|
|
||||||
|
# Don't go to emergency mode if we aren't able to mount filesystems.
|
||||||
|
# This is silly if you have multiple hard drives or partitions
|
||||||
|
# configured on a machine and then one goes away intentionally or
|
||||||
|
# unintentionally. If the system is already booting, let it continue
|
||||||
|
# to try and boot.
|
||||||
|
systemd.enableEmergencyMode = false;
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
# Enable the OpenSSH daemon.
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
|
||||||
git
|
git
|
||||||
|
pciutils
|
||||||
|
vim
|
||||||
|
usbutils
|
||||||
];
|
];
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
package = pkgs.nixFlakes;
|
package = pkgs.nix;
|
||||||
distributedBuilds = true;
|
distributedBuilds = true;
|
||||||
buildMachines = [{
|
buildMachines = [{
|
||||||
hostName = "z790prors.oglehome";
|
hostName = "z790prors.oglehome";
|
||||||
|
|||||||
@@ -5,14 +5,17 @@ with lib;
|
|||||||
let
|
let
|
||||||
cfg = config.roles.desktop;
|
cfg = config.roles.desktop;
|
||||||
|
|
||||||
|
customPackages = pkgs.callPackage ../../packages {};
|
||||||
|
|
||||||
basePackages = with pkgs; [
|
basePackages = with pkgs; [
|
||||||
brightnessctl
|
brightnessctl
|
||||||
mangohud # Should probably get refactored with steam/gamescope out to a gaming role
|
mangohud # Should probably get refactored with steam/gamescope out to a gaming role
|
||||||
polonium # auto tiling kwin addon
|
modrinth-app
|
||||||
|
protonup-qt
|
||||||
];
|
];
|
||||||
|
|
||||||
x11BasePackages = with pkgs; [
|
x11BasePackages = with pkgs; [
|
||||||
|
customPackages.modrinthNvidia
|
||||||
];
|
];
|
||||||
|
|
||||||
x11OnlyPackages = with pkgs; [
|
x11OnlyPackages = with pkgs; [
|
||||||
@@ -37,6 +40,10 @@ in
|
|||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
};
|
};
|
||||||
|
waylandOnly = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable
|
config = mkIf cfg.enable
|
||||||
@@ -105,6 +112,9 @@ in
|
|||||||
gamescopeSession = {
|
gamescopeSession = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
extraCompatPackages = with pkgs; [
|
||||||
|
proton-ge-bin
|
||||||
|
];
|
||||||
#package = pkgs.steam.override {
|
#package = pkgs.steam.override {
|
||||||
#withJava = true;
|
#withJava = true;
|
||||||
#withPrimus = true;
|
#withPrimus = true;
|
||||||
@@ -123,11 +133,10 @@ in
|
|||||||
|
|
||||||
environment.systemPackages = with pkgs; mkMerge [
|
environment.systemPackages = with pkgs; mkMerge [
|
||||||
basePackages
|
basePackages
|
||||||
x11BasePackages
|
(mkIf (!cfg.waylandOnly) x11BasePackages)
|
||||||
(mkIf cfg.x11Only x11OnlyPackages)
|
(mkIf cfg.x11Only x11OnlyPackages)
|
||||||
# TODO: Do we need a "wayland only" mode?
|
|
||||||
(mkIf (!cfg.x11Only) waylandBasePackages)
|
(mkIf (!cfg.x11Only) waylandBasePackages)
|
||||||
(mkIf (!cfg.x11Only) waylandOnlyPackages)
|
(mkIf (cfg.waylandOnly) waylandOnlyPackages)
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -8,38 +8,29 @@ in
|
|||||||
{
|
{
|
||||||
options.roles.spotifyd = {
|
options.roles.spotifyd = {
|
||||||
enable = mkEnableOption "Enable the spotifyd role";
|
enable = mkEnableOption "Enable the spotifyd role";
|
||||||
deviceType = mkOption {
|
|
||||||
default = "computer";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable
|
config = mkIf cfg.enable
|
||||||
{
|
{
|
||||||
roles.audio.enable = true;
|
roles.audio.enable = true;
|
||||||
hardware.pulseaudio.enable = true;
|
|
||||||
hardware.pulseaudio.extraConfig = ''
|
|
||||||
unload-module module-native-protocol-unix
|
|
||||||
load-module module-native-protocol-unix auth-anonymous=1
|
|
||||||
'';
|
|
||||||
hardware.pulseaudio.systemWide = true;
|
|
||||||
|
|
||||||
services.spotifyd = {
|
services.spotifyd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
global = {
|
global = {
|
||||||
use_mpris = false;
|
use_mpris = false;
|
||||||
backend = "pulseaudio";
|
backend = "alsa";
|
||||||
|
device = "sysdefault";
|
||||||
bitrate = 320;
|
bitrate = 320;
|
||||||
cache_path = "";
|
cache_path = "";
|
||||||
zeroconf_port = 5354;
|
zeroconf_port = 1234;
|
||||||
autoplay = false;
|
autoplay = false;
|
||||||
device_type = cfg.deviceType;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [
|
networking.firewall.allowedTCPPorts = [
|
||||||
5354
|
1234
|
||||||
57621
|
57621
|
||||||
];
|
];
|
||||||
networking.firewall.allowedUDPPorts = [
|
networking.firewall.allowedUDPPorts = [
|
||||||
|
|||||||
Reference in New Issue
Block a user