Compare commits
2 Commits
4be7cd0c0f
...
7d08e1f5ef
| Author | SHA1 | Date | |
|---|---|---|---|
|
7d08e1f5ef
|
|||
|
3cb73506f1
|
@@ -13,15 +13,14 @@
|
|||||||
timeout = 0;
|
timeout = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
|
||||||
hardware.bluetooth.powerOnBoot = true;
|
|
||||||
|
|
||||||
systemd.services.nix-daemon = {
|
systemd.services.nix-daemon = {
|
||||||
environment.TMPDIR = "/var/cache/nix";
|
environment.TMPDIR = "/var/cache/nix";
|
||||||
serviceConfig.CacheDirectory = "nix";
|
serviceConfig.CacheDirectory = "nix";
|
||||||
};
|
};
|
||||||
environment.variables.NIX_REMOTE = "daemon";
|
environment.variables.NIX_REMOTE = "daemon";
|
||||||
|
|
||||||
|
my.audio.enable = false;
|
||||||
|
|
||||||
sops.secrets.imxyy-nix-server-hashed-password = {
|
sops.secrets.imxyy-nix-server-hashed-password = {
|
||||||
sopsFile = secrets.imxyy-nix-server-hashed-password;
|
sopsFile = secrets.imxyy-nix-server-hashed-password;
|
||||||
format = "binary";
|
format = "binary";
|
||||||
|
|||||||
@@ -29,8 +29,7 @@
|
|||||||
|
|
||||||
wineWowPackages.waylandFull
|
wineWowPackages.waylandFull
|
||||||
|
|
||||||
pavucontrol
|
pwvucontrol
|
||||||
pamixer
|
|
||||||
];
|
];
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
@@ -135,7 +134,6 @@
|
|||||||
".config/Kingsoft"
|
".config/Kingsoft"
|
||||||
".config/dconf"
|
".config/dconf"
|
||||||
".config/gh"
|
".config/gh"
|
||||||
".config/pulse"
|
|
||||||
".config/pip"
|
".config/pip"
|
||||||
".config/libreoffice"
|
".config/libreoffice"
|
||||||
".config/sunshine"
|
".config/sunshine"
|
||||||
|
|||||||
@@ -35,36 +35,6 @@
|
|||||||
};
|
};
|
||||||
environment.variables.NIX_REMOTE = "daemon";
|
environment.variables.NIX_REMOTE = "daemon";
|
||||||
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = false;
|
|
||||||
alsa.support32Bit = false;
|
|
||||||
pulse.enable = false;
|
|
||||||
audio.enable = false;
|
|
||||||
};
|
|
||||||
services.pulseaudio = {
|
|
||||||
enable = true;
|
|
||||||
support32Bit = true;
|
|
||||||
package = pkgs.pulseaudioFull;
|
|
||||||
extraConfig = ''
|
|
||||||
load-module module-switch-on-connect
|
|
||||||
unload-module module-suspend-on-idle
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
hardware.bluetooth = {
|
|
||||||
enable = true;
|
|
||||||
powerOnBoot = true;
|
|
||||||
settings = {
|
|
||||||
General = {
|
|
||||||
Enable = "Source,Sink,Media,Socket";
|
|
||||||
Disable = "HeadSet";
|
|
||||||
MultiProfile = "multiple";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
users.extraUsers.${username}.extraGroups = [ "audio" ];
|
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
enableDefaultPackages = false;
|
enableDefaultPackages = false;
|
||||||
fontDir.enable = true;
|
fontDir.enable = true;
|
||||||
|
|||||||
@@ -30,8 +30,7 @@
|
|||||||
|
|
||||||
wineWowPackages.waylandFull
|
wineWowPackages.waylandFull
|
||||||
|
|
||||||
pavucontrol
|
pwvucontrol
|
||||||
pamixer
|
|
||||||
];
|
];
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
@@ -173,7 +172,6 @@
|
|||||||
".config/Kingsoft"
|
".config/Kingsoft"
|
||||||
".config/dconf"
|
".config/dconf"
|
||||||
".config/gh"
|
".config/gh"
|
||||||
".config/pulse"
|
|
||||||
".config/pip"
|
".config/pip"
|
||||||
".config/libreoffice"
|
".config/libreoffice"
|
||||||
".config/sunshine"
|
".config/sunshine"
|
||||||
|
|||||||
@@ -73,36 +73,6 @@ in
|
|||||||
};
|
};
|
||||||
environment.variables.NIX_REMOTE = "daemon";
|
environment.variables.NIX_REMOTE = "daemon";
|
||||||
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = false;
|
|
||||||
alsa.support32Bit = false;
|
|
||||||
pulse.enable = false;
|
|
||||||
audio.enable = false;
|
|
||||||
};
|
|
||||||
services.pulseaudio = {
|
|
||||||
enable = true;
|
|
||||||
support32Bit = true;
|
|
||||||
package = pkgs.pulseaudioFull;
|
|
||||||
extraConfig = ''
|
|
||||||
load-module module-switch-on-connect
|
|
||||||
unload-module module-suspend-on-idle
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
hardware.bluetooth = {
|
|
||||||
enable = true;
|
|
||||||
powerOnBoot = true;
|
|
||||||
settings = {
|
|
||||||
General = {
|
|
||||||
Enable = "Source,Sink,Media,Socket";
|
|
||||||
Disable = "HeadSet";
|
|
||||||
MultiProfile = "multiple";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
users.extraUsers.${username}.extraGroups = [ "audio" ];
|
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
enableDefaultPackages = false;
|
enableDefaultPackages = false;
|
||||||
fontDir.enable = true;
|
fontDir.enable = true;
|
||||||
|
|||||||
24
modules/audio.nix
Normal file
24
modules/audio.nix
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
lib.my.makeSwitch {
|
||||||
|
inherit config;
|
||||||
|
default = true;
|
||||||
|
optionName = "default audio settings";
|
||||||
|
optionPath = [ "audio" ];
|
||||||
|
config' = {
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
audio.enable = true;
|
||||||
|
};
|
||||||
|
users.extraUsers.${username}.extraGroups = [ "audio" ];
|
||||||
|
my.persist.homeDirs = [ ".local/state/wireplumber" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
20
modules/bluetooth.nix
Normal file
20
modules/bluetooth.nix
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
lib.my.makeSwitch {
|
||||||
|
inherit config;
|
||||||
|
default = true;
|
||||||
|
optionName = "default bluetooth settings";
|
||||||
|
optionPath = [ "bluetooth" ];
|
||||||
|
config' = {
|
||||||
|
hardware.bluetooth = {
|
||||||
|
enable = true;
|
||||||
|
powerOnBoot = true;
|
||||||
|
settings = {
|
||||||
|
General = {
|
||||||
|
Enable = "Source,Sink,Media,Socket";
|
||||||
|
Disable = "HeadSet";
|
||||||
|
MultiProfile = "multiple";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -9,7 +9,6 @@ lib.my.makeSwitch {
|
|||||||
];
|
];
|
||||||
config' = {
|
config' = {
|
||||||
my.cli.media = {
|
my.cli.media = {
|
||||||
cava.enable = true;
|
|
||||||
go-musicfox.enable = true;
|
go-musicfox.enable = true;
|
||||||
mpd.enable = true;
|
mpd.enable = true;
|
||||||
ffmpeg.enable = true;
|
ffmpeg.enable = true;
|
||||||
|
|||||||
@@ -1,167 +0,0 @@
|
|||||||
## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
|
|
||||||
|
|
||||||
|
|
||||||
[general]
|
|
||||||
|
|
||||||
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'.
|
|
||||||
mode = normal
|
|
||||||
|
|
||||||
# Accepts only non-negative values.
|
|
||||||
framerate = 60
|
|
||||||
|
|
||||||
# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
|
|
||||||
# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens.
|
|
||||||
; autosens = 1
|
|
||||||
; overshoot = 20
|
|
||||||
|
|
||||||
# Manual sensitivity in %. Autosens must be turned off for this to take effect.
|
|
||||||
# 200 means double height. Accepts only non-negative values.
|
|
||||||
; sensitivity = 100
|
|
||||||
|
|
||||||
# The number of bars (0-200). 0 sets it to auto (fill up console).
|
|
||||||
# Bars' width and space between bars in number of characters.
|
|
||||||
bars = 0
|
|
||||||
bar_width = 5
|
|
||||||
bar_spacing = 1
|
|
||||||
|
|
||||||
# Lower and higher cutoff frequencies for lowest and highest bars
|
|
||||||
# the bandwidth of the visualizer.
|
|
||||||
# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
|
|
||||||
# Cava will automatically increase the higher cutoff if a too low band is specified.
|
|
||||||
; lower_cutoff_freq = 50
|
|
||||||
; higher_cutoff_freq = 10000
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[input]
|
|
||||||
|
|
||||||
# Audio capturing method. Possible methods are: 'pulse', 'alsa' or 'fifo'.
|
|
||||||
# Defaults to 'pulse', 'alsa' or 'fifo', in that order, dependent on what support cava was built with.
|
|
||||||
#
|
|
||||||
# All input methods uses the same config variable 'source'
|
|
||||||
# to define where it should get the audio.
|
|
||||||
#
|
|
||||||
# For pulseaudio 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
|
|
||||||
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
|
|
||||||
#
|
|
||||||
# For alsa 'source' will be the capture device.
|
|
||||||
# For fifo 'source' will be the path to fifo-file.
|
|
||||||
method = pulse
|
|
||||||
source = auto
|
|
||||||
|
|
||||||
; method = alsa
|
|
||||||
; source = hw:Loopback,1
|
|
||||||
|
|
||||||
; method = fifo
|
|
||||||
; source = /tmp/mpd.fifo
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[output]
|
|
||||||
|
|
||||||
# Ouput method. Can be 'ncurses', 'noncurses' or 'raw'.
|
|
||||||
# 'noncurses' is for systems that does not suport ncurses.
|
|
||||||
# 'raw' is a 16 bit data stream of the bar heights that can be used to send to other applications.
|
|
||||||
# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
|
|
||||||
method = ncurses
|
|
||||||
|
|
||||||
# Visual styles. Can be 'stereo' or 'mono'.
|
|
||||||
# 'stereo' mirrors both channels with low frequencies in center.
|
|
||||||
# 'mono' averages both channels and outputs left to right lowest to highest frequencies.
|
|
||||||
style = mono
|
|
||||||
|
|
||||||
# Raw output target. A fifo will be created if target does not exist.
|
|
||||||
; raw_target = /dev/stdout
|
|
||||||
|
|
||||||
# Raw data format. Can be 'binary' or 'ascii'.
|
|
||||||
; data_format = binary
|
|
||||||
|
|
||||||
# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
|
|
||||||
; bit_format = 16bit
|
|
||||||
|
|
||||||
# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
|
|
||||||
; ascii_max_range = 1000
|
|
||||||
|
|
||||||
# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
|
|
||||||
# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
|
|
||||||
; bar_delimiter = 59
|
|
||||||
; frame_delimiter = 10
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [color]
|
|
||||||
|
|
||||||
# # Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
|
|
||||||
# # Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires a
|
|
||||||
# # terminal that can change color definitions such as Gnome-terminal or rxvt.
|
|
||||||
# ; background = black
|
|
||||||
# ; foreground = cyan
|
|
||||||
|
|
||||||
# # Gradient mode, only hex defined colors are supported, background must also be defined in hex
|
|
||||||
# # or remain commented out. 1 = on, 0 = off. Warning: for certain terminal emulators cava will
|
|
||||||
# # not able to restore color definitions on exit, simply restart your terminal to restore colors.
|
|
||||||
# gradient = 1
|
|
||||||
# gradient_color_1 = '#0099ff'
|
|
||||||
# gradient_color_2 = '#ff3399'
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[smoothing]
|
|
||||||
|
|
||||||
# Multiplier for the integral smoothing calculations. Takes values from 0-0.99.
|
|
||||||
# Higher values means smoother, but less precise. Set to 0 to disable.
|
|
||||||
; integral = 0.7
|
|
||||||
|
|
||||||
# Disables or enables the so-called "Monstercat smoothing". Set to 0 to disable.
|
|
||||||
; monstercat = 1
|
|
||||||
; waves = 1
|
|
||||||
|
|
||||||
# Set gravity multiplier for "drop off". Higher values means bars will drop faster.
|
|
||||||
# Accepts only non-negative values. 0.5 means half gravity, 2 means double. Set to 0 to disable "drop off".
|
|
||||||
; gravity = 2
|
|
||||||
|
|
||||||
|
|
||||||
# In bar height, bars that would have been lower that this will not be drawn.
|
|
||||||
; ignore = 0
|
|
||||||
|
|
||||||
|
|
||||||
[eq]
|
|
||||||
|
|
||||||
# This one is tricky. You can have as much keys as you want.
|
|
||||||
# Remember to uncomment more then one key! More keys = more precision.
|
|
||||||
# Look at readme.md on github for further explanations and examples.
|
|
||||||
#; 1 = 1 # bass
|
|
||||||
#; 2 = 1
|
|
||||||
#; 3 = 1 # midtone
|
|
||||||
#; 4 = 1
|
|
||||||
#; 5 = 1 # treble
|
|
||||||
1=1
|
|
||||||
2=1
|
|
||||||
3=2
|
|
||||||
4=1
|
|
||||||
5=1
|
|
||||||
|
|
||||||
[color]
|
|
||||||
|
|
||||||
#background = '#191724'
|
|
||||||
gradient = 1
|
|
||||||
gradient_count = 6
|
|
||||||
gradient_color_1 = '#31748f'
|
|
||||||
gradient_color_2 = '#9ccfd8'
|
|
||||||
gradient_color_3 = '#c4a7e7'
|
|
||||||
gradient_color_4 = '#ebbcba'
|
|
||||||
gradient_color_5 = '#f6c177'
|
|
||||||
gradient_color_6 = '#eb6f92'
|
|
||||||
|
|
||||||
[color]
|
|
||||||
|
|
||||||
gradient = 1
|
|
||||||
|
|
||||||
gradient_color_1 = '#94e2d5'
|
|
||||||
gradient_color_2 = '#89dceb'
|
|
||||||
gradient_color_3 = '#74c7ec'
|
|
||||||
gradient_color_4 = '#89b4fa'
|
|
||||||
gradient_color_5 = '#cba6f7'
|
|
||||||
gradient_color_6 = '#f5c2e7'
|
|
||||||
gradient_color_7 = '#eba0ac'
|
|
||||||
gradient_color_8 = '#f38ba8'
|
|
||||||
@@ -1,167 +0,0 @@
|
|||||||
## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
|
|
||||||
|
|
||||||
|
|
||||||
[general]
|
|
||||||
|
|
||||||
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'.
|
|
||||||
mode = normal
|
|
||||||
|
|
||||||
# Accepts only non-negative values.
|
|
||||||
framerate = 60
|
|
||||||
|
|
||||||
# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
|
|
||||||
# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens.
|
|
||||||
; autosens = 1
|
|
||||||
; overshoot = 20
|
|
||||||
|
|
||||||
# Manual sensitivity in %. Autosens must be turned off for this to take effect.
|
|
||||||
# 200 means double height. Accepts only non-negative values.
|
|
||||||
; sensitivity = 100
|
|
||||||
|
|
||||||
# The number of bars (0-200). 0 sets it to auto (fill up console).
|
|
||||||
# Bars' width and space between bars in number of characters.
|
|
||||||
bars = 0
|
|
||||||
bar_width = 2
|
|
||||||
bar_spacing = 1
|
|
||||||
|
|
||||||
# Lower and higher cutoff frequencies for lowest and highest bars
|
|
||||||
# the bandwidth of the visualizer.
|
|
||||||
# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
|
|
||||||
# Cava will automatically increase the higher cutoff if a too low band is specified.
|
|
||||||
; lower_cutoff_freq = 50
|
|
||||||
; higher_cutoff_freq = 10000
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[input]
|
|
||||||
|
|
||||||
# Audio capturing method. Possible methods are: 'pulse', 'alsa' or 'fifo'.
|
|
||||||
# Defaults to 'pulse', 'alsa' or 'fifo', in that order, dependent on what support cava was built with.
|
|
||||||
#
|
|
||||||
# All input methods uses the same config variable 'source'
|
|
||||||
# to define where it should get the audio.
|
|
||||||
#
|
|
||||||
# For pulseaudio 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
|
|
||||||
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
|
|
||||||
#
|
|
||||||
# For alsa 'source' will be the capture device.
|
|
||||||
# For fifo 'source' will be the path to fifo-file.
|
|
||||||
method = pulse
|
|
||||||
source = auto
|
|
||||||
|
|
||||||
; method = alsa
|
|
||||||
; source = hw:Loopback,1
|
|
||||||
|
|
||||||
; method = fifo
|
|
||||||
; source = /tmp/mpd.fifo
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[output]
|
|
||||||
|
|
||||||
# Ouput method. Can be 'ncurses', 'noncurses' or 'raw'.
|
|
||||||
# 'noncurses' is for systems that does not suport ncurses.
|
|
||||||
# 'raw' is a 16 bit data stream of the bar heights that can be used to send to other applications.
|
|
||||||
# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
|
|
||||||
method = ncurses
|
|
||||||
|
|
||||||
# Visual styles. Can be 'stereo' or 'mono'.
|
|
||||||
# 'stereo' mirrors both channels with low frequencies in center.
|
|
||||||
# 'mono' averages both channels and outputs left to right lowest to highest frequencies.
|
|
||||||
style = mono
|
|
||||||
|
|
||||||
# Raw output target. A fifo will be created if target does not exist.
|
|
||||||
; raw_target = /dev/stdout
|
|
||||||
|
|
||||||
# Raw data format. Can be 'binary' or 'ascii'.
|
|
||||||
; data_format = binary
|
|
||||||
|
|
||||||
# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
|
|
||||||
; bit_format = 16bit
|
|
||||||
|
|
||||||
# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
|
|
||||||
; ascii_max_range = 1000
|
|
||||||
|
|
||||||
# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
|
|
||||||
# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
|
|
||||||
; bar_delimiter = 59
|
|
||||||
; frame_delimiter = 10
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [color]
|
|
||||||
|
|
||||||
# # Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
|
|
||||||
# # Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires a
|
|
||||||
# # terminal that can change color definitions such as Gnome-terminal or rxvt.
|
|
||||||
# ; background = black
|
|
||||||
# ; foreground = cyan
|
|
||||||
|
|
||||||
# # Gradient mode, only hex defined colors are supported, background must also be defined in hex
|
|
||||||
# # or remain commented out. 1 = on, 0 = off. Warning: for certain terminal emulators cava will
|
|
||||||
# # not able to restore color definitions on exit, simply restart your terminal to restore colors.
|
|
||||||
# gradient = 1
|
|
||||||
# gradient_color_1 = '#0099ff'
|
|
||||||
# gradient_color_2 = '#ff3399'
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[smoothing]
|
|
||||||
|
|
||||||
# Multiplier for the integral smoothing calculations. Takes values from 0-0.99.
|
|
||||||
# Higher values means smoother, but less precise. Set to 0 to disable.
|
|
||||||
; integral = 0.7
|
|
||||||
|
|
||||||
# Disables or enables the so-called "Monstercat smoothing". Set to 0 to disable.
|
|
||||||
; monstercat = 1
|
|
||||||
; waves = 1
|
|
||||||
|
|
||||||
# Set gravity multiplier for "drop off". Higher values means bars will drop faster.
|
|
||||||
# Accepts only non-negative values. 0.5 means half gravity, 2 means double. Set to 0 to disable "drop off".
|
|
||||||
; gravity = 1
|
|
||||||
|
|
||||||
|
|
||||||
# In bar height, bars that would have been lower that this will not be drawn.
|
|
||||||
; ignore = 0
|
|
||||||
|
|
||||||
|
|
||||||
[eq]
|
|
||||||
|
|
||||||
# This one is tricky. You can have as much keys as you want.
|
|
||||||
# Remember to uncomment more then one key! More keys = more precision.
|
|
||||||
# Look at readme.md on github for further explanations and examples.
|
|
||||||
#; 1 = 1 # bass
|
|
||||||
#; 2 = 1
|
|
||||||
#; 3 = 1 # midtone
|
|
||||||
#; 4 = 1
|
|
||||||
#; 5 = 1 # treble
|
|
||||||
1=1
|
|
||||||
2=1
|
|
||||||
3=2
|
|
||||||
4=1
|
|
||||||
5=1
|
|
||||||
|
|
||||||
[color]
|
|
||||||
|
|
||||||
#background = '#191724'
|
|
||||||
gradient = 1
|
|
||||||
gradient_count = 6
|
|
||||||
gradient_color_1 = '#31748f'
|
|
||||||
gradient_color_2 = '#9ccfd8'
|
|
||||||
gradient_color_3 = '#c4a7e7'
|
|
||||||
gradient_color_4 = '#ebbcba'
|
|
||||||
gradient_color_5 = '#f6c177'
|
|
||||||
gradient_color_6 = '#eb6f92'
|
|
||||||
|
|
||||||
[color]
|
|
||||||
|
|
||||||
gradient = 1
|
|
||||||
|
|
||||||
gradient_color_1 = '#94e2d5'
|
|
||||||
gradient_color_2 = '#89dceb'
|
|
||||||
gradient_color_3 = '#74c7ec'
|
|
||||||
gradient_color_4 = '#89b4fa'
|
|
||||||
gradient_color_5 = '#cba6f7'
|
|
||||||
gradient_color_6 = '#f5c2e7'
|
|
||||||
gradient_color_7 = '#eba0ac'
|
|
||||||
gradient_color_8 = '#f38ba8'
|
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
#version 330
|
|
||||||
|
|
||||||
in vec2 fragCoord;
|
|
||||||
out vec4 fragColor;
|
|
||||||
|
|
||||||
// bar values. defaults to left channels first (low to high), then right (high to low).
|
|
||||||
uniform float bars[512];
|
|
||||||
|
|
||||||
uniform int bars_count; // number of bars (left + right) (configurable)
|
|
||||||
uniform int bar_width; // bar width (configurable), not used here
|
|
||||||
uniform int bar_spacing; // space bewteen bars (configurable)
|
|
||||||
|
|
||||||
uniform vec3 u_resolution; // window resolution
|
|
||||||
|
|
||||||
//colors, configurable in cava config file (r,g,b) (0.0 - 1.0)
|
|
||||||
uniform vec3 bg_color; // background color
|
|
||||||
uniform vec3 fg_color; // foreground color
|
|
||||||
|
|
||||||
uniform int gradient_count;
|
|
||||||
uniform vec3 gradient_colors[8]; // gradient colors
|
|
||||||
|
|
||||||
vec3 normalize_C(float y,vec3 col_1, vec3 col_2, float y_min, float y_max)
|
|
||||||
{
|
|
||||||
//create color based on fraction of this color and next color
|
|
||||||
float yr = (y - y_min) / (y_max - y_min);
|
|
||||||
return col_1 * (1.0 - yr) + col_2 * yr;
|
|
||||||
}
|
|
||||||
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
// find which bar to use based on where we are on the x axis
|
|
||||||
float x = u_resolution.x * fragCoord.x;
|
|
||||||
int bar = int(bars_count * fragCoord.x);
|
|
||||||
|
|
||||||
//calculate a bar size
|
|
||||||
float bar_size = u_resolution.x / bars_count;
|
|
||||||
|
|
||||||
//the y coordinate and bar values are the same
|
|
||||||
float y = bars[bar];
|
|
||||||
|
|
||||||
// make sure there is a thin line at bottom
|
|
||||||
if (y * u_resolution.y < 1.0)
|
|
||||||
{
|
|
||||||
y = 1.0 / u_resolution.y;
|
|
||||||
}
|
|
||||||
|
|
||||||
//draw the bar up to current height
|
|
||||||
if (y > fragCoord.y)
|
|
||||||
{
|
|
||||||
//make some space between bars basen on settings
|
|
||||||
if (x > (bar + 1) * (bar_size) - bar_spacing)
|
|
||||||
{
|
|
||||||
fragColor = vec4(bg_color,1.0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (gradient_count == 0)
|
|
||||||
{
|
|
||||||
fragColor = vec4(fg_color,1.0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//find which color in the configured gradient we are at
|
|
||||||
int color = int((gradient_count - 1) * fragCoord.y);
|
|
||||||
|
|
||||||
//find where on y this and next color is supposed to be
|
|
||||||
float y_min = color / (gradient_count - 1.0);
|
|
||||||
float y_max = (color + 1.0) / (gradient_count - 1.0);
|
|
||||||
|
|
||||||
//make color
|
|
||||||
fragColor = vec4(normalize_C(fragCoord.y, gradient_colors[color], gradient_colors[color + 1], y_min, y_max), 1.0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
fragColor = vec4(bg_color,1.0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
#version 330
|
|
||||||
|
|
||||||
in vec2 fragCoord;
|
|
||||||
out vec4 fragColor;
|
|
||||||
|
|
||||||
// bar values. defaults to left channels first (low to high), then right (high to low).
|
|
||||||
uniform float bars[512];
|
|
||||||
|
|
||||||
uniform int bars_count; // number of bars (left + right) (configurable)
|
|
||||||
|
|
||||||
uniform vec3 u_resolution; // window resolution, not used here
|
|
||||||
|
|
||||||
//colors, configurable in cava config file
|
|
||||||
uniform vec3 bg_color; // background color(r,g,b) (0.0 - 1.0), not used here
|
|
||||||
uniform vec3 fg_color; // foreground color, not used here
|
|
||||||
|
|
||||||
float normalize_C(float x, float x_min, float x_max, float r_min, float r_max )
|
|
||||||
{
|
|
||||||
float xr;
|
|
||||||
xr = (r_max-r_min) * (x - x_min) / (x_max - x_min) + r_min;
|
|
||||||
return xr;
|
|
||||||
}
|
|
||||||
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
// find which bar to use based on where we are on the x axis
|
|
||||||
int bar = int(bars_count * fragCoord.x);
|
|
||||||
|
|
||||||
// create a normal along the y axis based on the bar height
|
|
||||||
float x = normalize_C(fragCoord.y, 1.0, 0.0, 0.0, bars[bar]);
|
|
||||||
|
|
||||||
// set color
|
|
||||||
fragColor.r=fg_color.x*x;
|
|
||||||
fragColor.g=fg_color.y*x;
|
|
||||||
fragColor.b=fg_color.z*x;
|
|
||||||
fragColor.a=1.0;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
#version 330
|
|
||||||
|
|
||||||
in vec2 fragCoord;
|
|
||||||
out vec4 fragColor;
|
|
||||||
|
|
||||||
// bar values. defaults to left channels first (low to high), then right (high to low).
|
|
||||||
uniform float bars[512];
|
|
||||||
|
|
||||||
uniform int bars_count; // number of bars (left + right) (configurable)
|
|
||||||
|
|
||||||
uniform vec3 u_resolution; // window resolution, not used here
|
|
||||||
|
|
||||||
//colors, configurable in cava config file
|
|
||||||
uniform vec3 bg_color; // background color(r,g,b) (0.0 - 1.0), not used here
|
|
||||||
uniform vec3 fg_color; // foreground color, not used here
|
|
||||||
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
// find which bar to use based on where we are on the x axis
|
|
||||||
int bar = int(bars_count * fragCoord.x);
|
|
||||||
|
|
||||||
float bar_y = 1.0 - abs((fragCoord.y - 0.5)) * 2.0;
|
|
||||||
float y = (bars[bar]) * bar_y;
|
|
||||||
|
|
||||||
float bar_x = (fragCoord.x - float(bar) / float(bars_count)) * bars_count;
|
|
||||||
float bar_r = 1.0 - abs((bar_x - 0.5)) * 2;
|
|
||||||
|
|
||||||
bar_r = bar_r * bar_r * 2;
|
|
||||||
|
|
||||||
// set color
|
|
||||||
fragColor.r = fg_color.x * y * bar_r;
|
|
||||||
fragColor.g = fg_color.y * y * bar_r;
|
|
||||||
fragColor.b = fg_color.z * y * bar_r;
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
#version 330
|
|
||||||
|
|
||||||
|
|
||||||
// Input vertex data, different for all executions of this shader.
|
|
||||||
layout(location = 0) in vec3 vertexPosition_modelspace;
|
|
||||||
|
|
||||||
// Output data ; will be interpolated for each fragment.
|
|
||||||
out vec2 fragCoord;
|
|
||||||
|
|
||||||
void main()
|
|
||||||
{
|
|
||||||
gl_Position = vec4(vertexPosition_modelspace,1);
|
|
||||||
fragCoord = (vertexPosition_modelspace.xy+vec2(1,1))/2.0;
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
lib.my.makeHomePackageConfig {
|
|
||||||
inherit config pkgs;
|
|
||||||
packageName = "cava";
|
|
||||||
packagePath = [ "cava" ];
|
|
||||||
optionPath = [
|
|
||||||
"cli"
|
|
||||||
"media"
|
|
||||||
"cava"
|
|
||||||
];
|
|
||||||
extraConfig = {
|
|
||||||
my.home.xdg.configFile."cava" = {
|
|
||||||
source = ./config;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -23,8 +23,3 @@ audio_output {
|
|||||||
type "pipewire"
|
type "pipewire"
|
||||||
name "pipewire"
|
name "pipewire"
|
||||||
}
|
}
|
||||||
|
|
||||||
audio_output {
|
|
||||||
type "pulse"
|
|
||||||
name "pulseaudio"
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -151,17 +151,19 @@
|
|||||||
"XF86AudioRaiseVolume" = {
|
"XF86AudioRaiseVolume" = {
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
action.spawn = [
|
action.spawn = [
|
||||||
"pamixer"
|
"wpctl"
|
||||||
"-i"
|
"set-volume"
|
||||||
"2"
|
"@DEFAULT_SINK@"
|
||||||
|
"2%+"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
"XF86AudioLowerVolume" = {
|
"XF86AudioLowerVolume" = {
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
action.spawn = [
|
action.spawn = [
|
||||||
"pamixer"
|
"wpctl"
|
||||||
"-d"
|
"set-volume"
|
||||||
"2"
|
"@DEFAULT_SINK@"
|
||||||
|
"2%-"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
"XF86AudioMute" = {
|
"XF86AudioMute" = {
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ _: {
|
|||||||
modules-right = [
|
modules-right = [
|
||||||
"custom/notification"
|
"custom/notification"
|
||||||
"tray"
|
"tray"
|
||||||
"pulseaudio"
|
"wireplumber"
|
||||||
"pulseaudio#microphone"
|
"wireplumber#source"
|
||||||
];
|
];
|
||||||
|
|
||||||
"niri/workspaces" = {
|
"niri/workspaces" = {
|
||||||
@@ -73,7 +73,6 @@ _: {
|
|||||||
stopped = "";
|
stopped = "";
|
||||||
};
|
};
|
||||||
tooltip = false;
|
tooltip = false;
|
||||||
toottip-format = "{status_icon} Musicfox {artist} - {album} - {title}";
|
|
||||||
on-scroll-up = "playerctl -p musicfox volume 0.05+";
|
on-scroll-up = "playerctl -p musicfox volume 0.05+";
|
||||||
on-scroll-down = "playerctl -p musicfox volume 0.05-";
|
on-scroll-down = "playerctl -p musicfox volume 0.05-";
|
||||||
};
|
};
|
||||||
@@ -81,14 +80,12 @@ _: {
|
|||||||
format = " {:%H:%M %m.%d}";
|
format = " {:%H:%M %m.%d}";
|
||||||
tooltip = false;
|
tooltip = false;
|
||||||
};
|
};
|
||||||
pulseaudio = {
|
wireplumber = {
|
||||||
format = "{icon} {volume}%";
|
format = "{icon} {volume}%";
|
||||||
tooltip = false;
|
tooltip = false;
|
||||||
format-muted = " Muted";
|
format-muted = " Muted";
|
||||||
on-click = "pamixer -t";
|
on-click = "wpctl set-mute @DEFAULT_SINK@ toggle";
|
||||||
on-click-middle = "pavucontrol & disown";
|
on-click-middle = "pwvucontrol";
|
||||||
on-scroll-up = "pamixer -i 5";
|
|
||||||
on-scroll-down = "pamixer -d 5";
|
|
||||||
scroll-step = 5;
|
scroll-step = 5;
|
||||||
format-icons = {
|
format-icons = {
|
||||||
headphone = "";
|
headphone = "";
|
||||||
@@ -104,14 +101,13 @@ _: {
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"pulseaudio#microphone" = {
|
"wireplumber#source" = {
|
||||||
format = "{format_source}";
|
node-type = "Audio/Source";
|
||||||
|
format = " {volume}%";
|
||||||
tooltip = false;
|
tooltip = false;
|
||||||
format-source = " {volume}%";
|
format-muted = " Muted";
|
||||||
format-source-muted = " Muted";
|
on-click = "wpctl set-mute @DEFAULT_SOURCE@ toggle";
|
||||||
on-click = "pamixer --default-source -t";
|
on-click-middle = "pwvucontrol";
|
||||||
on-scroll-up = "pamixer --default-source -i 5";
|
|
||||||
on-scroll-down = "pamixer --default-source -d 5";
|
|
||||||
scroll-step = 5;
|
scroll-step = 5;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ tooltip * {
|
|||||||
#window,
|
#window,
|
||||||
#clock,
|
#clock,
|
||||||
#battery,
|
#battery,
|
||||||
#pulseaudio,
|
#wireplumber,
|
||||||
#network,
|
#network,
|
||||||
#workspaces,
|
#workspaces,
|
||||||
#taskbar,
|
#taskbar,
|
||||||
@@ -219,13 +219,13 @@ window#waybar.empty #window {
|
|||||||
border-right: 0;
|
border-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pulseaudio {
|
#wireplumber {
|
||||||
color: #89b4fa;
|
color: #89b4fa;
|
||||||
border-right: 0px;
|
border-right: 0px;
|
||||||
border-radius: 10px 0px 0px 10px;
|
border-radius: 10px 0px 0px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pulseaudio.microphone {
|
#wireplumber.source {
|
||||||
color: #cba6f7;
|
color: #cba6f7;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
border-left: 0px;
|
border-left: 0px;
|
||||||
@@ -238,10 +238,3 @@ window#waybar.empty #window {
|
|||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
border-left: 0px;
|
border-left: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-weather {
|
|
||||||
border-radius: 0px 10px 10px 0px;
|
|
||||||
border-left: 0;
|
|
||||||
border-right: 0;
|
|
||||||
margin-left: 0px;
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user