├── .gitattributes ├── .gitignore ├── img ├── vim.png ├── busy.png └── power.png ├── misc ├── mute.mp3 ├── unmute.mp3 ├── npmrc ├── userChrome.css └── user.js ├── afx ├── dist │ ├── apo │ │ ├── sink-Flat.txt │ │ ├── sink-Focal_Clear_2.txt │ │ ├── sink-Truthear_Hexa.txt │ │ ├── sink-Energy.txt │ │ ├── source-AT2040.txt │ │ ├── sink-Companion_2.txt │ │ ├── sink-Focal_Bathys_(aftermarket_pads)_(solo).txt │ │ ├── sink-HE400i.txt │ │ ├── sink-Focal_Bathys.txt │ │ ├── sink-QC35.txt │ │ ├── sink-Focal_Clear.txt │ │ ├── sink-QC35_Wireless.txt │ │ ├── sink-Moondrop_Space_Travel.txt │ │ ├── sink-HD_560S.txt │ │ └── sink-Focal_Bathys_(aftermarket_pads)_(combined).txt │ ├── peq │ │ ├── sink-Flat.json │ │ ├── sink-Focal_Clear_2.json │ │ ├── sink-Truthear_Hexa.json │ │ ├── sink-Energy.json │ │ ├── source-AT2040.json │ │ ├── sink-Companion_2.json │ │ ├── sink-Focal_Bathys_(aftermarket_pads)_(solo).json │ │ ├── sink-HE400i.json │ │ ├── sink-Focal_Bathys.json │ │ ├── sink-QC35.json │ │ ├── sink-Focal_Clear.json │ │ ├── sink-QC35_Wireless.json │ │ └── sink-Moondrop_Space_Travel.json │ └── lsp │ │ ├── sink-Flat.cfg │ │ ├── source-AT2040.cfg │ │ ├── sink-Focal_Clear_2.cfg │ │ ├── sink-Truthear_Hexa.cfg │ │ ├── sink-Energy.cfg │ │ ├── sink-QC35.cfg │ │ ├── sink-Focal_Clear.cfg │ │ ├── sink-Focal_Bathys.cfg │ │ └── sink-QC35_Wireless.cfg ├── devices │ ├── Flat.json │ ├── Focal_Clear_2.json │ ├── Truthear_Hexa.json │ ├── Energy.json │ ├── AT2040.json │ ├── Companion_2.json │ ├── Focal_Bathys_2.json │ ├── HE400i.json │ ├── QC35.json │ ├── Focal_Bathys.json │ ├── Focal_Clear.json │ ├── QC35_Wireless.json │ ├── Moondrop_Space_Travel.json │ └── HD_560S.json ├── util.ts ├── json_to_eqapo.ts ├── json_to_peq.ts └── apo_to_json.ts ├── nix ├── secrets │ ├── env.age │ ├── ssh-config.age │ ├── mpv-secrets.lua.age │ └── redshift.conf.age ├── common │ ├── podman.nix │ ├── stylix-root.nix │ ├── bluetooth.nix │ ├── steam.nix │ ├── bootloader.nix │ ├── font.nix │ ├── nix-conf.nix │ ├── lecture.nix │ ├── thunar.nix │ ├── x.nix │ ├── stylix.nix │ ├── secrets.nix │ ├── general.nix │ ├── packages.nix │ └── env.nix ├── theme.nix ├── secrets.nix ├── home │ ├── zathura.nix │ ├── mangohud.nix │ ├── mpv │ │ ├── config.nix │ │ └── script-append-url.nix │ ├── starship.nix │ ├── lazygit.nix │ ├── general.nix │ ├── xresources.nix │ ├── mime.nix │ └── desktop-files.nix ├── hosts │ └── grace │ │ ├── hardware-configuration.nix │ │ └── home.nix └── README.md ├── awesome └── theme │ └── default │ ├── clock.png │ ├── cloud.png │ ├── green.png │ ├── nix.png │ ├── red.png │ ├── submenu.png │ ├── yellow.png │ ├── chart-line.png │ ├── headphones.png │ ├── red_hover.png │ ├── circle-play.png │ ├── floppy-disk.png │ ├── green_hover.png │ ├── layouts │ ├── maxw.png │ ├── floatingw.png │ └── tileleftw.png │ ├── volume-xmark.png │ └── yellow_hover.png ├── scripts ├── wallpaper │ ├── wallpaper-ico.png │ └── wallpaper.sh ├── xcolor.sh ├── bt-battery.sh ├── send-to-phone.sh ├── weather.sh ├── gamemode.sh ├── shadowplay.sh ├── screenshot.sh ├── autostart.sh ├── liquidctl.sh ├── xf86.sh ├── rofi.sh └── deploy.sh ├── vim ├── lua │ └── config │ │ ├── plugins │ │ ├── tabular.lua │ │ ├── vim-repeat.lua │ │ ├── vim-surround.lua │ │ ├── todo-comments.lua │ │ ├── fidget.lua │ │ ├── indent-blankline.lua │ │ ├── base46.lua │ │ ├── nvim-colorizer.lua │ │ ├── vim-tmux-navigator.lua │ │ ├── vim-dadbod-ui.lua │ │ ├── gitlinker.lua │ │ ├── lspsaga.lua │ │ ├── comment.lua │ │ ├── blink-cmp.lua │ │ ├── lexima.lua │ │ ├── gitsigns.lua │ │ ├── trouble.lua │ │ ├── init.lua │ │ ├── luasnip.lua │ │ ├── treesitter.lua │ │ ├── fzf.lua │ │ └── none-ls.lua │ │ ├── utils.lua │ │ ├── treesitter_langs.lua │ │ ├── iab.lua │ │ ├── lsp.lua │ │ ├── options.lua │ │ └── autocmd.lua ├── snippets │ ├── cucumber.lua │ ├── lua.lua │ ├── gitcommit.lua │ ├── html.lua │ ├── yaml.lua │ ├── sh.lua │ ├── c.lua │ ├── cpp.lua │ ├── java.lua │ ├── rust.lua │ ├── go.lua │ └── cmake.lua ├── queries │ └── typescript │ │ └── injections.scm ├── init.lua └── en.utf-8.add ├── csgo ├── practice.cfg ├── viewmodel.cfg └── crosshair.cfg ├── zsh ├── zlogout ├── dotenv.zsh ├── dir.zsh ├── shist.zsh └── aliases.zsh ├── rofi ├── powermenu ├── lock.svg ├── liquidctlmenu ├── logout.svg ├── power.rasi ├── power.svg ├── list.rasi ├── screenshot.rasi ├── config.rasi ├── reboot.svg ├── level1.svg ├── level2.svg ├── level3.svg ├── level4.svg └── level5.svg ├── ytdl ├── single ├── playlist └── liked-videos └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | *.age -diff 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | vim/en.utf-8.add.spl 2 | nix/common/wall 3 | -------------------------------------------------------------------------------- /img/vim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/img/vim.png -------------------------------------------------------------------------------- /img/busy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/img/busy.png -------------------------------------------------------------------------------- /img/power.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/img/power.png -------------------------------------------------------------------------------- /misc/mute.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/misc/mute.mp3 -------------------------------------------------------------------------------- /afx/dist/apo/sink-Flat.txt: -------------------------------------------------------------------------------- 1 | Preamp: 0 dB 2 | Filter 1: ON PK Fc 500 Hz Gain 0 dB Q 1 3 | -------------------------------------------------------------------------------- /misc/unmute.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/misc/unmute.mp3 -------------------------------------------------------------------------------- /nix/secrets/env.age: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/nix/secrets/env.age -------------------------------------------------------------------------------- /afx/dist/apo/sink-Focal_Clear_2.txt: -------------------------------------------------------------------------------- 1 | Preamp: -6.5 dB 2 | Filter 1: ON LSC Fc 50.245 Hz Gain 6.5 dB Q 0.66 3 | -------------------------------------------------------------------------------- /nix/secrets/ssh-config.age: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/nix/secrets/ssh-config.age -------------------------------------------------------------------------------- /awesome/theme/default/clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/clock.png -------------------------------------------------------------------------------- /awesome/theme/default/cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/cloud.png -------------------------------------------------------------------------------- /awesome/theme/default/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/green.png -------------------------------------------------------------------------------- /awesome/theme/default/nix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/nix.png -------------------------------------------------------------------------------- /awesome/theme/default/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/red.png -------------------------------------------------------------------------------- /nix/secrets/mpv-secrets.lua.age: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/nix/secrets/mpv-secrets.lua.age -------------------------------------------------------------------------------- /nix/secrets/redshift.conf.age: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/nix/secrets/redshift.conf.age -------------------------------------------------------------------------------- /awesome/theme/default/submenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/submenu.png -------------------------------------------------------------------------------- /awesome/theme/default/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/yellow.png -------------------------------------------------------------------------------- /awesome/theme/default/chart-line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/chart-line.png -------------------------------------------------------------------------------- /awesome/theme/default/headphones.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/headphones.png -------------------------------------------------------------------------------- /awesome/theme/default/red_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/red_hover.png -------------------------------------------------------------------------------- /scripts/wallpaper/wallpaper-ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/scripts/wallpaper/wallpaper-ico.png -------------------------------------------------------------------------------- /awesome/theme/default/circle-play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/circle-play.png -------------------------------------------------------------------------------- /awesome/theme/default/floppy-disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/floppy-disk.png -------------------------------------------------------------------------------- /awesome/theme/default/green_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/green_hover.png -------------------------------------------------------------------------------- /awesome/theme/default/layouts/maxw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/layouts/maxw.png -------------------------------------------------------------------------------- /awesome/theme/default/volume-xmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/volume-xmark.png -------------------------------------------------------------------------------- /awesome/theme/default/yellow_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/yellow_hover.png -------------------------------------------------------------------------------- /awesome/theme/default/layouts/floatingw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/layouts/floatingw.png -------------------------------------------------------------------------------- /awesome/theme/default/layouts/tileleftw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jayden-chan/dotfiles/HEAD/awesome/theme/default/layouts/tileleftw.png -------------------------------------------------------------------------------- /nix/common/podman.nix: -------------------------------------------------------------------------------- 1 | { ... }: 2 | 3 | { 4 | virtualisation.podman = { 5 | enable = true; 6 | networkSocket.enable = false; 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/tabular.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("tabular"), 4 | cmd = "Tabularize", 5 | } 6 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/vim-repeat.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("vim-repeat"), 4 | event = "VeryLazy", 5 | } 6 | -------------------------------------------------------------------------------- /afx/dist/apo/sink-Truthear_Hexa.txt: -------------------------------------------------------------------------------- 1 | Preamp: -3 dB 2 | Filter 1: ON LSC Fc 118.933 Hz Gain 1.98 dB Q 0.75 3 | Filter 2: ON PK Fc 8001.405 Hz Gain -2.15 dB Q 4 4 | -------------------------------------------------------------------------------- /csgo/practice.cfg: -------------------------------------------------------------------------------- 1 | sv_cheats true 2 | mp_maxmoney 60000 3 | mp_startmoney 60000 4 | mp_buy_anywhere 1 5 | bind c "sv_rethrow_last_grenade" 6 | bind 6 noclip 7 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/vim-surround.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("vim-surround"), 4 | event = "VeryLazy", 5 | } 6 | -------------------------------------------------------------------------------- /misc/npmrc: -------------------------------------------------------------------------------- 1 | cache=${XDG_CACHE_HOME}/npm 2 | init-module=${XDG_CONFIG_HOME}/npm/config/npm-init.js 3 | logs-dir=${XDG_STATE_HOME}/npm/logs 4 | prefix=${XDG_DATA_HOME}/npm 5 | -------------------------------------------------------------------------------- /nix/common/stylix-root.nix: -------------------------------------------------------------------------------- 1 | { ... }: 2 | 3 | { 4 | stylix.targets.gnome.enable = true; 5 | stylix.targets.gtk.enable = true; 6 | stylix.targets.lightdm.enable = true; 7 | } 8 | -------------------------------------------------------------------------------- /vim/snippets/cucumber.lua: -------------------------------------------------------------------------------- 1 | ---@diagnostic disable: undefined-global 2 | return { 3 | s("@unit", t({ "@unit", "Scenario: " })), 4 | s("sc", t("Scenario: ")), 5 | s("bg", t("Background: ")), 6 | } 7 | -------------------------------------------------------------------------------- /afx/dist/apo/sink-Energy.txt: -------------------------------------------------------------------------------- 1 | Preamp: -3.2 dB 2 | Filter 1: ON LSC Fc 91.362 Hz Gain -2.57 dB Q 0.75 3 | Filter 2: ON PK Fc 710.7 Hz Gain 3.57 dB Q 0 4 | Filter 3: ON HSC Fc 10255.173 Hz Gain 1.43 dB Q 0 5 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/todo-comments.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("todo-comments.nvim"), 4 | dependencies = { utils.mirror("plenary.nvim") }, 5 | opts = {}, 6 | } 7 | -------------------------------------------------------------------------------- /vim/queries/typescript/injections.scm: -------------------------------------------------------------------------------- 1 | ( 2 | ( 3 | (template_string) @_template_string 4 | (#match? @_template_string "^`\\s*\\<") 5 | ) @html 6 | 7 | (#offset! @html 0 1 0 -1) 8 | ) 9 | -------------------------------------------------------------------------------- /vim/init.lua: -------------------------------------------------------------------------------- 1 | require("config.options") 2 | require("config.autocmd") 3 | require("config.bindings") 4 | require("config.iab") 5 | 6 | vim.cmd("filetype on") 7 | require("config.plugins") 8 | vim.cmd("syntax enable") 9 | -------------------------------------------------------------------------------- /vim/snippets/lua.lua: -------------------------------------------------------------------------------- 1 | ---@diagnostic disable: undefined-global 2 | return { 3 | s( 4 | "sn", 5 | fmt( 6 | [=[ 7 | s("{1}", fmt([[{2}]], {{{3}}})) 8 | ]=], 9 | { i(1), i(2), i(0) } 10 | ) 11 | ), 12 | } 13 | -------------------------------------------------------------------------------- /afx/dist/apo/source-AT2040.txt: -------------------------------------------------------------------------------- 1 | Preamp: 0 dB 2 | Filter 1: ON HPQ Fc 60 Hz Q 0.6 3 | Filter 2: ON PK Fc 103.227 Hz Gain -0.5 dB Q 0.28 4 | Filter 3: ON PK Fc 1035.169 Hz Gain -1.01 dB Q 4.1 5 | Filter 4: ON PK Fc 2905.615 Hz Gain -4.86 dB Q 3.77 6 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/fidget.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("fidget.nvim"), 4 | tag = "legacy", 5 | event = "VeryLazy", 6 | config = function() 7 | require("fidget").setup() 8 | end, 9 | } 10 | -------------------------------------------------------------------------------- /zsh/zlogout: -------------------------------------------------------------------------------- 1 | # 2 | # Executes commands at logout. 3 | # 4 | # Authors: 5 | # Sorin Ionescu 6 | # 7 | # 8 | # Print the message. 9 | \cat <<-EOF 10 | Thank you. Come again! 11 | -- Dr. Apu Nahasapeemapetilon 12 | EOF 13 | -------------------------------------------------------------------------------- /rofi/powermenu: -------------------------------------------------------------------------------- 1 | logouticon/home/jayden/.config/dotfiles/rofi/logout.svg 2 | lockicon/home/jayden/.config/dotfiles/rofi/lock.svg 3 | rebooticon/home/jayden/.config/dotfiles/rofi/reboot.svg 4 | shutdownicon/home/jayden/.config/dotfiles/rofi/power.svg 5 | -------------------------------------------------------------------------------- /scripts/xcolor.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | tmp_file=$(mktemp -t xcolor-XXXXXX.png) 4 | color=$(xcolor | tr -d '\n' | xclip -selection c -filter) 5 | convert -size 75x75 "xc:$color" "$tmp_file" 6 | notify-send -i "$tmp_file" -t 3000 "Color picker" "$color" 7 | rm "$tmp_file" 8 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/indent-blankline.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("indent-blankline.nvim"), 4 | event = { "BufReadPre", "BufNewFile" }, 5 | main = "ibl", 6 | opts = { 7 | scope = { enabled = false }, 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/base46.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("base46.nvim"), 4 | -- dir = "~/Dev/base46.nvim", 5 | lazy = false, 6 | priority = 1000, 7 | config = function() 8 | LoadBase46ColorScheme(utils.theme.name) 9 | end, 10 | } 11 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/nvim-colorizer.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("nvim-colorizer.lua"), 4 | event = "BufReadPre", 5 | opts = { 6 | user_default_options = { 7 | mode = "virtualtext", 8 | names = false, 9 | }, 10 | }, 11 | } 12 | -------------------------------------------------------------------------------- /rofi/lock.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vim/snippets/gitcommit.lua: -------------------------------------------------------------------------------- 1 | ---@diagnostic disable: undefined-global 2 | return { 3 | s("f", t("feat: ")), 4 | s("i", t("fix: ")), 5 | s("c", t("chore: ")), 6 | s("d", t("docs: ")), 7 | s("r", t("refactor: ")), 8 | s("j", t("JC: ")), 9 | s("b", t("BREAKING CHANGE: ")), 10 | s("w", t("--wip-- ")), 11 | } 12 | -------------------------------------------------------------------------------- /rofi/liquidctlmenu: -------------------------------------------------------------------------------- 1 | Level 1icon/home/jayden/.config/dotfiles/rofi/level1.svg 2 | Level 2icon/home/jayden/.config/dotfiles/rofi/level2.svg 3 | Level 3icon/home/jayden/.config/dotfiles/rofi/level3.svg 4 | Level 4icon/home/jayden/.config/dotfiles/rofi/level4.svg 5 | Level 5icon/home/jayden/.config/dotfiles/rofi/level5.svg 6 | -------------------------------------------------------------------------------- /ytdl/single: -------------------------------------------------------------------------------- 1 | # Generic Single Video Download 2 | 3 | --ignore-errors 4 | --add-metadata 5 | --all-subs 6 | --embed-subs 7 | --embed-thumbnail 8 | --write-thumbnail 9 | --write-sub 10 | --sub-lang en 11 | --write-info-json 12 | --format-sort 'height:1080' 13 | --merge-output-format mkv 14 | --output "%(id)s.%(ext)s" 15 | -r 20M 16 | -------------------------------------------------------------------------------- /csgo/viewmodel.cfg: -------------------------------------------------------------------------------- 1 | //viewmodel_presetpos 0 2 | //viewmodel_offset_x 2 3 | //viewmodel_offset_y 2 4 | //viewmodel_offset_z -2 5 | //viewmodel_fov 68 6 | //cl_prefer_lefthanded 0 7 | 8 | viewmodel_presetpos 1 9 | viewmodel_offset_x -0.5 10 | viewmodel_offset_y 1 11 | viewmodel_offset_z -2 12 | viewmodel_fov 65 13 | cl_prefer_lefthanded 0 14 | -------------------------------------------------------------------------------- /nix/common/bluetooth.nix: -------------------------------------------------------------------------------- 1 | { ... }: 2 | 3 | { 4 | services.blueman.enable = true; 5 | 6 | hardware.bluetooth = { 7 | enable = true; 8 | powerOnBoot = true; 9 | settings = { 10 | General = { 11 | # make battery level reporting work 12 | Experimental = true; 13 | }; 14 | }; 15 | }; 16 | } 17 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/vim-tmux-navigator.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("vim-tmux-navigator"), 4 | keys = { 5 | { "", "TmuxNavigateLeft" }, 6 | { "", "TmuxNavigateDown" }, 7 | { "", "TmuxNavigateUp" }, 8 | { "", "TmuxNavigateRight" }, 9 | }, 10 | } 11 | -------------------------------------------------------------------------------- /afx/devices/Flat.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Flat", 3 | "type": "sink", 4 | "output": "FL FR", 5 | "settings": { 6 | "preamp": 0, 7 | "bands": [ 8 | { 9 | "type": "peaking", 10 | "mode": "RLC_BT", 11 | "slope": 0, 12 | "freq": 500, 13 | "Q": 1, 14 | "gain": 0 15 | } 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /afx/dist/apo/sink-Companion_2.txt: -------------------------------------------------------------------------------- 1 | Preamp: -3.13 dB 2 | Filter 1: ON LSC Fc 60.61 Hz Gain 0.07 dB Q 0.25 3 | Filter 2: ON LSC Fc 69.34 Hz Gain 4.99 dB Q 0.55 4 | Filter 3: ON PK Fc 124.776 Hz Gain -5.36 dB Q 3.22 5 | Filter 4: ON PK Fc 212.806 Hz Gain -4.82 dB Q 1.5 6 | Filter 5: ON PK Fc 707.436 Hz Gain 0.19 dB Q 0.28 7 | Filter 6: ON HSC Fc 3546.937 Hz Gain -2.99 dB Q 0 8 | -------------------------------------------------------------------------------- /nix/common/steam.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | 3 | { 4 | programs.gamemode.enable = true; 5 | 6 | programs.steam = { 7 | enable = true; 8 | remotePlay.openFirewall = false; 9 | dedicatedServer.openFirewall = false; 10 | localNetworkGameTransfers.openFirewall = false; 11 | extraCompatPackages = with pkgs; [ 12 | proton-ge-bin 13 | ]; 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /afx/devices/Focal_Clear_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Focal Clear 2", 3 | "type": "sink", 4 | "output": "FL FR", 5 | "settings": { 6 | "preamp": -6.5, 7 | "bands": [ 8 | { 9 | "type": "lowshelf", 10 | "mode": "RLC_BT", 11 | "slope": 0, 12 | "freq": 50.245, 13 | "Q": 0.66, 14 | "gain": 6.5 15 | } 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /afx/dist/apo/sink-Focal_Bathys_(aftermarket_pads)_(solo).txt: -------------------------------------------------------------------------------- 1 | Preamp: -1.5 dB 2 | Filter 1: ON LSC Fc 335.294 Hz Gain -2.68 dB Q 0 3 | Filter 2: ON PK Fc 622.901 Hz Gain -1.99 dB Q 0.25 4 | Filter 3: ON PK Fc 893.716 Hz Gain -1.03 dB Q 1.41 5 | Filter 4: ON PK Fc 2901.097 Hz Gain -0.95 dB Q 1.16 6 | Filter 5: ON PK Fc 2959.643 Hz Gain -2.07 dB Q 0.16 7 | Filter 6: ON HSC Fc 10369.707 Hz Gain -0.6 dB Q 0.25 8 | -------------------------------------------------------------------------------- /nix/common/bootloader.nix: -------------------------------------------------------------------------------- 1 | { ... }: 2 | 3 | { 4 | boot = { 5 | loader = { 6 | systemd-boot.enable = true; 7 | # only show the last 10 generations in the boot menu 8 | systemd-boot.configurationLimit = 10; 9 | efi.canTouchEfiVariables = true; 10 | }; 11 | 12 | tmp = { 13 | useTmpfs = true; 14 | 15 | # default = 50% 16 | tmpfsSize = "66%"; 17 | }; 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /ytdl/playlist: -------------------------------------------------------------------------------- 1 | # Generic Playlist Download 2 | 3 | --ignore-errors 4 | --add-metadata 5 | --all-subs 6 | --embed-subs 7 | --embed-thumbnail 8 | --write-thumbnail 9 | --write-sub 10 | --sub-lang en 11 | --write-info-json 12 | --format-sort 'height:1080' 13 | --merge-output-format mkv 14 | --output "/run/media/jayden/Seagate External/Backup/YouTube/Files/LithiumFrost Liked Videos/%(autonumber)s -- %(title)s [%(id)s].%(ext)s" 15 | -r 20M 16 | -------------------------------------------------------------------------------- /rofi/logout.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /afx/util.ts: -------------------------------------------------------------------------------- 1 | export const STANDARD_SINK_ZOOM = -36; 2 | 3 | export type Band = { 4 | type: string; 5 | mode: string; 6 | slope: number; 7 | freq: number; 8 | Q: number; 9 | gain: number; 10 | }; 11 | 12 | export type Device = { 13 | name: string; 14 | type: "source" | "sink"; 15 | output: "FL FR" | "MONO"; 16 | parent?: string; 17 | settings: { 18 | preamp: number; 19 | zoom?: number; 20 | bands: Band[]; 21 | }; 22 | }; 23 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/vim-dadbod-ui.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("vim-dadbod-ui"), 4 | dependencies = { 5 | { utils.mirror("vim-dadbod"), lazy = true }, 6 | { utils.mirror("vim-dadbod-completion"), lazy = true }, 7 | }, 8 | cmd = { 9 | "DBUI", 10 | "DBUIToggle", 11 | "DBUIAddConnection", 12 | "DBUIFindBuffer", 13 | }, 14 | init = function() 15 | vim.g.db_ui_use_nerd_fonts = 1 16 | end, 17 | } 18 | -------------------------------------------------------------------------------- /afx/dist/apo/sink-HE400i.txt: -------------------------------------------------------------------------------- 1 | Preamp: -8 dB 2 | Filter 1: ON PK Fc 25 Hz Gain 4.96 dB Q 1 3 | Filter 2: ON LSC Fc 105 Hz Gain 3.55 dB Q 0.71 4 | Filter 3: ON PK Fc 700 Hz Gain 1 dB Q 1 5 | Filter 4: ON PK Fc 1050 Hz Gain -1.8 dB Q 2 6 | Filter 5: ON PK Fc 1900 Hz Gain 5.7 dB Q 1.2 7 | Filter 6: ON PK Fc 2900 Hz Gain -2.8 dB Q 2 8 | Filter 7: ON PK Fc 6100 Hz Gain 3 dB Q 1.4 9 | Filter 8: ON PK Fc 6750 Hz Gain -4.7 dB Q 4.5 10 | Filter 9: ON PK Fc 8450 Hz Gain -2.9 dB Q 4 11 | -------------------------------------------------------------------------------- /zsh/dotenv.zsh: -------------------------------------------------------------------------------- 1 | # Filename of the dotenv file to look for 2 | : ${ZSH_DOTENV_FILE:=.env} 3 | 4 | source_env() { 5 | if [[ ! -f "$ZSH_DOTENV_FILE" ]]; then 6 | return 7 | fi 8 | 9 | # test .env syntax 10 | zsh -fn $ZSH_DOTENV_FILE || echo "dotenv: error when sourcing '$ZSH_DOTENV_FILE' file" >&2 11 | 12 | setopt localoptions allexport 13 | source $ZSH_DOTENV_FILE 14 | } 15 | 16 | autoload -U add-zsh-hook 17 | add-zsh-hook chpwd source_env 18 | 19 | source_env 20 | -------------------------------------------------------------------------------- /nix/theme.nix: -------------------------------------------------------------------------------- 1 | { 2 | base00 = "#202022"; 3 | base01 = "#2d2d30"; 4 | base02 = "#3a3a3e"; 5 | base03 = "#48484d"; 6 | base04 = "#57575c"; 7 | base05 = "#d3c7bb"; 8 | base06 = "#ddd0b4"; 9 | base07 = "#e7dabe"; 10 | base08 = "#a7c080"; 11 | base09 = "#d699b6"; 12 | base0A = "#83c092"; 13 | base0B = "#dbbc7f"; 14 | base0C = "#e69875"; 15 | base0D = "#7fbbb3"; 16 | base0E = "#e67e80"; 17 | base0F = "#d699b6"; 18 | 19 | color4 = "#95d1c9"; 20 | cursor = "#b5b1a4"; 21 | } 22 | -------------------------------------------------------------------------------- /ytdl/liked-videos: -------------------------------------------------------------------------------- 1 | # Liked Videos download 2 | 3 | --ignore-errors 4 | --add-metadata 5 | --all-subs 6 | --embed-subs 7 | --embed-thumbnail 8 | --write-thumbnail 9 | --write-sub 10 | --sub-lang en 11 | --write-info-json 12 | --format-sort 'height:1080' 13 | --merge-output-format mkv 14 | --output "/run/media/jayden/Seagate External/Backup/YouTube/Files/Liked Videos/%(title)s [%(id)s].%(ext)s" 15 | --download-archive "/run/media/jayden/Seagate External/Backup/YouTube/liked_videos.log" 16 | --limit-rate 20M 17 | -------------------------------------------------------------------------------- /rofi/power.rasi: -------------------------------------------------------------------------------- 1 | @import "base.rasi" 2 | 3 | configuration { 4 | font: "Sans 11"; 5 | show-icons: true; 6 | disable-history: true; 7 | fullscreen: false; 8 | tokenize: true; 9 | hide-scrollbar: true; 10 | sidebar-mode: false; 11 | scroll-method: 0; 12 | } 13 | 14 | window { 15 | width: 50%; 16 | } 17 | 18 | listview { 19 | columns: 5; 20 | lines: 1; 21 | } 22 | 23 | mainbox { 24 | children: [ listview ]; 25 | padding: 30px; 26 | } 27 | -------------------------------------------------------------------------------- /afx/dist/apo/sink-Focal_Bathys.txt: -------------------------------------------------------------------------------- 1 | Preamp: -5.6 dB 2 | Filter 1: ON LSC Fc 56.295 Hz Gain 1.57 dB Q 0.71 3 | Filter 2: ON PK Fc 430 Hz Gain -2 dB Q 1.2 4 | Filter 3: ON PK Fc 910 Hz Gain 7.5 dB Q 1.4 5 | Filter 4: ON PK Fc 1150 Hz Gain -4.6 dB Q 2 6 | Filter 5: ON PK Fc 2850 Hz Gain -1.5 dB Q 6 7 | Filter 6: ON PK Fc 3250 Hz Gain -1.5 dB Q 6 8 | Filter 7: ON PK Fc 4000 Hz Gain 4.5 dB Q 0.7 9 | Filter 8: ON PK Fc 4350 Hz Gain -1 dB Q 5 10 | Filter 9: ON PK Fc 5750 Hz Gain -1.5 dB Q 5 11 | Filter 10: ON HSC Fc 10000 Hz Gain 1.25 dB Q 0.71 12 | -------------------------------------------------------------------------------- /afx/dist/apo/sink-QC35.txt: -------------------------------------------------------------------------------- 1 | Preamp: -1.9 dB 2 | Filter 1: ON PK Fc 44 Hz Gain -1.5 dB Q 0.68 3 | Filter 2: ON PK Fc 120 Hz Gain -1.3 dB Q 1.09 4 | Filter 3: ON PK Fc 510 Hz Gain 1.5 dB Q 1.42 5 | Filter 4: ON PK Fc 1237 Hz Gain 0.6 dB Q 2.02 6 | Filter 5: ON PK Fc 1256 Hz Gain -1.1 dB Q 0.68 7 | Filter 6: ON PK Fc 1557 Hz Gain 1.2 dB Q 2.19 8 | Filter 7: ON PK Fc 1575 Hz Gain 0.8 dB Q 2.67 9 | Filter 8: ON PK Fc 2796 Hz Gain -3.4 dB Q 4.04 10 | Filter 9: ON PK Fc 6178 Hz Gain -6.1 dB Q 4.39 11 | Filter 10: ON PK Fc 7282 Hz Gain 2.8 dB Q 1.28 12 | -------------------------------------------------------------------------------- /nix/secrets.nix: -------------------------------------------------------------------------------- 1 | let 2 | jayden = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAHPNQGmdC7xUlvrlv1IpDlcV3JYAT4EO7o4EagtmtmI"; 3 | users = [ jayden ]; 4 | 5 | grace = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFJ07LC6Oii1E0RYGbDEZcnq1WvB4rw6CF6hU4d87tPu"; 6 | systems = [ grace ]; 7 | in 8 | { 9 | "secrets/mpv-secrets.lua.age".publicKeys = users ++ systems; 10 | "secrets/redshift.conf.age".publicKeys = users ++ systems; 11 | "secrets/env.age".publicKeys = users ++ systems; 12 | "secrets/ssh-config.age".publicKeys = users ++ systems; 13 | } 14 | -------------------------------------------------------------------------------- /afx/dist/apo/sink-Focal_Clear.txt: -------------------------------------------------------------------------------- 1 | Preamp: -6 dB 2 | Filter 1: ON LSC Fc 32 Hz Gain 3.21 dB Q 0.69 3 | Filter 2: ON LSC Fc 98.497 Hz Gain 1.39 dB Q 0.71 4 | Filter 3: ON PK Fc 570 Hz Gain 1.92 dB Q 0.8 5 | Filter 4: ON PK Fc 1350 Hz Gain -1.32 dB Q 1.7 6 | Filter 5: ON HSC Fc 1800 Hz Gain 4.75 dB Q 0.71 7 | Filter 6: ON PK Fc 3030 Hz Gain -2.9 dB Q 2.8 8 | Filter 7: ON PK Fc 3630 Hz Gain -2.2 dB Q 4.8 9 | Filter 8: ON PK Fc 5900 Hz Gain -5.3 dB Q 6 10 | Filter 9: ON PK Fc 7000 Hz Gain 2 dB Q 1 11 | Filter 10: ON HSC Fc 10000 Hz Gain -5 dB Q 0.71 12 | -------------------------------------------------------------------------------- /afx/dist/apo/sink-QC35_Wireless.txt: -------------------------------------------------------------------------------- 1 | Preamp: -4.2 dB 2 | Filter 1: ON PK Fc 13 Hz Gain -6.2 dB Q 0.52 3 | Filter 2: ON PK Fc 102 Hz Gain -2 dB Q 0.73 4 | Filter 3: ON PK Fc 476 Hz Gain 1.2 dB Q 1.84 5 | Filter 4: ON PK Fc 957 Hz Gain -1.3 dB Q 3.93 6 | Filter 5: ON PK Fc 1639 Hz Gain 4.3 dB Q 2.5 7 | Filter 6: ON PK Fc 2737 Hz Gain -3.6 dB Q 3.5 8 | Filter 7: ON PK Fc 5379 Hz Gain 1.7 dB Q 3.9 9 | Filter 8: ON PK Fc 6166 Hz Gain -5.5 dB Q 3.98 10 | Filter 9: ON PK Fc 8135 Hz Gain 2.4 dB Q 3.13 11 | Filter 10: ON PK Fc 19633 Hz Gain -1.18 dB Q 0.38 12 | -------------------------------------------------------------------------------- /nix/common/font.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | 3 | { 4 | fonts = { 5 | packages = [ 6 | pkgs.nerd-fonts.iosevka 7 | pkgs.nerd-fonts.jetbrains-mono 8 | ]; 9 | 10 | fontconfig = { 11 | hinting.style = "slight"; 12 | hinting.enable = true; 13 | hinting.autohint = false; 14 | 15 | subpixel.rgba = "rgb"; 16 | 17 | defaultFonts.serif = [ "FreeSerif" ]; 18 | defaultFonts.sansSerif = [ "FreeSans" ]; 19 | defaultFonts.monospace = [ "JetBrainsMono Nerd Font Mono" ]; 20 | }; 21 | }; 22 | } 23 | -------------------------------------------------------------------------------- /vim/snippets/html.lua: -------------------------------------------------------------------------------- 1 | ---@diagnostic disable: undefined-global 2 | return { 3 | s( 4 | "start", 5 | fmt( 6 | [[ 7 | 8 | 9 | 10 | 11 | 12 | Title 13 | 14 | 15 | 16 | 17 | 18 | 19 | ]], 20 | {} 21 | ) 22 | ), 23 | s( 24 | "<>", 25 | fmt( 26 | [[ 27 | <{1}> 28 | {2} 29 | 30 | ]], 31 | { i(1), i(0) }, 32 | { repeat_duplicates = true } 33 | ) 34 | ), 35 | } 36 | -------------------------------------------------------------------------------- /scripts/bt-battery.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | # if bluetooth is off we need to exit early because otherwise 4 | # the bluetoothctl command hangs forever 5 | active="$(systemctl status bluetooth | rg 'Active: active')" 6 | if [ "$active" = "" ]; then 7 | exit 0 8 | fi 9 | 10 | device=$(bluetoothctl devices Connected | rg "^Device (.*?) $1$" --only-matching --replace='$1' --color=never) 11 | if [ "$device" != "" ]; then 12 | bluetoothctl info "$device" | rg "Battery Percentage.*\((\d+)\)" --only-matching --replace='$1' --color=never 13 | fi 14 | -------------------------------------------------------------------------------- /csgo/crosshair.cfg: -------------------------------------------------------------------------------- 1 | cl_crosshair_drawoutline 1 2 | cl_crosshair_outlinethickness 1 3 | cl_crosshair_recoil 0 4 | cl_crosshair_t 0 5 | cl_crosshairalpha 255 6 | cl_crosshaircolor 5 7 | cl_crosshairdot 0 8 | cl_crosshairgap -1 9 | cl_crosshairgap_useweaponvalue 0 10 | cl_crosshairsize 2 11 | cl_crosshairstyle 4 12 | cl_crosshairthickness 0.5 13 | cl_crosshairusealpha 1 14 | 15 | cl_crosshaircolor_b 255 16 | cl_crosshaircolor_g 255 17 | cl_crosshaircolor_r 255 18 | 19 | cl_crosshair_friendly_warning 0 20 | cl_crosshair_sniper_width 1 21 | hud_showtargetid 1 22 | -------------------------------------------------------------------------------- /rofi/power.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /afx/dist/apo/sink-Moondrop_Space_Travel.txt: -------------------------------------------------------------------------------- 1 | Preamp: -3.99 dB 2 | Filter 1: ON PK Fc 104.8 Hz Gain -1.5 dB Q 0.46 3 | Filter 2: ON PK Fc 851.1 Hz Gain 0.8 dB Q 1.92 4 | Filter 3: ON PK Fc 1881 Hz Gain 2.2 dB Q 1.9 5 | Filter 4: ON PK Fc 2584.7 Hz Gain -0.8 dB Q 3.71 6 | Filter 5: ON PK Fc 2889.5 Hz Gain -1.8 dB Q 1.49 7 | Filter 6: ON PK Fc 3371.914 Hz Gain -2.74 dB Q 1.88 8 | Filter 7: ON PK Fc 4549.2 Hz Gain -1.3 dB Q 4.18 9 | Filter 8: ON PK Fc 5625.9 Hz Gain 4.5 dB Q 3.5 10 | Filter 9: ON PK Fc 7973.8 Hz Gain 2 dB Q 3.01 11 | Filter 10: ON HSC Fc 10000 Hz Gain -3.02 dB Q 0.7 12 | -------------------------------------------------------------------------------- /vim/lua/config/utils.lua: -------------------------------------------------------------------------------- 1 | local M = { 2 | mirror = function(name) 3 | return "https://git.jayden.codes/mirrors/" .. name 4 | end, 5 | theme = { 6 | color_base = "base46", 7 | theme = "everforest_darker", 8 | }, 9 | } 10 | 11 | function LoadBase46ColorScheme(theme) 12 | local present, base46 = pcall(require, "base46") 13 | if not present then 14 | return 15 | end 16 | local theme_opts = { 17 | base = M.theme.color_base, 18 | theme = theme or M.theme.theme, 19 | transparency = false, 20 | } 21 | base46.load_theme(theme_opts) 22 | end 23 | 24 | return M 25 | -------------------------------------------------------------------------------- /afx/devices/Truthear_Hexa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Truthear Hexa", 3 | "type": "sink", 4 | "output": "FL FR", 5 | "settings": { 6 | "preamp": -3, 7 | "bands": [ 8 | { 9 | "type": "lowshelf", 10 | "mode": "RLC_BT", 11 | "slope": 0, 12 | "freq": 118.933, 13 | "Q": 0.75, 14 | "gain": 1.98 15 | }, 16 | { 17 | "type": "peaking", 18 | "mode": "RLC_BT", 19 | "slope": 0, 20 | "freq": 8001.405, 21 | "Q": 4, 22 | "gain": -2.15 23 | } 24 | ] 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /nix/common/nix-conf.nix: -------------------------------------------------------------------------------- 1 | { config-vars, ... }: 2 | 3 | { 4 | # Allow unfree packages 5 | nixpkgs.config.allowUnfree = true; 6 | 7 | nixpkgs.config.permittedInsecurePackages = [ 8 | "electron-36.9.5" 9 | ]; 10 | 11 | nix.settings = { 12 | trusted-users = [ 13 | "root" 14 | config-vars.username 15 | ]; 16 | 17 | experimental-features = [ 18 | "nix-command" 19 | "flakes" 20 | ]; 21 | }; 22 | 23 | programs.nh = { 24 | enable = true; 25 | clean.enable = false; 26 | flake = "${config-vars.dotfiles-dir}/nix"; 27 | }; 28 | } 29 | -------------------------------------------------------------------------------- /rofi/list.rasi: -------------------------------------------------------------------------------- 1 | @import "base.rasi" 2 | 3 | * { 4 | font: "Mono 12"; 5 | } 6 | 7 | configuration { 8 | disable-history: true; 9 | tokenize: true; 10 | sidebar-mode: false; 11 | scroll-method: 1; 12 | } 13 | 14 | window { 15 | width: 50%; 16 | } 17 | 18 | entry { 19 | placeholder: ""; 20 | } 21 | 22 | listview { 23 | columns: 1; 24 | } 25 | 26 | element { 27 | padding: 20px 10px; 28 | margin: 0px; 29 | spacing: 0px; 30 | } 31 | 32 | element-icon { 33 | size: 0px; 34 | } 35 | -------------------------------------------------------------------------------- /scripts/send-to-phone.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -eou pipefail 3 | 4 | device="$(kdeconnect-cli --list-devices --id-only)" 5 | 6 | if [ "$device" = "" ]; then 7 | notify-send "send-to-phone" "Error: No device found" 8 | exit 1 9 | fi 10 | 11 | if [ "$1" = "" ]; then 12 | notify-send "send-to-phone" "Error: No file specified" 13 | exit 1 14 | fi 15 | 16 | if [ ! -f "$1" ]; then 17 | notify-send "send-to-phone" "Error: File $1 does not exist" 18 | exit 1 19 | fi 20 | 21 | kdeconnect-cli --device "$device" --share "$1" 22 | notify-send "send-to-phone" "File sent" 23 | -------------------------------------------------------------------------------- /nix/common/lecture.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | 3 | { 4 | # setup the sudoers lecture 5 | security.sudo.extraConfig = '' 6 | Defaults lecture = always 7 | Defaults lecture_file = ${ 8 | pkgs.writeTextFile { 9 | name = "sudoers-lecture"; 10 | text = '' 11 | 12 |  "Bee" careful __ 13 | with sudo! // \ 14 | \\_/ // 15 | '''-.._.-'''-.._.. -(||)(') 16 | '''' 17 | ''; 18 | } 19 | } 20 | ''; 21 | } 22 | -------------------------------------------------------------------------------- /vim/snippets/yaml.lua: -------------------------------------------------------------------------------- 1 | ---@diagnostic disable: undefined-global 2 | return { 3 | s( 4 | "service", 5 | fmt( 6 | [[ 7 | service: {1} 8 | 9 | updatable: 10 | - {1} 11 | 12 | nginx: 13 | template: sso-proxy 14 | subdomain: {1} 15 | name: {1} 16 | endpoint: http://localhost 17 | users: ['jayden'] 18 | port: "{{{{ PORT_{2} }}}}" 19 | homepage: 20 | name: {1} 21 | icon: {1}.png 22 | 23 | docker: 24 | services: 25 | {3} 26 | ]], 27 | { i(1), f(function(args) 28 | return args[1][1]:upper() 29 | end, { 1 }), i(0) }, 30 | { repeat_duplicates = true } 31 | ) 32 | ), 33 | } 34 | -------------------------------------------------------------------------------- /zsh/dir.zsh: -------------------------------------------------------------------------------- 1 | setopt auto_pushd 2 | setopt pushd_ignore_dups 3 | setopt pushdminus 4 | 5 | alias -g ...='../..' 6 | alias -g ....='../../..' 7 | alias -g .....='../../../..' 8 | alias -g ......='../../../../..' 9 | 10 | alias -- -='cd -' 11 | alias 1='cd -' 12 | alias 2='cd -2' 13 | alias 3='cd -3' 14 | alias 4='cd -4' 15 | alias 5='cd -5' 16 | alias 6='cd -6' 17 | alias 7='cd -7' 18 | alias 8='cd -8' 19 | alias 9='cd -9' 20 | 21 | alias md='mkdir -p' 22 | alias rd=rmdir 23 | 24 | function d () { 25 | if [[ -n $1 ]]; then 26 | dirs "$@" 27 | else 28 | dirs -v | head -10 29 | fi 30 | } 31 | compdef _dirs d 32 | -------------------------------------------------------------------------------- /rofi/screenshot.rasi: -------------------------------------------------------------------------------- 1 | configuration { 2 | font: "Sans 11"; 3 | show-icons: true; 4 | display-drun: ""; 5 | drun-display-format: "{name}"; 6 | 7 | disable-history: true; 8 | tokenize: true; 9 | sidebar-mode: false; 10 | scroll-method: 1; 11 | } 12 | 13 | @import "base.rasi" 14 | 15 | window { 16 | height: 113px; 17 | width: 570px; 18 | } 19 | 20 | inputbar { 21 | margin: 14px 0 0 40px; 22 | } 23 | 24 | entry { 25 | placeholder: ""; 26 | } 27 | -------------------------------------------------------------------------------- /rofi/config.rasi: -------------------------------------------------------------------------------- 1 | // default config (only used for the pinentry-rofi prompts since the 2 | // theme for that one can't be passed in) 3 | 4 | @import "base.rasi" 5 | 6 | * { 7 | font: "Mono 11"; 8 | } 9 | 10 | window { 11 | width: 700px; 12 | margin: 0px; 13 | padding: 0px; 14 | // border: 1px solid; 15 | border-color: @foreground; 16 | border-radius: 12px; 17 | } 18 | 19 | entry { 20 | placeholder: ""; 21 | font: "DejaVuSansMono Bold 12"; 22 | } 23 | 24 | mainbox { 25 | enabled: true; 26 | children: [ "inputbar", "message" ]; 27 | } 28 | 29 | message { 30 | border: 0px solid; 31 | } 32 | -------------------------------------------------------------------------------- /nix/home/zathura.nix: -------------------------------------------------------------------------------- 1 | { ... }: 2 | 3 | { 4 | programs.zathura = { 5 | enable = true; 6 | mappings = { 7 | "j" = "scroll left"; 8 | "i" = "scroll up"; 9 | "k" = "scroll down"; 10 | 11 | "K" = "scroll half-down"; 12 | "I" = "scroll half-up"; 13 | 14 | "" = "navigate next"; 15 | "" = "navigate previous"; 16 | }; 17 | 18 | options = { 19 | "selection-clipboard" = "clipboard"; 20 | "statusbar-home-tilde" = true; 21 | "guioptions" = "vh"; 22 | "scroll-step" = 100; 23 | "scroll-page-aware" = true; 24 | "page-padding" = 8; 25 | }; 26 | }; 27 | } 28 | -------------------------------------------------------------------------------- /scripts/wallpaper/wallpaper.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | # -t Start in thumbnail mode. 4 | # -b Do not show info bar on bottom of window. 5 | # -o Write list of all marked files to standard output when quitting. 6 | # -g Set window position and size. 7 | chosen_wall=$(fd . ${1:-.} -e png -e jpg -e jpeg -e webp | nsxiv - -t -b -o -g 1600x900) 8 | 9 | if [ "$chosen_wall" = "" ]; then 10 | echo "no image chosen" 11 | else 12 | nitrogen --set-zoom-fill --save "$chosen_wall" --head=0 2>/dev/null 13 | nitrogen --set-zoom-fill --save "$chosen_wall" --head=1 2>/dev/null 14 | cp "$chosen_wall" $DOT/nix/common/wall 15 | fi 16 | -------------------------------------------------------------------------------- /vim/snippets/sh.lua: -------------------------------------------------------------------------------- 1 | ---@diagnostic disable: undefined-global 2 | return { 3 | s("cpr", t("rsync --archive -hh --partial --info=stats1,progress2 --modify-window=1 -e ssh")), 4 | s("mvr", t("rsync --archive -hh --partial --info=stats1,progress2 --modify-window=1 --remove-source-files -e ssh")), 5 | s( 6 | "bash", 7 | fmt( 8 | [[ 9 | #!/usr/bin/env bash 10 | set -euo pipefail 11 | ]], 12 | {} 13 | ) 14 | ), 15 | s( 16 | "argparse", 17 | fmt( 18 | [[ 19 | while test $# -gt 0 20 | do 21 | case "$1" in 22 | --flag) echo "flag" 23 | ;; 24 | *) echo "parameter" 25 | ;; 26 | esac 27 | shift 28 | done 29 | ]], 30 | {} 31 | ) 32 | ), 33 | } 34 | -------------------------------------------------------------------------------- /afx/dist/peq/sink-Flat.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Flat", 4 | "preamp": 0, 5 | "parametric": true, 6 | "bands": [ 7 | { 8 | "type": 0, 9 | "channels": 0, 10 | "frequency": 90, 11 | "q": 0, 12 | "gain": 0, 13 | "color": 0 14 | }, 15 | { 16 | "type": 1, 17 | "channels": 0, 18 | "frequency": 10000, 19 | "q": 0, 20 | "gain": 0, 21 | "color": 0 22 | }, 23 | { 24 | "type": 3, 25 | "channels": 0, 26 | "frequency": 500, 27 | "q": 1, 28 | "gain": 0, 29 | "color": -13421773 30 | } 31 | ] 32 | } 33 | ] -------------------------------------------------------------------------------- /vim/lua/config/plugins/gitlinker.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("gitlinker.nvim"), 4 | lazy = true, 5 | init = function() 6 | vim.api.nvim_create_user_command("GOpen", function(opts) 7 | require("gitlinker").get_buf_range_url("n") 8 | end, { range = true }) 9 | end, 10 | dependencies = { utils.mirror("plenary.nvim") }, 11 | config = function() 12 | require("gitlinker").setup({ 13 | mappings = nil, 14 | opts = { 15 | action_callback = require("gitlinker.actions").open_in_browser, 16 | }, 17 | callbacks = { 18 | ["git.jayden.codes"] = require("gitlinker.hosts").get_gitea_type_url, 19 | }, 20 | }) 21 | end, 22 | } 23 | -------------------------------------------------------------------------------- /afx/dist/apo/sink-HD_560S.txt: -------------------------------------------------------------------------------- 1 | Preamp: 0 dB 2 | Filter 1: ON LSC Fc 34.851 Hz Gain 5 dB Q 0.46 3 | Filter 2: ON PK Fc 73.913 Hz Gain 0.4 dB Q 1.4 4 | Filter 3: ON PK Fc 207.579 Hz Gain -0.62 dB Q 1.4 5 | Filter 4: ON PK Fc 608 Hz Gain 0.7 dB Q 0.89 6 | Filter 5: ON PK Fc 710.698 Hz Gain 1.39 dB Q 0 7 | Filter 6: ON PK Fc 1011 Hz Gain -0.8 dB Q 2.42 8 | Filter 7: ON PK Fc 1290 Hz Gain -1.3 dB Q 2.1 9 | Filter 8: ON PK Fc 1811 Hz Gain 1 dB Q 4.04 10 | Filter 9: ON PK Fc 2199 Hz Gain 1.4 dB Q 3.26 11 | Filter 10: ON PK Fc 5038 Hz Gain -5.12 dB Q 2.35 12 | Filter 11: ON PK Fc 6148.913 Hz Gain -1.65 dB Q 5.8 13 | Filter 12: ON PK Fc 9960 Hz Gain 4.08 dB Q 0.86 14 | Filter 13: ON LPQ Fc 14858.112 Hz Q 0.6 15 | -------------------------------------------------------------------------------- /afx/dist/peq/sink-Focal_Clear_2.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Focal Clear 2", 4 | "preamp": -6.5, 5 | "parametric": true, 6 | "bands": [ 7 | { 8 | "type": 0, 9 | "channels": 0, 10 | "frequency": 90, 11 | "q": 0, 12 | "gain": 0, 13 | "color": 0 14 | }, 15 | { 16 | "type": 1, 17 | "channels": 0, 18 | "frequency": 10000, 19 | "q": 0, 20 | "gain": 0, 21 | "color": 0 22 | }, 23 | { 24 | "type": 4, 25 | "channels": 0, 26 | "frequency": 50, 27 | "q": 0.66, 28 | "gain": 6.5, 29 | "color": -13421773 30 | } 31 | ] 32 | } 33 | ] -------------------------------------------------------------------------------- /vim/snippets/c.lua: -------------------------------------------------------------------------------- 1 | ---@diagnostic disable: undefined-global 2 | return { 3 | s( 4 | "cstart", 5 | fmt( 6 | [[ 7 | /* 8 | Author: Jayden Chan 9 | Date: {1} 10 | */ 11 | #include 12 | #include 13 | 14 | int main() {{ 15 | {2} 16 | return EXIT_SUCCESS; 17 | }} 18 | ]], 19 | { i(1), i(0) } 20 | ) 21 | ), 22 | 23 | s("in", fmt("#include {}", i(0))), 24 | s("pf", fmt('printf("{}");', i(0))), 25 | s("pl", fmt('printf("{}\\n");', i(0))), 26 | 27 | s( 28 | "for", 29 | fmt( 30 | [[ 31 | for (int {1} = {2}; {1} < {3}; ++{1}) {{ 32 | {4} 33 | }} 34 | ]], 35 | { i(1), i(2), i(3), i(0) }, 36 | { repeat_duplicates = true } 37 | ) 38 | ), 39 | } 40 | -------------------------------------------------------------------------------- /afx/devices/Energy.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Energy", 3 | "type": "sink", 4 | "output": "FL FR", 5 | "settings": { 6 | "preamp": -3.2, 7 | "bands": [ 8 | { 9 | "type": "lowshelf", 10 | "mode": "RLC_BT", 11 | "slope": 0, 12 | "freq": 91.362, 13 | "Q": 0.75, 14 | "gain": -2.57 15 | }, 16 | { 17 | "type": "peaking", 18 | "mode": "RLC_BT", 19 | "slope": 0, 20 | "freq": 710.7, 21 | "Q": 0, 22 | "gain": 3.57 23 | }, 24 | { 25 | "type": "highshelf", 26 | "mode": "RLC_BT", 27 | "slope": 0, 28 | "freq": 10255.173, 29 | "Q": 0, 30 | "gain": 1.43 31 | } 32 | ] 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /vim/lua/config/treesitter_langs.lua: -------------------------------------------------------------------------------- 1 | local base = { 2 | "astro", 3 | "bash", 4 | "c", 5 | "cmake", 6 | "cpp", 7 | "css", 8 | "dart", 9 | "go", 10 | "graphql", 11 | "hcl", 12 | "html", 13 | "http", 14 | "hurl", 15 | "java", 16 | "javascript", 17 | "json", 18 | "jsonc", 19 | "just", 20 | "lua", 21 | "make", 22 | "markdown", 23 | "markdown_inline", 24 | "nginx", 25 | "nix", 26 | "python", 27 | "query", 28 | "rasi", 29 | "rust", 30 | "sql", 31 | "terraform", 32 | "toml", 33 | "tsx", 34 | "typescript", 35 | "vim", 36 | "yaml", 37 | } 38 | 39 | local extended = vim.list_extend(vim.deepcopy(base), { 40 | "typescriptreact", 41 | "javascriptreact", 42 | }) 43 | 44 | return { 45 | base = base, 46 | extended = extended, 47 | } 48 | -------------------------------------------------------------------------------- /nix/common/thunar.nix: -------------------------------------------------------------------------------- 1 | { pkgs, config-vars, ... }: 2 | 3 | let 4 | package = pkgs.xfce.thunar.override { 5 | thunarPlugins = with pkgs.xfce; [ 6 | thunar-archive-plugin 7 | thunar-volman 8 | ]; 9 | }; 10 | in 11 | { 12 | # xfconf is required to persist Thunar settings 13 | # since we're not running on XFCE 14 | programs.xfconf.enable = true; 15 | 16 | # gvfs is for Thunar stuff like Trash folders etc 17 | services.gvfs.enable = true; 18 | 19 | # thumbnail generation service for Thunar 20 | services.tumbler.enable = true; 21 | 22 | # required for Thunar archive plugin 23 | programs.file-roller.enable = true; 24 | 25 | environment.systemPackages = [ package ]; 26 | services.dbus.packages = [ package ]; 27 | systemd.packages = [ package ]; 28 | } 29 | -------------------------------------------------------------------------------- /rofi/reboot.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/lspsaga.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("lspsaga.nvim"), 4 | dependencies = { 5 | utils.mirror("nvim-web-devicons"), 6 | utils.mirror("nvim-treesitter"), 7 | }, 8 | lazy = true, 9 | opts = { 10 | finder = { 11 | edit = { "o", "" }, 12 | quit = { "q", "" }, 13 | split = "H", 14 | tabe = "t", 15 | vsplit = "s", 16 | }, 17 | symbol_in_winbar = { 18 | enable = false, 19 | }, 20 | hover = { 21 | max_width = 0.6, 22 | }, 23 | diagnostic = { 24 | on_insert = false, 25 | on_insert_follow = false, 26 | }, 27 | lightbulb = { 28 | enable = true, 29 | enable_in_insert = false, 30 | cache_code_action = false, 31 | sign = true, 32 | update_time = 150, 33 | sign_priority = 20, 34 | virtual_text = true, 35 | }, 36 | }, 37 | } 38 | -------------------------------------------------------------------------------- /afx/dist/peq/sink-Truthear_Hexa.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Truthear Hexa", 4 | "preamp": -3, 5 | "parametric": true, 6 | "bands": [ 7 | { 8 | "type": 0, 9 | "channels": 0, 10 | "frequency": 90, 11 | "q": 0, 12 | "gain": 0, 13 | "color": 0 14 | }, 15 | { 16 | "type": 1, 17 | "channels": 0, 18 | "frequency": 10000, 19 | "q": 0, 20 | "gain": 0, 21 | "color": 0 22 | }, 23 | { 24 | "type": 4, 25 | "channels": 0, 26 | "frequency": 119, 27 | "q": 0.75, 28 | "gain": 1.98, 29 | "color": -13421773 30 | }, 31 | { 32 | "type": 3, 33 | "channels": 0, 34 | "frequency": 8001, 35 | "q": 4, 36 | "gain": -2.15, 37 | "color": -8947849 38 | } 39 | ] 40 | } 41 | ] -------------------------------------------------------------------------------- /afx/dist/apo/sink-Focal_Bathys_(aftermarket_pads)_(combined).txt: -------------------------------------------------------------------------------- 1 | Preamp: -1.5 dB 2 | Filter 1: ON LSC Fc 56.295 Hz Gain 1.57 dB Q 0.71 3 | Filter 2: ON LSC Fc 335.294 Hz Gain -2.68 dB Q 0 4 | Filter 3: ON PK Fc 430 Hz Gain -2 dB Q 1.2 5 | Filter 4: ON PK Fc 622.901 Hz Gain -1.99 dB Q 0.25 6 | Filter 5: ON PK Fc 893.716 Hz Gain -1.03 dB Q 1.41 7 | Filter 6: ON PK Fc 910 Hz Gain 7.5 dB Q 1.4 8 | Filter 7: ON PK Fc 1150 Hz Gain -4.6 dB Q 2 9 | Filter 8: ON PK Fc 2850 Hz Gain -1.5 dB Q 6 10 | Filter 9: ON PK Fc 2901.097 Hz Gain -0.95 dB Q 1.16 11 | Filter 10: ON PK Fc 2959.643 Hz Gain -2.07 dB Q 0.16 12 | Filter 11: ON PK Fc 3250 Hz Gain -1.5 dB Q 6 13 | Filter 12: ON PK Fc 4000 Hz Gain 4.5 dB Q 0.7 14 | Filter 13: ON PK Fc 4350 Hz Gain -1 dB Q 5 15 | Filter 14: ON PK Fc 5750 Hz Gain -1.5 dB Q 5 16 | Filter 15: ON HSC Fc 10000 Hz Gain 1.25 dB Q 0.71 17 | Filter 16: ON HSC Fc 10369.707 Hz Gain -0.6 dB Q 0.25 18 | -------------------------------------------------------------------------------- /nix/home/mangohud.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | 3 | let 4 | settings = { 5 | # need to override the stylix font size here 6 | font_size = lib.mkForce 24; 7 | font_size_text = lib.mkForce 24; 8 | font_scale = lib.mkForce 0.6; 9 | 10 | position = "bottom-left"; 11 | horizontal_stretch = 0; 12 | hud_no_margin = 1; 13 | hud_compact = 1; 14 | horizontal = 1; 15 | cpu_mhz = 1; 16 | gpu_core_clock = 1; 17 | ram = 1; 18 | swap = 1; 19 | frametime = 0; 20 | frame_timing = 0; 21 | }; 22 | in 23 | 24 | { 25 | programs.mangohud = { 26 | enable = true; 27 | inherit settings; 28 | 29 | settingsPerApplication = { 30 | wine-hitman3 = lib.recursiveUpdate settings { 31 | fps_limit = 240; 32 | }; 33 | wine-LEGOSTARWARSSKYWALKERSAGA_DX11 = lib.recursiveUpdate settings { 34 | fps_limit = 165; 35 | }; 36 | }; 37 | }; 38 | } 39 | -------------------------------------------------------------------------------- /nix/common/x.nix: -------------------------------------------------------------------------------- 1 | { pkgs, config-vars, ... }: 2 | 3 | { 4 | services.xserver = { 5 | enable = true; 6 | dpi = 96; 7 | 8 | # key repeat delay and interval rate 9 | autoRepeatDelay = 270; 10 | autoRepeatInterval = 35; 11 | 12 | xkb = { 13 | layout = "us"; 14 | variant = ""; 15 | }; 16 | 17 | windowManager.awesome.enable = true; 18 | 19 | displayManager = { 20 | lightdm = { 21 | enable = true; 22 | greeters.gtk.enable = true; 23 | }; 24 | 25 | sessionCommands = '' 26 | xrdb -merge ${config-vars.home-dir}/.config/Xresources 27 | rm ${config-vars.home-dir}/.xsession-errors.old 28 | 29 | xmodmap -e "clear lock" 30 | xmodmap -e "keysym Caps_Lock = Escape" 31 | ''; 32 | }; 33 | 34 | # don't bother installing xterm since we don't need it 35 | excludePackages = [ pkgs.xterm ]; 36 | }; 37 | } 38 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/comment.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("Comment.nvim"), 4 | dependencies = { 5 | utils.mirror("nvim-ts-context-commentstring"), 6 | }, 7 | config = function() 8 | require("Comment").setup({ 9 | mappings = { 10 | basic = false, 11 | extra = false, 12 | }, 13 | pre_hook = require("ts_context_commentstring.integrations.comment_nvim").create_pre_hook(), 14 | }) 15 | end, 16 | keys = { 17 | { 18 | "gcc", 19 | function() 20 | return vim.api.nvim_get_vvar("count") == 0 and "(comment_toggle_linewise_current)" 21 | or "(comment_toggle_linewise_count)" 22 | end, 23 | "n", 24 | expr = true, 25 | desc = "Comment toggle current line", 26 | }, 27 | { 28 | "gc", 29 | "(comment_toggle_linewise_visual)", 30 | mode = "x", 31 | desc = "Comment toggle linewise (visual)", 32 | }, 33 | }, 34 | } 35 | -------------------------------------------------------------------------------- /scripts/weather.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | [ -e "$HOME/.config/ENV" ] && . "$HOME"/.config/ENV 4 | 5 | city="$WEATHER_CITY" 6 | 7 | if [ "$city" = "" ]; then 8 | echo "weather city not set" 9 | exit 10 | fi 11 | 12 | if [ "$1" = "--open" ]; then xdg-open "https://cron.jayden.codes/weather/open/$city"; exit; fi 13 | 14 | if [ -z "$HA_TOKEN" ]; then 15 | indoor_temp="" 16 | else 17 | ha_temp="$(curl -X GET \ 18 | -H "authorization: Bearer $HA_TOKEN" \ 19 | -H "content-type: application/json" \ 20 | https://homeassistant.jayden.codes/api/states/sensor.temp_sensor_1_temperature \ 21 | | jq -r '.state | tonumber * 10 | round / 10')" 22 | 23 | if [ -n "$ha_temp" ] && [ "$ha_temp" != "unavailable" ]; then 24 | indoor_temp=" (${ha_temp}C)" 25 | fi 26 | fi 27 | 28 | weather=$(curl --silent "https://cron.jayden.codes/weather/short/$city") 29 | echo "$weather$indoor_temp" 30 | -------------------------------------------------------------------------------- /afx/devices/AT2040.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AT2040", 3 | "type": "source", 4 | "output": "MONO", 5 | "settings": { 6 | "preamp": 0, 7 | "zoom": -31.57, 8 | "bands": [ 9 | { 10 | "type": "highpass", 11 | "mode": "RLC_BT", 12 | "slope": 1, 13 | "freq": 60, 14 | "Q": 0.6, 15 | "gain": 0 16 | }, 17 | { 18 | "type": "peaking", 19 | "mode": "RLC_BT", 20 | "slope": 0, 21 | "freq": 103.227, 22 | "Q": 0.28, 23 | "gain": -0.5 24 | }, 25 | { 26 | "type": "peaking", 27 | "mode": "RLC_BT", 28 | "slope": 0, 29 | "freq": 1035.169, 30 | "Q": 4.1, 31 | "gain": -1.01 32 | }, 33 | { 34 | "type": "peaking", 35 | "mode": "RLC_BT", 36 | "slope": 0, 37 | "freq": 2905.615, 38 | "Q": 3.77, 39 | "gain": -4.86 40 | } 41 | ] 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /nix/common/stylix.nix: -------------------------------------------------------------------------------- 1 | { 2 | pkgs, 3 | config-vars, 4 | ... 5 | }: 6 | 7 | { 8 | stylix.enable = true; 9 | stylix.autoEnable = false; 10 | stylix.polarity = "dark"; 11 | 12 | # I'm not even using the stylix wallpaper functionality 13 | # but it barfs if you don't set this option 14 | stylix.image = ./wall; 15 | 16 | stylix.base16Scheme = config-vars.theme; 17 | 18 | stylix.cursor = { 19 | package = pkgs.apple-cursor; 20 | name = "macOS"; 21 | size = 24; 22 | }; 23 | 24 | stylix.fonts = { 25 | monospace = { 26 | package = pkgs.nerd-fonts.jetbrains-mono; 27 | name = "JetBrainsMono Nerd Font Mono"; 28 | }; 29 | 30 | sansSerif = { 31 | package = pkgs.nerd-fonts.jetbrains-mono; 32 | name = "FreeSans"; 33 | }; 34 | 35 | serif = { 36 | package = pkgs.nerd-fonts.jetbrains-mono; 37 | name = "FreeSerif"; 38 | }; 39 | 40 | sizes = { 41 | applications = 10; 42 | }; 43 | }; 44 | } 45 | -------------------------------------------------------------------------------- /scripts/gamemode.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | accel_prop="libinput Accel Speed" 4 | accel_speed="-0.80" 5 | 6 | if [ "$1" = "--cs2" ]; then 7 | accel_speed="-1" 8 | fi 9 | 10 | declare -a mice=("Razer Razer Viper V2 Pro" "WL WLMOUSE BEAST X PRO 8K RECEIVER" "2.4G Wireless Mouse") 11 | 12 | for mouse in "${mice[@]}"; do 13 | for id in $(xinput | rg "$mouse" | rg "pointer" | rg "id=(\d+)" --color=never --only-matching --replace='$1'); do 14 | xinput --list-props "$id" | rg "$accel_prop" >/dev/null 2>&1 \ 15 | && echo "xinput --set-prop $id $accel_prop $accel_speed" \ 16 | && xinput --set-prop "$id" "$accel_prop" "$accel_speed" 17 | done 18 | done 19 | 20 | if [ "$1" = "--mouse-only" ]; then 21 | exit 0 22 | fi 23 | 24 | numlockx on 25 | killall picom 26 | "$DOT/scripts/liquidctl.sh" 4 27 | sleep 5 28 | notify-send --urgency=critical "gpu-screen-recorder" "Enable GPU screen recorder" 29 | notify-send --urgency=critical "sensors-mon" "Remove computer top panel" 30 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/blink-cmp.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | 3 | return { 4 | utils.mirror("blink.cmp"), 5 | -- lazy loading handled internally 6 | lazy = false, 7 | dependencies = { utils.mirror("LuaSnip") }, 8 | 9 | -- use a release tag to download pre-built binaries 10 | version = "v0.*", 11 | 12 | opts = { 13 | sources = { default = { "lsp", "path", "buffer" } }, 14 | keymap = { preset = "default", [""] = {} }, 15 | 16 | appearance = { 17 | use_nvim_cmp_as_default = true, 18 | nerd_font_variant = "mono", 19 | }, 20 | 21 | signature = { enabled = false }, 22 | 23 | completion = { 24 | trigger = { show_on_insert_on_trigger_character = false }, 25 | menu = { 26 | scrollbar = false, 27 | auto_show = function() 28 | return vim.bo.buftype ~= "prompt" and vim.b.completion ~= false 29 | end, 30 | }, 31 | list = { selection = { preselect = false, auto_insert = true } }, 32 | }, 33 | }, 34 | opts_extend = { "sources.default" }, 35 | } 36 | -------------------------------------------------------------------------------- /nix/home/mpv/config.nix: -------------------------------------------------------------------------------- 1 | { ... }: 2 | 3 | { 4 | imports = [ 5 | ./script-all-audio.nix 6 | ./script-append-url.nix 7 | ./script-cut-video.nix 8 | ]; 9 | 10 | programs.mpv = { 11 | enable = true; 12 | bindings = { 13 | "MBTN_LEFT" = "cycle pause"; 14 | "WHEEL_RIGHT" = "seek 10"; 15 | "WHEEL_LEFT" = "seek -10"; 16 | "WHEEL_DOWN" = "add volume -2"; 17 | "WHEEL_UP" = "add volume 2"; 18 | "UP" = "add volume 2"; 19 | "DOWN" = "add volume -2"; 20 | "V" = "cycle sub"; 21 | "L" = "cycle-values loop-file inf no"; 22 | "h" = "vf toggle hflip"; 23 | }; 24 | 25 | config = { 26 | osd-scale-by-window = false; 27 | osd-bar = false; 28 | osd-scale = 0.7; 29 | sub-scale = 0.5; 30 | loop = true; 31 | mute = true; 32 | volume = 50; 33 | autofit-larger = "1200x900"; 34 | }; 35 | 36 | scriptOpts = { 37 | osc = { 38 | scalefullscreen = 0.8; 39 | }; 40 | }; 41 | }; 42 | } 43 | -------------------------------------------------------------------------------- /vim/snippets/cpp.lua: -------------------------------------------------------------------------------- 1 | ---@diagnostic disable: undefined-global 2 | return { 3 | s("cout", fmt('cout << "{1}"{2};', { i(1), i(0) })), 4 | s("coutl", fmt("std::cout << \"{1}\" << '\n';", { i(0) })), 5 | s( 6 | "cppstart", 7 | fmt( 8 | [[ 9 | #include 10 | 11 | int main() {{ 12 | std::cout << "Hello World!" << std::endl; 13 | return 0; 14 | }} 15 | ]], 16 | {} 17 | ) 18 | ), 19 | s( 20 | "header", 21 | fmt( 22 | [[ 23 | #ifndef {1}_H 24 | #define {1}_H 25 | 26 | class {2} 27 | {{ 28 | public: 29 | {2}(); 30 | protected: 31 | private: 32 | }}; 33 | 34 | #endif // $1_H 35 | ]], 36 | { i(1), i(0) }, 37 | { repeat_duplicates = true } 38 | ) 39 | ), 40 | s( 41 | "ns", 42 | fmt( 43 | [[ 44 | namespace {1} {{ 45 | {2} 46 | }} // namespace {1} 47 | ]], 48 | { i(1), i(0) } 49 | ) 50 | ), 51 | s( 52 | "source", 53 | fmt( 54 | [[ 55 | #include 56 | #include "{1}.h" 57 | 58 | {1}::{1}({2}) 59 | {{ 60 | {3} 61 | }} 62 | ]], 63 | { i(1), i(2), i(0) } 64 | ) 65 | ), 66 | } 67 | -------------------------------------------------------------------------------- /afx/dist/peq/sink-Energy.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Energy", 4 | "preamp": -3.2, 5 | "parametric": true, 6 | "bands": [ 7 | { 8 | "type": 0, 9 | "channels": 0, 10 | "frequency": 90, 11 | "q": 0, 12 | "gain": 0, 13 | "color": 0 14 | }, 15 | { 16 | "type": 1, 17 | "channels": 0, 18 | "frequency": 10000, 19 | "q": 0, 20 | "gain": 0, 21 | "color": 0 22 | }, 23 | { 24 | "type": 4, 25 | "channels": 0, 26 | "frequency": 91, 27 | "q": 0.75, 28 | "gain": -2.57, 29 | "color": -13421773 30 | }, 31 | { 32 | "type": 3, 33 | "channels": 0, 34 | "frequency": 711, 35 | "q": 0, 36 | "gain": 3.57, 37 | "color": -8947849 38 | }, 39 | { 40 | "type": 5, 41 | "channels": 0, 42 | "frequency": 10255, 43 | "q": 0, 44 | "gain": 1.43, 45 | "color": -13421773 46 | } 47 | ] 48 | } 49 | ] -------------------------------------------------------------------------------- /vim/snippets/java.lua: -------------------------------------------------------------------------------- 1 | ---@diagnostic disable: undefined-global 2 | return { 3 | s("cw", fmt("System.out.println({});", i(0))), 4 | s("cl", fmt("System.out.print({});", i(0))), 5 | s("pf", fmt('System.out.printf("{}");', i(0))), 6 | s("pl", fmt('System.out.printf("{}\\n");', i(0))), 7 | s( 8 | "jstart", 9 | fmt( 10 | [[ 11 | /** 12 | * @author Jayden Chan 13 | * @version 1.0 14 | * Date Created: {1} 15 | * 16 | * {2} 17 | */ 18 | 19 | public class {3} {{ 20 | 21 | }} 22 | ]], 23 | { i(1), i(2), i(0) } 24 | ) 25 | ), 26 | s( 27 | "main", 28 | fmt( 29 | [[ 30 | public static void main(String args[]) {{ 31 | System.out.println("Hello World!"); 32 | }} 33 | ]], 34 | {} 35 | ) 36 | ), 37 | s( 38 | "for", 39 | fmt( 40 | [[ 41 | for(int {1} = {2}; {1} < {3}; {1}++) {{ 42 | {4} 43 | }} 44 | ]], 45 | { i(1), i(2), i(3), i(0) }, 46 | { repeat_duplicates = true } 47 | ) 48 | ), 49 | s( 50 | "forr", 51 | fmt( 52 | [[ 53 | for(int {1} = {2}-1; {1} >= 0; {1}--) {{ 54 | {3} 55 | }} 56 | ]], 57 | { i(1), i(2), i(0) }, 58 | { repeat_duplicates = true } 59 | ) 60 | ), 61 | } 62 | -------------------------------------------------------------------------------- /vim/snippets/rust.lua: -------------------------------------------------------------------------------- 1 | ---@diagnostic disable: undefined-global 2 | return { 3 | s("pl", fmt('println!("{}"{})', { i(1), i(0) })), 4 | s("pf", fmt('print!("{}"{})', { i(1), i(0) })), 5 | s("ep", fmt('eprintln!("{}"{})', { i(1), i(0) })), 6 | s("ase", fmt("assert_eq!({})", { i(0) })), 7 | s("as", fmt("assert!({})", { i(0) })), 8 | s("asn", fmt("assert_ne!({})", { i(0) })), 9 | s("der", fmt("#[derive({})]", { i(0) })), 10 | s("des", t("#[derive(Serialize, Deserialize)]")), 11 | s("re", fmt("Result<{}, {}>", { i(1), i(0) })), 12 | s("op", fmt("Option<{}>", { i(0) })), 13 | s("any", fmt("anyhow!({})", { i(0) })), 14 | s("bail", fmt("anyhow::bail!({})", { i(0) })), 15 | s( 16 | "test", 17 | fmt( 18 | [[ 19 | #[test] 20 | fn test_{1}() {{ 21 | {2} 22 | }} 23 | ]], 24 | { i(1), i(0) } 25 | ) 26 | ), 27 | s( 28 | "testmod", 29 | fmt( 30 | [[ 31 | #[cfg(test)] 32 | mod tests {{ 33 | use super::*; 34 | {1} 35 | }} 36 | ]], 37 | { i(0) } 38 | ) 39 | ), 40 | s( 41 | "bench", 42 | fmt( 43 | [[ 44 | #[bench] 45 | fn bench_{1}() {{ 46 | {2} 47 | }} 48 | ]], 49 | { i(1), i(0) } 50 | ) 51 | ), 52 | } 53 | -------------------------------------------------------------------------------- /nix/common/secrets.nix: -------------------------------------------------------------------------------- 1 | { config-vars, ... }: 2 | 3 | { 4 | age.identityPaths = [ 5 | "${config-vars.home-dir}/.ssh/nix-secrets-grace" 6 | "${config-vars.home-dir}/.ssh/nix-secrets-jayden" 7 | ]; 8 | 9 | age.secrets.mpv-secrets = { 10 | file = ../secrets/mpv-secrets.lua.age; 11 | path = "${config-vars.home-dir}/.config/mpv/scripts/secrets.lua"; 12 | mode = "0400"; 13 | owner = config-vars.username; 14 | group = "users"; 15 | }; 16 | 17 | age.secrets.redshift = { 18 | file = ../secrets/redshift.conf.age; 19 | path = "${config-vars.home-dir}/.config/redshift.conf"; 20 | mode = "0400"; 21 | owner = config-vars.username; 22 | group = "users"; 23 | }; 24 | 25 | age.secrets.env = { 26 | file = ../secrets/env.age; 27 | path = "${config-vars.home-dir}/.config/ENV"; 28 | mode = "0400"; 29 | owner = config-vars.username; 30 | group = "users"; 31 | }; 32 | 33 | age.secrets.ssh-config = { 34 | file = ../secrets/ssh-config.age; 35 | path = "${config-vars.home-dir}/.ssh/config"; 36 | mode = "0400"; 37 | owner = config-vars.username; 38 | group = "users"; 39 | }; 40 | } 41 | -------------------------------------------------------------------------------- /scripts/shadowplay.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if [ "$1" = "record" ]; then 4 | if [ "$2" = "" ]; then 5 | echo "Specify the output file name" 6 | echo "./shadowplay.sh record ~/path/to/output.mp4" 7 | exit 1 8 | fi 9 | 10 | gpu-screen-recorder \ 11 | -a audio-device-sink.monitor \ 12 | -a carla-source \ 13 | -ab 256 \ 14 | -ac opus \ 15 | -bm qp \ 16 | -c mp4 \ 17 | -cr limited \ 18 | -cursor yes \ 19 | -encoder gpu \ 20 | -f 60 \ 21 | -fm vfr \ 22 | -k av1 \ 23 | -q high \ 24 | -v no \ 25 | -w DP-0 \ 26 | -o "$2" 2>&1 27 | else 28 | gpu-screen-recorder \ 29 | -a audio-device-sink.monitor \ 30 | -a carla-source \ 31 | -ab 256 \ 32 | -ac opus \ 33 | -bm qp \ 34 | -c mp4 \ 35 | -cr limited \ 36 | -cursor yes \ 37 | -encoder gpu \ 38 | -f 60 \ 39 | -fm vfr \ 40 | -k av1 \ 41 | -q ultra \ 42 | -r 200 \ 43 | -v yes \ 44 | -w DP-0 \ 45 | -o ~/Videos/replays 2>&1 46 | fi 47 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/lexima.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("lexima.vim"), 4 | event = "InsertEnter", 5 | config = function() 6 | vim.g.lexima_map_escape = "" 7 | 8 | vim.g.lexima_enable_space_rules = 0 9 | vim.g.lexima_enable_endwise_rules = 0 10 | 11 | -- custom space rules, based on defaults 12 | vim.cmd(" call lexima#add_rule({'char': '', 'at': '(\\%#)', 'input_after': ''}) ") 13 | vim.cmd(" call lexima#add_rule({'char': ')', 'at': '\\%# )', 'leave': 2}) ") 14 | vim.cmd(" call lexima#add_rule({'char': '', 'at': '( \\%# )', 'delete': 1}) ") 15 | vim.cmd(" call lexima#add_rule({'char': '', 'at': '{\\%#}', 'input_after': ''}) ") 16 | vim.cmd(" call lexima#add_rule({'char': '}', 'at': '\\%# }', 'leave': 2}) ") 17 | vim.cmd(" call lexima#add_rule({'char': '', 'at': '{ \\%# }', 'delete': 1}) ") 18 | vim.cmd(" call lexima#add_rule({'char': '', 'at': '\\[\\[\\%#]]', 'input_after': ''}) ") 19 | vim.cmd(" call lexima#add_rule({'char': '', 'at': '\\[\\[ \\%# ]]', 'delete': 1}) ") 20 | end, 21 | } 22 | -------------------------------------------------------------------------------- /misc/userChrome.css: -------------------------------------------------------------------------------- 1 | /*** Prevent pinned tabs area from scrolling ***/ 2 | #vertical-pinned-tabs-container { 3 | max-height: none !important; 4 | height: min-content !important; 5 | } 6 | 7 | /*** Hide tab close buttons (just use middle click) ***/ 8 | .tabbrowser-tab .tab-close-button { 9 | visibility: collapse !important; 10 | } 11 | 12 | /*** Hide tab "audio playing" icon ***/ 13 | .tab-icon-overlay { 14 | display: none; 15 | } 16 | .tab-icon-image { 17 | opacity: 1 !important; 18 | } 19 | 20 | /*** Remove window controls ***/ 21 | #toolbar-menubar:not([inactive="true"]) .titlebar-buttonbox-container { 22 | display: flex !important; 23 | } 24 | .titlebar-buttonbox-container { 25 | display: none !important; 26 | } 27 | 28 | /*** Remove default borders and shadows ***/ 29 | #appcontent { 30 | @media -moz-pref("sidebar.revamp") { 31 | & { 32 | border-top: 0 !important; 33 | border-inline-start: 0 !important; 34 | box-shadow: none !important; 35 | } 36 | } 37 | } 38 | 39 | #tabbrowser-tabbox { 40 | @media -moz-pref("sidebar.revamp") { 41 | outline: 0px solid var(--chrome-content-separator-color) !important; 42 | box-shadow: none !important; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # dotfiles 2 | 3 | ![Busy](https://i.imgur.com/L0u1OcX.png "Busy") 4 | ![Vim](https://i.imgur.com/ZlB6sym.png "Vim") 5 | ![Rofi](https://i.imgur.com/rnx5qoD.png "Rofi") 6 | 7 | ## Previous Iterations 8 | 9 | ### [4ab0cba](https://github.com/jayden-chan/dotfiles/tree/4ab0cba01ce99ff9266923cf49ddb76c4a9e2fe1) 10 | ![4ab0cba](https://i.imgur.com/zhaKRkK.png "4ab0cba") 11 | 12 | ### [dc69b2a](https://github.com/jayden-chan/dotfiles/tree/dc69b2af23633a9d3af6c99bfdeaf4353aec310a) 13 | ![dc69b2a](https://i.imgur.com/1hIRJVi.png "dc69b2a") 14 | 15 | ### [dab54f2](https://github.com/jayden-chan/dotfiles/tree/dab54f2bf518226d44020d16a69af66e6a36f892) 16 | ![dab54f2](https://i.imgur.com/1A3VSa8.png "dab54f2") 17 | 18 | ### [7f4ab02](https://github.com/jayden-chan/dotfiles/tree/7f4ab0257604a52b3f5befe73cf21a5f95a19f54) 19 | ![7f4ab02](https://i.imgur.com/n3yBxYE.png "7f4ab02") 20 | 21 | ### [69c01c0](https://github.com/jayden-chan/dotfiles/tree/69c01c0752bf744757939265c93c8d0a8b9eabe8) 22 | ![69c01c0](https://i.imgur.com/QG5vW10.png "69c01c0") 23 | 24 | ### [574ac3c](https://github.com/jayden-chan/dotfiles/tree/574ac3ce1e6dd643759785d4de8432b0bf7d9a4b) 25 | ![574ac3c](https://i.imgur.com/52tENAt.png "574ac3c") 26 | -------------------------------------------------------------------------------- /afx/dist/peq/source-AT2040.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "AT2040", 4 | "preamp": 0, 5 | "parametric": true, 6 | "bands": [ 7 | { 8 | "type": 0, 9 | "channels": 0, 10 | "frequency": 90, 11 | "q": 0, 12 | "gain": 0, 13 | "color": 0 14 | }, 15 | { 16 | "type": 1, 17 | "channels": 0, 18 | "frequency": 10000, 19 | "q": 0, 20 | "gain": 0, 21 | "color": 0 22 | }, 23 | { 24 | "type": 1, 25 | "channels": 0, 26 | "frequency": 60, 27 | "q": 0.6, 28 | "gain": 0, 29 | "color": -13421773 30 | }, 31 | { 32 | "type": 3, 33 | "channels": 0, 34 | "frequency": 103, 35 | "q": 0.28, 36 | "gain": -0.5, 37 | "color": -8947849 38 | }, 39 | { 40 | "type": 3, 41 | "channels": 0, 42 | "frequency": 1035, 43 | "q": 4.1, 44 | "gain": -1.01, 45 | "color": -13421773 46 | }, 47 | { 48 | "type": 3, 49 | "channels": 0, 50 | "frequency": 2906, 51 | "q": 3.77, 52 | "gain": -4.86, 53 | "color": -8947849 54 | } 55 | ] 56 | } 57 | ] -------------------------------------------------------------------------------- /vim/lua/config/plugins/gitsigns.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("gitsigns.nvim"), 4 | event = { "BufReadPre", "BufNewFile" }, 5 | opts = { 6 | signs = { 7 | add = { text = "┃" }, 8 | change = { text = "┃" }, 9 | delete = { text = "▁" }, 10 | topdelete = { text = "▔" }, 11 | changedelete = { text = "~" }, 12 | untracked = { text = "┃" }, 13 | }, 14 | on_attach = function(bufnr) 15 | local gs = package.loaded.gitsigns 16 | 17 | local function map(mode, l, r, opts) 18 | opts = opts or {} 19 | opts.buffer = bufnr 20 | vim.keymap.set(mode, l, r, opts) 21 | end 22 | 23 | -- Navigation 24 | map("n", "]c", function() 25 | if vim.wo.diff then 26 | return "]c" 27 | end 28 | vim.schedule(function() 29 | gs.next_hunk() 30 | end) 31 | return "" 32 | end, { expr = true }) 33 | 34 | map("n", "[c", function() 35 | if vim.wo.diff then 36 | return "[c" 37 | end 38 | vim.schedule(function() 39 | gs.prev_hunk() 40 | end) 41 | return "" 42 | end, { expr = true }) 43 | 44 | -- Actions 45 | map({ "n", "v" }, "u", gs.reset_hunk) 46 | map("n", "q", gs.preview_hunk) 47 | end, 48 | }, 49 | } 50 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/trouble.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("trouble.nvim"), 4 | event = "VeryLazy", 5 | dependencies = { utils.mirror("nvim-web-devicons") }, 6 | opts = { 7 | position = "bottom", 8 | height = 10, 9 | width = 50, 10 | icons = true, 11 | mode = "workspace_diagnostics", 12 | fold_open = "", 13 | fold_closed = "", 14 | group = true, 15 | padding = true, 16 | action_keys = { 17 | close = "q", 18 | cancel = "", 19 | refresh = "r", 20 | jump_close = { "", "" }, 21 | open_split = { "" }, 22 | open_vsplit = { "" }, 23 | open_tab = { "" }, 24 | jump = { "o" }, 25 | toggle_mode = "m", 26 | toggle_preview = "P", 27 | hover = "K", 28 | preview = "p", 29 | close_folds = { "zM", "zm" }, 30 | open_folds = { "zR", "zr" }, 31 | toggle_fold = { "zA", "za" }, 32 | previous = "i", 33 | next = "k", 34 | }, 35 | indent_lines = true, 36 | auto_open = false, 37 | auto_close = false, 38 | auto_preview = true, 39 | auto_fold = false, 40 | auto_jump = { "lsp_definitions" }, 41 | signs = { 42 | error = "", 43 | warning = "", 44 | hint = "", 45 | information = "", 46 | other = "﫠", 47 | }, 48 | use_diagnostic_signs = false, 49 | }, 50 | } 51 | -------------------------------------------------------------------------------- /vim/lua/config/iab.lua: -------------------------------------------------------------------------------- 1 | vim.cmd("iab retrun return") 2 | vim.cmd("iab rerturn return") 3 | vim.cmd("iab rertrun return") 4 | vim.cmd("iab retnru return") 5 | vim.cmd("iab retunr return") 6 | vim.cmd("iab erturn return") 7 | vim.cmd("iab ertnru return") 8 | vim.cmd("iab thsi this") 9 | vim.cmd("iab fcuntoin function") 10 | vim.cmd("iab functoin function") 11 | vim.cmd("iab fucntion function") 12 | vim.cmd("iab funcotin function") 13 | vim.cmd("iab funcoitn function") 14 | vim.cmd("iab funciton function") 15 | vim.cmd("iab funciotn function") 16 | vim.cmd("iab fcuntion function") 17 | vim.cmd("iab finction function") 18 | vim.cmd("iab fynction function") 19 | vim.cmd("iab fuynction function") 20 | vim.cmd("iab versoin version") 21 | vim.cmd("iab veison version") 22 | vim.cmd("iab vreison version") 23 | vim.cmd("iab vierson version") 24 | vim.cmd("iab costn const") 25 | vim.cmd("iab conts const") 26 | vim.cmd("iab csont const") 27 | vim.cmd("iab cosnt const") 28 | vim.cmd("iab cnost const") 29 | vim.cmd("iab asunyc async") 30 | vim.cmd("iab ascyn async") 31 | vim.cmd("iab asunc async") 32 | vim.cmd("iab asuyuc async") 33 | vim.cmd("iab THe The") 34 | vim.cmd("iab THis This") 35 | vim.cmd("iab !+ !=") 36 | vim.cmd("iab +> =>") 37 | -------------------------------------------------------------------------------- /scripts/screenshot.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | shopt -s expand_aliases 4 | alias maimselect='maim --noopengl --capturebackground --select --hidecursor' 5 | alias clip='xclip -selection c -filter' 6 | 7 | tmp_file=$(mktemp -t maimscript-XXXXXX) 8 | 9 | case "$1" in 10 | # select a region to screenshot (or click to screenshot window) 11 | --select) 12 | maimselect | clip -t image/png > "$tmp_file" 13 | notify-send -i "$tmp_file" "Maim" "Screenshot taken" 14 | ;; 15 | # scan a QR code 16 | --qr) 17 | maimselect > "$tmp_file" 18 | scanresult=$(zbarimg --quiet --raw "$tmp_file" | tr -d '\n') 19 | 20 | if [ -z "$scanresult" ]; then 21 | notify-send "Maim" "No scan data found" 22 | else 23 | echo "$scanresult" | clip 24 | notify-send -i "$tmp_file" "Maim" "$scanresult\n(copied to clipboard)" 25 | fi 26 | 27 | rm "$tmp_file" 28 | ;; 29 | --view) 30 | xclip -selection clipboard -t image/png -o > "$tmp_file.png" 31 | xdg-open "$tmp_file.png" 32 | ;; 33 | # screenshot the entire desktop 34 | *) 35 | maim --noopengl | clip -t image/png > "$tmp_file" 36 | notify-send -i "$tmp_file" "Maim" "Screenshot taken" 37 | ;; 38 | esac 39 | 40 | rm -f "$tmp_file" 41 | -------------------------------------------------------------------------------- /afx/devices/Companion_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Companion 2", 3 | "type": "sink", 4 | "output": "FL FR", 5 | "settings": { 6 | "preamp": -3.13, 7 | "bands": [ 8 | { 9 | "type": "lowshelf", 10 | "mode": "RLC_BT", 11 | "slope": 0, 12 | "freq": 60.61, 13 | "Q": 0.25, 14 | "gain": 0.07 15 | }, 16 | { 17 | "type": "lowshelf", 18 | "mode": "APO_DR", 19 | "slope": 0, 20 | "freq": 69.34, 21 | "Q": 0.55, 22 | "gain": 4.99 23 | }, 24 | { 25 | "type": "peaking", 26 | "mode": "RLC_BT", 27 | "slope": 0, 28 | "freq": 124.776, 29 | "Q": 3.22, 30 | "gain": -5.36 31 | }, 32 | { 33 | "type": "peaking", 34 | "mode": "RLC_BT", 35 | "slope": 0, 36 | "freq": 212.806, 37 | "Q": 1.5, 38 | "gain": -4.82 39 | }, 40 | { 41 | "type": "peaking", 42 | "mode": "RLC_BT", 43 | "slope": 0, 44 | "freq": 707.436, 45 | "Q": 0.28, 46 | "gain": 0.19 47 | }, 48 | { 49 | "type": "highshelf", 50 | "mode": "RLC_BT", 51 | "slope": 0, 52 | "freq": 3546.937, 53 | "Q": 0, 54 | "gain": -2.99 55 | } 56 | ] 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /scripts/autostart.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | msg () { 4 | echo "[autostart] [$(date)] $1" 5 | } 6 | 7 | shopt -s expand_aliases 8 | alias rga='rg --color=never >/dev/null' 9 | 10 | exec > /tmp/autostart.log 2>&1 11 | 12 | nitrogen --restore & 13 | 14 | ps_ax="/tmp/autostart_psax"; 15 | ps -ax > "$ps_ax" 16 | 17 | if ! rga "picom --config $DOT/misc/picom.conf" "$ps_ax"; then 18 | msg "starting picom" 19 | picom --config "$DOT/misc/picom.conf" & 20 | fi 21 | 22 | if ! rga "/bin/redshift" "$ps_ax"; then 23 | msg "starting redshift" 24 | redshift & 25 | fi 26 | 27 | if ! rga "/bin/thunar --daemon" "$ps_ax"; then 28 | msg "starting thunar daemon" 29 | thunar --daemon & 30 | fi 31 | 32 | if ! rga "/share/carla/carla" "$ps_ax"; then 33 | msg "starting carla" 34 | carla "$HOME/.config/Carla.carxp" & 35 | fi 36 | 37 | if ! rga "notifications-dbus-mon" "$ps_ax"; then 38 | msg "starting notifications-dbus-mon" 39 | notifications-dbus-mon & 40 | fi 41 | 42 | if [ "$HOSTNAME" = "grace" ] && ! rga "sensors-mon" "$ps_ax"; then 43 | # we'll sleep for a couple seconds so that 44 | # sensors-mon starts up after carla and goes into 45 | # the right place in the tiling window manager 46 | # hierarchy 47 | sleep 2 48 | 49 | msg "starting sensors-mon" 50 | ghostty --x11-instance-name="sensors-mon" -e sensors-mon 2>/dev/null & 51 | fi 52 | -------------------------------------------------------------------------------- /afx/devices/Focal_Bathys_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Focal Bathys (aftermarket pads)", 3 | "parent": "Focal Bathys", 4 | "type": "sink", 5 | "output": "FL FR", 6 | "settings": { 7 | "preamp": -1.5, 8 | "bands": [ 9 | { 10 | "type": "lowshelf", 11 | "mode": "RLC_BT", 12 | "slope": 0, 13 | "freq": 335.294, 14 | "Q": 0, 15 | "gain": -2.68 16 | }, 17 | { 18 | "type": "peaking", 19 | "mode": "RLC_BT", 20 | "slope": 0, 21 | "freq": 622.901, 22 | "Q": 0.25, 23 | "gain": -1.99 24 | }, 25 | { 26 | "type": "peaking", 27 | "mode": "RLC_BT", 28 | "slope": 0, 29 | "freq": 893.716, 30 | "Q": 1.41, 31 | "gain": -1.03 32 | }, 33 | { 34 | "type": "peaking", 35 | "mode": "RLC_BT", 36 | "slope": 0, 37 | "freq": 2901.097, 38 | "Q": 1.16, 39 | "gain": -0.95 40 | }, 41 | { 42 | "type": "peaking", 43 | "mode": "RLC_BT", 44 | "slope": 0, 45 | "freq": 2959.643, 46 | "Q": 0.16, 47 | "gain": -2.07 48 | }, 49 | { 50 | "type": "highshelf", 51 | "mode": "RLC_BT", 52 | "slope": 0, 53 | "freq": 10369.707, 54 | "Q": 0.25, 55 | "gain": -0.6 56 | } 57 | ] 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /afx/json_to_eqapo.ts: -------------------------------------------------------------------------------- 1 | import type { Band, Device } from "./util"; 2 | 3 | function bandToAPOLine(band: Band) { 4 | switch (band.type) { 5 | case "highpass": 6 | return highpassToAPO(band); 7 | case "lowshelf": 8 | return lowshelfToAPO(band); 9 | case "highshelf": 10 | return highshelfToAPO(band); 11 | case "peaking": 12 | return peakingToAPO(band); 13 | case "lowpass": 14 | return lowpassToAPO(band); 15 | default: 16 | throw new Error( 17 | `Warning: unknown/unsupported filter type "${band.type}" detected`, 18 | ); 19 | } 20 | } 21 | 22 | const highpassToAPO = (band: Band) => `ON HPQ Fc ${band.freq} Hz Q ${band.Q}`; 23 | const lowpassToAPO = (band: Band) => `ON LPQ Fc ${band.freq} Hz Q ${band.Q}`; 24 | 25 | const lowshelfToAPO = (band: Band) => 26 | `ON LSC Fc ${band.freq} Hz Gain ${band.gain} dB Q ${band.Q}`; 27 | 28 | const highshelfToAPO = (band: Band) => 29 | `ON HSC Fc ${band.freq} Hz Gain ${band.gain} dB Q ${band.Q}`; 30 | 31 | const peakingToAPO = (band: Band) => 32 | `ON PK Fc ${band.freq} Hz Gain ${band.gain} dB Q ${band.Q}`; 33 | 34 | export function genEqualizerAPO(device: Device) { 35 | let output = ""; 36 | output += `Preamp: ${device.settings.preamp} dB\n`; 37 | device.settings.bands.forEach((band, i) => { 38 | output += `Filter ${i + 1}: ${bandToAPOLine(band)}\n`; 39 | }); 40 | 41 | return output; 42 | } 43 | -------------------------------------------------------------------------------- /nix/home/starship.nix: -------------------------------------------------------------------------------- 1 | { ... }: 2 | 3 | { 4 | programs.starship = { 5 | enable = true; 6 | 7 | enableZshIntegration = false; 8 | enableTransience = false; 9 | enableNushellIntegration = false; 10 | enableIonIntegration = false; 11 | enableFishIntegration = false; 12 | enableBashIntegration = false; 13 | 14 | settings = { 15 | time = { 16 | disabled = true; 17 | }; 18 | 19 | character = { 20 | error_symbol = "[✗](bold red)"; 21 | success_symbol = "[:](bold green)"; 22 | }; 23 | 24 | package = { 25 | disabled = true; 26 | }; 27 | 28 | gcloud = { 29 | disabled = true; 30 | }; 31 | 32 | git_status = { 33 | disabled = false; 34 | }; 35 | 36 | git_commit = { 37 | disabled = false; 38 | }; 39 | 40 | nix_shell = { 41 | impure_msg = " [impure](bold red)"; 42 | pure_msg = " [pure](bold green)"; 43 | unknown_msg = " [unknown](bold yellow)"; 44 | format = "via [❄️$state( \($name\))](bold blue) "; 45 | }; 46 | 47 | custom = { 48 | gwip = { 49 | command = "git log -n 1 2>/dev/null | rg --quiet --count --regexp \"--wip--\" && echo '[WORK IN PROGRESS]'"; 50 | when = "git rev-parse --is-inside-work-tree 2>/dev/null"; 51 | format = "[$output](bold red)"; 52 | }; 53 | }; 54 | }; 55 | }; 56 | } 57 | -------------------------------------------------------------------------------- /afx/json_to_peq.ts: -------------------------------------------------------------------------------- 1 | import type { Band, Device } from "./util"; 2 | 3 | function bandToPeqType(band: Band): number { 4 | switch (band.type) { 5 | case "peaking": 6 | return 3; 7 | case "lowshelf": 8 | return 4; 9 | case "highshelf": 10 | return 5; 11 | case "lowpass": 12 | return 0; 13 | case "highpass": 14 | return 1; 15 | default: 16 | throw new Error( 17 | `Warning: unknown/unsupported filter type "${band.type}" detected`, 18 | ); 19 | } 20 | } 21 | 22 | export function genPeq(device: Device): string { 23 | const ret = { 24 | name: device.name, 25 | preamp: device.settings.preamp, 26 | parametric: true, 27 | bands: [ 28 | // Bass "tone knob" 29 | { 30 | type: 0, 31 | channels: 0, 32 | frequency: 90, 33 | q: 0.0, 34 | gain: 0.0, 35 | color: 0, 36 | }, 37 | // Treble "tone knob" 38 | { 39 | type: 1, 40 | channels: 0, 41 | frequency: 10000, 42 | q: 0.0, 43 | gain: 0.0, 44 | color: 0, 45 | }, 46 | ...device.settings.bands.map((b, i) => ({ 47 | type: bandToPeqType(b), 48 | channels: 0, 49 | frequency: Math.round(b.freq), 50 | q: b.Q, 51 | gain: b.gain, 52 | color: i % 2 === 0 ? -13421773 : -8947849, 53 | })), 54 | ], 55 | }; 56 | 57 | return JSON.stringify([ret], null, 2); 58 | } 59 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/init.lua: -------------------------------------------------------------------------------- 1 | local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" 2 | if not vim.loop.fs_stat(lazypath) then 3 | vim.fn.system({ 4 | "git", 5 | "clone", 6 | "--filter=blob:none", 7 | "https://github.com/folke/lazy.nvim.git", 8 | "--branch=stable", -- latest stable release 9 | lazypath, 10 | }) 11 | end 12 | 13 | vim.opt.rtp:prepend(lazypath) 14 | 15 | local plugins = { 16 | "base46", 17 | "lualine", 18 | "tabular", 19 | "vim-surround", 20 | "lexima", 21 | } 22 | 23 | if os.getenv("NVIM_PASSAGE_MODE") ~= "true" then 24 | local other_plugins = { 25 | "indent-blankline", 26 | "neo-tree", 27 | "gitsigns", 28 | "vim-tmux-navigator", 29 | "vim-repeat", 30 | "comment", 31 | "fzf", 32 | "nvim-lspconfig", 33 | "none-ls", 34 | "fidget", 35 | "lspsaga", 36 | "trouble", 37 | "treesitter", 38 | "gitlinker", 39 | "luasnip", 40 | "blink-cmp", 41 | "vim-dadbod-ui", 42 | "todo-comments", 43 | "nvim-colorizer", 44 | } 45 | 46 | for _, item in ipairs(other_plugins) do 47 | table.insert(plugins, item) 48 | end 49 | end 50 | 51 | local plugins_configs = {} 52 | for _, item in ipairs(plugins) do 53 | table.insert(plugins_configs, require("config.plugins." .. item)) 54 | end 55 | 56 | require("lazy").setup(plugins_configs, { 57 | performance = { 58 | rtp = { 59 | disabled_plugins = { 60 | "gzip", 61 | "netrwPlugin", 62 | "tarPlugin", 63 | "tohtml", 64 | "zipPlugin", 65 | "tutor", 66 | }, 67 | }, 68 | }, 69 | }) 70 | -------------------------------------------------------------------------------- /rofi/level1.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 35 | 40 | 41 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/luasnip.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("LuaSnip"), 4 | version = "v2.*", 5 | build = "make install_jsregexp", 6 | keys = { 7 | { "", "luasnip-next-choice", mode = "i" }, 8 | { "", "luasnip-next-choice", mode = "s" }, 9 | { 10 | "", 11 | function() 12 | require("luasnip").jump(1) 13 | end, 14 | mode = "s", 15 | }, 16 | { 17 | "", 18 | function() 19 | require("luasnip").jump(-1) 20 | end, 21 | mode = "s", 22 | }, 23 | { 24 | "", 25 | function() 26 | if require("luasnip").expand_or_locally_jumpable() then 27 | return "luasnip-expand-or-jump" 28 | end 29 | return "" 30 | end, 31 | mode = "i", 32 | expr = true, 33 | }, 34 | }, 35 | config = function() 36 | local ls = require("luasnip") 37 | require("luasnip.loaders.from_lua").load({ paths = "~/.config/dotfiles/vim/snippets" }) 38 | 39 | ls.config.set_config({ 40 | history = false, 41 | updateevents = "TextChanged,TextChangedI", 42 | ext_opts = { 43 | [require("luasnip.util.types").choiceNode] = { 44 | active = { 45 | virt_text = { { "<- Choice", "Info" } }, 46 | }, 47 | }, 48 | }, 49 | }) 50 | 51 | ls.filetype_extend("cpp", { "c" }) 52 | ls.filetype_extend("typescript", { "javascript" }) 53 | ls.filetype_extend("typescriptreact", { "javascript" }) 54 | ls.filetype_extend("javascriptreact", { "javascript" }) 55 | ls.filetype_extend("template", { "html" }) 56 | end, 57 | } 58 | -------------------------------------------------------------------------------- /scripts/liquidctl.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | level_file="/tmp/liquidctl_level" 4 | if [ ! -f "$level_file" ]; then 5 | echo -n "1" > "$level_file" 6 | fi 7 | 8 | fan1="fan1" 9 | fan2="fan3" 10 | pump="fan2" 11 | level="$1" 12 | 13 | if [ "$2" = "--automated" ]; then 14 | notify-send -u critical "liquidctl" "WARNING: Cooling level was set automatically" 15 | fi 16 | 17 | set -e 18 | 19 | case "$level" in 20 | 1) liquidctl --match Aquacomputer set "$fan1" speed 58 && \ 21 | liquidctl --match Aquacomputer set "$fan2" speed 58 && \ 22 | liquidctl --match Aquacomputer set "$pump" speed 23 23 | ;; 24 | 2) liquidctl --match Aquacomputer set "$fan1" speed 58 && \ 25 | liquidctl --match Aquacomputer set "$fan2" speed 58 && \ 26 | liquidctl --match Aquacomputer set "$pump" speed 35 27 | ;; 28 | 3) liquidctl --match Aquacomputer set "$fan1" speed 63 && \ 29 | liquidctl --match Aquacomputer set "$fan2" speed 63 && \ 30 | liquidctl --match Aquacomputer set "$pump" speed 35 31 | ;; 32 | 4) liquidctl --match Aquacomputer set "$fan1" speed 72 && \ 33 | liquidctl --match Aquacomputer set "$fan2" speed 72 && \ 34 | liquidctl --match Aquacomputer set "$pump" speed 35 35 | ;; 36 | 5) liquidctl --match Aquacomputer set "$fan1" speed 100 && \ 37 | liquidctl --match Aquacomputer set "$fan2" speed 100 && \ 38 | liquidctl --match Aquacomputer set "$pump" speed 35 39 | ;; 40 | esac 41 | 42 | echo -n "$level" > "$level_file" 43 | notify-send "liquidctl" "Cooling set to level $level" 44 | -------------------------------------------------------------------------------- /nix/home/lazygit.nix: -------------------------------------------------------------------------------- 1 | { ... }: 2 | 3 | { 4 | programs.lazygit = { 5 | enable = true; 6 | 7 | settings = { 8 | gui = { 9 | commitHashLength = 0; 10 | splitDiff = "auto"; 11 | nerdFontsVersion = "3"; 12 | scrollHeight = 12; 13 | sidePanelWidth = 0.2; 14 | showListFooter = false; 15 | showBottomLine = false; 16 | showRandomTip = false; 17 | showFileTree = false; 18 | showCommandLog = false; 19 | mouseEvents = false; 20 | }; 21 | 22 | update.method = "never"; 23 | promptToReturnFromSubprocess = false; 24 | 25 | keybinding = { 26 | universal = { 27 | prevItem-alt = "i"; 28 | nextItem-alt = "k"; 29 | scrollLeft = "J"; 30 | scrollRight = "L"; 31 | prevBlock-alt = "j"; 32 | nextBlock-alt = "l"; 33 | scrollUpMain-alt1 = "I"; 34 | scrollDownMain-alt1 = "K"; 35 | }; 36 | files = { 37 | commitChangesWithEditor = "c"; 38 | commitChanges = "C"; 39 | ignoreFile = "h"; 40 | amendLastCommit = "A"; 41 | stashAllChanges = "S"; 42 | }; 43 | }; 44 | 45 | git = { 46 | autoFetch = false; 47 | disableForcePushing = true; 48 | mainBranches = [ 49 | "master" 50 | "main" 51 | "production" 52 | ]; 53 | skipHookPrefix = "--wip--"; 54 | paging = { 55 | colorArg = "always"; 56 | pager = "delta --dark --paging=never"; 57 | }; 58 | }; 59 | }; 60 | }; 61 | } 62 | -------------------------------------------------------------------------------- /afx/dist/peq/sink-Companion_2.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Companion 2", 4 | "preamp": -3.13, 5 | "parametric": true, 6 | "bands": [ 7 | { 8 | "type": 0, 9 | "channels": 0, 10 | "frequency": 90, 11 | "q": 0, 12 | "gain": 0, 13 | "color": 0 14 | }, 15 | { 16 | "type": 1, 17 | "channels": 0, 18 | "frequency": 10000, 19 | "q": 0, 20 | "gain": 0, 21 | "color": 0 22 | }, 23 | { 24 | "type": 4, 25 | "channels": 0, 26 | "frequency": 61, 27 | "q": 0.25, 28 | "gain": 0.07, 29 | "color": -13421773 30 | }, 31 | { 32 | "type": 4, 33 | "channels": 0, 34 | "frequency": 69, 35 | "q": 0.55, 36 | "gain": 4.99, 37 | "color": -8947849 38 | }, 39 | { 40 | "type": 3, 41 | "channels": 0, 42 | "frequency": 125, 43 | "q": 3.22, 44 | "gain": -5.36, 45 | "color": -13421773 46 | }, 47 | { 48 | "type": 3, 49 | "channels": 0, 50 | "frequency": 213, 51 | "q": 1.5, 52 | "gain": -4.82, 53 | "color": -8947849 54 | }, 55 | { 56 | "type": 3, 57 | "channels": 0, 58 | "frequency": 707, 59 | "q": 0.28, 60 | "gain": 0.19, 61 | "color": -13421773 62 | }, 63 | { 64 | "type": 5, 65 | "channels": 0, 66 | "frequency": 3547, 67 | "q": 0, 68 | "gain": -2.99, 69 | "color": -8947849 70 | } 71 | ] 72 | } 73 | ] -------------------------------------------------------------------------------- /vim/snippets/go.lua: -------------------------------------------------------------------------------- 1 | ---@diagnostic disable: undefined-global 2 | return { 3 | s("pf", fmt("fmt.Printf({})", i(0))), 4 | s("pl", fmt("fmt.Println({})", i(0))), 5 | s("log", fmt("fmt.Println({})", i(0))), 6 | s("ep", fmt("fmt.Fprintln(os.Stderr, {})", i(0))), 7 | s("ef", fmt("fmt.Fprintf(os.Stderr, {})", i(0))), 8 | s("lf", fmt("log.Printf({})", i(0))), 9 | s("ln", fmt("log.Println({})", i(0))), 10 | s( 11 | "for", 12 | fmt( 13 | [[ 14 | for {1} := {2}; {1} < {3}; {1}++ {{ 15 | {4} 16 | }} 17 | ]], 18 | { i(1), i(2), i(3), i(0) }, 19 | { repeat_duplicates = true } 20 | ) 21 | ), 22 | s( 23 | "forr", 24 | fmt( 25 | [[ 26 | for {1} := {2}; {1} > {3}; {1}-- {{ 27 | {4} 28 | }} 29 | ]], 30 | { i(1), i(2), i(3), i(0) }, 31 | { repeat_duplicates = true } 32 | ) 33 | ), 34 | s( 35 | "fore", 36 | fmt( 37 | [[ 38 | for {1}, {2} := range {3} {{ 39 | {4} 40 | }} 41 | ]], 42 | { i(1), i(2), i(3), i(0) }, 43 | { repeat_duplicates = true } 44 | ) 45 | ), 46 | s( 47 | "func", 48 | fmt( 49 | [[ 50 | // {1} 51 | func {1}({2}) {3}{{ 52 | {4} 53 | }} 54 | ]], 55 | { i(1), i(2), i(3), i(0) }, 56 | { repeat_duplicates = true } 57 | ) 58 | ), 59 | s( 60 | "err", 61 | t({ 62 | "if err != nil {", 63 | "\treturn err", 64 | "}", 65 | }) 66 | ), 67 | s( 68 | "meth", 69 | fmt( 70 | [[ 71 | // {2} 72 | func ({1}) {2}({3}) {4}{{ 73 | {5} 74 | }} 75 | ]], 76 | { i(1), i(2), i(3), i(4), i(0) }, 77 | { repeat_duplicates = true } 78 | ) 79 | ), 80 | s( 81 | "gof", 82 | fmt( 83 | [[ 84 | go func({1}) {{ 85 | {2} 86 | }}() 87 | ]], 88 | { i(1), i(0) } 89 | ) 90 | ), 91 | } 92 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/treesitter.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | local ts_config = require("config.treesitter_langs") 3 | 4 | return { 5 | utils.mirror("nvim-treesitter"), 6 | build = ":TSUpdate", 7 | ft = ts_config.extended, 8 | dependencies = { 9 | utils.mirror("nvim-treesitter-textobjects"), 10 | }, 11 | config = function() 12 | require("nvim-treesitter.configs").setup({ 13 | ensure_installed = ts_config.base, 14 | auto_install = true, 15 | highlight = { 16 | enable = true, 17 | additional_vim_regex_highlighting = false, 18 | }, 19 | indent = { enable = true }, 20 | incremental_selection = { enable = false }, 21 | textobjects = { 22 | swap = { 23 | enable = true, 24 | swap_next = { 25 | ["a"] = "@parameter.inner", 26 | }, 27 | swap_previous = { 28 | ["A"] = "@parameter.inner", 29 | }, 30 | }, 31 | select = { 32 | enable = true, 33 | lookahead = true, 34 | keymaps = { 35 | -- You can use the capture groups defined in textobjects.scm 36 | ["af"] = "@function.outer", 37 | ["hf"] = "@function.inner", 38 | ["ab"] = "@block.outer", 39 | ["hb"] = "@block.inner", 40 | }, 41 | }, 42 | }, 43 | }) 44 | 45 | local augroup = vim.api.nvim_create_augroup("TreesitterSpell", { clear = true }) 46 | 47 | -- We can enable spell checking for any language that has 48 | -- treesitter since it will only check the comments and not the code 49 | vim.api.nvim_create_autocmd("FileType", { 50 | pattern = ts_config.extended, 51 | command = "setlocal spell spelllang=en_us", 52 | group = augroup, 53 | }) 54 | end, 55 | } 56 | -------------------------------------------------------------------------------- /afx/dist/peq/sink-Focal_Bathys_(aftermarket_pads)_(solo).json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Focal Bathys (aftermarket pads) (solo)", 4 | "preamp": -1.5, 5 | "parametric": true, 6 | "bands": [ 7 | { 8 | "type": 0, 9 | "channels": 0, 10 | "frequency": 90, 11 | "q": 0, 12 | "gain": 0, 13 | "color": 0 14 | }, 15 | { 16 | "type": 1, 17 | "channels": 0, 18 | "frequency": 10000, 19 | "q": 0, 20 | "gain": 0, 21 | "color": 0 22 | }, 23 | { 24 | "type": 4, 25 | "channels": 0, 26 | "frequency": 335, 27 | "q": 0, 28 | "gain": -2.68, 29 | "color": -13421773 30 | }, 31 | { 32 | "type": 3, 33 | "channels": 0, 34 | "frequency": 623, 35 | "q": 0.25, 36 | "gain": -1.99, 37 | "color": -8947849 38 | }, 39 | { 40 | "type": 3, 41 | "channels": 0, 42 | "frequency": 894, 43 | "q": 1.41, 44 | "gain": -1.03, 45 | "color": -13421773 46 | }, 47 | { 48 | "type": 3, 49 | "channels": 0, 50 | "frequency": 2901, 51 | "q": 1.16, 52 | "gain": -0.95, 53 | "color": -8947849 54 | }, 55 | { 56 | "type": 3, 57 | "channels": 0, 58 | "frequency": 2960, 59 | "q": 0.16, 60 | "gain": -2.07, 61 | "color": -13421773 62 | }, 63 | { 64 | "type": 5, 65 | "channels": 0, 66 | "frequency": 10370, 67 | "q": 0.25, 68 | "gain": -0.6, 69 | "color": -8947849 70 | } 71 | ] 72 | } 73 | ] -------------------------------------------------------------------------------- /vim/lua/config/lsp.lua: -------------------------------------------------------------------------------- 1 | -- Use an on_attach function to only map the following keys 2 | -- after the language server attaches to the current buffer 3 | local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) 4 | local on_attach = function(client, bufnr) 5 | local function buf_key(...) 6 | vim.api.nvim_buf_set_keymap(bufnr, ...) 7 | end 8 | 9 | if client.supports_method("textDocument/formatting") then 10 | vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) 11 | vim.api.nvim_create_autocmd("BufWritePre", { 12 | group = augroup, 13 | buffer = bufnr, 14 | callback = function() 15 | vim.lsp.buf.format({ bufnr = bufnr }) 16 | end, 17 | }) 18 | end 19 | 20 | local bind_opts = { noremap = true, silent = true } 21 | buf_key("n", "H", "Lspsaga show_cursor_diagnostics", bind_opts) 22 | buf_key("n", "[e", "Lspsaga diagnostic_jump_prev", bind_opts) 23 | buf_key("n", "]e", "Lspsaga diagnostic_jump_next", bind_opts) 24 | buf_key("n", "o", "lua vim.lsp.buf.definition()", bind_opts) 25 | buf_key("n", "O", "vslua vim.lsp.buf.definition()", bind_opts) 26 | buf_key("n", "g", "Lspsaga hover_doc", bind_opts) 27 | buf_key("n", "R", "Lspsaga rename", bind_opts) 28 | buf_key("n", "e", "Lspsaga code_action", bind_opts) 29 | buf_key("n", "T", "Trouble", bind_opts) 30 | end 31 | 32 | local on_init = function(client) 33 | client.offset_encoding = "utf-8" 34 | end 35 | 36 | local default_flags = { debounce_text_changes = 150 } 37 | 38 | return { 39 | on_attach = on_attach, 40 | on_init = on_init, 41 | default_flags = default_flags, 42 | } 43 | -------------------------------------------------------------------------------- /rofi/level2.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 35 | 40 | 41 | -------------------------------------------------------------------------------- /scripts/xf86.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | case "$1" in 4 | vol) 5 | case "$2" in 6 | up) pactl set-sink-volume @DEFAULT_SINK@ +1000 ;; 7 | down) pactl set-sink-volume @DEFAULT_SINK@ -1000 ;; 8 | mute) pactl set-sink-mute @DEFAULT_SINK@ toggle ;; 9 | esac 10 | 11 | currvol=$(pactl get-sink-volume @DEFAULT_SINK@ | rg 'front-left: \d+\s+/\s+(\d+)%' --only-matching --replace '$1') 12 | muted=$(pactl get-sink-mute @DEFAULT_SINK@ | rg ':\s+(\w+)' --only-matching --replace '$1'); \ 13 | notify-send "Volume $currvol% [muted: $muted]" -h int:value:"$currvol" -h string:synchronous:volume 14 | ;; 15 | 16 | media) 17 | dbusdomain="org.mpris.MediaPlayer2" 18 | dbus-send --print-reply --dest="$dbusdomain".spotify /org/mpris/MediaPlayer2 "$dbusdomain".Player."$2" 19 | ;; 20 | 21 | light) 22 | currbrightness=$(light | awk '{print int($1+0.5)}') 23 | case "$2" in 24 | up) 25 | [ "$currbrightness" -lt 100 ] && stepamt=10 26 | [ "$currbrightness" -lt 30 ] && stepamt=5 27 | [ "$currbrightness" -lt 10 ] && stepamt=1 28 | light -A "$stepamt" 29 | ;; 30 | down) 31 | [ "$currbrightness" -le 100 ] && stepamt=10 32 | [ "$currbrightness" -le 30 ] && stepamt=5 33 | [ "$currbrightness" -le 10 ] && stepamt=1 34 | light -U "$stepamt" 35 | ;; 36 | esac 37 | currbrightness=$(light | awk '{print int($1+0.5)}') 38 | notify-send "Brightness $currbrightness%" -h int:value:"$currbrightness" -h string:synchronous:brightness 39 | esac 40 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/fzf.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | return { 3 | utils.mirror("fzf-lua"), 4 | dependencies = { utils.mirror("nvim-web-devicons") }, 5 | keys = { 6 | { "f", 'lua require("fzf-lua").files({ winopts = { preview = { vertical = "up:30%" } } })' }, 7 | { "r", 'lua require("fzf-lua").live_grep()' }, 8 | { "n", 'lua require("fzf-lua").lsp_references()' }, 9 | { "z", 'lua require("fzf-lua").spell_suggest()' }, 10 | }, 11 | opts = { 12 | winopts = { 13 | fullscreen = true, 14 | preview = { 15 | layout = "vertical", 16 | vertical = "up:60%", 17 | title = false, 18 | scrollbar = false, 19 | }, 20 | }, 21 | files = { 22 | cmd = "fd" 23 | .. " --color=never" 24 | .. " --hidden" 25 | .. " --type file" 26 | .. " --type symlink" 27 | .. " --exclude .git" 28 | .. " --exclude '*.png'" 29 | .. " --exclude '*.jpg'" 30 | .. " --exclude '*.jpeg'" 31 | .. " --exclude '*.exe'" 32 | .. " --exclude '*.ppm'" 33 | .. " --exclude '*.pdf'" 34 | .. " --exclude '*.webp'" 35 | .. " --exclude '*.patch'" 36 | .. " --exclude '*.lockb'" 37 | .. " --exclude '*.lock'", 38 | }, 39 | grep = { 40 | cmd = "rg --vimgrep" 41 | .. " --column" 42 | .. " --line-number" 43 | .. " --no-heading" 44 | .. " --color=always" 45 | .. " --smart-case" 46 | .. " --max-columns=4096" 47 | .. " --glob '!*.patch'" 48 | .. " --glob '!*.lock'" 49 | .. " --glob '!*.lockb'" 50 | .. " --glob '!package-lock.json'" 51 | .. " --glob '!COPYING'" 52 | .. " --glob '!LICENSE'" 53 | .. " --glob '!*.svg'" 54 | .. " --regexp", 55 | }, 56 | }, 57 | } 58 | -------------------------------------------------------------------------------- /vim/lua/config/plugins/none-ls.lua: -------------------------------------------------------------------------------- 1 | local utils = require("config.utils") 2 | local lsp_config = require("config.lsp") 3 | local ts_config = require("config.treesitter_langs") 4 | 5 | return { 6 | utils.mirror("none-ls.nvim"), 7 | dependencies = { 8 | utils.mirror("blink.cmp"), 9 | utils.mirror("none-ls-shellcheck.nvim"), 10 | utils.mirror("none-ls-extras.nvim"), 11 | }, 12 | ft = ts_config.extended, 13 | config = function() 14 | local capabilities = require("blink.cmp").get_lsp_capabilities() 15 | local null_ls = require("null-ls") 16 | local sql_dialect = os.getenv("SQL_DIALECT") or "postgresql" 17 | 18 | null_ls.setup({ 19 | capabilities = capabilities, 20 | on_init = lsp_config.on_init, 21 | on_attach = lsp_config.on_attach, 22 | flags = lsp_config.default_flags, 23 | sources = { 24 | null_ls.builtins.formatting.prettierd, 25 | null_ls.builtins.formatting.stylua, 26 | null_ls.builtins.formatting.nixfmt, 27 | null_ls.builtins.formatting.sql_formatter.with({ 28 | extra_args = { 29 | "--config", 30 | '{"tabWidth":4,"keywordCase":"upper","language":"' 31 | .. sql_dialect 32 | .. '","dialect":"' 33 | .. sql_dialect 34 | .. '"}', 35 | }, 36 | }), 37 | require("none-ls-shellcheck.diagnostics"), 38 | require("none-ls-shellcheck.code_actions"), 39 | require("none-ls.diagnostics.cpplint"), 40 | null_ls.builtins.formatting.terraform_fmt, 41 | require("none-ls.diagnostics.eslint_d").with({ 42 | condition = function(utls) 43 | return utls.root_has_file({ 44 | "eslint.config.js", 45 | "eslint.config.mjs", 46 | ".null-ls-enable-eslint", 47 | }) 48 | end, 49 | }), 50 | }, 51 | }) 52 | end, 53 | } 54 | -------------------------------------------------------------------------------- /afx/devices/HE400i.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "HE400i", 3 | "type": "sink", 4 | "output": "FL FR", 5 | "settings": { 6 | "preamp": -8, 7 | "bands": [ 8 | { 9 | "type": "peaking", 10 | "mode": "RLC_BT", 11 | "slope": 0, 12 | "freq": 25, 13 | "Q": 1, 14 | "gain": 4.96 15 | }, 16 | { 17 | "type": "lowshelf", 18 | "mode": "RLC_BT", 19 | "slope": 0, 20 | "freq": 105, 21 | "Q": 0.71, 22 | "gain": 3.55 23 | }, 24 | { 25 | "type": "peaking", 26 | "mode": "RLC_BT", 27 | "slope": 0, 28 | "freq": 700, 29 | "Q": 1, 30 | "gain": 1 31 | }, 32 | { 33 | "type": "peaking", 34 | "mode": "RLC_BT", 35 | "slope": 0, 36 | "freq": 1050, 37 | "Q": 2, 38 | "gain": -1.8 39 | }, 40 | { 41 | "type": "peaking", 42 | "mode": "RLC_BT", 43 | "slope": 0, 44 | "freq": 1900, 45 | "Q": 1.2, 46 | "gain": 5.7 47 | }, 48 | { 49 | "type": "peaking", 50 | "mode": "RLC_BT", 51 | "slope": 0, 52 | "freq": 2900, 53 | "Q": 2, 54 | "gain": -2.8 55 | }, 56 | { 57 | "type": "peaking", 58 | "mode": "RLC_BT", 59 | "slope": 0, 60 | "freq": 6100, 61 | "Q": 1.4, 62 | "gain": 3 63 | }, 64 | { 65 | "type": "peaking", 66 | "mode": "RLC_BT", 67 | "slope": 0, 68 | "freq": 6750, 69 | "Q": 4.5, 70 | "gain": -4.7 71 | }, 72 | { 73 | "type": "peaking", 74 | "mode": "RLC_BT", 75 | "slope": 0, 76 | "freq": 8450, 77 | "Q": 4, 78 | "gain": -2.9 79 | } 80 | ] 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /nix/hosts/grace/hardware-configuration.nix: -------------------------------------------------------------------------------- 1 | # Do not modify this file! It was generated by ‘nixos-generate-config’ 2 | # and may be overwritten by future invocations. Please make changes 3 | # to /etc/nixos/configuration.nix instead. 4 | { 5 | config, 6 | lib, 7 | pkgs, 8 | modulesPath, 9 | ... 10 | }: 11 | 12 | { 13 | imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; 14 | 15 | boot.initrd.availableKernelModules = [ 16 | "nvme" 17 | "xhci_pci" 18 | "ahci" 19 | "usb_storage" 20 | "usbhid" 21 | "sd_mod" 22 | ]; 23 | boot.initrd.kernelModules = [ "dm-snapshot" ]; 24 | boot.kernelModules = [ 25 | "kvm-amd" 26 | "snd_virmidi" 27 | ]; 28 | boot.extraModulePackages = [ ]; 29 | 30 | fileSystems."/" = { 31 | device = "/dev/disk/by-uuid/a2325fd9-da29-4e34-9c93-fc68e0b8f6ff"; 32 | fsType = "ext4"; 33 | }; 34 | 35 | fileSystems."/boot" = { 36 | device = "/dev/disk/by-label/nixos-boot"; 37 | fsType = "vfat"; 38 | options = [ 39 | "fmask=0077" 40 | "dmask=0077" 41 | ]; 42 | }; 43 | 44 | swapDevices = [ { device = "/dev/disk/by-uuid/990a8fc4-e619-4e21-91a9-0a27d766fa9c"; } ]; 45 | 46 | # Enables DHCP on each ethernet and wireless interface. In case of scripted networking 47 | # (the default) this is the recommended approach. When using systemd-networkd it's 48 | # still possible to use this option, but it's recommended to use it in conjunction 49 | # with explicit per-interface declarations with `networking.interfaces..useDHCP`. 50 | networking.useDHCP = lib.mkDefault true; 51 | # networking.interfaces.enp12s0.useDHCP = lib.mkDefault true; 52 | # networking.interfaces.wlp13s0.useDHCP = lib.mkDefault true; 53 | 54 | nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 55 | hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 56 | } 57 | -------------------------------------------------------------------------------- /zsh/shist.zsh: -------------------------------------------------------------------------------- 1 | function _post_to_shist () { 2 | if [ "$SHIST_URL" = "" ] || [ "$SHIST_TOKEN" = "" ]; then 3 | return 4 | fi 5 | 6 | local res=$(curl "$SHIST_URL/history" \ 7 | --max-time 1 \ 8 | --silent \ 9 | --header "authorization: $SHIST_TOKEN" \ 10 | --json "$(jq -sRrc '{commands: [.]}' <<< "$1")") 11 | 12 | local res_status="$(echo "$res" | jq -r .status)" 13 | if [ "$res_status" != "ok" ]; then 14 | echo "shist error: $res" 15 | fi 16 | } 17 | 18 | function _shist_widget() { 19 | if [ "$SHIST_URL" = "" ] || [ "$SHIST_TOKEN" = "" ]; then 20 | return 1 21 | fi 22 | 23 | local selected 24 | setopt localoptions noglobsubst noposixbuiltins pipefail no_aliases noglob nobash_rematch 2> /dev/null 25 | 26 | selected="$(curl "$SHIST_URL/history?nul_sep=true" \ 27 | --compressed \ 28 | --silent \ 29 | --header "authorization: $SHIST_TOKEN" \ 30 | | fzf \ 31 | --scheme="history" \ 32 | --query="$LBUFFER" \ 33 | --read0)" 34 | 35 | local ret=$? 36 | 37 | if [ -n "$selected" ]; then 38 | if [[ $(awk '{print $1; exit}' <<< "$selected") =~ ^[1-9][0-9]* ]]; then 39 | zle vi-fetch-history -n $MATCH 40 | else # selected is a custom query, not from history 41 | LBUFFER="$selected" 42 | fi 43 | fi 44 | 45 | zle reset-prompt 46 | return $ret 47 | } 48 | 49 | function shearch () { 50 | curl \ 51 | --compressed \ 52 | --silent \ 53 | -H "authorization: $SHIST_TOKEN" \ 54 | "$SHIST_URL/history?nul_sep=true" \ 55 | | fzf --scheme="history" --read0 \ 56 | | xclip -selection c 57 | } 58 | 59 | add-zsh-hook zshaddhistory _post_to_shist 60 | zle -N _shist_widget 61 | bindkey -M emacs '^R' _shist_widget 62 | bindkey -M vicmd '^R' _shist_widget 63 | bindkey -M viins '^R' _shist_widget 64 | -------------------------------------------------------------------------------- /rofi/level3.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 35 | 40 | 41 | -------------------------------------------------------------------------------- /afx/apo_to_json.ts: -------------------------------------------------------------------------------- 1 | const filterRe = 2 | /^Filter (\d+): ON (\w+) Fc ((?:\d|\.|-)+) Hz Gain ((?:\d|\.|-)+) dB Q ((?:\d|\.|-)+)$/; 3 | const preampRe = /^Preamp: ((?:\d|\.|-)+) dB$/; 4 | 5 | function apoTypeToJsonType(apoType: string) { 6 | switch (apoType) { 7 | case "PK": 8 | return "peaking"; 9 | case "LP": 10 | case "LPQ": 11 | return "lowpass"; 12 | case "HP": 13 | case "HPQ": 14 | return "highpass"; 15 | case "LS": 16 | case "LSC": 17 | return "lowshelf"; 18 | case "HS": 19 | case "HSC": 20 | return "highshelf"; 21 | } 22 | } 23 | 24 | function apoModeToJsonMode(apoType: string) { 25 | switch (apoType) { 26 | case "LP": 27 | case "LPQ": 28 | case "HP": 29 | case "HPQ": 30 | case "LS": 31 | case "LSC": 32 | case "HS": 33 | case "HSC": 34 | return "APO_DR"; 35 | default: 36 | return "RLC_BT"; 37 | } 38 | } 39 | 40 | export function apoToJson(contents: string) { 41 | const lines = contents 42 | .split(/\r?\n/g) 43 | .map((l) => l.trim()) 44 | .filter((l) => l.length > 0); 45 | 46 | if (lines.length === 0) { 47 | throw new Error("no lines in input file"); 48 | } 49 | 50 | const [, preamp] = lines[0].match(preampRe) ?? [null, 0]; 51 | const bands = lines 52 | .slice(1) 53 | .map((l, i) => { 54 | const matchResults = l.match(filterRe) ?? []; 55 | const [didMatch, , filterType, freq, gain, q] = matchResults; 56 | 57 | if (!didMatch) { 58 | throw new Error(`Failed to parse line ${i + 2}: ${l}`); 59 | } 60 | 61 | return { 62 | type: apoTypeToJsonType(filterType), 63 | mode: apoModeToJsonMode(filterType), 64 | freq: Number(freq), 65 | Q: Number(q), 66 | gain: Number(gain), 67 | }; 68 | }) 69 | .sort((a, b) => { 70 | return a.freq - b.freq; 71 | }); 72 | 73 | return { 74 | preamp: Number(preamp), 75 | bands, 76 | }; 77 | } 78 | -------------------------------------------------------------------------------- /nix/common/general.nix: -------------------------------------------------------------------------------- 1 | { pkgs, config-vars, ... }: 2 | 3 | { 4 | # use linux-zen kernel 5 | boot.kernelPackages = pkgs.linuxPackages_zen; 6 | 7 | networking = { 8 | hostName = config-vars.host; 9 | networkmanager = { 10 | enable = true; 11 | dns = "dnsmasq"; 12 | }; 13 | 14 | extraHosts = '' 15 | ${config-vars.ips.homelab} git.jayden.codes 16 | ''; 17 | 18 | # wg-quick.interfaces = { 19 | # wg0 = { 20 | # address = [ "10.179.254.3/24" ]; 21 | # dns = [ config-vars.ips.opnsense ]; 22 | # privateKey = "..."; 23 | # 24 | # peers = [ 25 | # { 26 | # publicKey = "..."; 27 | # presharedKey = "..."; 28 | # allowedIPs = [ 29 | # "10.118.254.0/24" 30 | # "10.179.254.0/24" 31 | # ]; 32 | # endpoint = "purple-heron.jayden.codes:35458"; 33 | # persistentKeepalive = 25; 34 | # } 35 | # ]; 36 | # }; 37 | # }; 38 | }; 39 | 40 | services.dnsmasq = { 41 | enable = true; 42 | settings = { 43 | cache-size = 2056; 44 | server = [ config-vars.ips.opnsense ]; 45 | }; 46 | }; 47 | 48 | time.timeZone = config-vars.timezone; 49 | i18n.defaultLocale = config-vars.locale; 50 | 51 | users.users."${config-vars.username}" = { 52 | description = config-vars.name; 53 | home = config-vars.home-dir; 54 | createHome = true; 55 | group = "users"; 56 | uid = 1000; 57 | isNormalUser = true; 58 | shell = pkgs.zsh; 59 | 60 | extraGroups = [ 61 | "audio" 62 | "video" 63 | "input" 64 | "networkmanager" 65 | "wheel" 66 | ]; 67 | }; 68 | 69 | programs.direnv = { 70 | enable = true; 71 | silent = true; 72 | }; 73 | 74 | programs.zsh.enable = true; 75 | services.pcscd.enable = true; 76 | 77 | programs.obs-studio = { 78 | enable = true; 79 | enableVirtualCamera = true; 80 | }; 81 | } 82 | -------------------------------------------------------------------------------- /vim/snippets/cmake.lua: -------------------------------------------------------------------------------- 1 | ---@diagnostic disable: undefined-global 2 | return { 3 | s( 4 | "cppstart", 5 | fmt( 6 | [[ 7 | cmake_minimum_required(VERSION 3.10 FATAL_ERROR) 8 | 9 | project({1} LANGUAGES CXX) 10 | set(CMAKE_VERBOSE_MAKEFILE true) 11 | set(CMAKE_EXPORT_COMPILE_COMMANDS true) 12 | 13 | if(NOT CMAKE_BUILD_TYPE) 14 | set(CMAKE_BUILD_TYPE Release) 15 | endif() 16 | 17 | set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wpedantic -Wshadow -Wconversion") 18 | set(CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb -DFULLDEBUG -fsanitize=address -fsanitize=undefined -D_GLIBCXX_DEBUG") 19 | set(CMAKE_CXX_FLAGS_RELEASE "-O3 -flto") 20 | 21 | set(CMAKE_CXX_LINK_OPTIONS_DEBUG "-fsanitize=address -fsanitize=undefined -rdynamic") 22 | set(CMAKE_CXX_LINK_OPTIONS_RELEASE "") 23 | 24 | set(CMAKE_CXX_STANDARD 20) 25 | 26 | include_directories(inc) 27 | file(GLOB SOURCES "src/*.cpp") 28 | 29 | add_executable( 30 | {2} 31 | ${{SOURCES}} 32 | ) 33 | 34 | if (CMAKE_BUILD_TYPE STREQUAL "Debug") 35 | add_definitions(-DDEBUG) 36 | endif() 37 | ]], 38 | { i(1), i(0) } 39 | ) 40 | ), 41 | s( 42 | "cstart", 43 | fmt( 44 | [[ 45 | cmake_minimum_required(VERSION 3.10 FATAL_ERROR) 46 | 47 | project({1} LANGAGES C) 48 | set(CMAKE_VERBOSE_MAKEFILE true) 49 | set(CMAKE_EXPORT_COMPILE_COMMANDS true) 50 | 51 | if(NOT CMAKE_BUILD_TYPE) 52 | set(CMAKE_BUILD_TYPE Release) 53 | endif() 54 | 55 | set(CMAKE_C_FLAGS "-Wall -Wextra -Wpedantic -Wshadow -Wconversion") 56 | set(CMAKE_C_FLAGS_DEBUG "-O0 -ggdb -DFULLDEBUG -fsanitize=address -fsanitize=undefined -D_GLIBCXX_DEBUG") 57 | set(CMAKE_C_FLAGS_RELEASE "-O3 -flto") 58 | 59 | set(CMAKE_C_LINK_OPTIONS_DEBUG "-fsanitize=address -fsanitize=undefined -rdynamic") 60 | set(CMAKE_C_LINK_OPTIONS_RELEASE "") 61 | 62 | set(CMAKE_C_STANDARD 99) 63 | 64 | include_directories(inc) 65 | file(GLOB SOURCES "src/*.c") 66 | 67 | add_executable( 68 | {2} 69 | ${{SOURCES}} 70 | ) 71 | 72 | if (CMAKE_BUILD_TYPE STREQUAL "Debug") 73 | add_definitions(-DDEBUG) 74 | endif() 75 | ]], 76 | { i(1), i(0) } 77 | ) 78 | ), 79 | } 80 | -------------------------------------------------------------------------------- /afx/devices/QC35.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "QC35", 3 | "type": "sink", 4 | "output": "FL FR", 5 | "settings": { 6 | "preamp": -1.9, 7 | "bands": [ 8 | { 9 | "type": "peaking", 10 | "mode": "RLC_BT", 11 | "slope": 0, 12 | "freq": 44, 13 | "Q": 0.68, 14 | "gain": -1.5 15 | }, 16 | { 17 | "type": "peaking", 18 | "mode": "RLC_BT", 19 | "slope": 0, 20 | "freq": 120, 21 | "Q": 1.09, 22 | "gain": -1.3 23 | }, 24 | { 25 | "type": "peaking", 26 | "mode": "RLC_BT", 27 | "slope": 0, 28 | "freq": 510, 29 | "Q": 1.42, 30 | "gain": 1.5 31 | }, 32 | { 33 | "type": "peaking", 34 | "mode": "RLC_BT", 35 | "slope": 0, 36 | "freq": 1237, 37 | "Q": 2.02, 38 | "gain": 0.6 39 | }, 40 | { 41 | "type": "peaking", 42 | "mode": "RLC_BT", 43 | "slope": 0, 44 | "freq": 1256, 45 | "Q": 0.68, 46 | "gain": -1.1 47 | }, 48 | { 49 | "type": "peaking", 50 | "mode": "RLC_BT", 51 | "slope": 0, 52 | "freq": 1557, 53 | "Q": 2.19, 54 | "gain": 1.2 55 | }, 56 | { 57 | "type": "peaking", 58 | "mode": "RLC_BT", 59 | "slope": 0, 60 | "freq": 1575, 61 | "Q": 2.67, 62 | "gain": 0.8 63 | }, 64 | { 65 | "type": "peaking", 66 | "mode": "RLC_BT", 67 | "slope": 0, 68 | "freq": 2796, 69 | "Q": 4.04, 70 | "gain": -3.4 71 | }, 72 | { 73 | "type": "peaking", 74 | "mode": "RLC_BT", 75 | "slope": 0, 76 | "freq": 6178, 77 | "Q": 4.39, 78 | "gain": -6.1 79 | }, 80 | { 81 | "type": "peaking", 82 | "mode": "RLC_BT", 83 | "slope": 0, 84 | "freq": 7282, 85 | "Q": 1.28, 86 | "gain": 2.8 87 | } 88 | ] 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /afx/devices/Focal_Bathys.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Focal Bathys", 3 | "type": "sink", 4 | "output": "FL FR", 5 | "settings": { 6 | "preamp": -5.6, 7 | "bands": [ 8 | { 9 | "type": "lowshelf", 10 | "mode": "APO_DR", 11 | "slope": 0, 12 | "freq": 56.295, 13 | "Q": 0.71, 14 | "gain": 1.57 15 | }, 16 | { 17 | "type": "peaking", 18 | "mode": "RLC_BT", 19 | "slope": 0, 20 | "freq": 430, 21 | "Q": 1.2, 22 | "gain": -2 23 | }, 24 | { 25 | "type": "peaking", 26 | "mode": "RLC_BT", 27 | "slope": 0, 28 | "freq": 910, 29 | "Q": 1.4, 30 | "gain": 7.5 31 | }, 32 | { 33 | "type": "peaking", 34 | "mode": "RLC_BT", 35 | "slope": 0, 36 | "freq": 1150, 37 | "Q": 2, 38 | "gain": -4.6 39 | }, 40 | { 41 | "type": "peaking", 42 | "mode": "RLC_BT", 43 | "slope": 0, 44 | "freq": 2850, 45 | "Q": 6, 46 | "gain": -1.5 47 | }, 48 | { 49 | "type": "peaking", 50 | "mode": "RLC_BT", 51 | "slope": 0, 52 | "freq": 3250, 53 | "Q": 6, 54 | "gain": -1.5 55 | }, 56 | { 57 | "type": "peaking", 58 | "mode": "RLC_BT", 59 | "slope": 0, 60 | "freq": 4000, 61 | "Q": 0.7, 62 | "gain": 4.5 63 | }, 64 | { 65 | "type": "peaking", 66 | "mode": "RLC_BT", 67 | "slope": 0, 68 | "freq": 4350, 69 | "Q": 5, 70 | "gain": -1 71 | }, 72 | { 73 | "type": "peaking", 74 | "mode": "RLC_BT", 75 | "slope": 0, 76 | "freq": 5750, 77 | "Q": 5, 78 | "gain": -1.5 79 | }, 80 | { 81 | "type": "highshelf", 82 | "mode": "APO_DR", 83 | "slope": 0, 84 | "freq": 10000, 85 | "Q": 0.71, 86 | "gain": 1.25 87 | } 88 | ] 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /afx/devices/Focal_Clear.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Focal Clear", 3 | "type": "sink", 4 | "output": "FL FR", 5 | "settings": { 6 | "preamp": -6, 7 | "bands": [ 8 | { 9 | "type": "lowshelf", 10 | "mode": "APO_DR", 11 | "slope": 0, 12 | "freq": 32, 13 | "Q": 0.69, 14 | "gain": 3.21 15 | }, 16 | { 17 | "type": "lowshelf", 18 | "mode": "APO_DR", 19 | "slope": 0, 20 | "freq": 98.497, 21 | "Q": 0.71, 22 | "gain": 1.39 23 | }, 24 | { 25 | "type": "peaking", 26 | "mode": "RLC_BT", 27 | "slope": 0, 28 | "freq": 570, 29 | "Q": 0.8, 30 | "gain": 1.92 31 | }, 32 | { 33 | "type": "peaking", 34 | "mode": "RLC_BT", 35 | "slope": 0, 36 | "freq": 1350, 37 | "Q": 1.7, 38 | "gain": -1.32 39 | }, 40 | { 41 | "type": "highshelf", 42 | "mode": "APO_DR", 43 | "slope": 0, 44 | "freq": 1800, 45 | "Q": 0.71, 46 | "gain": 4.75 47 | }, 48 | { 49 | "type": "peaking", 50 | "mode": "RLC_BT", 51 | "slope": 0, 52 | "freq": 3030, 53 | "Q": 2.8, 54 | "gain": -2.9 55 | }, 56 | { 57 | "type": "peaking", 58 | "mode": "RLC_BT", 59 | "slope": 0, 60 | "freq": 3630, 61 | "Q": 4.8, 62 | "gain": -2.2 63 | }, 64 | { 65 | "type": "peaking", 66 | "mode": "RLC_BT", 67 | "slope": 0, 68 | "freq": 5900, 69 | "Q": 6, 70 | "gain": -5.3 71 | }, 72 | { 73 | "type": "peaking", 74 | "mode": "RLC_BT", 75 | "slope": 0, 76 | "freq": 7000, 77 | "Q": 1, 78 | "gain": 2 79 | }, 80 | { 81 | "type": "highshelf", 82 | "mode": "APO_DR", 83 | "slope": 0, 84 | "freq": 10000, 85 | "Q": 0.71, 86 | "gain": -5 87 | } 88 | ] 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /afx/devices/QC35_Wireless.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "QC35 Wireless", 3 | "type": "sink", 4 | "output": "FL FR", 5 | "settings": { 6 | "preamp": -4.2, 7 | "bands": [ 8 | { 9 | "type": "peaking", 10 | "mode": "RLC_BT", 11 | "slope": 0, 12 | "freq": 13, 13 | "Q": 0.52, 14 | "gain": -6.2 15 | }, 16 | { 17 | "type": "peaking", 18 | "mode": "RLC_BT", 19 | "slope": 0, 20 | "freq": 102, 21 | "Q": 0.73, 22 | "gain": -2 23 | }, 24 | { 25 | "type": "peaking", 26 | "mode": "RLC_BT", 27 | "slope": 0, 28 | "freq": 476, 29 | "Q": 1.84, 30 | "gain": 1.2 31 | }, 32 | { 33 | "type": "peaking", 34 | "mode": "RLC_BT", 35 | "slope": 0, 36 | "freq": 957, 37 | "Q": 3.93, 38 | "gain": -1.3 39 | }, 40 | { 41 | "type": "peaking", 42 | "mode": "RLC_BT", 43 | "slope": 0, 44 | "freq": 1639, 45 | "Q": 2.5, 46 | "gain": 4.3 47 | }, 48 | { 49 | "type": "peaking", 50 | "mode": "RLC_BT", 51 | "slope": 0, 52 | "freq": 2737, 53 | "Q": 3.5, 54 | "gain": -3.6 55 | }, 56 | { 57 | "type": "peaking", 58 | "mode": "RLC_BT", 59 | "slope": 0, 60 | "freq": 5379, 61 | "Q": 3.9, 62 | "gain": 1.7 63 | }, 64 | { 65 | "type": "peaking", 66 | "mode": "RLC_BT", 67 | "slope": 0, 68 | "freq": 6166, 69 | "Q": 3.98, 70 | "gain": -5.5 71 | }, 72 | { 73 | "type": "peaking", 74 | "mode": "RLC_BT", 75 | "slope": 0, 76 | "freq": 8135, 77 | "Q": 3.13, 78 | "gain": 2.4 79 | }, 80 | { 81 | "type": "peaking", 82 | "mode": "RLC_BT", 83 | "slope": 0, 84 | "freq": 19633, 85 | "Q": 0.38, 86 | "gain": -1.18 87 | } 88 | ] 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /afx/devices/Moondrop_Space_Travel.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Moondrop Space Travel", 3 | "type": "sink", 4 | "output": "FL FR", 5 | "settings": { 6 | "preamp": -3.99, 7 | "bands": [ 8 | { 9 | "type": "peaking", 10 | "mode": "RLC_BT", 11 | "slope": 0, 12 | "freq": 104.8, 13 | "Q": 0.46, 14 | "gain": -1.5 15 | }, 16 | { 17 | "type": "peaking", 18 | "mode": "RLC_BT", 19 | "slope": 0, 20 | "freq": 851.1, 21 | "Q": 1.92, 22 | "gain": 0.8 23 | }, 24 | { 25 | "type": "peaking", 26 | "mode": "RLC_BT", 27 | "slope": 0, 28 | "freq": 1881, 29 | "Q": 1.9, 30 | "gain": 2.2 31 | }, 32 | { 33 | "type": "peaking", 34 | "mode": "RLC_BT", 35 | "slope": 0, 36 | "freq": 2584.7, 37 | "Q": 3.71, 38 | "gain": -0.8 39 | }, 40 | { 41 | "type": "peaking", 42 | "mode": "RLC_BT", 43 | "slope": 0, 44 | "freq": 2889.5, 45 | "Q": 1.49, 46 | "gain": -1.8 47 | }, 48 | { 49 | "type": "peaking", 50 | "mode": "RLC_BT", 51 | "slope": 0, 52 | "freq": 3371.914, 53 | "Q": 1.88, 54 | "gain": -2.74 55 | }, 56 | { 57 | "type": "peaking", 58 | "mode": "RLC_BT", 59 | "slope": 0, 60 | "freq": 4549.2, 61 | "Q": 4.18, 62 | "gain": -1.3 63 | }, 64 | { 65 | "type": "peaking", 66 | "mode": "RLC_BT", 67 | "slope": 0, 68 | "freq": 5625.9, 69 | "Q": 3.5, 70 | "gain": 4.5 71 | }, 72 | { 73 | "type": "peaking", 74 | "mode": "RLC_BT", 75 | "slope": 0, 76 | "freq": 7973.8, 77 | "Q": 3.01, 78 | "gain": 2 79 | }, 80 | { 81 | "type": "highshelf", 82 | "mode": "APO_DR", 83 | "slope": 0, 84 | "freq": 10000, 85 | "Q": 0.7, 86 | "gain": -3.02 87 | } 88 | ] 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /nix/home/general.nix: -------------------------------------------------------------------------------- 1 | { 2 | pkgs, 3 | config-vars, 4 | ... 5 | }: 6 | 7 | { 8 | imports = [ 9 | ../common/stylix.nix 10 | 11 | ./mpv/config.nix 12 | 13 | ./desktop-files.nix 14 | ./ghostty.nix 15 | ./git.nix 16 | ./lazygit.nix 17 | ./mangohud.nix 18 | ./mime.nix 19 | ./starship.nix 20 | ./thunar-uca.nix 21 | ./tmux.nix 22 | ./xresources.nix 23 | ./zathura.nix 24 | ]; 25 | 26 | home.username = config-vars.username; 27 | home.homeDirectory = config-vars.home-dir; 28 | 29 | # let Home Manager install and manage itself 30 | programs.home-manager.enable = true; 31 | 32 | home.file = { 33 | ".local/share/zsh/zsh-syntax-highlighting".source = 34 | "${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting"; 35 | }; 36 | 37 | # home-manager only targets 38 | stylix.targets.alacritty.enable = true; 39 | stylix.targets.bat.enable = true; 40 | stylix.targets.gnome.enable = true; 41 | stylix.targets.gtk.enable = true; 42 | stylix.targets.mangohud.enable = true; 43 | stylix.targets.xfce.enable = true; 44 | stylix.targets.zathura.enable = true; 45 | 46 | gtk = { 47 | enable = true; 48 | cursorTheme = { 49 | name = "macOS"; 50 | size = 24; 51 | package = pkgs.apple-cursor; 52 | }; 53 | 54 | iconTheme = { 55 | package = pkgs.numix-icon-theme; 56 | name = "Numix"; 57 | }; 58 | }; 59 | 60 | services.kdeconnect.enable = true; 61 | 62 | systemd.user.enable = true; 63 | 64 | services.autorandr.enable = true; 65 | programs.autorandr.enable = true; 66 | 67 | services.gpg-agent = { 68 | enable = true; 69 | enableZshIntegration = true; 70 | enableSshSupport = true; 71 | 72 | pinentry.package = pkgs.pinentry-rofi; 73 | 74 | # 24 hours 75 | maxCacheTtl = 86400; 76 | maxCacheTtlSsh = 86400; 77 | defaultCacheTtl = 86400; 78 | defaultCacheTtlSsh = 86400; 79 | 80 | enableBashIntegration = false; 81 | enableFishIntegration = false; 82 | enableNushellIntegration = false; 83 | enableScDaemon = false; 84 | }; 85 | } 86 | -------------------------------------------------------------------------------- /scripts/rofi.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if [ "$1" = "--power_fast" ]; then 4 | case $2 in 5 | logout) echo 'awesome.quit()' | awesome-client ;; 6 | lock) dm-tool lock ;; 7 | reboot) shutdown --reboot now ;; 8 | shutdown) shutdown --poweroff now ;; 9 | esac 10 | fi 11 | 12 | if [ "$1" = "--normal" ]; then 13 | rofi -modi drun -show drun -drun-show-actions -theme base 14 | elif [ "$1" = "--window" ]; then 15 | rofi -modi window -show window -theme base 16 | elif [ "$1" = "--power" ]; then 17 | power_theme_str="listview { columns: 4; } window { width: 44%; }" 18 | result=$(< "$DOT/rofi/powermenu" rofi -dmenu -i -theme power -theme-str "$power_theme_str") 19 | 20 | case $result in 21 | logout) echo 'awesome.quit()' | awesome-client ;; 22 | lock) dm-tool lock ;; 23 | reboot) shutdown --reboot now ;; 24 | shutdown) shutdown --poweroff now ;; 25 | esac 26 | elif [ "$1" = "--liquidctl" ]; then 27 | result=$(< "$DOT/rofi/liquidctlmenu" rofi -dmenu -i -theme power) 28 | case $result in 29 | "Level 1") "$DOT/scripts/liquidctl.sh" "1" ;; 30 | "Level 2") "$DOT/scripts/liquidctl.sh" "2" ;; 31 | "Level 3") "$DOT/scripts/liquidctl.sh" "3" ;; 32 | "Level 4") "$DOT/scripts/liquidctl.sh" "4" ;; 33 | "Level 5") "$DOT/scripts/liquidctl.sh" "5" ;; 34 | esac 35 | elif [ "$1" = "--save-screenshot" ]; then 36 | result=$(rofi -dmenu -i -p "title (no extension):") 37 | 38 | if [ "$result" = "" ]; then 39 | notify-send "Maim" "Screenshot not saved" 40 | exit 41 | fi 42 | 43 | file="$HOME/Pictures/Screenshots/$result.png" 44 | 45 | if [ -f "$file" ]; then 46 | notify-send "Error" "File $result.png already exists" 47 | else 48 | xclip -selection clipboard -t image/png -o > "$file" 49 | notify-send -i "$file" "Maim" "Screenshot saved to $result.png" 50 | fi 51 | elif [ "$1" = "--autorandr" ]; then 52 | result=$(autorandr --list | rofi -dmenu -i -p "select profile:" -theme list) 53 | autorandr --load "$result" 54 | fi 55 | -------------------------------------------------------------------------------- /nix/common/packages.nix: -------------------------------------------------------------------------------- 1 | { 2 | pkgs, 3 | unstable, 4 | inputs, 5 | ... 6 | }: 7 | 8 | { 9 | environment.systemPackages = with pkgs; [ 10 | age 11 | age-plugin-yubikey 12 | alsa-utils 13 | awesome 14 | bash 15 | bat 16 | bc 17 | brave 18 | bruno 19 | bun 20 | carla 21 | czkawka-full 22 | dig 23 | eza 24 | fastfetch 25 | fd 26 | feishin 27 | ffmpeg-full 28 | ffmpegthumbnailer 29 | file 30 | fontconfig 31 | fzf 32 | gcc 33 | gimp 34 | gnumake 35 | go 36 | htop 37 | imagemagick 38 | jalv 39 | joplin-desktop 40 | jq 41 | killall 42 | libnotify 43 | lsp-plugins 44 | lua-language-server 45 | maim 46 | mediainfo 47 | mullvad-browser 48 | nil 49 | nitrogen 50 | nixfmt-rfc-style 51 | nsxiv 52 | onefetch 53 | passage 54 | pavucontrol 55 | picocrypt 56 | picocrypt-cli 57 | picom 58 | pkg-config 59 | prettierd 60 | qview 61 | redshift 62 | ripgrep 63 | rofi 64 | rsync 65 | shellcheck 66 | stylua 67 | taplo 68 | tokei 69 | trash-cli 70 | trufflehog 71 | typst 72 | usbutils 73 | vesktop 74 | wireguard-tools 75 | x42-plugins 76 | xclip 77 | xcolor 78 | xdotool 79 | yaml-language-server 80 | yubikey-manager 81 | zbar 82 | zenity 83 | zoxide 84 | zsh-syntax-highlighting 85 | 86 | nodePackages.typescript-language-server 87 | 88 | python312Packages.grip 89 | 90 | xfce.mousepad 91 | 92 | xorg.xev 93 | xorg.xinput 94 | xorg.xmodmap 95 | xorg.xprop 96 | xorg.xrdb 97 | xorg.xset 98 | 99 | unstable.devenv 100 | unstable.firefox-devedition 101 | unstable.ghostty 102 | unstable.neovim 103 | unstable.spotify 104 | unstable.yt-dlp 105 | 106 | inputs.agenix.packages.${system}.default 107 | inputs.notifications-dbus-mon.packages."${system}".default 108 | inputs.spotify-dbus-mon.packages."${system}".default 109 | ]; 110 | } 111 | -------------------------------------------------------------------------------- /afx/dist/peq/sink-HE400i.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "HE400i", 4 | "preamp": -8, 5 | "parametric": true, 6 | "bands": [ 7 | { 8 | "type": 0, 9 | "channels": 0, 10 | "frequency": 90, 11 | "q": 0, 12 | "gain": 0, 13 | "color": 0 14 | }, 15 | { 16 | "type": 1, 17 | "channels": 0, 18 | "frequency": 10000, 19 | "q": 0, 20 | "gain": 0, 21 | "color": 0 22 | }, 23 | { 24 | "type": 3, 25 | "channels": 0, 26 | "frequency": 25, 27 | "q": 1, 28 | "gain": 4.96, 29 | "color": -13421773 30 | }, 31 | { 32 | "type": 4, 33 | "channels": 0, 34 | "frequency": 105, 35 | "q": 0.71, 36 | "gain": 3.55, 37 | "color": -8947849 38 | }, 39 | { 40 | "type": 3, 41 | "channels": 0, 42 | "frequency": 700, 43 | "q": 1, 44 | "gain": 1, 45 | "color": -13421773 46 | }, 47 | { 48 | "type": 3, 49 | "channels": 0, 50 | "frequency": 1050, 51 | "q": 2, 52 | "gain": -1.8, 53 | "color": -8947849 54 | }, 55 | { 56 | "type": 3, 57 | "channels": 0, 58 | "frequency": 1900, 59 | "q": 1.2, 60 | "gain": 5.7, 61 | "color": -13421773 62 | }, 63 | { 64 | "type": 3, 65 | "channels": 0, 66 | "frequency": 2900, 67 | "q": 2, 68 | "gain": -2.8, 69 | "color": -8947849 70 | }, 71 | { 72 | "type": 3, 73 | "channels": 0, 74 | "frequency": 6100, 75 | "q": 1.4, 76 | "gain": 3, 77 | "color": -13421773 78 | }, 79 | { 80 | "type": 3, 81 | "channels": 0, 82 | "frequency": 6750, 83 | "q": 4.5, 84 | "gain": -4.7, 85 | "color": -8947849 86 | }, 87 | { 88 | "type": 3, 89 | "channels": 0, 90 | "frequency": 8450, 91 | "q": 4, 92 | "gain": -2.9, 93 | "color": -13421773 94 | } 95 | ] 96 | } 97 | ] -------------------------------------------------------------------------------- /rofi/level4.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 35 | 40 | 41 | -------------------------------------------------------------------------------- /nix/home/mpv/script-append-url.nix: -------------------------------------------------------------------------------- 1 | { ... }: 2 | 3 | { 4 | home.file.".config/mpv/scripts/append-url.lua".text = # lua 5 | '' 6 | -- Author: donmaiq 7 | -- Appends url from clipboard to the playlist 8 | -- Requires xclip 9 | 10 | -- detect_platform() and get_clipboard() copied and edited from: 11 | -- https://github.com/rossy/mpv-repl 12 | -- © 2016, James Ross-Gowan 13 | -- 14 | -- Permission to use, copy, modify, and/or distribute this software for any 15 | -- purpose with or without fee is hereby granted, provided that the above 16 | -- copyright notice and this permission notice appear in all copies. 17 | 18 | local utils = require("mp.utils") 19 | local msg = require("mp.msg") 20 | 21 | --handles the subprocess response table and return clipboard if it was a success 22 | local function handleres(res, args, primary) 23 | if not res.error and res.status == 0 then 24 | return res.stdout 25 | else 26 | --if clipboard failed try primary selection 27 | if not primary then 28 | append(true) 29 | return nil 30 | end 31 | msg.error("There was an error getting clipboard: ") 32 | msg.error(" Status: " .. (res.status or "")) 33 | msg.error(" Error: " .. (res.error or "")) 34 | msg.error(" stdout: " .. (res.stdout or "")) 35 | msg.error("args: " .. utils.to_string(args)) 36 | return nil 37 | end 38 | end 39 | 40 | --main function 41 | local function append() 42 | local args = { "xclip", "-selection", primary and "primary" or "clipboard", "-out" } 43 | local clipboard = handleres(utils.subprocess({ args = args, cancellable = false }), args, primary) 44 | if clipboard then 45 | mp.commandv("loadfile", clipboard, "append-play") 46 | mp.osd_message("URL appended: " .. clipboard) 47 | msg.info("URL appended: " .. clipboard) 48 | end 49 | end 50 | 51 | mp.add_key_binding("ctrl+v", "appendURL", append) 52 | ''; 53 | } 54 | -------------------------------------------------------------------------------- /nix/home/xresources.nix: -------------------------------------------------------------------------------- 1 | { config-vars, ... }: 2 | 3 | { 4 | xresources = { 5 | path = "${config-vars.home-dir}/.config/Xresources"; 6 | extraConfig = '' 7 | #define _color0 ${config-vars.theme.base00} 8 | #define _color1 ${config-vars.theme.base0E} 9 | #define _color2 ${config-vars.theme.base08} 10 | #define _color3 ${config-vars.theme.base0B} 11 | #define _color4 ${config-vars.theme.color4} 12 | #define _color5 ${config-vars.theme.base0F} 13 | #define _color6 ${config-vars.theme.color4} 14 | #define _color7 ${config-vars.theme.base07} 15 | #define _color8 ${config-vars.theme.base02} 16 | #define _color9 ${config-vars.theme.base0E} 17 | #define _color10 ${config-vars.theme.base08} 18 | #define _color11 ${config-vars.theme.base0B} 19 | #define _color12 ${config-vars.theme.color4} 20 | #define _color13 ${config-vars.theme.base0F} 21 | #define _color14 ${config-vars.theme.color4} 22 | #define _color15 ${config-vars.theme.base05} 23 | #define _color16 ${config-vars.theme.base0C} 24 | 25 | #define _cursorColor ${config-vars.theme.cursor} 26 | #define _background ${config-vars.theme.base00} 27 | #define _foreground ${config-vars.theme.base05} 28 | ''; 29 | 30 | properties = { 31 | "st.font" = "Iosevka Nerd Font Mono:pixelsize=16:antialias=true:autohint=false:fonthashint=true"; 32 | "st.cwscale" = "1.0"; 33 | "st.chscale" = "0.90"; 34 | "st.borderpx" = "11"; 35 | "st.color0" = "_color0"; 36 | "st.color1" = "_color1"; 37 | "st.color2" = "_color2"; 38 | "st.color3" = "_color3"; 39 | "st.color4" = "_color4"; 40 | "st.color5" = "_color5"; 41 | "st.color6" = "_color6"; 42 | "st.color7" = "_color7"; 43 | "st.color8" = "_color8"; 44 | "st.color9" = "_color9"; 45 | "st.color10" = "_color10"; 46 | "st.color11" = "_color11"; 47 | "st.color12" = "_color12"; 48 | "st.color13" = "_color13"; 49 | "st.color14" = "_color14"; 50 | "st.color15" = "_color15"; 51 | "st.cursorColor" = "_cursorColor"; 52 | "st.background" = "_background"; 53 | "st.foreground" = "_foreground"; 54 | }; 55 | }; 56 | } 57 | -------------------------------------------------------------------------------- /zsh/aliases.zsh: -------------------------------------------------------------------------------- 1 | # Stop activating ghostscript by accident 2 | alias gs='git status' 3 | 4 | # dotfile editing 5 | alias gdf='cd $DOT && git status' 6 | 7 | # Exit 8 | alias :q='exit' 9 | alias :qa='exit' 10 | alias :Q='exit' 11 | alias :wq='exit' 12 | alias :Wq='exit' 13 | alias :q!='exit' 14 | alias :qa!='exit' 15 | alias :Q!='exit' 16 | alias :wq!='exit' 17 | alias :Wq!='exit' 18 | 19 | # Editor 20 | alias vim='nvim' 21 | 22 | # U S E R E R R O R 23 | alias cim='vim' 24 | alias vom='vim' 25 | alias vun='vim' 26 | alias ivm='vim' 27 | alias bim='vim' 28 | alias dw='cd' 29 | alias cs='cd' 30 | alias clera='clear' 31 | alias celar='clear' 32 | alias clare='clear' 33 | alias claer='clear' 34 | alias ckear='clear' 35 | alias Lq='exit' 36 | 37 | # One letter 38 | alias y='yarn' 39 | alias n='npm' 40 | alias o='xdg-open' 41 | alias t='tmux' 42 | alias b='bun' 43 | alias c='cargo' 44 | alias j='just' 45 | alias k='kubectl' 46 | alias l='eza --all' 47 | 48 | # networking 49 | alias cpr='rsync --archive -hh --partial --info=stats1,progress2 --modify-window=1 -e ssh' 50 | alias mvr='rsync --archive -hh --partial --info=stats1,progress2 --modify-window=1 --remove-source-files -e ssh' 51 | alias myip='curl https://ipinfo.io/ip && echo' 52 | 53 | # better defaults 54 | alias clear='clear -x' 55 | alias ls='eza --binary' 56 | alias la='eza --long --header --binary --all' 57 | alias ll='eza --long --header --binary' 58 | alias cat='bat' 59 | alias bc='bc --mathlib --quiet' 60 | alias ip='ip -c' 61 | alias sxiv='nsxiv --no-bar' 62 | alias make='make --no-print-directory' 63 | alias node='node --enable-source-maps --unhandled-rejections=strict' 64 | alias ffmpeg='ffmpeg -hide_banner' 65 | alias ffprobe='ffprobe -hide_banner' 66 | alias ffprobej='ffprobe -v quiet -hide_banner -print_format json -show_format -show_streams' 67 | alias pass='passage' 68 | 69 | # Other 70 | alias clip='xclip -selection c' 71 | alias pasteimg='xclip -selection clipboard -t image/png -o' 72 | alias gpl='curl https://www.gnu.org/licenses/gpl-3.0.txt' 73 | alias agpl='curl https://www.gnu.org/licenses/agpl-3.0.txt' 74 | alias curlv='curl --verbose' 75 | alias pg='ps -ax | rg' 76 | alias videoman="$HOME/Dev/videoman/src/index.ts" 77 | alias prodge="$HOME/Dev/prodge/src/index.ts" 78 | alias pd="$HOME/Dev/prodge/src/index.ts" 79 | alias tw='.git-ignored-general/tw.sh' 80 | -------------------------------------------------------------------------------- /nix/hosts/grace/home.nix: -------------------------------------------------------------------------------- 1 | { lib, config-vars, ... }: 2 | 3 | let 4 | fingerprint = { 5 | # BenQ ZOWIE XL LCD 6 | "DP-0" = 7 | "00ffffffffffff0009d1777f01010101031f0104a53c22783fa265a454519d26105054a56b80d1c081c081008180a9c0b30081bc0101023a801871382d40582c450056502100001e000000ff0045424d314d3030353035534c30000000fd0030f0ffff3c010a202020202020000000fc005a4f57494520584c204c43440a012b020318f14b010203040590111213141f2309070783010000fe5b80a0703835403020350056502100001a866f80a0703840403020350056502100001a5a8780a070384d403020350056502100001a23e88078703887401c20980c56502100001a9cc700085200a0407490370056502100001c00000000000000000000000000b8"; 8 | # LG Electronics LG ULTRAGEAR 9 | "HDMI-0" = 10 | "00ffffffffffff001e6d025c73f6000008210103803c2278eaab45a456509e27125054210800d1c00101010101010101010101010101288380a0703829403020350058542100001a023a801871382d40582c450058542100001a000000fd0030901eaa22000a202020202020000000fc004c4720554c545241474541520a0116020328f1230907074b010203041112131f903f4065030c0010006d1a00000205309000044a2e4a2e866f80a0703840403020350058542100001afe5b80a0703835403020350058542100001a000000ff000a202020202020202020202020000000000000000000000000000000000000000000000000000000000000000000f5"; 11 | }; 12 | 13 | main-config = { 14 | "DP-0" = { 15 | primary = true; 16 | enable = true; 17 | 18 | crtc = 0; 19 | mode = "1920x1080"; 20 | position = "1920x0"; 21 | rate = "240.00"; 22 | }; 23 | "HDMI-0" = { 24 | enable = true; 25 | 26 | crtc = 0; 27 | mode = "1920x1080"; 28 | position = "0x0"; 29 | rate = "144.00"; 30 | }; 31 | }; 32 | in 33 | { 34 | imports = [ ../../home/general.nix ]; 35 | 36 | home.stateVersion = "24.05"; 37 | 38 | programs.autorandr.profiles."00-main" = { 39 | inherit fingerprint; 40 | config = main-config; 41 | 42 | hooks.postswitch = '' 43 | killall gpu-screen-recorder 44 | ''; 45 | }; 46 | 47 | programs.autorandr.profiles."43-stretched" = { 48 | inherit fingerprint; 49 | config = lib.recursiveUpdate main-config { 50 | "DP-0" = { 51 | mode = "1280x1024"; 52 | }; 53 | }; 54 | 55 | hooks.postswitch = '' 56 | bash ${config-vars.dotfiles-dir}/scripts/gamemode.sh --cs2 57 | killall gpu-screen-recorder 58 | ''; 59 | }; 60 | } 61 | -------------------------------------------------------------------------------- /nix/home/mime.nix: -------------------------------------------------------------------------------- 1 | { ... }: 2 | 3 | let 4 | basic-text-editor = "org.xfce.mousepad.desktop"; 5 | browser = "firefox-devedition.desktop"; 6 | file-roller = "org.gnome.FileRoller.desktop"; 7 | mpv = "mpv.desktop"; 8 | nsxiv = "nsxiv.desktop"; 9 | protontricks = "protontricks-launch.desktop"; 10 | qview = "com.interversehq.qView.desktop"; 11 | thunar = "thunar.desktop"; 12 | zathura = "org.pwmt.zathura.desktop"; 13 | in 14 | { 15 | xdg.mime.enable = true; 16 | xdg.mimeApps.enable = true; 17 | 18 | xdg.mimeApps.defaultApplications = { 19 | "application/json" = [ basic-text-editor ]; 20 | "application/pdf" = [ zathura ]; 21 | "application/x-extension-htm" = [ browser ]; 22 | "application/x-extension-html" = [ browser ]; 23 | "application/x-extension-shtml" = [ browser ]; 24 | "application/x-extension-xht" = [ browser ]; 25 | "application/x-extension-xhtml" = [ browser ]; 26 | "application/xhtml+xml" = [ browser ]; 27 | "application/zip" = [ file-roller ]; 28 | "audio/flac" = [ mpv ]; 29 | "audio/mpeg" = [ mpv ]; 30 | "audio/x-aiff" = [ mpv ]; 31 | "image/gif" = [ mpv ]; 32 | "image/jpeg" = [ qview ]; 33 | "image/jpg" = [ qview ]; 34 | "image/png" = [ qview ]; 35 | "image/svg+xml" = [ nsxiv ]; 36 | "image/webp" = [ qview ]; 37 | "image/x-portable-pixmap" = [ qview ]; 38 | "inode/directory" = [ thunar ]; 39 | "text/csv" = [ basic-text-editor ]; 40 | "text/html" = [ browser ]; 41 | "text/plain" = [ basic-text-editor ]; 42 | "text/xml" = [ basic-text-editor ]; 43 | "video/mp4" = [ mpv ]; 44 | "video/x-matroska" = [ mpv ]; 45 | "x-scheme-handler/chrome" = [ browser ]; 46 | "x-scheme-handler/http" = [ browser ]; 47 | "x-scheme-handler/https" = [ browser ]; 48 | }; 49 | 50 | xdg.mimeApps.associations.added = { 51 | "application/x-extension-htm" = [ browser ]; 52 | "application/x-extension-html" = [ browser ]; 53 | "application/x-extension-shtml" = [ browser ]; 54 | "application/x-extension-xht" = [ browser ]; 55 | "application/x-extension-xhtml" = [ browser ]; 56 | "application/x-msdownload" = [ protontricks ]; 57 | "application/xhtml+xml" = [ browser ]; 58 | "text/html" = [ browser ]; 59 | "x-scheme-handler/chrome" = [ browser ]; 60 | "x-scheme-handler/http" = [ browser ]; 61 | "x-scheme-handler/https" = [ browser ]; 62 | }; 63 | } 64 | -------------------------------------------------------------------------------- /vim/lua/config/options.lua: -------------------------------------------------------------------------------- 1 | vim.opt.encoding = "UTF-8" 2 | vim.opt.spellfile = os.getenv("HOME") .. "/.config/dotfiles/vim/en.utf-8.add" 3 | 4 | vim.opt.fillchars = vim.opt.fillchars + "diff: " 5 | 6 | -- 256 colors 7 | vim.opt.termguicolors = true 8 | 9 | vim.opt.swapfile = false 10 | vim.opt.updatetime = 300 11 | 12 | -- Tab settings 13 | vim.opt.expandtab = true 14 | vim.opt.shiftwidth = 4 15 | vim.opt.softtabstop = 4 16 | vim.opt.tabstop = 4 17 | vim.opt.smarttab = true 18 | vim.opt.smartindent = true 19 | 20 | -- Search settings 21 | vim.opt.gdefault = true -- Global by default 22 | vim.opt.ignorecase = true -- Ignore case 23 | vim.opt.smartcase = true -- Override ignorecase if search contains capitals 24 | vim.opt.incsearch = true -- Search incrementally 25 | vim.opt.hls = false -- Don't highlight after Enter is pressed 26 | vim.opt.inccommand = "nosplit" -- Show find/replace as it is typed 27 | 28 | -- Open new splits on the right 29 | vim.opt.splitright = true 30 | 31 | -- Fold settings 32 | vim.opt.foldlevel = 1000 33 | vim.opt.foldmethod = "indent" 34 | 35 | vim.opt.undolevels = 9001 36 | vim.opt.cursorline = true 37 | 38 | -- Wrap 39 | vim.opt.wrap = true 40 | 41 | -- No command bar 42 | vim.opt.showmode = false 43 | 44 | -- Hide ugly completion messages 45 | vim.opt.shortmess = vim.opt.shortmess + "c" 46 | 47 | -- Leave signcolumn on so it's not toggling all the time 48 | vim.opt.signcolumn = "yes" 49 | 50 | -- Don't let the cursor reach the top/bottom 8 lines of text 51 | vim.opt.scrolloff = 8 52 | 53 | -- Don't automatically update working dir 54 | vim.opt.autochdir = false 55 | 56 | -- Completion menu settings 57 | vim.opt.completeopt = { "menu", "menuone", "noselect" } 58 | 59 | -- unload and delete the buffer once there are no more 60 | -- windows referencing it 61 | vim.opt.hidden = false 62 | 63 | -- Unix file line endings 64 | vim.opt.fileformat = "unix" 65 | 66 | -- Line numbers and relative line numbers 67 | vim.opt.number = true 68 | vim.opt.relativenumber = true 69 | 70 | -- Enable mouse 71 | vim.opt.mouse = "a" 72 | 73 | -- Change cursor to bar and underscore for different modes 74 | vim.opt.guicursor = "a:blinkwait1-blinkon1-blinkoff1,n-v:block,i-ci-ve:ver1,r:hor1" 75 | 76 | vim.opt.laststatus = 3 77 | 78 | -- Leader 79 | vim.g.mapleader = " " 80 | 81 | vim.g.rustfmt_autosave = 1 82 | vim.g.sql_type_default = "pgsql" 83 | 84 | vim.g.tmux_navigator_no_mappings = 1 85 | -------------------------------------------------------------------------------- /rofi/level5.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 35 | 40 | 41 | -------------------------------------------------------------------------------- /misc/user.js: -------------------------------------------------------------------------------- 1 | user_pref("browser.backspace_action", 0); 2 | user_pref("extensions.pocket.enabled", false); 3 | user_pref("browser.ctrlTab.sortByRecentlyUsed", true); 4 | user_pref("browser.tabs.tabMinWidth", 0); 5 | user_pref("browser.compactmode.show", true); 6 | 7 | user_pref("apz.overscroll.enabled", true); 8 | user_pref("browser.aboutConfig.showWarning", false); 9 | user_pref("browser.bookmarks.openInTabClosesMenu", false); 10 | user_pref("browser.ml.chat.enabled", false); 11 | user_pref("browser.ml.enabled", false); 12 | user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false); 13 | user_pref("browser.search.context.loadInBackground", true); 14 | user_pref("browser.send_pings", false); 15 | user_pref("browser.tabs.groups.enabled", true); 16 | user_pref("browser.tabs.hoverPreview.enabled", false); 17 | user_pref("browser.tabs.insertAfterCurrent", true); 18 | user_pref("browser.urlbar.suggest.calculator", false); 19 | user_pref("devtools.chrome.enabled", true); 20 | user_pref("devtools.debugger.prompt-connection", false); 21 | user_pref("devtools.debugger.remote-enabled", true); 22 | user_pref("dom.battery.enabled", false); 23 | user_pref("extensions.pocket.enabled", false); 24 | user_pref("findbar.highlightAll", true); 25 | user_pref("full-screen-api.transition-duration.enter", "0 0"); 26 | user_pref("full-screen-api.transition-duration.leave", "0 0"); 27 | user_pref("full-screen-api.warning.timeout", 0); 28 | user_pref("general.smoothScroll", true); 29 | user_pref("general.smoothScroll.msdPhysics.enabled", false); 30 | user_pref("layout.css.has-selector.enabled", true); 31 | user_pref("network.http.max-connections", 300); 32 | user_pref("sidebar.revamp", true); 33 | user_pref("sidebar.verticalTabs", true); 34 | user_pref("svg.context-properties.content.enabled", true); 35 | user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); 36 | user_pref("toolkit.tabbox.switchByScrolling", false); 37 | user_pref("widget.gtk.ignore-bogus-leave-notify", 1); 38 | user_pref("widget.gtk.native-context-menus", false); 39 | user_pref("widget.gtk.rounded-bottom-corners.enabled", true); 40 | 41 | // disable AI slop 42 | user_pref("browser.ml.enable", false); 43 | user_pref("browser.ml.chat.enabled", false); 44 | user_pref("extensions.ml.enabled", false); 45 | user_pref("browser.ml.linkPreview.enabled", false); 46 | user_pref("browser.tabs.groups.smart.enabled", false); 47 | user_pref("browser.tabs.groups.smart.userEnabled", false); 48 | -------------------------------------------------------------------------------- /afx/dist/peq/sink-Focal_Bathys.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Focal Bathys", 4 | "preamp": -5.6, 5 | "parametric": true, 6 | "bands": [ 7 | { 8 | "type": 0, 9 | "channels": 0, 10 | "frequency": 90, 11 | "q": 0, 12 | "gain": 0, 13 | "color": 0 14 | }, 15 | { 16 | "type": 1, 17 | "channels": 0, 18 | "frequency": 10000, 19 | "q": 0, 20 | "gain": 0, 21 | "color": 0 22 | }, 23 | { 24 | "type": 4, 25 | "channels": 0, 26 | "frequency": 56, 27 | "q": 0.71, 28 | "gain": 1.57, 29 | "color": -13421773 30 | }, 31 | { 32 | "type": 3, 33 | "channels": 0, 34 | "frequency": 430, 35 | "q": 1.2, 36 | "gain": -2, 37 | "color": -8947849 38 | }, 39 | { 40 | "type": 3, 41 | "channels": 0, 42 | "frequency": 910, 43 | "q": 1.4, 44 | "gain": 7.5, 45 | "color": -13421773 46 | }, 47 | { 48 | "type": 3, 49 | "channels": 0, 50 | "frequency": 1150, 51 | "q": 2, 52 | "gain": -4.6, 53 | "color": -8947849 54 | }, 55 | { 56 | "type": 3, 57 | "channels": 0, 58 | "frequency": 2850, 59 | "q": 6, 60 | "gain": -1.5, 61 | "color": -13421773 62 | }, 63 | { 64 | "type": 3, 65 | "channels": 0, 66 | "frequency": 3250, 67 | "q": 6, 68 | "gain": -1.5, 69 | "color": -8947849 70 | }, 71 | { 72 | "type": 3, 73 | "channels": 0, 74 | "frequency": 4000, 75 | "q": 0.7, 76 | "gain": 4.5, 77 | "color": -13421773 78 | }, 79 | { 80 | "type": 3, 81 | "channels": 0, 82 | "frequency": 4350, 83 | "q": 5, 84 | "gain": -1, 85 | "color": -8947849 86 | }, 87 | { 88 | "type": 3, 89 | "channels": 0, 90 | "frequency": 5750, 91 | "q": 5, 92 | "gain": -1.5, 93 | "color": -13421773 94 | }, 95 | { 96 | "type": 5, 97 | "channels": 0, 98 | "frequency": 10000, 99 | "q": 0.71, 100 | "gain": 1.25, 101 | "color": -8947849 102 | } 103 | ] 104 | } 105 | ] -------------------------------------------------------------------------------- /afx/dist/peq/sink-QC35.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "QC35", 4 | "preamp": -1.9, 5 | "parametric": true, 6 | "bands": [ 7 | { 8 | "type": 0, 9 | "channels": 0, 10 | "frequency": 90, 11 | "q": 0, 12 | "gain": 0, 13 | "color": 0 14 | }, 15 | { 16 | "type": 1, 17 | "channels": 0, 18 | "frequency": 10000, 19 | "q": 0, 20 | "gain": 0, 21 | "color": 0 22 | }, 23 | { 24 | "type": 3, 25 | "channels": 0, 26 | "frequency": 44, 27 | "q": 0.68, 28 | "gain": -1.5, 29 | "color": -13421773 30 | }, 31 | { 32 | "type": 3, 33 | "channels": 0, 34 | "frequency": 120, 35 | "q": 1.09, 36 | "gain": -1.3, 37 | "color": -8947849 38 | }, 39 | { 40 | "type": 3, 41 | "channels": 0, 42 | "frequency": 510, 43 | "q": 1.42, 44 | "gain": 1.5, 45 | "color": -13421773 46 | }, 47 | { 48 | "type": 3, 49 | "channels": 0, 50 | "frequency": 1237, 51 | "q": 2.02, 52 | "gain": 0.6, 53 | "color": -8947849 54 | }, 55 | { 56 | "type": 3, 57 | "channels": 0, 58 | "frequency": 1256, 59 | "q": 0.68, 60 | "gain": -1.1, 61 | "color": -13421773 62 | }, 63 | { 64 | "type": 3, 65 | "channels": 0, 66 | "frequency": 1557, 67 | "q": 2.19, 68 | "gain": 1.2, 69 | "color": -8947849 70 | }, 71 | { 72 | "type": 3, 73 | "channels": 0, 74 | "frequency": 1575, 75 | "q": 2.67, 76 | "gain": 0.8, 77 | "color": -13421773 78 | }, 79 | { 80 | "type": 3, 81 | "channels": 0, 82 | "frequency": 2796, 83 | "q": 4.04, 84 | "gain": -3.4, 85 | "color": -8947849 86 | }, 87 | { 88 | "type": 3, 89 | "channels": 0, 90 | "frequency": 6178, 91 | "q": 4.39, 92 | "gain": -6.1, 93 | "color": -13421773 94 | }, 95 | { 96 | "type": 3, 97 | "channels": 0, 98 | "frequency": 7282, 99 | "q": 1.28, 100 | "gain": 2.8, 101 | "color": -8947849 102 | } 103 | ] 104 | } 105 | ] -------------------------------------------------------------------------------- /afx/dist/peq/sink-Focal_Clear.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Focal Clear", 4 | "preamp": -6, 5 | "parametric": true, 6 | "bands": [ 7 | { 8 | "type": 0, 9 | "channels": 0, 10 | "frequency": 90, 11 | "q": 0, 12 | "gain": 0, 13 | "color": 0 14 | }, 15 | { 16 | "type": 1, 17 | "channels": 0, 18 | "frequency": 10000, 19 | "q": 0, 20 | "gain": 0, 21 | "color": 0 22 | }, 23 | { 24 | "type": 4, 25 | "channels": 0, 26 | "frequency": 32, 27 | "q": 0.69, 28 | "gain": 3.21, 29 | "color": -13421773 30 | }, 31 | { 32 | "type": 4, 33 | "channels": 0, 34 | "frequency": 98, 35 | "q": 0.71, 36 | "gain": 1.39, 37 | "color": -8947849 38 | }, 39 | { 40 | "type": 3, 41 | "channels": 0, 42 | "frequency": 570, 43 | "q": 0.8, 44 | "gain": 1.92, 45 | "color": -13421773 46 | }, 47 | { 48 | "type": 3, 49 | "channels": 0, 50 | "frequency": 1350, 51 | "q": 1.7, 52 | "gain": -1.32, 53 | "color": -8947849 54 | }, 55 | { 56 | "type": 5, 57 | "channels": 0, 58 | "frequency": 1800, 59 | "q": 0.71, 60 | "gain": 4.75, 61 | "color": -13421773 62 | }, 63 | { 64 | "type": 3, 65 | "channels": 0, 66 | "frequency": 3030, 67 | "q": 2.8, 68 | "gain": -2.9, 69 | "color": -8947849 70 | }, 71 | { 72 | "type": 3, 73 | "channels": 0, 74 | "frequency": 3630, 75 | "q": 4.8, 76 | "gain": -2.2, 77 | "color": -13421773 78 | }, 79 | { 80 | "type": 3, 81 | "channels": 0, 82 | "frequency": 5900, 83 | "q": 6, 84 | "gain": -5.3, 85 | "color": -8947849 86 | }, 87 | { 88 | "type": 3, 89 | "channels": 0, 90 | "frequency": 7000, 91 | "q": 1, 92 | "gain": 2, 93 | "color": -13421773 94 | }, 95 | { 96 | "type": 5, 97 | "channels": 0, 98 | "frequency": 10000, 99 | "q": 0.71, 100 | "gain": -5, 101 | "color": -8947849 102 | } 103 | ] 104 | } 105 | ] -------------------------------------------------------------------------------- /afx/dist/peq/sink-QC35_Wireless.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "QC35 Wireless", 4 | "preamp": -4.2, 5 | "parametric": true, 6 | "bands": [ 7 | { 8 | "type": 0, 9 | "channels": 0, 10 | "frequency": 90, 11 | "q": 0, 12 | "gain": 0, 13 | "color": 0 14 | }, 15 | { 16 | "type": 1, 17 | "channels": 0, 18 | "frequency": 10000, 19 | "q": 0, 20 | "gain": 0, 21 | "color": 0 22 | }, 23 | { 24 | "type": 3, 25 | "channels": 0, 26 | "frequency": 13, 27 | "q": 0.52, 28 | "gain": -6.2, 29 | "color": -13421773 30 | }, 31 | { 32 | "type": 3, 33 | "channels": 0, 34 | "frequency": 102, 35 | "q": 0.73, 36 | "gain": -2, 37 | "color": -8947849 38 | }, 39 | { 40 | "type": 3, 41 | "channels": 0, 42 | "frequency": 476, 43 | "q": 1.84, 44 | "gain": 1.2, 45 | "color": -13421773 46 | }, 47 | { 48 | "type": 3, 49 | "channels": 0, 50 | "frequency": 957, 51 | "q": 3.93, 52 | "gain": -1.3, 53 | "color": -8947849 54 | }, 55 | { 56 | "type": 3, 57 | "channels": 0, 58 | "frequency": 1639, 59 | "q": 2.5, 60 | "gain": 4.3, 61 | "color": -13421773 62 | }, 63 | { 64 | "type": 3, 65 | "channels": 0, 66 | "frequency": 2737, 67 | "q": 3.5, 68 | "gain": -3.6, 69 | "color": -8947849 70 | }, 71 | { 72 | "type": 3, 73 | "channels": 0, 74 | "frequency": 5379, 75 | "q": 3.9, 76 | "gain": 1.7, 77 | "color": -13421773 78 | }, 79 | { 80 | "type": 3, 81 | "channels": 0, 82 | "frequency": 6166, 83 | "q": 3.98, 84 | "gain": -5.5, 85 | "color": -8947849 86 | }, 87 | { 88 | "type": 3, 89 | "channels": 0, 90 | "frequency": 8135, 91 | "q": 3.13, 92 | "gain": 2.4, 93 | "color": -13421773 94 | }, 95 | { 96 | "type": 3, 97 | "channels": 0, 98 | "frequency": 19633, 99 | "q": 0.38, 100 | "gain": -1.18, 101 | "color": -8947849 102 | } 103 | ] 104 | } 105 | ] -------------------------------------------------------------------------------- /afx/dist/peq/sink-Moondrop_Space_Travel.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Moondrop Space Travel", 4 | "preamp": -3.99, 5 | "parametric": true, 6 | "bands": [ 7 | { 8 | "type": 0, 9 | "channels": 0, 10 | "frequency": 90, 11 | "q": 0, 12 | "gain": 0, 13 | "color": 0 14 | }, 15 | { 16 | "type": 1, 17 | "channels": 0, 18 | "frequency": 10000, 19 | "q": 0, 20 | "gain": 0, 21 | "color": 0 22 | }, 23 | { 24 | "type": 3, 25 | "channels": 0, 26 | "frequency": 105, 27 | "q": 0.46, 28 | "gain": -1.5, 29 | "color": -13421773 30 | }, 31 | { 32 | "type": 3, 33 | "channels": 0, 34 | "frequency": 851, 35 | "q": 1.92, 36 | "gain": 0.8, 37 | "color": -8947849 38 | }, 39 | { 40 | "type": 3, 41 | "channels": 0, 42 | "frequency": 1881, 43 | "q": 1.9, 44 | "gain": 2.2, 45 | "color": -13421773 46 | }, 47 | { 48 | "type": 3, 49 | "channels": 0, 50 | "frequency": 2585, 51 | "q": 3.71, 52 | "gain": -0.8, 53 | "color": -8947849 54 | }, 55 | { 56 | "type": 3, 57 | "channels": 0, 58 | "frequency": 2890, 59 | "q": 1.49, 60 | "gain": -1.8, 61 | "color": -13421773 62 | }, 63 | { 64 | "type": 3, 65 | "channels": 0, 66 | "frequency": 3372, 67 | "q": 1.88, 68 | "gain": -2.74, 69 | "color": -8947849 70 | }, 71 | { 72 | "type": 3, 73 | "channels": 0, 74 | "frequency": 4549, 75 | "q": 4.18, 76 | "gain": -1.3, 77 | "color": -13421773 78 | }, 79 | { 80 | "type": 3, 81 | "channels": 0, 82 | "frequency": 5626, 83 | "q": 3.5, 84 | "gain": 4.5, 85 | "color": -8947849 86 | }, 87 | { 88 | "type": 3, 89 | "channels": 0, 90 | "frequency": 7974, 91 | "q": 3.01, 92 | "gain": 2, 93 | "color": -13421773 94 | }, 95 | { 96 | "type": 5, 97 | "channels": 0, 98 | "frequency": 10000, 99 | "q": 0.7, 100 | "gain": -3.02, 101 | "color": -8947849 102 | } 103 | ] 104 | } 105 | ] -------------------------------------------------------------------------------- /nix/common/env.nix: -------------------------------------------------------------------------------- 1 | { config-vars, ... }: 2 | 3 | { 4 | environment.sessionVariables = rec { 5 | # home directory cleanup 6 | XDG_DATA_HOME = "$HOME/.local/share"; 7 | XDG_DESKTOP_HOME = "$HOME/.local/desktop"; 8 | XDG_CONFIG_HOME = "$HOME/.config"; 9 | XDG_CACHE_HOME = "$HOME/.cache"; 10 | XDG_STATE_HOME = "$HOME/.local/state"; 11 | 12 | # home directory cleanup 13 | CARGO_HOME = "${XDG_DATA_HOME}/cargo"; 14 | CUDA_CACHE_PATH = "${XDG_CACHE_HOME}/nv"; 15 | DOCKER_CONFIG = "${XDG_CONFIG_HOME}/docker"; 16 | GRADLE_USER_HOME = "${XDG_DATA_HOME}/gradle"; 17 | GRIPHOME = "${XDG_CONFIG_HOME}/grip"; 18 | HISTFILE = "${XDG_STATE_HOME}/zsh/history"; 19 | ICEAUTHORITY = "${XDG_CACHE_HOME}/ICEauthority"; 20 | IPYTHONDIR = "${XDG_CONFIG_HOME}/jupyter"; 21 | JUPYTER_CONFIG_DIR = "${XDG_CONFIG_HOME}/jupyter"; 22 | KUBECACHEDIR = "${XDG_CACHE_HOME}/kube"; 23 | LESS = "-RX"; 24 | LESSHISTFILE = "-"; 25 | NODE_REPL_HISTORY = "${XDG_DATA_HOME}/node_repl_history"; 26 | NPM_CONFIG_USERCONFIG = "${XDG_CONFIG_HOME}/npm/npmrc"; 27 | PASSAGE_DIR = "${XDG_DATA_HOME}/passage/store"; 28 | PASSAGE_IDENTITIES_FILE = "${XDG_DATA_HOME}/passage/identities"; 29 | PASSWORD_STORE_CLIP_TIME = "15"; 30 | PSQL_HISTORY = "${XDG_STATE_HOME}/psql_history"; 31 | RUSTUP_HOME = "${XDG_DATA_HOME}/rustup"; 32 | SQLITE_HISTORY = "${XDG_DATA_HOME}/sqlite_history"; 33 | SSB_HOME = "${XDG_DATA_HOME}/zoom"; 34 | XCOMPOSECACHE = "${XDG_CACHE_HOME}/X11/xcompose"; 35 | XCOMPOSEFILE = "${XDG_CONFIG_HOME}/X11/xcompose"; 36 | ZDOTDIR = "$HOME/.config/zsh"; 37 | _JAVA_OPTIONS = "-Djava.util.prefs.userRoot=${XDG_CONFIG_HOME}/java"; 38 | 39 | EDITOR = "nvim"; 40 | MANPAGER = "nvim +Man!"; 41 | TERMINAL = config-vars.terminal; 42 | BROWSER = "firefox-devedition"; 43 | COLORTERM = "truecolor"; 44 | DOT = config-vars.dotfiles-dir; 45 | HOSTNAME = config-vars.host; 46 | 47 | SSH_AUTH_SOCK = "/run/user/1000/gnupg/S.gpg-agent.ssh"; 48 | 49 | # yikes 50 | DO_NOT_TRACK = "1"; 51 | DOTNET_CLI_TELEMETRY_OPTOUT = "1"; 52 | GATSBY_TELEMETRY_DISABLED = "1"; 53 | DENO_NO_UPDATE_CHECK = "1"; 54 | GOPROXY = "direct"; 55 | ARTILLERY_DISABLE_TELEMETRY = "true"; 56 | ASTRO_TELEMETRY_DISABLED = "1"; 57 | 58 | PATH = [ 59 | "$HOME/.local/bin" 60 | "${XDG_DATA_HOME}/cargo/bin" 61 | "$HOME/.local/bin" 62 | "$HOME/.nix-profile/bin" 63 | "$HOME/.cache/.bun/bin" 64 | ]; 65 | }; 66 | } 67 | -------------------------------------------------------------------------------- /scripts/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if [ "$1" = "--full" ]; then 4 | rm -rf ~/.config/npm 2>/dev/null 5 | rm -rf ~/.config/nvim 2>/dev/null 6 | rm -rf ~/.config/rofi 2>/dev/null 7 | rm -rf ~/.config/zsh 2>/dev/null 8 | 9 | mkdir -p ~/.config/npm 10 | mkdir -p ~/.config/rofi 11 | mkdir -p ~/.config/zsh 12 | 13 | mkdir -p ~/.local/share/applications 14 | mkdir -p ~/.local/bin 15 | 16 | # /home cleanup directories 17 | mkdir -p ~/.cache/nv 18 | mkdir -p ~/.config/grip 19 | mkdir -p ~/.config/gtk-2.0 20 | mkdir -p ~/.config/java 21 | mkdir -p ~/.config/jupyter 22 | mkdir -p ~/.config/npm 23 | mkdir -p ~/.config/nvim 24 | mkdir -p ~/.local/share/cargo 25 | mkdir -p ~/.local/share/gnupg 26 | mkdir -p ~/.local/share/gradle 27 | mkdir -p ~/.local/share/rustup 28 | mkdir -p ~/.local/share/zsh 29 | fi 30 | 31 | cd ~ || exit 32 | 33 | # symlinked folders need to be removed before linking 34 | rm -rf ~/.config/awesome 35 | rm -rf ~/.config/nvim/lua 36 | rm -rf ~/.config/nvim/queries 37 | rm -rf ~/.config/nvim/after 38 | rm -rf ~/.config/nvim/init.lua 39 | rm -rf ~/.config/nvim/lazy-lock.json 40 | 41 | ln -fs ~/.config/dotfiles/vim/lua ~/.config/nvim/lua 42 | ln -fs ~/.config/dotfiles/vim/queries ~/.config/nvim/queries 43 | ln -fs ~/.config/dotfiles/vim/after ~/.config/nvim/after 44 | ln -fs ~/.config/dotfiles/vim/init.lua ~/.config/nvim/ 45 | ln -fs ~/.config/dotfiles/vim/lazy-lock.json ~/.config/nvim/ 46 | ln -fs ~/.config/dotfiles/awesome/theme ~/.config/awesome/theme 47 | ln -fs ~/.config/dotfiles/awesome/rc.lua ~/.config/awesome/ 48 | ln -fs ~/.config/dotfiles/rofi/config.rasi ~/.config/rofi/ 49 | ln -fs ~/.config/dotfiles/rofi/base.rasi ~/.config/rofi/ 50 | ln -fs ~/.config/dotfiles/rofi/power.rasi ~/.config/rofi/ 51 | ln -fs ~/.config/dotfiles/rofi/screenshot.rasi ~/.config/rofi/ 52 | ln -fs ~/.config/dotfiles/rofi/list.rasi ~/.config/rofi/ 53 | ln -fs ~/.config/dotfiles/rofi/eq.rasi ~/.config/rofi/ 54 | ln -fs ~/.config/dotfiles/zsh/zlogout ~/.config/zsh/.zlogout 55 | ln -fs ~/.config/dotfiles/zsh/zshrc ~/.config/zsh/.zshrc 56 | 57 | echo 58 | echo "Finished deployment" 59 | -------------------------------------------------------------------------------- /vim/lua/config/autocmd.lua: -------------------------------------------------------------------------------- 1 | local user_cmd = vim.api.nvim_create_user_command 2 | 3 | vim.cmd([[autocmd FileType gitcommit,text,markdown let b:EditorConfig_disable = 1]]) 4 | 5 | local spell_langs = { 6 | "gitcommit", 7 | "text", 8 | "markdown", 9 | "cucumber", 10 | } 11 | 12 | for _, v in ipairs(spell_langs) do 13 | vim.cmd("autocmd FileType " .. v .. " setlocal spell spelllang=en_us") 14 | end 15 | 16 | -- Set a max line length for Markdown files 17 | vim.cmd([[autocmd FileType markdown setlocal textwidth=89]]) 18 | vim.cmd([[autocmd FileType markdown setlocal colorcolumn=90]]) 19 | 20 | -- Set indentation to 2 spaces for certain files 21 | local two_spc_files = { 22 | "cpp", 23 | "css", 24 | "graphql", 25 | "groovy", 26 | "html", 27 | "javascript", 28 | "json", 29 | "jsonc", 30 | "less", 31 | "nix", 32 | "scss", 33 | "sql", 34 | "toml", 35 | "typescript", 36 | "typescriptreact", 37 | "yaml", 38 | "yml", 39 | } 40 | 41 | for _, v in ipairs(two_spc_files) do 42 | vim.cmd("autocmd FileType " .. v .. " setlocal shiftwidth=2") 43 | vim.cmd("autocmd FileType " .. v .. " setlocal softtabstop=2") 44 | end 45 | 46 | -- Jump to last known cursor position when opening files 47 | vim.cmd( 48 | [[autocmd BufReadPost * if expand('%:t') != 'COMMIT_EDITMSG' && line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif]] 49 | ) 50 | 51 | vim.cmd([[autocmd BufRead,BufNewFile Jenkinsfile setf groovy]]) 52 | vim.cmd([[autocmd BufRead,BufNewFile *.graphql setf graphql]]) 53 | vim.cmd([[autocmd BufRead,BufNewFile *.rasi setf rasi]]) 54 | vim.cmd([[autocmd BufRead,BufNewFile *.http setf http]]) 55 | vim.cmd([[autocmd BufRead,BufNewFile *.mdx setf markdown]]) 56 | 57 | -- Set indentation to hard tabs for some files 58 | vim.cmd([[autocmd FileType snippets,go,lua setlocal tabstop=4]]) 59 | vim.cmd([[autocmd FileType snippets,go,lua setlocal shiftwidth=4]]) 60 | vim.cmd([[autocmd FileType asm setlocal shiftwidth=8]]) 61 | vim.cmd([[autocmd FileType asm setlocal expandtab]]) 62 | vim.cmd([[autocmd FileType go,lua setlocal noexpandtab]]) 63 | vim.cmd([[autocmd FileType makefile setlocal noexpandtab]]) 64 | 65 | user_cmd("RustDocs", ":silent !rustup doc --std", {}) 66 | 67 | -- Make leaving easier in case of typos 68 | user_cmd("Q", ":q", { bang = true }) 69 | user_cmd("Qa", ":qa", { bang = true }) 70 | user_cmd("QA", ":qa", { bang = true }) 71 | user_cmd("Wq", ":wq", {}) 72 | user_cmd("WQ", ":wq", {}) 73 | user_cmd("Wqa", ":wqa", {}) 74 | user_cmd("WQa", ":wqa", {}) 75 | user_cmd("WQA", ":wqa", {}) 76 | -------------------------------------------------------------------------------- /nix/README.md: -------------------------------------------------------------------------------- 1 | # Installing NixOS 2 | 3 | 1. Load into the NixOS installation environment via bootable USB 4 | 2. Start a terminal and log in as root 5 | 3. Run `fdisk -l` and find the disk to install onto 6 | 7 | 4. Partition the disk as follows: 8 | * Partition 1: 1GB EFI System Partition 9 | * Partition 2: All remaining space default partition type 10 | 11 | 5. Construct the LVM-on-LUKS file system setup 12 | ```bash 13 | LUKS_ROOT_DEVICE=/dev/nvme1n1p2 14 | BOOT_DEVICE=/dev/nvme1n1p1 15 | 16 | cryptsetup luksFormat $LUKS_ROOT_DEVICE 17 | cryptsetup open $LUKS_ROOT_DEVICE cryptlvm 18 | 19 | pvcreate /dev/mapper/cryptlvm 20 | 21 | vgcreate MyVolGroup /dev/mapper/cryptlvm 22 | 23 | lvcreate -L 8G -n nixos-swap MyVolGroup 24 | lvcreate -l '100%FREE' -n nixos-root MyVolGroup 25 | ``` 26 | 27 | 6. Create the file systems on the logical volumes 28 | ```bash 29 | mkfs.vfat -n nixos-boot $BOOT_DEVICE 30 | 31 | mkfs.ext4 -L nixos-root /dev/MyVolGroup/nixos-root 32 | 33 | mkswap -L nixos-swap /dev/MyVolGroup/nixos-swap 34 | 35 | swapon /dev/MyVolGroup/nixos-swap 36 | ``` 37 | 38 | 7. Mount the file systems and prep for install 39 | ```bash 40 | mount /dev/MyVolGroup/nixos-root /mnt 41 | mkdir /mnt/boot 42 | mount -o umask=077 $BOOT_DEVICE /mnt/boot 43 | ``` 44 | 45 | 8. Generate a config 46 | ```bash 47 | nixos-generate-config --root /mnt 48 | ``` 49 | 50 | 9. Ensure the boot file system in `hardware-configuration.nix` is correct 51 | ```nix 52 | fileSystems."/boot" = 53 | { device = "/dev/disk/by-label/nixos-boot"; 54 | fsType = "vfat"; 55 | options = [ "fmask=0077" "dmask=0077" ]; 56 | }; 57 | ``` 58 | 59 | 10. Make required modifications to the generated `configuration.nix` 60 | ```nix 61 | boot.initrd.luks.devices = { 62 | root = { 63 | device = ""; 64 | preLVM = true; 65 | }; 66 | }; 67 | 68 | networking.hostName = "grace"; 69 | networking.networkmanager.enable = true; 70 | time.timeZone = "America/Edmonton"; 71 | i18n.defaultLocale = "en_CA.UTF-8"; 72 | environment.systemPackages = with pkgs; [ 73 | neovim 74 | ]; 75 | 76 | services.xserver.enable = false; 77 | # Also delete any other xserver configs, our first installation will be headless 78 | ``` 79 | 80 | 11. Perform the install 81 | ```bash 82 | nixos-install 83 | ``` 84 | 85 | 12. Reboot 86 | 13. Log in as root 87 | 14. Copy dotfiles nix config to /etc/nixos 88 | 15. Make any required merges to `configuration.nix` 89 | 16. Rebuild with `nixos-rebuild switch --flake '.#'` 90 | 17. Reboot 91 | 18. Log in as root 92 | 19. Set password for non-root user with `passwd jayden` 93 | 20. Log in as non-root 94 | 21. Profit 95 | -------------------------------------------------------------------------------- /afx/devices/HD_560S.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "HD 560S", 3 | "type": "sink", 4 | "output": "FL FR", 5 | "settings": { 6 | "preamp": 0, 7 | "bands": [ 8 | { 9 | "type": "lowshelf", 10 | "mode": "RLC_BT", 11 | "slope": 0, 12 | "freq": 34.851, 13 | "Q": 0.46, 14 | "gain": 5 15 | }, 16 | { 17 | "type": "peaking", 18 | "mode": "RLC_BT", 19 | "slope": 0, 20 | "freq": 73.913, 21 | "Q": 1.4, 22 | "gain": 0.4 23 | }, 24 | { 25 | "type": "peaking", 26 | "mode": "RLC_BT", 27 | "slope": 0, 28 | "freq": 207.579, 29 | "Q": 1.4, 30 | "gain": -0.62 31 | }, 32 | { 33 | "type": "peaking", 34 | "mode": "RLC_BT", 35 | "slope": 0, 36 | "freq": 608, 37 | "Q": 0.89, 38 | "gain": 0.7 39 | }, 40 | { 41 | "type": "peaking", 42 | "mode": "RLC_BT", 43 | "slope": 0, 44 | "freq": 710.698, 45 | "Q": 0, 46 | "gain": 1.39 47 | }, 48 | { 49 | "type": "peaking", 50 | "mode": "RLC_BT", 51 | "slope": 0, 52 | "freq": 1011, 53 | "Q": 2.42, 54 | "gain": -0.8 55 | }, 56 | { 57 | "type": "peaking", 58 | "mode": "RLC_BT", 59 | "slope": 0, 60 | "freq": 1290, 61 | "Q": 2.1, 62 | "gain": -1.3 63 | }, 64 | { 65 | "type": "peaking", 66 | "mode": "RLC_BT", 67 | "slope": 0, 68 | "freq": 1811, 69 | "Q": 4.04, 70 | "gain": 1 71 | }, 72 | { 73 | "type": "peaking", 74 | "mode": "RLC_BT", 75 | "slope": 0, 76 | "freq": 2199, 77 | "Q": 3.26, 78 | "gain": 1.4 79 | }, 80 | { 81 | "type": "peaking", 82 | "mode": "RLC_BT", 83 | "slope": 0, 84 | "freq": 5038, 85 | "Q": 2.35, 86 | "gain": -5.12 87 | }, 88 | { 89 | "type": "peaking", 90 | "mode": "RLC_BT", 91 | "slope": 0, 92 | "freq": 6148.913, 93 | "Q": 5.8, 94 | "gain": -1.65 95 | }, 96 | { 97 | "type": "peaking", 98 | "mode": "RLC_BT", 99 | "slope": 0, 100 | "freq": 9960, 101 | "Q": 0.86, 102 | "gain": 4.08 103 | }, 104 | { 105 | "type": "lowpass", 106 | "mode": "RLC_BT", 107 | "slope": 0, 108 | "freq": 14858.112, 109 | "Q": 0.6, 110 | "gain": 0 111 | } 112 | ] 113 | } 114 | } 115 | -------------------------------------------------------------------------------- /nix/home/desktop-files.nix: -------------------------------------------------------------------------------- 1 | { config-vars, ... }: 2 | 3 | { 4 | home.file = { 5 | ".local/share/applications/mullvad_browser_vpn.desktop".text = '' 6 | [Desktop Entry] 7 | Categories=Network;WebBrowser;Security 8 | Comment=Access the Internet over Mullvad 9 | Exec=firejail --noprofile --netns=mullvad mullvad-browser --private-window https://mullvad.net/en/check 10 | GenericName=Web Browser 11 | Icon=mullvad-browser 12 | MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;x-scheme-handler/http;x-scheme-handler/https 13 | Name=Mullvad Browser (VPN) 14 | Type=Application 15 | Version=1.4 16 | ''; 17 | 18 | ".local/share/applications/firefox-devedition.desktop".text = '' 19 | [Desktop Entry] 20 | Actions=new-private-window;alternate-profile 21 | Categories=Network;WebBrowser 22 | Exec=firefox-devedition --name firefox-devedition %U 23 | GenericName=Web Browser 24 | Icon=firefox-devedition 25 | MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;x-scheme-handler/http;x-scheme-handler/https 26 | Name=Zen 27 | StartupNotify=true 28 | StartupWMClass=firefox-devedition 29 | Terminal=false 30 | Type=Application 31 | Version=1.4 32 | 33 | [Desktop Action new-private-window] 34 | Exec=firefox-devedition --private-window %U 35 | Name=New Private Window 36 | 37 | [Desktop Action alternate-profile] 38 | Exec=firefox-devedition --profile ${config-vars.home-dir}/.mozilla/firefox/os9o8p15.Alternate %U 39 | Name=Alternate Profile 40 | ''; 41 | 42 | ".local/share/applications/wallpaper.desktop".text = '' 43 | [Desktop Entry] 44 | Exec=${config-vars.dotfiles-dir}/scripts/wallpaper/wallpaper.sh "${config-vars.home-dir}/Pictures/Wallpapers/Single Screen" 45 | Type=Application 46 | Version=1.0 47 | Name=Wallpaper 48 | Comment=Set the wallpaper for the desktop and login manager 49 | Icon=${config-vars.dotfiles-dir}/scripts/wallpaper/wallpaper-ico.png 50 | Terminal=false 51 | ''; 52 | 53 | ".local/share/applications/gamemodescript.desktop".text = '' 54 | [Desktop Entry] 55 | Actions=game-mode-cs 56 | Exec=${config-vars.dotfiles-dir}/scripts/gamemode.sh 57 | Type=Application 58 | Version=1.0 59 | Name=Game Mode 60 | Comment=Setup the computer for gaming mode 61 | Icon=${config-vars.dotfiles-dir}/scripts/wallpaper/wallpaper-ico.png 62 | Terminal=false 63 | 64 | [Desktop Action game-mode-cs] 65 | Exec=${config-vars.dotfiles-dir}/scripts/gamemode.sh --cs2 66 | Name=CS2 67 | ''; 68 | }; 69 | } 70 | -------------------------------------------------------------------------------- /vim/en.utf-8.add: -------------------------------------------------------------------------------- 1 | Jayden 2 | textbf 3 | needspace 4 | subsubsection 5 | vspace 6 | longtabu 7 | baselineskip 8 | texttt 9 | hline 10 | hspace 11 | gameboard 12 | UVic 13 | inorder 14 | entires 15 | init 16 | Getters 17 | runtime 18 | spotify 19 | NullPointerException 20 | Cava 21 | Dunst 22 | cava 23 | config 24 | rofi 25 | workspace 26 | workspaces 27 | resize 28 | IoT 29 | data 30 | analytics 31 | interconnectedness 32 | incentivizes 33 | Vlacheas 34 | incentivize 35 | RobotC 36 | Okarito 37 | ENGR 38 | Logitech 39 | picom 40 | compton 41 | lockscreen 42 | Jayden 43 | planisphere 44 | Capricornus 45 | blackbody 46 | blackbody 47 | Cyrillus 48 | ESS 49 | ELW 50 | Deregister 51 | polybar 52 | refractor 53 | Refactor 54 | struct 55 | util 56 | github 57 | structs 58 | struct 59 | Facebook 60 | JSON 61 | fmt 62 | onboard 63 | api 64 | json 65 | deregister 66 | vim 67 | MySQL 68 | MariaDB 69 | PostgreSQL 70 | JavaScript 71 | struct 72 | https 73 | www 74 | org 75 | html 76 | Heroku 77 | microcontroller 78 | ATmega2560 79 | gitignore 80 | UVic 81 | SaaSquatch 82 | json 83 | screenshot 84 | metadata 85 | Valorant 86 | phishing 87 | GitHub 88 | localhost 89 | inbox 90 | REPL 91 | Gmail 92 | TLS 93 | VM 94 | LastPass 95 | autofill 96 | PID 97 | UML 98 | timestamp 99 | mutex 100 | condvar 101 | XSS 102 | Arduino 103 | arduino 104 | frontend 105 | Launchcode 106 | codebase 107 | Zustand 108 | MobX 109 | workflow 110 | refactor 111 | Gitlab 112 | backend 113 | Ninotchka 114 | filmmaking 115 | polytope 116 | tyre 117 | Pipelining 118 | pipelining 119 | flamegraph 120 | inlined 121 | flamegraphs 122 | perf 123 | IIR 124 | iir 125 | DSP 126 | tmux 127 | WebSocket 128 | WebSockets 129 | Dyspatch 130 | Redis 131 | Kubernetes 132 | GraphQL 133 | Kubedash 134 | microservice 135 | microservices 136 | scalability 137 | address 138 | routable 139 | WireShark 140 | Linksys 141 | TODO 142 | BSSID 143 | Northpointe 144 | concerningly 145 | remediating 146 | explainability 147 | Iosevka 148 | Carruth 149 | namespace 150 | 3D 151 | MERCHANTABILITY 152 | Lambertian 153 | hpp 154 | vec3 155 | albedo 156 | emittance 157 | multithreaded 158 | sanitizer 159 | sanitizers 160 | renderer 161 | suboptimal 162 | Unsatisfiable 163 | Satisfiable 164 | satisfiable 165 | unsatisfiable 166 | PipeWire 167 | Orchestrator 168 | cancelable 169 | upsert 170 | fulfilments 171 | refactor 172 | Webhook 173 | webhook 174 | Recurly 175 | frontend 176 | middleware 177 | answerer 178 | answerers 179 | BigQuery 180 | Webpack 181 | TypeScript 182 | YAML 183 | darkgallery 184 | const 185 | Lakehouse 186 | balancers 187 | TCP 188 | customizable 189 | deduplication 190 | endian 191 | Steganography 192 | CSPRNG 193 | BLAKE3 194 | Argon2 195 | plaintext 196 | zstd 197 | UTF-8 198 | ciphertext 199 | PNG 200 | Decrypt 201 | decrypted 202 | u32 203 | -------------------------------------------------------------------------------- /afx/dist/lsp/sink-Flat.cfg: -------------------------------------------------------------------------------- 1 | bypass = false 2 | g_in = 0.0000 db 3 | g_out = 0.00 db 4 | mode = 0 5 | react = 0.10000 6 | shift = 0.00 db 7 | ife_l = true 8 | ofe_l = false 9 | ife_r = true 10 | ofe_r = false 11 | zoom = -36.000 db 12 | fsel = 0 13 | bal = 0.00000 14 | frqs = 0.00000 15 | ft_0 = 1 16 | fm_0 = 0 17 | s_0 = 0 18 | xs_0 = false 19 | xm_0 = false 20 | f_0 = 500.0000 21 | g_0 = 0.0000 db 22 | q_0 = 1.0000 23 | hue_0 = 0 24 | ft_1 = 0 25 | fm_1 = 0 26 | s_1 = 0 27 | xs_1 = false 28 | xm_1 = false 29 | f_1 = 500.0000 30 | g_1 = 0.0000 db 31 | q_1 = 1.4100 32 | hue_1 = 0.0625 33 | ft_2 = 0 34 | fm_2 = 0 35 | s_2 = 0 36 | xs_2 = false 37 | xm_2 = false 38 | f_2 = 500.0000 39 | g_2 = 0.0000 db 40 | q_2 = 1.4100 41 | hue_2 = 0.125 42 | ft_3 = 0 43 | fm_3 = 0 44 | s_3 = 0 45 | xs_3 = false 46 | xm_3 = false 47 | f_3 = 500.0000 48 | g_3 = 0.0000 db 49 | q_3 = 1.4100 50 | hue_3 = 0.1875 51 | ft_4 = 0 52 | fm_4 = 0 53 | s_4 = 0 54 | xs_4 = false 55 | xm_4 = false 56 | f_4 = 500.0000 57 | g_4 = 0.0000 db 58 | q_4 = 1.4100 59 | hue_4 = 0.25 60 | ft_5 = 0 61 | fm_5 = 0 62 | s_5 = 0 63 | xs_5 = false 64 | xm_5 = false 65 | f_5 = 500.0000 66 | g_5 = 0.0000 db 67 | q_5 = 1.4100 68 | hue_5 = 0.3125 69 | ft_6 = 0 70 | fm_6 = 0 71 | s_6 = 0 72 | xs_6 = false 73 | xm_6 = false 74 | f_6 = 500.0000 75 | g_6 = 0.0000 db 76 | q_6 = 1.4100 77 | hue_6 = 0.375 78 | ft_7 = 0 79 | fm_7 = 0 80 | s_7 = 0 81 | xs_7 = false 82 | xm_7 = false 83 | f_7 = 500.0000 84 | g_7 = 0.0000 db 85 | q_7 = 1.4100 86 | hue_7 = 0.4375 87 | ft_8 = 0 88 | fm_8 = 0 89 | s_8 = 0 90 | xs_8 = false 91 | xm_8 = false 92 | f_8 = 500.0000 93 | g_8 = 0.0000 db 94 | q_8 = 1.4100 95 | hue_8 = 0.5 96 | ft_9 = 0 97 | fm_9 = 0 98 | s_9 = 0 99 | xs_9 = false 100 | xm_9 = false 101 | f_9 = 500.0000 102 | g_9 = 0.0000 db 103 | q_9 = 1.4100 104 | hue_9 = 0.5625 105 | ft_10 = 0 106 | fm_10 = 0 107 | s_10 = 0 108 | xs_10 = false 109 | xm_10 = false 110 | f_10 = 500.0000 111 | g_10 = 0.0000 db 112 | q_10 = 1.4100 113 | hue_10 = 0.625 114 | ft_11 = 0 115 | fm_11 = 0 116 | s_11 = 0 117 | xs_11 = false 118 | xm_11 = false 119 | f_11 = 500.0000 120 | g_11 = 0.0000 db 121 | q_11 = 1.4100 122 | hue_11 = 0.6875 123 | ft_12 = 0 124 | fm_12 = 0 125 | s_12 = 0 126 | xs_12 = false 127 | xm_12 = false 128 | f_12 = 500.0000 129 | g_12 = 0.0000 db 130 | q_12 = 1.4100 131 | hue_12 = 0.75 132 | ft_13 = 0 133 | fm_13 = 0 134 | s_13 = 0 135 | xs_13 = false 136 | xm_13 = false 137 | f_13 = 500.0000 138 | g_13 = 0.0000 db 139 | q_13 = 1.4100 140 | hue_13 = 0.8125 141 | ft_14 = 0 142 | fm_14 = 0 143 | s_14 = 0 144 | xs_14 = false 145 | xm_14 = false 146 | f_14 = 500.0000 147 | g_14 = 0.0000 db 148 | q_14 = 1.4100 149 | hue_14 = 0.875 150 | ft_15 = 0 151 | fm_15 = 0 152 | s_15 = 0 153 | xs_15 = false 154 | xm_15 = false 155 | f_15 = 500.0000 156 | g_15 = 0.0000 db 157 | q_15 = 1.4100 158 | hue_15 = 0.9375 -------------------------------------------------------------------------------- /afx/dist/lsp/source-AT2040.cfg: -------------------------------------------------------------------------------- 1 | bypass = false 2 | g_in = 0.0000 db 3 | g_out = 0.00 db 4 | mode = 0 5 | react = 0.10000 6 | shift = 0.00 db 7 | ife_l = true 8 | ofe_l = false 9 | ife_r = true 10 | ofe_r = false 11 | zoom = -31.570 db 12 | fsel = 0 13 | bal = 0.00000 14 | frqs = 0.00000 15 | ft_0 = 2 16 | fm_0 = 0 17 | s_0 = 1 18 | xs_0 = false 19 | xm_0 = false 20 | f_0 = 60.0000 21 | g_0 = 0.0000 db 22 | q_0 = 0.6000 23 | hue_0 = 0 24 | ft_1 = 1 25 | fm_1 = 0 26 | s_1 = 0 27 | xs_1 = false 28 | xm_1 = false 29 | f_1 = 103.2270 30 | g_1 = -0.5000 db 31 | q_1 = 0.2800 32 | hue_1 = 0.25 33 | ft_2 = 1 34 | fm_2 = 0 35 | s_2 = 0 36 | xs_2 = false 37 | xm_2 = false 38 | f_2 = 1035.1690 39 | g_2 = -1.0100 db 40 | q_2 = 4.1000 41 | hue_2 = 0.5 42 | ft_3 = 1 43 | fm_3 = 0 44 | s_3 = 0 45 | xs_3 = false 46 | xm_3 = false 47 | f_3 = 2905.6150 48 | g_3 = -4.8600 db 49 | q_3 = 3.7700 50 | hue_3 = 0.75 51 | ft_4 = 0 52 | fm_4 = 0 53 | s_4 = 0 54 | xs_4 = false 55 | xm_4 = false 56 | f_4 = 500.0000 57 | g_4 = 0.0000 db 58 | q_4 = 1.4100 59 | hue_4 = 0.25 60 | ft_5 = 0 61 | fm_5 = 0 62 | s_5 = 0 63 | xs_5 = false 64 | xm_5 = false 65 | f_5 = 500.0000 66 | g_5 = 0.0000 db 67 | q_5 = 1.4100 68 | hue_5 = 0.3125 69 | ft_6 = 0 70 | fm_6 = 0 71 | s_6 = 0 72 | xs_6 = false 73 | xm_6 = false 74 | f_6 = 500.0000 75 | g_6 = 0.0000 db 76 | q_6 = 1.4100 77 | hue_6 = 0.375 78 | ft_7 = 0 79 | fm_7 = 0 80 | s_7 = 0 81 | xs_7 = false 82 | xm_7 = false 83 | f_7 = 500.0000 84 | g_7 = 0.0000 db 85 | q_7 = 1.4100 86 | hue_7 = 0.4375 87 | ft_8 = 0 88 | fm_8 = 0 89 | s_8 = 0 90 | xs_8 = false 91 | xm_8 = false 92 | f_8 = 500.0000 93 | g_8 = 0.0000 db 94 | q_8 = 1.4100 95 | hue_8 = 0.5 96 | ft_9 = 0 97 | fm_9 = 0 98 | s_9 = 0 99 | xs_9 = false 100 | xm_9 = false 101 | f_9 = 500.0000 102 | g_9 = 0.0000 db 103 | q_9 = 1.4100 104 | hue_9 = 0.5625 105 | ft_10 = 0 106 | fm_10 = 0 107 | s_10 = 0 108 | xs_10 = false 109 | xm_10 = false 110 | f_10 = 500.0000 111 | g_10 = 0.0000 db 112 | q_10 = 1.4100 113 | hue_10 = 0.625 114 | ft_11 = 0 115 | fm_11 = 0 116 | s_11 = 0 117 | xs_11 = false 118 | xm_11 = false 119 | f_11 = 500.0000 120 | g_11 = 0.0000 db 121 | q_11 = 1.4100 122 | hue_11 = 0.6875 123 | ft_12 = 0 124 | fm_12 = 0 125 | s_12 = 0 126 | xs_12 = false 127 | xm_12 = false 128 | f_12 = 500.0000 129 | g_12 = 0.0000 db 130 | q_12 = 1.4100 131 | hue_12 = 0.75 132 | ft_13 = 0 133 | fm_13 = 0 134 | s_13 = 0 135 | xs_13 = false 136 | xm_13 = false 137 | f_13 = 500.0000 138 | g_13 = 0.0000 db 139 | q_13 = 1.4100 140 | hue_13 = 0.8125 141 | ft_14 = 0 142 | fm_14 = 0 143 | s_14 = 0 144 | xs_14 = false 145 | xm_14 = false 146 | f_14 = 500.0000 147 | g_14 = 0.0000 db 148 | q_14 = 1.4100 149 | hue_14 = 0.875 150 | ft_15 = 0 151 | fm_15 = 0 152 | s_15 = 0 153 | xs_15 = false 154 | xm_15 = false 155 | f_15 = 500.0000 156 | g_15 = 0.0000 db 157 | q_15 = 1.4100 158 | hue_15 = 0.9375 -------------------------------------------------------------------------------- /afx/dist/lsp/sink-Focal_Clear_2.cfg: -------------------------------------------------------------------------------- 1 | bypass = false 2 | g_in = -6.5000 db 3 | g_out = 0.00 db 4 | mode = 0 5 | react = 0.10000 6 | shift = 0.00 db 7 | ife_l = true 8 | ofe_l = false 9 | ife_r = true 10 | ofe_r = false 11 | zoom = -36.000 db 12 | fsel = 0 13 | bal = 0.00000 14 | frqs = 0.00000 15 | ft_0 = 5 16 | fm_0 = 0 17 | s_0 = 0 18 | xs_0 = false 19 | xm_0 = false 20 | f_0 = 50.2450 21 | g_0 = 6.5000 db 22 | q_0 = 0.6600 23 | hue_0 = 0 24 | ft_1 = 0 25 | fm_1 = 0 26 | s_1 = 0 27 | xs_1 = false 28 | xm_1 = false 29 | f_1 = 500.0000 30 | g_1 = 0.0000 db 31 | q_1 = 1.4100 32 | hue_1 = 0.0625 33 | ft_2 = 0 34 | fm_2 = 0 35 | s_2 = 0 36 | xs_2 = false 37 | xm_2 = false 38 | f_2 = 500.0000 39 | g_2 = 0.0000 db 40 | q_2 = 1.4100 41 | hue_2 = 0.125 42 | ft_3 = 0 43 | fm_3 = 0 44 | s_3 = 0 45 | xs_3 = false 46 | xm_3 = false 47 | f_3 = 500.0000 48 | g_3 = 0.0000 db 49 | q_3 = 1.4100 50 | hue_3 = 0.1875 51 | ft_4 = 0 52 | fm_4 = 0 53 | s_4 = 0 54 | xs_4 = false 55 | xm_4 = false 56 | f_4 = 500.0000 57 | g_4 = 0.0000 db 58 | q_4 = 1.4100 59 | hue_4 = 0.25 60 | ft_5 = 0 61 | fm_5 = 0 62 | s_5 = 0 63 | xs_5 = false 64 | xm_5 = false 65 | f_5 = 500.0000 66 | g_5 = 0.0000 db 67 | q_5 = 1.4100 68 | hue_5 = 0.3125 69 | ft_6 = 0 70 | fm_6 = 0 71 | s_6 = 0 72 | xs_6 = false 73 | xm_6 = false 74 | f_6 = 500.0000 75 | g_6 = 0.0000 db 76 | q_6 = 1.4100 77 | hue_6 = 0.375 78 | ft_7 = 0 79 | fm_7 = 0 80 | s_7 = 0 81 | xs_7 = false 82 | xm_7 = false 83 | f_7 = 500.0000 84 | g_7 = 0.0000 db 85 | q_7 = 1.4100 86 | hue_7 = 0.4375 87 | ft_8 = 0 88 | fm_8 = 0 89 | s_8 = 0 90 | xs_8 = false 91 | xm_8 = false 92 | f_8 = 500.0000 93 | g_8 = 0.0000 db 94 | q_8 = 1.4100 95 | hue_8 = 0.5 96 | ft_9 = 0 97 | fm_9 = 0 98 | s_9 = 0 99 | xs_9 = false 100 | xm_9 = false 101 | f_9 = 500.0000 102 | g_9 = 0.0000 db 103 | q_9 = 1.4100 104 | hue_9 = 0.5625 105 | ft_10 = 0 106 | fm_10 = 0 107 | s_10 = 0 108 | xs_10 = false 109 | xm_10 = false 110 | f_10 = 500.0000 111 | g_10 = 0.0000 db 112 | q_10 = 1.4100 113 | hue_10 = 0.625 114 | ft_11 = 0 115 | fm_11 = 0 116 | s_11 = 0 117 | xs_11 = false 118 | xm_11 = false 119 | f_11 = 500.0000 120 | g_11 = 0.0000 db 121 | q_11 = 1.4100 122 | hue_11 = 0.6875 123 | ft_12 = 0 124 | fm_12 = 0 125 | s_12 = 0 126 | xs_12 = false 127 | xm_12 = false 128 | f_12 = 500.0000 129 | g_12 = 0.0000 db 130 | q_12 = 1.4100 131 | hue_12 = 0.75 132 | ft_13 = 0 133 | fm_13 = 0 134 | s_13 = 0 135 | xs_13 = false 136 | xm_13 = false 137 | f_13 = 500.0000 138 | g_13 = 0.0000 db 139 | q_13 = 1.4100 140 | hue_13 = 0.8125 141 | ft_14 = 0 142 | fm_14 = 0 143 | s_14 = 0 144 | xs_14 = false 145 | xm_14 = false 146 | f_14 = 500.0000 147 | g_14 = 0.0000 db 148 | q_14 = 1.4100 149 | hue_14 = 0.875 150 | ft_15 = 0 151 | fm_15 = 0 152 | s_15 = 0 153 | xs_15 = false 154 | xm_15 = false 155 | f_15 = 500.0000 156 | g_15 = 0.0000 db 157 | q_15 = 1.4100 158 | hue_15 = 0.9375 -------------------------------------------------------------------------------- /afx/dist/lsp/sink-Truthear_Hexa.cfg: -------------------------------------------------------------------------------- 1 | bypass = false 2 | g_in = -3.0000 db 3 | g_out = 0.00 db 4 | mode = 0 5 | react = 0.10000 6 | shift = 0.00 db 7 | ife_l = true 8 | ofe_l = false 9 | ife_r = true 10 | ofe_r = false 11 | zoom = -36.000 db 12 | fsel = 0 13 | bal = 0.00000 14 | frqs = 0.00000 15 | ft_0 = 5 16 | fm_0 = 0 17 | s_0 = 0 18 | xs_0 = false 19 | xm_0 = false 20 | f_0 = 118.9330 21 | g_0 = 1.9800 db 22 | q_0 = 0.7500 23 | hue_0 = 0 24 | ft_1 = 1 25 | fm_1 = 0 26 | s_1 = 0 27 | xs_1 = false 28 | xm_1 = false 29 | f_1 = 8001.4050 30 | g_1 = -2.1500 db 31 | q_1 = 4.0000 32 | hue_1 = 0.5 33 | ft_2 = 0 34 | fm_2 = 0 35 | s_2 = 0 36 | xs_2 = false 37 | xm_2 = false 38 | f_2 = 500.0000 39 | g_2 = 0.0000 db 40 | q_2 = 1.4100 41 | hue_2 = 0.125 42 | ft_3 = 0 43 | fm_3 = 0 44 | s_3 = 0 45 | xs_3 = false 46 | xm_3 = false 47 | f_3 = 500.0000 48 | g_3 = 0.0000 db 49 | q_3 = 1.4100 50 | hue_3 = 0.1875 51 | ft_4 = 0 52 | fm_4 = 0 53 | s_4 = 0 54 | xs_4 = false 55 | xm_4 = false 56 | f_4 = 500.0000 57 | g_4 = 0.0000 db 58 | q_4 = 1.4100 59 | hue_4 = 0.25 60 | ft_5 = 0 61 | fm_5 = 0 62 | s_5 = 0 63 | xs_5 = false 64 | xm_5 = false 65 | f_5 = 500.0000 66 | g_5 = 0.0000 db 67 | q_5 = 1.4100 68 | hue_5 = 0.3125 69 | ft_6 = 0 70 | fm_6 = 0 71 | s_6 = 0 72 | xs_6 = false 73 | xm_6 = false 74 | f_6 = 500.0000 75 | g_6 = 0.0000 db 76 | q_6 = 1.4100 77 | hue_6 = 0.375 78 | ft_7 = 0 79 | fm_7 = 0 80 | s_7 = 0 81 | xs_7 = false 82 | xm_7 = false 83 | f_7 = 500.0000 84 | g_7 = 0.0000 db 85 | q_7 = 1.4100 86 | hue_7 = 0.4375 87 | ft_8 = 0 88 | fm_8 = 0 89 | s_8 = 0 90 | xs_8 = false 91 | xm_8 = false 92 | f_8 = 500.0000 93 | g_8 = 0.0000 db 94 | q_8 = 1.4100 95 | hue_8 = 0.5 96 | ft_9 = 0 97 | fm_9 = 0 98 | s_9 = 0 99 | xs_9 = false 100 | xm_9 = false 101 | f_9 = 500.0000 102 | g_9 = 0.0000 db 103 | q_9 = 1.4100 104 | hue_9 = 0.5625 105 | ft_10 = 0 106 | fm_10 = 0 107 | s_10 = 0 108 | xs_10 = false 109 | xm_10 = false 110 | f_10 = 500.0000 111 | g_10 = 0.0000 db 112 | q_10 = 1.4100 113 | hue_10 = 0.625 114 | ft_11 = 0 115 | fm_11 = 0 116 | s_11 = 0 117 | xs_11 = false 118 | xm_11 = false 119 | f_11 = 500.0000 120 | g_11 = 0.0000 db 121 | q_11 = 1.4100 122 | hue_11 = 0.6875 123 | ft_12 = 0 124 | fm_12 = 0 125 | s_12 = 0 126 | xs_12 = false 127 | xm_12 = false 128 | f_12 = 500.0000 129 | g_12 = 0.0000 db 130 | q_12 = 1.4100 131 | hue_12 = 0.75 132 | ft_13 = 0 133 | fm_13 = 0 134 | s_13 = 0 135 | xs_13 = false 136 | xm_13 = false 137 | f_13 = 500.0000 138 | g_13 = 0.0000 db 139 | q_13 = 1.4100 140 | hue_13 = 0.8125 141 | ft_14 = 0 142 | fm_14 = 0 143 | s_14 = 0 144 | xs_14 = false 145 | xm_14 = false 146 | f_14 = 500.0000 147 | g_14 = 0.0000 db 148 | q_14 = 1.4100 149 | hue_14 = 0.875 150 | ft_15 = 0 151 | fm_15 = 0 152 | s_15 = 0 153 | xs_15 = false 154 | xm_15 = false 155 | f_15 = 500.0000 156 | g_15 = 0.0000 db 157 | q_15 = 1.4100 158 | hue_15 = 0.9375 -------------------------------------------------------------------------------- /afx/dist/lsp/sink-Energy.cfg: -------------------------------------------------------------------------------- 1 | bypass = false 2 | g_in = -3.2000 db 3 | g_out = 0.00 db 4 | mode = 0 5 | react = 0.10000 6 | shift = 0.00 db 7 | ife_l = true 8 | ofe_l = false 9 | ife_r = true 10 | ofe_r = false 11 | zoom = -36.000 db 12 | fsel = 0 13 | bal = 0.00000 14 | frqs = 0.00000 15 | ft_0 = 5 16 | fm_0 = 0 17 | s_0 = 0 18 | xs_0 = false 19 | xm_0 = false 20 | f_0 = 91.3620 21 | g_0 = -2.5700 db 22 | q_0 = 0.7500 23 | hue_0 = 0 24 | ft_1 = 1 25 | fm_1 = 0 26 | s_1 = 0 27 | xs_1 = false 28 | xm_1 = false 29 | f_1 = 710.7000 30 | g_1 = 3.5700 db 31 | q_1 = 0.0000 32 | hue_1 = 0.3333333333333333 33 | ft_2 = 3 34 | fm_2 = 0 35 | s_2 = 0 36 | xs_2 = false 37 | xm_2 = false 38 | f_2 = 10255.1730 39 | g_2 = 1.4300 db 40 | q_2 = 0.0000 41 | hue_2 = 0.6666666666666666 42 | ft_3 = 0 43 | fm_3 = 0 44 | s_3 = 0 45 | xs_3 = false 46 | xm_3 = false 47 | f_3 = 500.0000 48 | g_3 = 0.0000 db 49 | q_3 = 1.4100 50 | hue_3 = 0.1875 51 | ft_4 = 0 52 | fm_4 = 0 53 | s_4 = 0 54 | xs_4 = false 55 | xm_4 = false 56 | f_4 = 500.0000 57 | g_4 = 0.0000 db 58 | q_4 = 1.4100 59 | hue_4 = 0.25 60 | ft_5 = 0 61 | fm_5 = 0 62 | s_5 = 0 63 | xs_5 = false 64 | xm_5 = false 65 | f_5 = 500.0000 66 | g_5 = 0.0000 db 67 | q_5 = 1.4100 68 | hue_5 = 0.3125 69 | ft_6 = 0 70 | fm_6 = 0 71 | s_6 = 0 72 | xs_6 = false 73 | xm_6 = false 74 | f_6 = 500.0000 75 | g_6 = 0.0000 db 76 | q_6 = 1.4100 77 | hue_6 = 0.375 78 | ft_7 = 0 79 | fm_7 = 0 80 | s_7 = 0 81 | xs_7 = false 82 | xm_7 = false 83 | f_7 = 500.0000 84 | g_7 = 0.0000 db 85 | q_7 = 1.4100 86 | hue_7 = 0.4375 87 | ft_8 = 0 88 | fm_8 = 0 89 | s_8 = 0 90 | xs_8 = false 91 | xm_8 = false 92 | f_8 = 500.0000 93 | g_8 = 0.0000 db 94 | q_8 = 1.4100 95 | hue_8 = 0.5 96 | ft_9 = 0 97 | fm_9 = 0 98 | s_9 = 0 99 | xs_9 = false 100 | xm_9 = false 101 | f_9 = 500.0000 102 | g_9 = 0.0000 db 103 | q_9 = 1.4100 104 | hue_9 = 0.5625 105 | ft_10 = 0 106 | fm_10 = 0 107 | s_10 = 0 108 | xs_10 = false 109 | xm_10 = false 110 | f_10 = 500.0000 111 | g_10 = 0.0000 db 112 | q_10 = 1.4100 113 | hue_10 = 0.625 114 | ft_11 = 0 115 | fm_11 = 0 116 | s_11 = 0 117 | xs_11 = false 118 | xm_11 = false 119 | f_11 = 500.0000 120 | g_11 = 0.0000 db 121 | q_11 = 1.4100 122 | hue_11 = 0.6875 123 | ft_12 = 0 124 | fm_12 = 0 125 | s_12 = 0 126 | xs_12 = false 127 | xm_12 = false 128 | f_12 = 500.0000 129 | g_12 = 0.0000 db 130 | q_12 = 1.4100 131 | hue_12 = 0.75 132 | ft_13 = 0 133 | fm_13 = 0 134 | s_13 = 0 135 | xs_13 = false 136 | xm_13 = false 137 | f_13 = 500.0000 138 | g_13 = 0.0000 db 139 | q_13 = 1.4100 140 | hue_13 = 0.8125 141 | ft_14 = 0 142 | fm_14 = 0 143 | s_14 = 0 144 | xs_14 = false 145 | xm_14 = false 146 | f_14 = 500.0000 147 | g_14 = 0.0000 db 148 | q_14 = 1.4100 149 | hue_14 = 0.875 150 | ft_15 = 0 151 | fm_15 = 0 152 | s_15 = 0 153 | xs_15 = false 154 | xm_15 = false 155 | f_15 = 500.0000 156 | g_15 = 0.0000 db 157 | q_15 = 1.4100 158 | hue_15 = 0.9375 -------------------------------------------------------------------------------- /afx/dist/lsp/sink-QC35.cfg: -------------------------------------------------------------------------------- 1 | bypass = false 2 | g_in = -1.9000 db 3 | g_out = 0.00 db 4 | mode = 0 5 | react = 0.10000 6 | shift = 0.00 db 7 | ife_l = true 8 | ofe_l = false 9 | ife_r = true 10 | ofe_r = false 11 | zoom = -36.000 db 12 | fsel = 0 13 | bal = 0.00000 14 | frqs = 0.00000 15 | ft_0 = 1 16 | fm_0 = 0 17 | s_0 = 0 18 | xs_0 = false 19 | xm_0 = false 20 | f_0 = 44.0000 21 | g_0 = -1.5000 db 22 | q_0 = 0.6800 23 | hue_0 = 0 24 | ft_1 = 1 25 | fm_1 = 0 26 | s_1 = 0 27 | xs_1 = false 28 | xm_1 = false 29 | f_1 = 120.0000 30 | g_1 = -1.3000 db 31 | q_1 = 1.0900 32 | hue_1 = 0.1 33 | ft_2 = 1 34 | fm_2 = 0 35 | s_2 = 0 36 | xs_2 = false 37 | xm_2 = false 38 | f_2 = 510.0000 39 | g_2 = 1.5000 db 40 | q_2 = 1.4200 41 | hue_2 = 0.2 42 | ft_3 = 1 43 | fm_3 = 0 44 | s_3 = 0 45 | xs_3 = false 46 | xm_3 = false 47 | f_3 = 1237.0000 48 | g_3 = 0.6000 db 49 | q_3 = 2.0200 50 | hue_3 = 0.30000000000000004 51 | ft_4 = 1 52 | fm_4 = 0 53 | s_4 = 0 54 | xs_4 = false 55 | xm_4 = false 56 | f_4 = 1256.0000 57 | g_4 = -1.1000 db 58 | q_4 = 0.6800 59 | hue_4 = 0.4 60 | ft_5 = 1 61 | fm_5 = 0 62 | s_5 = 0 63 | xs_5 = false 64 | xm_5 = false 65 | f_5 = 1557.0000 66 | g_5 = 1.2000 db 67 | q_5 = 2.1900 68 | hue_5 = 0.5 69 | ft_6 = 1 70 | fm_6 = 0 71 | s_6 = 0 72 | xs_6 = false 73 | xm_6 = false 74 | f_6 = 1575.0000 75 | g_6 = 0.8000 db 76 | q_6 = 2.6700 77 | hue_6 = 0.6000000000000001 78 | ft_7 = 1 79 | fm_7 = 0 80 | s_7 = 0 81 | xs_7 = false 82 | xm_7 = false 83 | f_7 = 2796.0000 84 | g_7 = -3.4000 db 85 | q_7 = 4.0400 86 | hue_7 = 0.7000000000000001 87 | ft_8 = 1 88 | fm_8 = 0 89 | s_8 = 0 90 | xs_8 = false 91 | xm_8 = false 92 | f_8 = 6178.0000 93 | g_8 = -6.1000 db 94 | q_8 = 4.3900 95 | hue_8 = 0.8 96 | ft_9 = 1 97 | fm_9 = 0 98 | s_9 = 0 99 | xs_9 = false 100 | xm_9 = false 101 | f_9 = 7282.0000 102 | g_9 = 2.8000 db 103 | q_9 = 1.2800 104 | hue_9 = 0.9 105 | ft_10 = 0 106 | fm_10 = 0 107 | s_10 = 0 108 | xs_10 = false 109 | xm_10 = false 110 | f_10 = 500.0000 111 | g_10 = 0.0000 db 112 | q_10 = 1.4100 113 | hue_10 = 0.625 114 | ft_11 = 0 115 | fm_11 = 0 116 | s_11 = 0 117 | xs_11 = false 118 | xm_11 = false 119 | f_11 = 500.0000 120 | g_11 = 0.0000 db 121 | q_11 = 1.4100 122 | hue_11 = 0.6875 123 | ft_12 = 0 124 | fm_12 = 0 125 | s_12 = 0 126 | xs_12 = false 127 | xm_12 = false 128 | f_12 = 500.0000 129 | g_12 = 0.0000 db 130 | q_12 = 1.4100 131 | hue_12 = 0.75 132 | ft_13 = 0 133 | fm_13 = 0 134 | s_13 = 0 135 | xs_13 = false 136 | xm_13 = false 137 | f_13 = 500.0000 138 | g_13 = 0.0000 db 139 | q_13 = 1.4100 140 | hue_13 = 0.8125 141 | ft_14 = 0 142 | fm_14 = 0 143 | s_14 = 0 144 | xs_14 = false 145 | xm_14 = false 146 | f_14 = 500.0000 147 | g_14 = 0.0000 db 148 | q_14 = 1.4100 149 | hue_14 = 0.875 150 | ft_15 = 0 151 | fm_15 = 0 152 | s_15 = 0 153 | xs_15 = false 154 | xm_15 = false 155 | f_15 = 500.0000 156 | g_15 = 0.0000 db 157 | q_15 = 1.4100 158 | hue_15 = 0.9375 -------------------------------------------------------------------------------- /afx/dist/lsp/sink-Focal_Clear.cfg: -------------------------------------------------------------------------------- 1 | bypass = false 2 | g_in = -6.0000 db 3 | g_out = 0.00 db 4 | mode = 0 5 | react = 0.10000 6 | shift = 0.00 db 7 | ife_l = true 8 | ofe_l = false 9 | ife_r = true 10 | ofe_r = false 11 | zoom = -36.000 db 12 | fsel = 0 13 | bal = 0.00000 14 | frqs = 0.00000 15 | ft_0 = 5 16 | fm_0 = 6 17 | s_0 = 0 18 | xs_0 = false 19 | xm_0 = false 20 | f_0 = 32.0000 21 | g_0 = 3.2100 db 22 | q_0 = 0.6900 23 | hue_0 = 0 24 | ft_1 = 5 25 | fm_1 = 6 26 | s_1 = 0 27 | xs_1 = false 28 | xm_1 = false 29 | f_1 = 98.4970 30 | g_1 = 1.3900 db 31 | q_1 = 0.7100 32 | hue_1 = 0.1 33 | ft_2 = 1 34 | fm_2 = 0 35 | s_2 = 0 36 | xs_2 = false 37 | xm_2 = false 38 | f_2 = 570.0000 39 | g_2 = 1.9200 db 40 | q_2 = 0.8000 41 | hue_2 = 0.2 42 | ft_3 = 1 43 | fm_3 = 0 44 | s_3 = 0 45 | xs_3 = false 46 | xm_3 = false 47 | f_3 = 1350.0000 48 | g_3 = -1.3200 db 49 | q_3 = 1.7000 50 | hue_3 = 0.30000000000000004 51 | ft_4 = 3 52 | fm_4 = 6 53 | s_4 = 0 54 | xs_4 = false 55 | xm_4 = false 56 | f_4 = 1800.0000 57 | g_4 = 4.7500 db 58 | q_4 = 0.7100 59 | hue_4 = 0.4 60 | ft_5 = 1 61 | fm_5 = 0 62 | s_5 = 0 63 | xs_5 = false 64 | xm_5 = false 65 | f_5 = 3030.0000 66 | g_5 = -2.9000 db 67 | q_5 = 2.8000 68 | hue_5 = 0.5 69 | ft_6 = 1 70 | fm_6 = 0 71 | s_6 = 0 72 | xs_6 = false 73 | xm_6 = false 74 | f_6 = 3630.0000 75 | g_6 = -2.2000 db 76 | q_6 = 4.8000 77 | hue_6 = 0.6000000000000001 78 | ft_7 = 1 79 | fm_7 = 0 80 | s_7 = 0 81 | xs_7 = false 82 | xm_7 = false 83 | f_7 = 5900.0000 84 | g_7 = -5.3000 db 85 | q_7 = 6.0000 86 | hue_7 = 0.7000000000000001 87 | ft_8 = 1 88 | fm_8 = 0 89 | s_8 = 0 90 | xs_8 = false 91 | xm_8 = false 92 | f_8 = 7000.0000 93 | g_8 = 2.0000 db 94 | q_8 = 1.0000 95 | hue_8 = 0.8 96 | ft_9 = 3 97 | fm_9 = 6 98 | s_9 = 0 99 | xs_9 = false 100 | xm_9 = false 101 | f_9 = 10000.0000 102 | g_9 = -5.0000 db 103 | q_9 = 0.7100 104 | hue_9 = 0.9 105 | ft_10 = 0 106 | fm_10 = 0 107 | s_10 = 0 108 | xs_10 = false 109 | xm_10 = false 110 | f_10 = 500.0000 111 | g_10 = 0.0000 db 112 | q_10 = 1.4100 113 | hue_10 = 0.625 114 | ft_11 = 0 115 | fm_11 = 0 116 | s_11 = 0 117 | xs_11 = false 118 | xm_11 = false 119 | f_11 = 500.0000 120 | g_11 = 0.0000 db 121 | q_11 = 1.4100 122 | hue_11 = 0.6875 123 | ft_12 = 0 124 | fm_12 = 0 125 | s_12 = 0 126 | xs_12 = false 127 | xm_12 = false 128 | f_12 = 500.0000 129 | g_12 = 0.0000 db 130 | q_12 = 1.4100 131 | hue_12 = 0.75 132 | ft_13 = 0 133 | fm_13 = 0 134 | s_13 = 0 135 | xs_13 = false 136 | xm_13 = false 137 | f_13 = 500.0000 138 | g_13 = 0.0000 db 139 | q_13 = 1.4100 140 | hue_13 = 0.8125 141 | ft_14 = 0 142 | fm_14 = 0 143 | s_14 = 0 144 | xs_14 = false 145 | xm_14 = false 146 | f_14 = 500.0000 147 | g_14 = 0.0000 db 148 | q_14 = 1.4100 149 | hue_14 = 0.875 150 | ft_15 = 0 151 | fm_15 = 0 152 | s_15 = 0 153 | xs_15 = false 154 | xm_15 = false 155 | f_15 = 500.0000 156 | g_15 = 0.0000 db 157 | q_15 = 1.4100 158 | hue_15 = 0.9375 -------------------------------------------------------------------------------- /afx/dist/lsp/sink-Focal_Bathys.cfg: -------------------------------------------------------------------------------- 1 | bypass = false 2 | g_in = -5.6000 db 3 | g_out = 0.00 db 4 | mode = 0 5 | react = 0.10000 6 | shift = 0.00 db 7 | ife_l = true 8 | ofe_l = false 9 | ife_r = true 10 | ofe_r = false 11 | zoom = -36.000 db 12 | fsel = 0 13 | bal = 0.00000 14 | frqs = 0.00000 15 | ft_0 = 5 16 | fm_0 = 6 17 | s_0 = 0 18 | xs_0 = false 19 | xm_0 = false 20 | f_0 = 56.2950 21 | g_0 = 1.5700 db 22 | q_0 = 0.7100 23 | hue_0 = 0 24 | ft_1 = 1 25 | fm_1 = 0 26 | s_1 = 0 27 | xs_1 = false 28 | xm_1 = false 29 | f_1 = 430.0000 30 | g_1 = -2.0000 db 31 | q_1 = 1.2000 32 | hue_1 = 0.1 33 | ft_2 = 1 34 | fm_2 = 0 35 | s_2 = 0 36 | xs_2 = false 37 | xm_2 = false 38 | f_2 = 910.0000 39 | g_2 = 7.5000 db 40 | q_2 = 1.4000 41 | hue_2 = 0.2 42 | ft_3 = 1 43 | fm_3 = 0 44 | s_3 = 0 45 | xs_3 = false 46 | xm_3 = false 47 | f_3 = 1150.0000 48 | g_3 = -4.6000 db 49 | q_3 = 2.0000 50 | hue_3 = 0.30000000000000004 51 | ft_4 = 1 52 | fm_4 = 0 53 | s_4 = 0 54 | xs_4 = false 55 | xm_4 = false 56 | f_4 = 2850.0000 57 | g_4 = -1.5000 db 58 | q_4 = 6.0000 59 | hue_4 = 0.4 60 | ft_5 = 1 61 | fm_5 = 0 62 | s_5 = 0 63 | xs_5 = false 64 | xm_5 = false 65 | f_5 = 3250.0000 66 | g_5 = -1.5000 db 67 | q_5 = 6.0000 68 | hue_5 = 0.5 69 | ft_6 = 1 70 | fm_6 = 0 71 | s_6 = 0 72 | xs_6 = false 73 | xm_6 = false 74 | f_6 = 4000.0000 75 | g_6 = 4.5000 db 76 | q_6 = 0.7000 77 | hue_6 = 0.6000000000000001 78 | ft_7 = 1 79 | fm_7 = 0 80 | s_7 = 0 81 | xs_7 = false 82 | xm_7 = false 83 | f_7 = 4350.0000 84 | g_7 = -1.0000 db 85 | q_7 = 5.0000 86 | hue_7 = 0.7000000000000001 87 | ft_8 = 1 88 | fm_8 = 0 89 | s_8 = 0 90 | xs_8 = false 91 | xm_8 = false 92 | f_8 = 5750.0000 93 | g_8 = -1.5000 db 94 | q_8 = 5.0000 95 | hue_8 = 0.8 96 | ft_9 = 3 97 | fm_9 = 6 98 | s_9 = 0 99 | xs_9 = false 100 | xm_9 = false 101 | f_9 = 10000.0000 102 | g_9 = 1.2500 db 103 | q_9 = 0.7100 104 | hue_9 = 0.9 105 | ft_10 = 0 106 | fm_10 = 0 107 | s_10 = 0 108 | xs_10 = false 109 | xm_10 = false 110 | f_10 = 500.0000 111 | g_10 = 0.0000 db 112 | q_10 = 1.4100 113 | hue_10 = 0.625 114 | ft_11 = 0 115 | fm_11 = 0 116 | s_11 = 0 117 | xs_11 = false 118 | xm_11 = false 119 | f_11 = 500.0000 120 | g_11 = 0.0000 db 121 | q_11 = 1.4100 122 | hue_11 = 0.6875 123 | ft_12 = 0 124 | fm_12 = 0 125 | s_12 = 0 126 | xs_12 = false 127 | xm_12 = false 128 | f_12 = 500.0000 129 | g_12 = 0.0000 db 130 | q_12 = 1.4100 131 | hue_12 = 0.75 132 | ft_13 = 0 133 | fm_13 = 0 134 | s_13 = 0 135 | xs_13 = false 136 | xm_13 = false 137 | f_13 = 500.0000 138 | g_13 = 0.0000 db 139 | q_13 = 1.4100 140 | hue_13 = 0.8125 141 | ft_14 = 0 142 | fm_14 = 0 143 | s_14 = 0 144 | xs_14 = false 145 | xm_14 = false 146 | f_14 = 500.0000 147 | g_14 = 0.0000 db 148 | q_14 = 1.4100 149 | hue_14 = 0.875 150 | ft_15 = 0 151 | fm_15 = 0 152 | s_15 = 0 153 | xs_15 = false 154 | xm_15 = false 155 | f_15 = 500.0000 156 | g_15 = 0.0000 db 157 | q_15 = 1.4100 158 | hue_15 = 0.9375 -------------------------------------------------------------------------------- /afx/dist/lsp/sink-QC35_Wireless.cfg: -------------------------------------------------------------------------------- 1 | bypass = false 2 | g_in = -4.2000 db 3 | g_out = 0.00 db 4 | mode = 0 5 | react = 0.10000 6 | shift = 0.00 db 7 | ife_l = true 8 | ofe_l = false 9 | ife_r = true 10 | ofe_r = false 11 | zoom = -36.000 db 12 | fsel = 0 13 | bal = 0.00000 14 | frqs = 0.00000 15 | ft_0 = 1 16 | fm_0 = 0 17 | s_0 = 0 18 | xs_0 = false 19 | xm_0 = false 20 | f_0 = 13.0000 21 | g_0 = -6.2000 db 22 | q_0 = 0.5200 23 | hue_0 = 0 24 | ft_1 = 1 25 | fm_1 = 0 26 | s_1 = 0 27 | xs_1 = false 28 | xm_1 = false 29 | f_1 = 102.0000 30 | g_1 = -2.0000 db 31 | q_1 = 0.7300 32 | hue_1 = 0.1 33 | ft_2 = 1 34 | fm_2 = 0 35 | s_2 = 0 36 | xs_2 = false 37 | xm_2 = false 38 | f_2 = 476.0000 39 | g_2 = 1.2000 db 40 | q_2 = 1.8400 41 | hue_2 = 0.2 42 | ft_3 = 1 43 | fm_3 = 0 44 | s_3 = 0 45 | xs_3 = false 46 | xm_3 = false 47 | f_3 = 957.0000 48 | g_3 = -1.3000 db 49 | q_3 = 3.9300 50 | hue_3 = 0.30000000000000004 51 | ft_4 = 1 52 | fm_4 = 0 53 | s_4 = 0 54 | xs_4 = false 55 | xm_4 = false 56 | f_4 = 1639.0000 57 | g_4 = 4.3000 db 58 | q_4 = 2.5000 59 | hue_4 = 0.4 60 | ft_5 = 1 61 | fm_5 = 0 62 | s_5 = 0 63 | xs_5 = false 64 | xm_5 = false 65 | f_5 = 2737.0000 66 | g_5 = -3.6000 db 67 | q_5 = 3.5000 68 | hue_5 = 0.5 69 | ft_6 = 1 70 | fm_6 = 0 71 | s_6 = 0 72 | xs_6 = false 73 | xm_6 = false 74 | f_6 = 5379.0000 75 | g_6 = 1.7000 db 76 | q_6 = 3.9000 77 | hue_6 = 0.6000000000000001 78 | ft_7 = 1 79 | fm_7 = 0 80 | s_7 = 0 81 | xs_7 = false 82 | xm_7 = false 83 | f_7 = 6166.0000 84 | g_7 = -5.5000 db 85 | q_7 = 3.9800 86 | hue_7 = 0.7000000000000001 87 | ft_8 = 1 88 | fm_8 = 0 89 | s_8 = 0 90 | xs_8 = false 91 | xm_8 = false 92 | f_8 = 8135.0000 93 | g_8 = 2.4000 db 94 | q_8 = 3.1300 95 | hue_8 = 0.8 96 | ft_9 = 1 97 | fm_9 = 0 98 | s_9 = 0 99 | xs_9 = false 100 | xm_9 = false 101 | f_9 = 19633.0000 102 | g_9 = -1.1800 db 103 | q_9 = 0.3800 104 | hue_9 = 0.9 105 | ft_10 = 0 106 | fm_10 = 0 107 | s_10 = 0 108 | xs_10 = false 109 | xm_10 = false 110 | f_10 = 500.0000 111 | g_10 = 0.0000 db 112 | q_10 = 1.4100 113 | hue_10 = 0.625 114 | ft_11 = 0 115 | fm_11 = 0 116 | s_11 = 0 117 | xs_11 = false 118 | xm_11 = false 119 | f_11 = 500.0000 120 | g_11 = 0.0000 db 121 | q_11 = 1.4100 122 | hue_11 = 0.6875 123 | ft_12 = 0 124 | fm_12 = 0 125 | s_12 = 0 126 | xs_12 = false 127 | xm_12 = false 128 | f_12 = 500.0000 129 | g_12 = 0.0000 db 130 | q_12 = 1.4100 131 | hue_12 = 0.75 132 | ft_13 = 0 133 | fm_13 = 0 134 | s_13 = 0 135 | xs_13 = false 136 | xm_13 = false 137 | f_13 = 500.0000 138 | g_13 = 0.0000 db 139 | q_13 = 1.4100 140 | hue_13 = 0.8125 141 | ft_14 = 0 142 | fm_14 = 0 143 | s_14 = 0 144 | xs_14 = false 145 | xm_14 = false 146 | f_14 = 500.0000 147 | g_14 = 0.0000 db 148 | q_14 = 1.4100 149 | hue_14 = 0.875 150 | ft_15 = 0 151 | fm_15 = 0 152 | s_15 = 0 153 | xs_15 = false 154 | xm_15 = false 155 | f_15 = 500.0000 156 | g_15 = 0.0000 db 157 | q_15 = 1.4100 158 | hue_15 = 0.9375 --------------------------------------------------------------------------------