reorganize some profiles

This commit is contained in:
Dmitriy Kholkin 2024-02-08 23:32:56 +03:00
parent 9034ae5060
commit ffd0f858b9
Signed by: AtaraxiaDev
GPG Key ID: FD266B810DF48DF2
9 changed files with 566 additions and 323 deletions

View File

@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }: {
{ config, pkgs, ... }: {
home-manager.users.${config.mainuser} = {
home.packages = with pkgs; [
(retroarch.override { cores = with libretro; [ genesis-plus-gx dosbox ]; })

View File

@ -1,7 +1,5 @@
{ pkgs, lib, config, inputs, ... }:
let
thmFile = config.lib.base16.templateFile;
thm = config.lib.base16.theme;
EDITOR = pkgs.writeShellScript "code-editor" ''
source "/etc/profiles/per-user/${config.mainuser}/etc/profile.d/hm-session-vars.sh"
NIXOS_OZONE_WL=1 \
@ -12,8 +10,10 @@ let
"$@"
'';
continue-ver = lib.getVersion
inputs.nix-vscode-marketplace.extensions.${pkgs.system}.vscode-marketplace.continue.continue;
ext-vscode = inputs.nix-vscode-marketplace.extensions.${pkgs.system}.vscode-marketplace;
ext-nixpkgs = pkgs.vscode-extensions;
continue-ver = lib.getVersion ext-vscode.continue.continue;
in
{
defaultApplications.editor = {
@ -31,56 +31,50 @@ in
package = pkgs.vscode;
enableExtensionUpdateCheck = false;
enableUpdateCheck = false;
extensions = let
vscode = inputs.nix-vscode-marketplace.extensions.${pkgs.system}.vscode-marketplace;
open-vsx = inputs.nix-vscode-marketplace.extensions.${pkgs.system}.open-vsx;
nixpkgs = pkgs.vscode-extensions;
in [
extensions = [
# (pkgs.callPackage ./theme.nix { mainuser = config.mainuser; } config.lib.base16.theme)
vscode.aaron-bond.better-comments
vscode.alefragnani.bookmarks
vscode.alefragnani.project-manager
vscode.alexisvt.flutter-snippets
vscode.christian-kohler.path-intellisense
vscode.codezombiech.gitignore
vscode.continue.continue
vscode.dart-code.dart-code
vscode.dart-code.flutter
# vscode.dlasagno.wal-theme
vscode.eamodio.gitlens
vscode.enkia.tokyo-night
vscode.felixangelov.bloc
vscode.github.vscode-github-actions
vscode.github.vscode-pull-request-github
vscode.irongeek.vscode-env
vscode.jebbs.plantuml
vscode.jnoortheen.nix-ide
vscode.lucax88x.codeacejumper
vscode.marcelovelasquez.flutter-tree
vscode.mhutchie.git-graph
vscode.mkhl.direnv
vscode.ms-azuretools.vscode-docker
vscode.ms-vscode.hexeditor
nixpkgs.ms-vscode-remote.remote-ssh #FIX later
vscode.pkief.material-icon-theme
vscode.streetsidesoftware.code-spell-checker
vscode.streetsidesoftware.code-spell-checker-russian
vscode.ultram4rine.vscode-choosealicense
vscode.yzhang.markdown-all-in-one
# Django
nixpkgs.ms-python.python
vscode.monosans.djlint
vscode.ms-python.isort
vscode.ms-python.vscode-pylance
ext-vscode.aaron-bond.better-comments
ext-vscode.alefragnani.bookmarks
ext-vscode.alefragnani.project-manager
ext-vscode.alexisvt.flutter-snippets
ext-vscode.christian-kohler.path-intellisense
ext-vscode.codezombiech.gitignore
ext-vscode.continue.continue
ext-vscode.dart-code.dart-code
ext-vscode.dart-code.flutter
# ext-vscode.dlasagno.wal-theme
ext-vscode.eamodio.gitlens
ext-vscode.enkia.tokyo-night
ext-vscode.felixangelov.bloc
ext-vscode.github.vscode-github-actions
ext-vscode.github.vscode-pull-request-github
ext-vscode.irongeek.vscode-env
ext-vscode.jebbs.plantuml
ext-vscode.jnoortheen.nix-ide
ext-vscode.lucax88x.codeacejumper
ext-vscode.marcelovelasquez.flutter-tree
ext-vscode.mhutchie.git-graph
ext-vscode.mkhl.direnv
ext-vscode.ms-azuretools.vscode-docker
ext-nixpkgs.ms-python.python
ext-vscode.ms-python.isort
ext-vscode.ms-python.vscode-pylance
ext-vscode.ms-vscode.hexeditor
ext-nixpkgs.ms-vscode-remote.remote-ssh #FIX later
ext-vscode.pkief.material-icon-theme
ext-vscode.streetsidesoftware.code-spell-checker
ext-vscode.streetsidesoftware.code-spell-checker-russian
ext-vscode.ultram4rine.vscode-choosealicense
ext-vscode.yzhang.markdown-all-in-one
# Rust
vscode.gruntfuggly.todo-tree
vscode.jscearcy.rust-doc-viewer
vscode.polypus74.trusty-rusty-snippets
nixpkgs.rust-lang.rust-analyzer
vscode.serayuzgur.crates
vscode.tamasfe.even-better-toml
vscode.usernamehw.errorlens
vscode.vadimcn.vscode-lldb
ext-vscode.gruntfuggly.todo-tree
ext-vscode.jscearcy.rust-doc-viewer
ext-vscode.polypus74.trusty-rusty-snippets
ext-nixpkgs.rust-lang.rust-analyzer
ext-vscode.serayuzgur.crates
ext-vscode.tamasfe.even-better-toml
ext-vscode.usernamehw.errorlens
ext-vscode.vadimcn.vscode-lldb
];
# mutableExtensionsDir = false;
userSettings = {

View File

@ -1,6 +1,37 @@
{ config, lib, pkgs, ... }: {
imports = [
./pipewire.nix
./easyeffects
];
{ config, pkgs, lib, ... }: {
sound.enable = false;
security.rtkit.enable = true;
hardware.pulseaudio.enable = lib.mkForce false;
services.jack.jackd.enable = lib.mkForce false;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
environment.etc = {
"wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = ''
bluez_monitor.properties = {
["bluez5.enable-sbc-xq"] = true,
["bluez5.enable-msbc"] = true,
["bluez5.hw-volume"] = "[ hfp_ag hsp_ag a2dp_source a2dp_sink ]",
["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag a2dp_sink ]",
["bluez5.reconnect-profiles"] = "[ hsp_hs hfp_hf a2dp_sink ]",
}
'';
};
home-manager.users.${config.mainuser} = {
home.packages = [ pkgs.pavucontrol pkgs.pulseaudio ];
services.easyeffects.enable = true;
xdg.configFile = {
"easyeffects/output/HE4XX.json".text =
builtins.readFile ./easyeffects/HE4XX.json;
"easyeffects/output/Bluetooth.json".text =
builtins.readFile ./easyeffects/Bluetooth.json;
"easyeffects/input/noise_redaction.json".text =
builtins.readFile ./easyeffects/noise_reduction.json;
};
};
}

View File

@ -1,11 +0,0 @@
{ config, lib, pkgs, ... }: {
home-manager.users.${config.mainuser} = {
xdg.configFile = {
"easyeffects/output/HE4XX.json".text =
builtins.readFile ./HE4XX.json;
"easyeffects/output/Bluetooth.json".text =
builtins.readFile ./Bluetooth.json;
};
services.easyeffects.enable = true;
};
}

View File

@ -0,0 +1,261 @@
{
"input": {
"blocklist": [],
"compressor#0": {
"attack": 5.0,
"boost-amount": 6.0,
"boost-threshold": -72.0,
"bypass": false,
"dry": -100.0,
"hpf-frequency": 10.0,
"hpf-mode": "off",
"input-gain": 0.0,
"knee": -6.0,
"lpf-frequency": 20000.0,
"lpf-mode": "off",
"makeup": 0.0,
"mode": "Downward",
"output-gain": 0.0,
"ratio": 4.0,
"release": 75.0,
"release-threshold": -40.0,
"sidechain": {
"lookahead": 0.0,
"mode": "RMS",
"preamp": 0.0,
"reactivity": 10.0,
"source": "Middle",
"stereo-split-source": "Left/Right",
"type": "Feed-forward"
},
"stereo-split": false,
"threshold": -20.0,
"wet": 0.0
},
"deesser#0": {
"bypass": false,
"detection": "RMS",
"f1-freq": 3000.0,
"f1-level": -6.0,
"f2-freq": 5000.0,
"f2-level": -6.0,
"f2-q": 1.5000000000000004,
"input-gain": 0.0,
"laxity": 15,
"makeup": 0.0,
"mode": "Wide",
"output-gain": 0.0,
"ratio": 5.0,
"sc-listen": false,
"threshold": -20.0
},
"equalizer#0": {
"balance": 0.0,
"bypass": false,
"input-gain": 0.0,
"left": {
"band0": {
"frequency": 50.0,
"gain": 3.0,
"mode": "RLC (BT)",
"mute": false,
"q": 0.7,
"slope": "x1",
"solo": false,
"type": "Hi-pass",
"width": 4.0
},
"band1": {
"frequency": 90.0,
"gain": 3.0,
"mode": "RLC (MT)",
"mute": false,
"q": 0.7,
"slope": "x1",
"solo": false,
"type": "Lo-shelf",
"width": 4.0
},
"band2": {
"frequency": 425.0,
"gain": -2.0,
"mode": "BWC (MT)",
"mute": false,
"q": 0.9999999999999998,
"slope": "x2",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band3": {
"frequency": 3500.0,
"gain": 3.0,
"mode": "BWC (BT)",
"mute": false,
"q": 0.7,
"slope": "x2",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band4": {
"frequency": 9000.0,
"gain": 2.0,
"mode": "LRX (MT)",
"mute": false,
"q": 0.7,
"slope": "x1",
"solo": false,
"type": "Hi-shelf",
"width": 4.0
}
},
"mode": "IIR",
"num-bands": 5,
"output-gain": 0.0,
"pitch-left": 0.0,
"pitch-right": 0.0,
"right": {
"band0": {
"frequency": 50.0,
"gain": 3.0,
"mode": "RLC (BT)",
"mute": false,
"q": 0.7,
"slope": "x1",
"solo": false,
"type": "Hi-pass",
"width": 4.0
},
"band1": {
"frequency": 90.0,
"gain": 3.0,
"mode": "RLC (MT)",
"mute": false,
"q": 0.7,
"slope": "x1",
"solo": false,
"type": "Lo-shelf",
"width": 4.0
},
"band2": {
"frequency": 425.0,
"gain": -2.0,
"mode": "BWC (MT)",
"mute": false,
"q": 0.9999999999999998,
"slope": "x2",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band3": {
"frequency": 3500.0,
"gain": 3.0,
"mode": "BWC (BT)",
"mute": false,
"q": 0.7,
"slope": "x2",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band4": {
"frequency": 9000.0,
"gain": 2.0,
"mode": "LRX (MT)",
"mute": false,
"q": 0.7,
"slope": "x1",
"solo": false,
"type": "Hi-shelf",
"width": 4.0
}
},
"split-channels": false
},
"gate#0": {
"attack": 1.0,
"bypass": false,
"curve-threshold": -50.0,
"curve-zone": -2.0,
"dry": -100.0,
"hpf-frequency": 10.0,
"hpf-mode": "off",
"hysteresis": true,
"hysteresis-threshold": -3.0,
"hysteresis-zone": -1.0,
"input-gain": 0.0,
"lpf-frequency": 20000.0,
"lpf-mode": "off",
"makeup": 1.0,
"output-gain": 0.0,
"reduction": -15.0,
"release": 200.0,
"sidechain": {
"input": "Internal",
"lookahead": 0.0,
"mode": "RMS",
"preamp": 0.0,
"reactivity": 10.0,
"source": "Middle",
"stereo-split-source": "Left/Right"
},
"stereo-split": false,
"wet": -1.0
},
"limiter#0": {
"alr": false,
"alr-attack": 5.0,
"alr-knee": 0.0,
"alr-release": 50.0,
"attack": 1.0,
"bypass": false,
"dithering": "16bit",
"external-sidechain": false,
"gain-boost": true,
"input-gain": 0.0,
"lookahead": 5.0,
"mode": "Herm Wide",
"output-gain": 0.0,
"oversampling": "Half x2(2L)",
"release": 5.0,
"sidechain-preamp": 0.0,
"stereo-link": 100.0,
"threshold": -1.0
},
"plugins_order": [
"rnnoise#0",
"gate#0",
"deesser#0",
"compressor#0",
"equalizer#0",
"speex#0",
"limiter#0"
],
"rnnoise#0": {
"bypass": false,
"enable-vad": false,
"input-gain": 0.0,
"model-path": "",
"output-gain": 0.0,
"release": 20.0,
"vad-thres": 50.0,
"wet": 0.0
},
"speex#0": {
"bypass": false,
"enable-agc": false,
"enable-denoise": false,
"enable-dereverb": false,
"input-gain": 0.0,
"noise-suppression": -70,
"output-gain": 0.0,
"vad": {
"enable": true,
"probability-continue": 90,
"probability-start": 95
}
}
}
}

View File

@ -1,31 +0,0 @@
{ config, pkgs, lib, ... }: {
sound.enable = false;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
environment.etc = {
"wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = ''
bluez_monitor.properties = {
["bluez5.enable-sbc-xq"] = true,
["bluez5.enable-msbc"] = true,
["bluez5.hw-volume"] = "[ hfp_ag hsp_ag a2dp_source a2dp_sink ]",
["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag a2dp_sink ]",
["bluez5.reconnect-profiles"] = "[ hsp_hs hfp_hf a2dp_sink ]",
}
'';
};
home-manager.users.${config.mainuser} = {
home.packages = [ pkgs.pavucontrol pkgs.pulseaudio ];
};
security.rtkit.enable = true;
hardware.pulseaudio.enable = lib.mkForce false;
services.jack.jackd.enable = lib.mkForce false;
}

View File

@ -2,6 +2,9 @@
with config.deviceSpecific; {
home-manager.users.${config.mainuser}.programs.waybar = {
enable = true;
style = builtins.readFile ./style.css;
systemd.enable = true;
systemd.target = "hyprland-session.target";
settings = {
mainBar = {
layer = "top";
@ -90,228 +93,5 @@ with config.deviceSpecific; {
};
};
};
style = ''
* {
border: none;
border-radius: 0;
/* `otf-font-awesome` is required to be installed for icons */
font-family: IBM Plex Mono;
font-size: 14px;
min-height: 14px;
}
window#waybar {
background: transparent;
}
window#waybar.hidden {
opacity: 0.2;
}
#workspaces {
margin-right: 8px;
border-radius: 10px;
transition: none;
background: #383c4a;
}
#workspaces button {
transition: none;
color: #7c818c;
background: transparent;
padding: 5px;
font-size: 12px;
}
#workspaces button.persistent {
color: #7c818c;
font-size: 12px;
}
#workspaces button:hover {
transition: none;
box-shadow: inherit;
text-shadow: inherit;
border-radius: inherit;
color: #383c4a;
background: #7c818c;
}
#workspaces button.focused {
color: white;
}
#language {
padding-left: 16px;
padding-right: 8px;
border-radius: 10px 0px 0px 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#keyboard-state {
margin-right: 8px;
padding-right: 16px;
border-radius: 0px 10px 10px 0px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#custom-mail { /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
margin-right: 8px;
padding-right: 16px;
border-radius: 0px 10px 10px 0px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#mode {
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#clock {
padding-left: 16px;
padding-right: 16px;
border-radius: 10px 0px 0px 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#custom-weather {
padding-right: 16px;
border-radius: 0px 10px 10px 0px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#pulseaudio {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none; /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
color: #ffffff;
background: #383c4a;
}
#pulseaudio.muted {
background-color: #90b1b1;
color: #2a5c45;
}
#custom-mem {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#temperature {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#temperature.critical {
background-color: #eb4d4b;
}
#backlight {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#disk {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#battery {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#battery.charging {
color: #ffffff;
background-color: #26A65B;
}
#battery.warning:not(.charging) {
background-color: #ffbe61;
color: black;
}
#battery.critical:not(.charging) {
background-color: #f53c3c;
color: #ffffff;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#tray {
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#cpu {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}
'';
systemd.enable = true;
systemd.target = "hyprland-session.target";
};
}

View File

@ -0,0 +1,219 @@
* {
border: none;
border-radius: 0;
/* `otf-font-awesome` is required to be installed for icons */
font-family: IBM Plex Mono;
font-size: 14px;
min-height: 14px;
}
window#waybar {
background: transparent;
}
window#waybar.hidden {
opacity: 0.2;
}
#workspaces {
margin-right: 8px;
border-radius: 10px;
transition: none;
background: #383c4a;
}
#workspaces button {
transition: none;
color: #7c818c;
background: transparent;
padding: 5px;
font-size: 12px;
}
#workspaces button.persistent {
color: #7c818c;
font-size: 12px;
}
#workspaces button:hover {
transition: none;
box-shadow: inherit;
text-shadow: inherit;
border-radius: inherit;
color: #383c4a;
background: #7c818c;
}
#workspaces button.focused {
color: white;
}
#language {
padding-left: 16px;
padding-right: 8px;
border-radius: 10px 0px 0px 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#keyboard-state {
margin-right: 8px;
padding-right: 16px;
border-radius: 0px 10px 10px 0px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#custom-mail { /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
margin-right: 8px;
padding-right: 16px;
border-radius: 0px 10px 10px 0px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#mode {
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#clock {
padding-left: 16px;
padding-right: 16px;
border-radius: 10px 0px 0px 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#custom-weather {
padding-right: 16px;
border-radius: 0px 10px 10px 0px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#pulseaudio {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none; /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
color: #ffffff;
background: #383c4a;
}
#pulseaudio.muted {
background-color: #90b1b1;
color: #2a5c45;
}
#custom-mem {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#temperature {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#temperature.critical {
background-color: #eb4d4b;
}
#backlight {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#disk {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#battery {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#battery.charging {
color: #ffffff;
background-color: #26A65B;
}
#battery.warning:not(.charging) {
background-color: #ffbe61;
color: black;
}
#battery.critical:not(.charging) {
background-color: #f53c3c;
color: #ffffff;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#tray {
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
#cpu {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #ffffff;
background: #383c4a;
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}