From 35e2bffc21056aca90df792208063f72aa790e11 Mon Sep 17 00:00:00 2001 From: stitchy Date: Wed, 7 May 2025 08:41:39 +0000 Subject: [PATCH] feat(vis): init cli-visualizer --- config/vis/colors/my_theme | 4 ++ config/vis/config | 91 ++++++++++++++++++++++++++++++++++++++ users/stitchynyan/home.nix | 4 ++ 3 files changed, 99 insertions(+) create mode 100644 config/vis/colors/my_theme create mode 100644 config/vis/config diff --git a/config/vis/colors/my_theme b/config/vis/colors/my_theme new file mode 100644 index 0000000..aa17611 --- /dev/null +++ b/config/vis/colors/my_theme @@ -0,0 +1,4 @@ +#c6a0f6 -- mauve +#8aadf4 -- blue +#8bd5ca -- unsat green +--#f5bde6 -- pink diff --git a/config/vis/config b/config/vis/config new file mode 100644 index 0000000..fe170e5 --- /dev/null +++ b/config/vis/config @@ -0,0 +1,91 @@ +##Refresh rate of the visualizers. A really high refresh rate may cause screen tearing. Default is 20. +visualizer.fps=24 + +##Specifies the color scheme. The color scheme must be in ~/.config/vis/colors/ directory. The default scheme is "colors". +colors.scheme=my_theme + +##Available smoothing options are monstercat, sgs, none. +visualizer.spectrum.smoothing.mode=monstercat + +##If set to false the visualizers will use mono mode instead of stereo. Some visualizers will +##behave differently when mono is enabled. For example, spectrum show two sets of bars. +audio.stereo.enabled=true + +##Applies scaling factor to both lorenz and ellipse visualizers. This is useful when the system audio is set +#to a low volume. +visualizer.scaling.multiplier=1.0 + +##Sets the audio sources to use. +##Currently available ones are "mpd", "pulse", "shmem", and "alsa". Defaults to "pulse". +#audio.sources=pulse + +##vis tries to find the correct pulseaudio sink, however this will not work on all systems. +##If pulse audio is not working with vis try switching the audio source. A list can be found by running the +##command pacmd list-sinks | grep -e 'name:' -e 'index' +#audio.pulse.source=0 + +##Defaults to "/tmp/mpd.fifo" +#mpd.fifo.path=/tmp/mpd.fifo + +##Specifies how often the visualizer will change in seconds. 0 means do not rotate. Default is 0. +#visualizer.rotation.secs=10 + +##Configures the samples rate and the cutoff frequencies. +#audio.sampling.frequency=44100 +#audio.low.cutoff.frequency=30 +#audio.high.cutoff.frequency=22050 + + +##Configures the visualizers and the order they are in. Available visualizers are spectrum,lorenz,ellipse. +##Defaults to spectrum,ellipse,lorenz +#visualizers=spectrum,ellipse,lorenz + + +##Configures what character the spectrum visualizer will use. Specifying a space (e.g " ") means the +##background will be colored instead of the character. Defaults to " ". +#visualizer.spectrum.character=# + +##Spectrum bar width. Defaults to 2. +#visualizer.spectrum.bar.width=2 + +##The amount of space between each bar in the spectrum visualizer. Defaults to 1. It's possible to set this to +##zero to have no space between bars +#visualizer.spectrum.bar.spacing=1 + +##This configures the falloff effect on the spectrum visualizer. Available falloff options are fill,top,none. +##Defaults to "fill" +#visualizer.spectrum.falloff.mode=fill + +##Configures how fast the falloff character falls. This is an exponential falloff so values usually look +##best 0.9+ and small changes in this value can have a large effect. Defaults to 0.95 +#visualizer.spectrum.falloff.weight=0.95 + +##Margins in percent of total screen for spectrum visualizer. All margins default to 0 +#visualizer.spectrum.top.margin=0.30 +#visualizer.spectrum.bottom.margin=0.10 +#visualizer.spectrum.right.margin=0.10 +#visualizer.spectrum.left.margin=0.10 + +##Reverses the direction of the spectrum so that high freqs are first and low freqs last. Defaults to false. +#visualizer.spectrum.reversed=false + +##This configures the sgs smoothing effect on the spectrum visualizer. More points spreads out the smoothing +##effect and increasing passes runs the smoother multiple times on reach run. Defaults are points=3 and passes=1 +#visualizer.sgs.smoothing.points=3 +#visualizer.sgs.smoothing.passes=1 + +##Configures what character the ellipse visualizer will use. Specifying a space (e.g " ") means the +##background will be colored instead of the character. Defaults to "█". +#visualizer.ellipse.character=# + +##The radius of each color ring in the ellipse visualizer. Defaults to 2. +#visualizer.ellipse.radius=.5 + + +##Configures what character the lorenz visualizer will use. Specifying a space (e.g " ") means the +##background will be colored instead of the character. Defaults to "█". +#visualizer.lorenz.character=# + +##Turns off overriding the user's terminal colors. This is true by default. +#colors.override.terminal=false + diff --git a/users/stitchynyan/home.nix b/users/stitchynyan/home.nix index bd8e2b8..078477b 100644 --- a/users/stitchynyan/home.nix +++ b/users/stitchynyan/home.nix @@ -115,6 +115,10 @@ in source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/swaylock"; recursive = true; }; + "vis" = { + source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/vis"; + recursive = true; + }; }; systemd.user.services = {