This commit is contained in:
Dmitriy Holkin 2020-02-10 06:08:03 +04:00
parent 1714497695
commit cd91646aab
23 changed files with 1374 additions and 328 deletions

View File

@ -4,7 +4,7 @@ with rec {
};
with deviceSpecific;
let
rust-stable = pkgs.rustChannels.stable.rust.override {
rust-stable = pkgs.latest.rustChannels.stable.rust.override {
extensions = [
"rls-preview"
"clippy-preview"
@ -71,6 +71,8 @@ in {
pywal
python27Packages.pygtk
python2
rust-stable
] ++ lib.optionals isLaptop [
# Important
acpi

View File

@ -0,0 +1,7 @@
{ config, lib, pkgs, ...}:
let
naersk = pkgs.callPackage pkgs.imports.naersk {};
in naersk.buildPackage {
name = "spotify-tui";
src = pkgs.imports.spotify-tui;
};

View File

@ -11,6 +11,7 @@ device:
./samba.nix
./secrets.nix
./services.nix
./sound
./themes.nix
./users.nix
./wireguard.nix
@ -23,13 +24,13 @@ device:
./workspace/fonts.nix
./workspace/gtk.nix
./workspace/i3
# ./workspace/i3blocks
./workspace/i3status-rust
./workspace/kde
./workspace/light.nix
./workspace/locale.nix
./workspace/misc.nix
./workspace/mpv.nix
./workspace/pulseeffects
./workspace/rofi.nix
./workspace/spotifyd.nix
./workspace/xresources.nix

View File

@ -47,17 +47,6 @@ with deviceSpecific; {
"mem_sleep_default=deep"
];
sound.enable = true;
hardware.pulseaudio = {
enable = true;
# package = pkgs.pulseaudioFull;
support32Bit = true;
# systemWide = true;
tcp = {
enable = true;
anonymousClients.allowedIpRanges = ["127.0.0.1"];
};
};
boot.extraModprobeConfig = lib.mkIf (device == "AMD-Workstation") ''
options snd slots=snd_virtuoso,snd_usb_audio
'';

View File

@ -1,12 +1,13 @@
{ pkgs, config, lib, ... }:
let
imports = import ../nix/sources.nix;
mozilla = import imports.nixpkgs-mozilla { };
in { pkgs, config, lib, ... }: {
mozilla_overlay = import imports.nixpkgs-mozilla;
in {
nixpkgs.overlays = [
mozilla_overlay
(self: super:
rec {
inherit imports;
inherit mozilla;
youtube-to-mpv = pkgs.callPackage ./applications/youtube-to-mpv.nix { };
@ -23,6 +24,7 @@ in { pkgs, config, lib, ... }: {
nixpkgs.config.packageOverrides = pkgs: {
spotifyd = pkgs.spotifyd.override { withPulseAudio = true; };
spotify-tui = pkgs.callPackage ./applications/spotify-tui.nix { };
};
nixpkgs.pkgs = import imports.nixpkgs {

42
modules/sound/default.nix Normal file
View File

@ -0,0 +1,42 @@
{ config, lib, pkgs, ... }: {
sound.enable = true;
hardware.pulseaudio = {
enable = true;
# package = pkgs.pulseaudioFull;
support32Bit = true;
# systemWide = true;
tcp = {
enable = true;
anonymousClients.allowedIpRanges = ["127.0.0.1"];
};
extraConfig = ''
avoid-resampling = yes
high-priority = yes
nice-level = -17
realtime-scheduling = yes
realtime-priority = 9
resample-method = speex-float-8
avoid-resampling = yes
enable-lfe-remixing = no
flat-volumes = no
rlimit-rtprio = 9
default-sample-format = float32le
default-sample-rate = 44100
alternate-sample-rate = 96000
default-sample-channels = 2
default-channel-map = front-left,front-right
default-fragments = 2
default-fragment-size-msec = 125
deferred-volume-safety-margin-usec = 1
'';
};
}

View File

@ -103,10 +103,6 @@ in {
command =
"${pkgs.keepassxc}/bin/keepassxc --keyfile=/home/alukard/.passwords.key /home/alukard/nixos-config/misc/Passwords.kdbx";
}
{
command =
"${pkgs.pulseeffects}/bin/pulseeffects --gapplication-service";
}
];
keybindings = let
script = name: content: "exec ${pkgs.writeScript name content}";

View File

@ -1,100 +0,0 @@
{ pkgs, config, lib, ... }:
with import ../../../support.nix { inherit pkgs config lib; };
let scripts = import ./scripts pkgs config;
in {
home-manager.users.alukard.xsession.windowManager.i3.extraConfig = ''
bar {
id top
font pango:Material Icons 11, Roboto Mono 11
mode dock
hidden_state hide
position top
status_command ${pkgs.i3blocks}/bin/i3blocks
workspace_buttons yes
strip_workspace_numbers no
tray_output primary
colors {
background ${config.themes.colors.bg}
statusline ${config.themes.colors.fg}
separator ${config.themes.colors.alt}
focused_workspace ${config.themes.colors.bg} ${config.themes.colors.bg} ${config.themes.colors.blue}
active_workspace ${config.themes.colors.bg} ${config.themes.colors.bg} ${config.themes.colors.green}
inactive_workspace ${config.themes.colors.bg} ${config.themes.colors.bg} ${config.themes.colors.fg}
urgent_workspace ${config.themes.colors.bg} ${config.themes.colors.bg} ${config.themes.colors.orange}
binding_mode ${config.themes.colors.bg} ${config.themes.colors.bg} ${config.themes.colors.yellow}
}
}
'';
home-manager.users.alukard.xdg.configFile."i3blocks/config".text = ''
interval=60
markup=pango
'' + genIni {
a_email = if !isNull config.secrets.gmail or null then {
command = scripts.email;
} else
{ };
b_weather = {
command = scripts.weather;
interval = 600;
};
d_music = {
command = scripts.music;
interval = 1;
};
e_sound = {
command = scripts.sound;
interval = 1;
};
f_battery = pkgs.stdenv.lib.optionalAttrs config.deviceSpecific.isLaptop {
command = scripts.battery;
};
g_brightness = pkgs.stdenv.lib.optionalAttrs config.deviceSpecific.isLaptop {
command = scripts.brightness;
interval = 1;
};
# h_wireless = pkgs.stdenv.lib.optionalAttrs config.deviceSpecific.isLaptop {
# command = scripts.wireless;
# };
# i_network = {
# command = scripts.network;
# };
j_cpuload = {
command = ''
echo '<span font="Material Icons 11">cached</span>' $(${pkgs.sysstat}/bin/mpstat 2 1 | tail -1 | awk '$12 ~ /[0-9.]+/ { print 100 - $12"%" }')
'';
interval = 3;
};
k_cpufreq = {
command = ''
echo '<span font="Material Icons 11">flash_on</span>' $(${pkgs.bc}/bin/bc <<< "$(lscpu | grep "MHz" | awk '{print $3}')/1") MHz
'';
interval = 3;
};
# l_temperature = {
# command = scripts.temperature;
# };
m_free = {
command = ''
echo '<span font="Material Icons 11">location_searching</span>' $(${pkgs.bc}/bin/bc <<< `free | tail -2 | head -1 | awk '{print "scale=2; "$7"/1048576"}'`)GiB
'';
};
n_df = {
command = ''
echo '<span font="Material Icons 11"></span>' $(sudo btrfs fi usage / | grep "Free" | awk '{print $3}')
'';
};
n_vpn = {
command = scripts.vpn-status;
interval = 600;
};
o_date = {
command = "${pkgs.coreutils}/bin/date +'<span font=\"Material Icons 11\"></span> %a %y-%m-%d'";
interval = 10;
};
p_time = {
command = "${pkgs.coreutils}/bin/date +'<span font=\"Material Icons 11\"></span> %T'";
interval = 1;
};
};
}

View File

@ -1,46 +0,0 @@
{ acpi, bash, iconfont, low_threshold ? 10, ... }: ''
#!${bash}/bin/bash
BATTERY="`${acpi}/bin/acpi -b | grep --invert-match unavailable | head -1`"
STATUS=`awk -F'[,:] ' '{print $2}' <<< "$BATTERY"`
CHARGE=`awk -F'[,%] ' '{print $2}' <<< "$BATTERY" | tr -d "%"`
TIME=`awk -F', ' '{print $3}' <<< "$BATTERY" | cut -d " " -f 1`
case "$STATUS" in
Full) ;& "Not charging") icon=; text="FULL"; status=0
;;
Charging)
text="$CHARGE% ($TIME)"
status=0
case $CHARGE in
[2-3]*) icon=;;
[4-5]*) icon=;;
[6-7]*) icon=;;
[8-9]*|100) icon=;;
*) icon=;;
esac
;;
Discharging)
if [[ $CHARGE -gt ${toString low_threshold} ]]
then
status=0
else
status=33
fi
text="$CHARGE% ($TIME)";
case $CHARGE in
1?) icon=;;
2?) icon=;;
3?) icon=;;
4?) icon=;;
5?) icon=;;
6?) icon=;;
7?) icon=;;
8?) icon=;;
9?) icon=;;
100) icon=;;
*) icon=;;
esac
;;
esac
echo "<span font=\"${iconfont}\">$icon</span> $text"
exit $status
''

View File

@ -1,19 +0,0 @@
{ iconfont, light, config, ... }: ''
case $BLOCK_BUTTON in
4) sudo ${light}/bin/light -A 5;;
5) sudo ${light}/bin/light -U 5;;
esac
LIGHT=`${light}/bin/light | cut -f 1 -d '.'`
if [[ $LIGHT -lt 33 ]]
then
icon=
else
if [[ $LIGHT -lt 66 ]]
then
icon=
else
icon=
fi
fi
echo "<span font='${iconfont}'>$icon</span> $LIGHT"
''

View File

@ -1,22 +0,0 @@
p: c:
with p;
builtins.mapAttrs (name: value:
writeTextFile {
inherit name;
text = callPackage value {
iconfont = "Material Icons 11";
config = c;
};
executable = true;
checkPhase =
"${bash}/bin/bash -n $src || ${python3}/bin/python3 -m compileall $src";
}) {
battery = ./battery.nix;
brightness = ./brightness.nix;
email = ./email.nix;
wireless = ./wireless.nix;
weather = ./weather.nix;
sound = ./sound.nix;
music = ./music.nix;
vpn-status = ./vpn-status.nix;
}

View File

@ -1,10 +0,0 @@
{ python3, iconfont, config, ... }: ''
#!${python3}/bin/python3
import imaplib
obj = imaplib.IMAP4_SSL('imap.gmail.com', 993)
obj.login("${config.secrets.gmail.user}", "${config.secrets.gmail.password}")
obj.select()
l = len(obj.search(None, 'unseen')[1][0].split())
print('<span font="${iconfont}"></span> %s' % str(l))
exit(33 if l != 0 else 0)
''

View File

@ -1,19 +0,0 @@
{ python3, playerctl, iconfont, ...}: ''
#!${python3}/bin/python
from subprocess import getoutput, call
from os import environ
status = getoutput("${playerctl}/bin/playerctl status")
if "BLOCK_BUTTON" in environ:
BLOCK_BUTTON = environ["BLOCK_BUTTON"]
if BLOCK_BUTTON == "1": call(["${playerctl}/bin/playerctl", "play-pause"])
if BLOCK_BUTTON == "2": call(["${playerctl}/bin/playerctl", "stop"])
if BLOCK_BUTTON == "3": call(["${playerctl}/bin/playerctl", "next"])
if status == "Paused":
icon=""
elif status == "Playing":
icon=""
else:
icon = ""
text = getoutput("${playerctl}/bin/playerctl metadata title")[:20:]
print("<span font='${iconfont}'>%s</span> %s" % (icon, text))
''

View File

@ -1,32 +0,0 @@
{ pamixer, lxqt, iconfont, ... }: ''
case $BLOCK_BUTTON in
1) ${pamixer}/bin/pamixer -t;;
3) ${lxqt.pavucontrol-qt}/bin/pavucontrol-qt & ;;
4) ${pamixer}/bin/pamixer -i 5;;
5) ${pamixer}/bin/pamixer -d 5;;
esac
code=0
if [[ `${pamixer}/bin/pamixer --get-mute` = "true" ]]
then
volume=""
end=""
icon=""
else
volume=`${pamixer}/bin/pamixer --get-volume`
end="%"
if [[ $volume -lt 33 ]]
then
icon=""
else
if [[ $volume -lt 66 ]]
then
icon=""
else
icon=""
code=33
fi
fi
fi
echo "<span font='${iconfont}'>$icon</span> $volume$end"
exit $code
''

View File

@ -1,8 +0,0 @@
{ curl, ... }: ''
API="$(${curl}/bin/curl https://am.i.mullvad.net/connected)"
if [[ $(echo "$API" | awk -F'[ ()]+' '{print $6}') = 'server' ]]; then
echo $(echo "$API" | awk -F'[ ()]+' '{print $7}')
else
echo 'Not connected'
fi
''

View File

@ -1,8 +0,0 @@
{ bash, config, curl, ... }: ''
#!${bash}/bin/bash
${curl}/bin/curl wttr.in/Volzhskiy\?format=3 | awk -F": " '{print $2}'
if [[ $BLOCK_BUTTON == 1 ]]
then
${config.defaultApplications.term.cmd} --hold -e "${curl}/bin/curl wttr.in"
fi
''

View File

@ -1,17 +0,0 @@
{ bash, iw, wpa_supplicant_gui, iconfont, ... }: ''
#!${bash}/bin/bash
case $BLOCK_BUTTON in
1) ${wpa_supplicant_gui}/bin/wpa_gui;;
2) pkexec rfkill block wifi;;
3) pkexec rfkill unblock wifi;;
esac
WIFI="`${iw}/bin/iw wlan0 info | grep ssid | cut -f2 -d' '`"
if [[ `wc -c <<< "$WIFI"` -lt 2 ]]
then
echo "<span font='${iconfont}'></span>"
exit 33
else
echo "<span font='${iconfont}'></span> $WIFI"
exit 0
fi
''

View File

@ -78,11 +78,11 @@ in {
[[block]]
block = "custom"
command = "${scripts.vpn-status}"
interval = 600
interval = 60
[[block]]
block = "time"
interval = 60
interval = 1
format = "%a %Y/%m/%d %T"
'';
}

View File

@ -0,0 +1,624 @@
{
"spectrum": {
"show": "true",
"n-points": "100",
"height": "100",
"use-custom-color": "false",
"fill": "true",
"show-bar-border": "true",
"scale": "1",
"exponent": "1",
"sampling-freq": "10",
"line-width": "2",
"type": "Bars",
"color": [
"1",
"1",
"1",
"1"
],
"gradient-color": [
"0",
"0",
"0",
"1"
]
},
"output": {
"blacklist": "",
"plugins_order": [
"limiter",
"equalizer",
"autogain",
"gate",
"multiband_gate",
"compressor",
"multiband_compressor",
"convolver",
"bass_enhancer",
"exciter",
"crystalizer",
"stereo_tools",
"reverb",
"delay",
"deesser",
"crossfeed",
"loudness",
"maximizer",
"filter",
"pitch"
],
"bass_enhancer": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"amount": "0",
"harmonics": "8.5",
"scope": "100",
"floor": "20",
"blend": "0",
"floor-active": "false",
"listen": "false"
},
"compressor": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"mode": "Downward",
"attack": "20",
"release": "100",
"threshold": "-12",
"ratio": "4",
"knee": "-6",
"makeup": "0",
"sidechain": {
"listen": "false",
"type": "Feed-forward",
"mode": "RMS",
"source": "Middle",
"preamp": "0",
"reactivity": "10",
"lookahead": "0"
}
},
"crossfeed": {
"state": "false",
"fcut": "700",
"feed": "4.5"
},
"deesser": {
"state": "false",
"detection": "RMS",
"mode": "Wide",
"threshold": "-18",
"ratio": "3",
"laxity": "15",
"makeup": "0",
"f1-freq": "6000",
"f2-freq": "4500",
"f1-level": "0",
"f2-level": "12",
"f2-q": "1",
"sc-listen": "false"
},
"equalizer": {
"state": "true",
"mode": "FIR",
"num-bands": "10",
"input-gain": "0",
"output-gain": "0",
"split-channels": "false",
"left": {
"band0": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "3.3",
"frequency": "19",
"q": "1.78"
},
"band1": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-3",
"frequency": "54",
"q": "1.02"
},
"band2": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "6.4",
"frequency": "73",
"q": "4.43"
},
"band3": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-4.1",
"frequency": "142",
"q": "1.53"
},
"band4": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "3.8",
"frequency": "345",
"q": "2.24"
},
"band5": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-4.7",
"frequency": "1823",
"q": "3.17"
},
"band6": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "3",
"frequency": "3215",
"q": "3.93"
},
"band7": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-3",
"frequency": "4355",
"q": "7.15"
},
"band8": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "6.5",
"frequency": "6027",
"q": "2.92"
},
"band9": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-7.2",
"frequency": "9067",
"q": "5.68"
}
},
"right": {
"band0": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "3.3",
"frequency": "19",
"q": "1.78"
},
"band1": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-3",
"frequency": "54",
"q": "1.02"
},
"band2": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "6.4",
"frequency": "73",
"q": "4.43"
},
"band3": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-4.1",
"frequency": "142",
"q": "1.53"
},
"band4": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "3.8",
"frequency": "345",
"q": "2.24"
},
"band5": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-4.7",
"frequency": "1823",
"q": "3.17"
},
"band6": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "3",
"frequency": "3215",
"q": "3.93"
},
"band7": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-3",
"frequency": "4355",
"q": "7.15"
},
"band8": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "6.5",
"frequency": "6027",
"q": "2.92"
},
"band9": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-7.2",
"frequency": "9067",
"q": "5.68"
}
}
},
"exciter": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"amount": "0",
"harmonics": "8.5",
"scope": "7500",
"ceil": "16000",
"blend": "0",
"ceil-active": "false",
"listen": "false"
},
"filter": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"frequency": "2000",
"resonance": "-3",
"mode": "12dB\/oct Lowpass",
"inertia": "20"
},
"gate": {
"state": "false",
"detection": "RMS",
"stereo-link": "Average",
"range": "-24",
"attack": "20",
"release": "250",
"threshold": "-18",
"ratio": "2",
"knee": "9",
"makeup": "0"
},
"limiter": {
"state": "true",
"input-gain": "-7",
"limit": "0",
"lookahead": "5",
"release": "50",
"asc": "false",
"asc-level": "0.5",
"oversampling": "1"
},
"maximizer": {
"state": "false",
"release": "25",
"ceiling": "0",
"threshold": "0"
},
"pitch": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"cents": "0",
"semitones": "0",
"octaves": "0",
"crispness": "3",
"formant-preserving": "false",
"faster": "false"
},
"reverb": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"room-size": "Large",
"decay-time": "1.5",
"hf-damp": "5000",
"diffusion": "0.5",
"amount": "-12",
"dry": "0",
"predelay": "0",
"bass-cut": "300",
"treble-cut": "5000"
},
"multiband_compressor": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"freq0": "120",
"freq1": "1000",
"freq2": "6000",
"mode": "LR8",
"subband": {
"threshold": "-12",
"ratio": "2",
"attack": "150",
"release": "300",
"makeup": "0",
"knee": "9",
"detection": "RMS",
"bypass": "false",
"solo": "false"
},
"lowband": {
"threshold": "-12",
"ratio": "2",
"attack": "150",
"release": "300",
"makeup": "0",
"knee": "9",
"detection": "RMS",
"bypass": "false",
"solo": "false"
},
"midband": {
"threshold": "-12",
"ratio": "2",
"attack": "150",
"release": "300",
"makeup": "0",
"knee": "9",
"detection": "RMS",
"bypass": "false",
"solo": "false"
},
"highband": {
"threshold": "-12",
"ratio": "2",
"attack": "150",
"release": "300",
"makeup": "0",
"knee": "9",
"detection": "RMS",
"bypass": "false",
"solo": "false"
}
},
"loudness": {
"state": "false",
"loudness": "-3.1000000000000001",
"output": "-6",
"link": "-9.0999999999999996"
},
"multiband_gate": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"freq0": "120",
"freq1": "1000",
"freq2": "6000",
"mode": "LR8",
"subband": {
"reduction": "-24",
"threshold": "-12",
"ratio": "2",
"attack": "150",
"release": "300",
"makeup": "0",
"knee": "9",
"detection": "RMS",
"bypass": "false",
"solo": "false"
},
"lowband": {
"reduction": "-24",
"threshold": "-12",
"ratio": "2",
"attack": "150",
"release": "300",
"makeup": "0",
"knee": "9",
"detection": "RMS",
"bypass": "false",
"solo": "false"
},
"midband": {
"reduction": "-24",
"threshold": "-12",
"ratio": "2",
"attack": "150",
"release": "300",
"makeup": "0",
"knee": "9",
"detection": "RMS",
"bypass": "false",
"solo": "false"
},
"highband": {
"reduction": "-24",
"threshold": "-12",
"ratio": "2",
"attack": "150",
"release": "300",
"makeup": "0",
"knee": "9",
"detection": "RMS",
"bypass": "false",
"solo": "false"
}
},
"stereo_tools": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"balance-in": "0",
"balance-out": "0",
"softclip": "false",
"mutel": "false",
"muter": "false",
"phasel": "false",
"phaser": "false",
"mode": "LR > LR (Stereo Default)",
"side-level": "0",
"side-balance": "0",
"middle-level": "0",
"middle-panorama": "0",
"stereo-base": "0",
"delay": "0",
"sc-level": "1",
"stereo-phase": "0"
},
"convolver": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"kernel-path": "",
"ir-width": "100"
},
"crystalizer": {
"state": "false",
"aggressive": "false",
"input-gain": "0",
"output-gain": "0",
"band0": {
"intensity": "12",
"mute": "false",
"bypass": "false"
},
"band1": {
"intensity": "10",
"mute": "false",
"bypass": "false"
},
"band2": {
"intensity": "8",
"mute": "false",
"bypass": "false"
},
"band3": {
"intensity": "6",
"mute": "false",
"bypass": "false"
},
"band4": {
"intensity": "4",
"mute": "false",
"bypass": "false"
},
"band5": {
"intensity": "2",
"mute": "false",
"bypass": "false"
},
"band6": {
"intensity": "0",
"mute": "false",
"bypass": "false"
},
"band7": {
"intensity": "-2",
"mute": "false",
"bypass": "false"
},
"band8": {
"intensity": "-4",
"mute": "false",
"bypass": "false"
},
"band9": {
"intensity": "-6",
"mute": "false",
"bypass": "false"
},
"band10": {
"intensity": "-8",
"mute": "false",
"bypass": "false"
},
"band11": {
"intensity": "-10",
"mute": "false",
"bypass": "false"
},
"band12": {
"intensity": "-12",
"mute": "false",
"bypass": "false"
}
},
"autogain": {
"state": "false",
"detect-silence": "false",
"use-geometric-mean": "true",
"input-gain": "0",
"output-gain": "0",
"target": "-23",
"weight-m": "1",
"weight-s": "1",
"weight-i": "1"
},
"delay": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"time-l": "0",
"time-r": "0"
}
}
}

View File

@ -0,0 +1,624 @@
{
"spectrum": {
"show": "true",
"n-points": "100",
"height": "100",
"use-custom-color": "false",
"fill": "true",
"show-bar-border": "true",
"scale": "1",
"exponent": "1",
"sampling-freq": "10",
"line-width": "2",
"type": "Bars",
"color": [
"1",
"1",
"1",
"1"
],
"gradient-color": [
"0",
"0",
"0",
"1"
]
},
"output": {
"blacklist": "",
"plugins_order": [
"limiter",
"equalizer",
"bass_enhancer",
"autogain",
"gate",
"multiband_gate",
"compressor",
"multiband_compressor",
"convolver",
"exciter",
"crystalizer",
"stereo_tools",
"reverb",
"delay",
"deesser",
"crossfeed",
"loudness",
"maximizer",
"filter",
"pitch"
],
"bass_enhancer": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"amount": "0",
"harmonics": "8.5",
"scope": "100",
"floor": "20",
"blend": "0",
"floor-active": "false",
"listen": "false"
},
"compressor": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"mode": "Downward",
"attack": "20",
"release": "100",
"threshold": "-12",
"ratio": "4",
"knee": "-6",
"makeup": "0",
"sidechain": {
"listen": "false",
"type": "Feed-forward",
"mode": "RMS",
"source": "Middle",
"preamp": "0",
"reactivity": "10",
"lookahead": "0"
}
},
"crossfeed": {
"state": "false",
"fcut": "700",
"feed": "4.5"
},
"deesser": {
"state": "false",
"detection": "RMS",
"mode": "Wide",
"threshold": "-18",
"ratio": "3",
"laxity": "15",
"makeup": "0",
"f1-freq": "6000",
"f2-freq": "4500",
"f1-level": "0",
"f2-level": "12",
"f2-q": "1",
"sc-listen": "false"
},
"equalizer": {
"state": "true",
"mode": "FIR",
"num-bands": "10",
"input-gain": "0",
"output-gain": "0",
"split-channels": "false",
"left": {
"band0": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "5.7",
"frequency": "23",
"q": "1.13"
},
"band1": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "2.7",
"frequency": "45",
"q": "1.51"
},
"band2": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-2.9",
"frequency": "986",
"q": "1.88"
},
"band3": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "3.4",
"frequency": "1782",
"q": "2.18"
},
"band4": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-1.5",
"frequency": "2958",
"q": "4.41"
},
"band5": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "2.9",
"frequency": "5381",
"q": "3.63"
},
"band6": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-2.5",
"frequency": "8042",
"q": "3.32"
},
"band7": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "1.9",
"frequency": "10101",
"q": "2.02"
},
"band8": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-2.1",
"frequency": "16892",
"q": "4.20"
},
"band9": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-10.9",
"frequency": "19069",
"q": "0.64"
}
},
"right": {
"band0": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "5.7",
"frequency": "23",
"q": "1.13"
},
"band1": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "2.7",
"frequency": "45",
"q": "1.51"
},
"band2": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-2.9",
"frequency": "986",
"q": "1.88"
},
"band3": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "3.4",
"frequency": "1782",
"q": "2.18"
},
"band4": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-1.5",
"frequency": "2958",
"q": "4.41"
},
"band5": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "2.9",
"frequency": "5381",
"q": "3.63"
},
"band6": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-2.5",
"frequency": "8042",
"q": "3.32"
},
"band7": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "1.9",
"frequency": "10101",
"q": "2.02"
},
"band8": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-2.1",
"frequency": "16892",
"q": "4.20"
},
"band9": {
"type": "Bell",
"mode": "RLC (BT)",
"slope": "x1",
"solo": "false",
"mute": "false",
"gain": "-10.9",
"frequency": "19069",
"q": "0.64"
}
}
},
"exciter": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"amount": "0",
"harmonics": "8.5",
"scope": "7500",
"ceil": "16000",
"blend": "0",
"ceil-active": "false",
"listen": "false"
},
"filter": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"frequency": "2000",
"resonance": "-3",
"mode": "12dB\/oct Lowpass",
"inertia": "20"
},
"gate": {
"state": "false",
"detection": "RMS",
"stereo-link": "Average",
"range": "-24",
"attack": "20",
"release": "250",
"threshold": "-18",
"ratio": "2",
"knee": "9",
"makeup": "0"
},
"limiter": {
"state": "true",
"input-gain": "-6",
"limit": "0",
"lookahead": "5",
"release": "50",
"asc": "false",
"asc-level": "0.5",
"oversampling": "1"
},
"maximizer": {
"state": "false",
"release": "25",
"ceiling": "0",
"threshold": "0"
},
"pitch": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"cents": "0",
"semitones": "0",
"octaves": "0",
"crispness": "3",
"formant-preserving": "false",
"faster": "false"
},
"reverb": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"room-size": "Large",
"decay-time": "1.5",
"hf-damp": "5000",
"diffusion": "0.5",
"amount": "-12",
"dry": "0",
"predelay": "0",
"bass-cut": "300",
"treble-cut": "5000"
},
"multiband_compressor": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"freq0": "120",
"freq1": "1000",
"freq2": "6000",
"mode": "LR8",
"subband": {
"threshold": "-12",
"ratio": "2",
"attack": "150",
"release": "300",
"makeup": "0",
"knee": "9",
"detection": "RMS",
"bypass": "false",
"solo": "false"
},
"lowband": {
"threshold": "-12",
"ratio": "2",
"attack": "150",
"release": "300",
"makeup": "0",
"knee": "9",
"detection": "RMS",
"bypass": "false",
"solo": "false"
},
"midband": {
"threshold": "-12",
"ratio": "2",
"attack": "150",
"release": "300",
"makeup": "0",
"knee": "9",
"detection": "RMS",
"bypass": "false",
"solo": "false"
},
"highband": {
"threshold": "-12",
"ratio": "2",
"attack": "150",
"release": "300",
"makeup": "0",
"knee": "9",
"detection": "RMS",
"bypass": "false",
"solo": "false"
}
},
"loudness": {
"state": "false",
"loudness": "-3.1000000000000001",
"output": "-6",
"link": "-9.0999999999999996"
},
"multiband_gate": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"freq0": "120",
"freq1": "1000",
"freq2": "6000",
"mode": "LR8",
"subband": {
"reduction": "-24",
"threshold": "-12",
"ratio": "2",
"attack": "150",
"release": "300",
"makeup": "0",
"knee": "9",
"detection": "RMS",
"bypass": "false",
"solo": "false"
},
"lowband": {
"reduction": "-24",
"threshold": "-12",
"ratio": "2",
"attack": "150",
"release": "300",
"makeup": "0",
"knee": "9",
"detection": "RMS",
"bypass": "false",
"solo": "false"
},
"midband": {
"reduction": "-24",
"threshold": "-12",
"ratio": "2",
"attack": "150",
"release": "300",
"makeup": "0",
"knee": "9",
"detection": "RMS",
"bypass": "false",
"solo": "false"
},
"highband": {
"reduction": "-24",
"threshold": "-12",
"ratio": "2",
"attack": "150",
"release": "300",
"makeup": "0",
"knee": "9",
"detection": "RMS",
"bypass": "false",
"solo": "false"
}
},
"stereo_tools": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"balance-in": "0",
"balance-out": "0",
"softclip": "false",
"mutel": "false",
"muter": "false",
"phasel": "false",
"phaser": "false",
"mode": "LR > LR (Stereo Default)",
"side-level": "0",
"side-balance": "0",
"middle-level": "0",
"middle-panorama": "0",
"stereo-base": "0",
"delay": "0",
"sc-level": "1",
"stereo-phase": "0"
},
"convolver": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"kernel-path": "",
"ir-width": "100"
},
"crystalizer": {
"state": "false",
"aggressive": "false",
"input-gain": "0",
"output-gain": "0",
"band0": {
"intensity": "12",
"mute": "false",
"bypass": "false"
},
"band1": {
"intensity": "10",
"mute": "false",
"bypass": "false"
},
"band2": {
"intensity": "8",
"mute": "false",
"bypass": "false"
},
"band3": {
"intensity": "6",
"mute": "false",
"bypass": "false"
},
"band4": {
"intensity": "4",
"mute": "false",
"bypass": "false"
},
"band5": {
"intensity": "2",
"mute": "false",
"bypass": "false"
},
"band6": {
"intensity": "0",
"mute": "false",
"bypass": "false"
},
"band7": {
"intensity": "-2",
"mute": "false",
"bypass": "false"
},
"band8": {
"intensity": "-4",
"mute": "false",
"bypass": "false"
},
"band9": {
"intensity": "-6",
"mute": "false",
"bypass": "false"
},
"band10": {
"intensity": "-8",
"mute": "false",
"bypass": "false"
},
"band11": {
"intensity": "-10",
"mute": "false",
"bypass": "false"
},
"band12": {
"intensity": "-12",
"mute": "false",
"bypass": "false"
}
},
"autogain": {
"state": "false",
"detect-silence": "false",
"use-geometric-mean": "true",
"input-gain": "0",
"output-gain": "0",
"target": "-23",
"weight-m": "1",
"weight-s": "1",
"weight-i": "1"
},
"delay": {
"state": "false",
"input-gain": "0",
"output-gain": "0",
"time-l": "0",
"time-r": "0"
}
}
}

View File

@ -0,0 +1,16 @@
{ config, lib, pkgs, ... }: {
# home-manager.users.alukard.xdg.configFile."PulseEffects/output/ATH-M50.json".source = ./ATH-M50.json;
home-manager.users.alukard.xdg.configFile."PulseEffects/output/ATH-M50.json".text =
(builtins.readFile ./ATH-M50.json);
home-manager.users.alukard.xdg.configFile."PulseEffects/output/HE4XX.json".text =
(builtins.readFile ./HE4XX.json);
systemd.user.services."pulseeffects" = {
after = [ "sound.target" ];
description = "PulseEffects daemon";
wantedBy = [ "default.target" ];
path = [ pkgs.pulseeffects ];
serviceConfig.ExecStart = "${pkgs.pulseeffects}/bin/pulseeffects --gapplication-service";
serviceConfig.Restart = "on-failure";
};
}

View File

@ -29,31 +29,31 @@ with deviceSpecific; with themes; {
displayManager.lightdm = {
enable = true;
greeter.enable = isShared;
greeters.mini = {
enable = isShared;
user = "alukard";
extraConfig = ''
[greeter]
show-password-label = true
password-label-text = Welcome, Alukard
invalid-password-text = Are you sure?
show-input-cursor = false
password-alignment = right
[greeter-theme]
font = "Roboto Mono"
font-size = 14pt
text-color = "${colors.green}"
error-color = "${colors.green}"
background-image = ""
background-color = "${colors.bg}"
window-color = "${colors.dark}"
border-color = "${colors.blue}"
border-width = 1px
layout-space = 14
password-color = "${colors.green}"
password-background-color = "${colors.bg}"
'';
};
# greeters.mini = {
# enable = isShared;
# user = "alukard";
# extraConfig = ''
# [greeter]
# show-password-label = true
# password-label-text = Welcome, Alukard
# invalid-password-text = Are you sure?
# show-input-cursor = false
# password-alignment = right
# [greeter-theme]
# font = "Roboto Mono"
# font-size = 14pt
# text-color = "${colors.green}"
# error-color = "${colors.green}"
# background-image = ""
# background-color = "${colors.bg}"
# window-color = "${colors.dark}"
# border-color = "${colors.blue}"
# border-width = 1px
# layout-space = 14
# password-color = "${colors.green}"
# password-background-color = "${colors.bg}"
# '';
# };
autoLogin.enable = !isShared;
autoLogin.user = "alukard";
};

View File

@ -47,6 +47,18 @@
"url": "https://github.com/nana-4/materia-theme/archive/b1e4c563146ae34fff6a697393b6a1bc66b612f5.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"naersk": {
"branch": "master",
"description": "Build rust crates in Nix. No configuration, no code generation. IFD and sandbox friendly.",
"homepage": "",
"owner": "nmattia",
"repo": "naersk",
"rev": "4225dfaff988ce0713bc1cbf9a2a6dab8982df15",
"sha256": "13qbd5yjpw2qbsn2wxhzmjznqb8hf7sch1fdnjw904gj88wmnqnw",
"type": "tarball",
"url": "https://github.com/nmattia/naersk/archive/4225dfaff988ce0713bc1cbf9a2a6dab8982df15.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"niv": {
"branch": "master",
"description": "Easy dependency management for Nix projects",
@ -83,6 +95,18 @@
"url": "https://github.com/mozilla/nixpkgs-mozilla/archive/5300241b41243cb8962fad284f0004afad187dad.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"spotify-tui": {
"branch": "master",
"description": "Spotify for the terminal written in Rust 🚀",
"homepage": null,
"owner": "Rigellute",
"repo": "spotify-tui",
"rev": "ca128f7ba8be7a02cbb7602f62b0a8f1148eae4a",
"sha256": "1gphjldr49aymc2lkjr0h6sf6w9bpbjhv2gvcbvqazvsabn39c8i",
"type": "tarball",
"url": "https://github.com/Rigellute/spotify-tui/archive/ca128f7ba8be7a02cbb7602f62b0a8f1148eae4a.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"zsh-autosuggestions": {
"branch": "master",
"description": "Fish-like autosuggestions for zsh",