Compare commits
59 Commits
bfb68db9de
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 539cff1b68 | |||
| eaa2de3e93 | |||
| 2073d0eacd | |||
| a900fe5664 | |||
| 1dbd1d78ce | |||
| bec92689f7 | |||
| 087d5efaaf | |||
| 148e9019f4 | |||
| 05fd169c91 | |||
| 312fa1e42c | |||
| a55570bbf6 | |||
| a35e9b63c1 | |||
| b7d32b5bc7 | |||
| 9979cf0497 | |||
| b7bb888e98 | |||
| 8bd1250ab4 | |||
| b4a26e1713 | |||
| 3c1b5191da | |||
| ed18e5f850 | |||
| a9f95a1675 | |||
| ecfb399127 | |||
| bf834370e5 | |||
| 5dc4d57d7e | |||
| 17fb45606b | |||
| 1825424cbb | |||
| af08b2f1b1 | |||
| 7bdbb985da | |||
| 5a87805660 | |||
| 1f0c248b24 | |||
| 31b61ddd73 | |||
| c0b60ff0e4 | |||
| 9ffa14e536 | |||
| 8c41e3b8df | |||
| a9ac5ae964 | |||
| 258c3edeab | |||
| 5d5036a83c | |||
| da60eaa936 | |||
| c551e8f86e | |||
| de5b56d1b1 | |||
| cbb7f3c7a7 | |||
| d0b5b42dca | |||
| 7ea2a79aca | |||
| 182198230a | |||
| 36be01d80e | |||
| 148597d593 | |||
| 087f015340 | |||
| ab7d28ac0f | |||
| a913e4f5c7 | |||
| b31bcae064 | |||
| 2146717898 | |||
| 584489c853 | |||
| a3ead883fe | |||
| 86b80e887c | |||
| 178f3b9c31 | |||
| 425f502bba | |||
| 077a709f65 | |||
| 989aaa37da | |||
| 02a3702e8e | |||
| 2905839509 |
@@ -4,26 +4,14 @@ on: [push]
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
build-sydpc:
|
build:
|
||||||
runs-on: nixos
|
runs-on: nixos
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository code
|
- name: Check out repository code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: build sydpc
|
- name: build sydpc
|
||||||
run: nix build -L .#nixosConfigurations.sydpc.config.system.build.toplevel
|
run: nix build -L .#nixosConfigurations.sydpc.config.system.build.toplevel
|
||||||
|
|
||||||
build-fruitbook:
|
|
||||||
runs-on: nixos
|
|
||||||
steps:
|
|
||||||
- name: Check out repository code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: build fruitbook
|
- name: build fruitbook
|
||||||
run: nix build -L .#nixosConfigurations.fruitbook.config.system.build.toplevel
|
run: nix build -L .#nixosConfigurations.fruitbook.config.system.build.toplevel
|
||||||
|
|
||||||
build-deertopia:
|
|
||||||
runs-on: nixos
|
|
||||||
steps:
|
|
||||||
- name: Check out repository code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: build deertopia
|
- name: build deertopia
|
||||||
run: nix build -L .#nixosConfigurations.deertopia.config.system.build.toplevel
|
run: nix build -L .#nixosConfigurations.deertopia.config.system.build.toplevel
|
||||||
|
|||||||
82
flake.lock
generated
82
flake.lock
generated
@@ -161,11 +161,11 @@
|
|||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772408722,
|
"lastModified": 1775087534,
|
||||||
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
|
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
|
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -420,14 +420,15 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_5",
|
||||||
|
"nixpkgs-nixcord": "nixpkgs-nixcord"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772813986,
|
"lastModified": 1777125640,
|
||||||
"narHash": "sha256-x0fD+LL+O99p36c2UnjnHvVq4/7TvGH/8G5lTNIJBCo=",
|
"narHash": "sha256-jKmRu5PknoI0pk3WEqMhVReosUubUCq3M/izEQWzb+4=",
|
||||||
"owner": "KaylorBen",
|
"owner": "KaylorBen",
|
||||||
"repo": "nixcord",
|
"repo": "nixcord",
|
||||||
"rev": "e433a2919eb9b3a8c85ab3017c08685816e63a66",
|
"rev": "0e738683dd7551a9cbfa343397b1592dfd785b7e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -436,6 +437,21 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixos-hardware": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773533765,
|
||||||
|
"narHash": "sha256-qonGfS2lzCgCl59Zl63jF6dIRRpvW3AJooBGMaXjHiY=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"rev": "f8e82243fd601afb9f59ad230958bd073795cbfe",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741402956,
|
"lastModified": 1741402956,
|
||||||
@@ -454,11 +470,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772328832,
|
"lastModified": 1774748309,
|
||||||
"narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=",
|
"narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742",
|
"rev": "333c4e0545a6da976206c74db8773a1645b5870a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -467,6 +483,22 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-nixcord": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1776734388,
|
||||||
|
"narHash": "sha256-vl3dkhlE5gzsItuHoEMVe+DlonsK+0836LIRDnm6MXQ=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "10e7ad5bbcb421fe07e3a4ad53a634b0cd57ffac",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-25.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742751704,
|
"lastModified": 1742751704,
|
||||||
@@ -565,11 +597,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772465433,
|
"lastModified": 1776734388,
|
||||||
"narHash": "sha256-ywy9troNEfpgh0Ee+zaV1UTgU8kYBVKtvPSxh6clYGU=",
|
"narHash": "sha256-vl3dkhlE5gzsItuHoEMVe+DlonsK+0836LIRDnm6MXQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c581273b8d5bdf1c6ce7e0a54da9841e6a763913",
|
"rev": "10e7ad5bbcb421fe07e3a4ad53a634b0cd57ffac",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -581,16 +613,16 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773507054,
|
"lastModified": 1773700673,
|
||||||
"narHash": "sha256-Q8U5VXgrcxmCxPtCCJCIZkcAX3FCZwGh1GNVIXxMND0=",
|
"narHash": "sha256-RLidgpn3mN3cVkIiiYehcmM2ImBnPudwISFLy71zN0o=",
|
||||||
"owner": "NixOS",
|
"owner": "msyds",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e80236013dc8b77aa49ca90e7a12d86f5d8d64c9",
|
"rev": "2595b5f0592534492bce3cb61c2c9bf5ba03ffbe",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "msyds",
|
||||||
"ref": "nixpkgs-unstable",
|
"ref": "fix-bepasty",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -700,6 +732,7 @@
|
|||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
"nixarr": "nixarr",
|
"nixarr": "nixarr",
|
||||||
"nixcord": "nixcord",
|
"nixcord": "nixcord",
|
||||||
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_6",
|
"nixpkgs": "nixpkgs_6",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
@@ -786,16 +819,15 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1773275674,
|
"lastModified": 1776985528,
|
||||||
"narHash": "sha256-kULSjFWDoDatz31aIses5q51ESUi0ASUc3MKmBYLnRY=",
|
"narHash": "sha256-32WDZGOJBjq3Jr4DRtumqXoX5t25/T0cQ7CzAqT1OnE=",
|
||||||
"ref": "fcitx5-toki-pona",
|
"ref": "refs/heads/main",
|
||||||
"rev": "03f6a67a0a3b3c00ff4566147eddb0123cfe3d14",
|
"rev": "40de55454366e390e6972f5e9a9b1444df49ed18",
|
||||||
"revCount": 38,
|
"revCount": 40,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.deertopia.net/msyds/sydpkgs"
|
"url": "https://git.deertopia.net/msyds/sydpkgs"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"ref": "fcitx5-toki-pona",
|
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.deertopia.net/msyds/sydpkgs"
|
"url": "https://git.deertopia.net/msyds/sydpkgs"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,9 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
disko.url = "github:nix-community/disko";
|
disko.url = "github:nix-community/disko";
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
# nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||||
|
# Waiting on https://github.com/NixOS/nixpkgs/pull/500538
|
||||||
|
nixpkgs.url = "github:msyds/nixpkgs/fix-bepasty";
|
||||||
impermanence.url = "github:nix-community/impermanence";
|
impermanence.url = "github:nix-community/impermanence";
|
||||||
home-manager.url = "github:nix-community/home-manager";
|
home-manager.url = "github:nix-community/home-manager";
|
||||||
sops-nix.url = "github:Mic92/sops-nix";
|
sops-nix.url = "github:Mic92/sops-nix";
|
||||||
@@ -21,6 +23,7 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
inputs.vpnconfinement.follows = "vpn-confinement";
|
inputs.vpnconfinement.follows = "vpn-confinement";
|
||||||
};
|
};
|
||||||
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||||
# Used for Firefox extensions/addons.
|
# Used for Firefox extensions/addons.
|
||||||
nur = {
|
nur = {
|
||||||
url = "github:nix-community/NUR";
|
url = "github:nix-community/NUR";
|
||||||
@@ -30,7 +33,7 @@
|
|||||||
syd-fcitx5-tables.url =
|
syd-fcitx5-tables.url =
|
||||||
"git+https://git.deertopia.net/msyds/syd-fcitx5-tables";
|
"git+https://git.deertopia.net/msyds/syd-fcitx5-tables";
|
||||||
sydpkgs = {
|
sydpkgs = {
|
||||||
url = "git+https://git.deertopia.net/msyds/sydpkgs?ref=fcitx5-toki-pona";
|
url = "git+https://git.deertopia.net/msyds/sydpkgs";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,23 +1,27 @@
|
|||||||
{ config, pkgs, lib, disko, ... }:
|
{ config, pkgs, lib, disko, nixos-hardware, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./filesystems.nix
|
./filesystems.nix
|
||||||
|
nixos-hardware.nixosModules.apple-macbook-pro-12-1
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Enabled by default by Nixos-hardware.
|
||||||
|
services.mbpfan.enable = false;
|
||||||
|
|
||||||
sydnix = {
|
sydnix = {
|
||||||
filesystemType = "btrfs";
|
filesystemType = "btrfs";
|
||||||
wifi.enable = true;
|
wifi.enable = true;
|
||||||
stylix.enable = true;
|
stylix.enable = true;
|
||||||
niri.enable = true;
|
niri.enable = true;
|
||||||
steam.enable = true;
|
|
||||||
bluetooth.enable = true;
|
bluetooth.enable = true;
|
||||||
# gdm.enable = true;
|
# blueman.enable = true;
|
||||||
openssh.enable = true;
|
openssh.enable = true;
|
||||||
sydpkgs.overlay.enable = true;
|
sydpkgs.overlay.enable = true;
|
||||||
dank-material-shell.enable = true;
|
dank-material-shell.enable = true;
|
||||||
kdeconnect.enable = true;
|
kdeconnect.enable = true;
|
||||||
|
upower.enable = true;
|
||||||
|
|
||||||
users.users = [
|
users.users = [
|
||||||
# "crumb"
|
# "crumb"
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
v4l2loopback
|
v4l2loopback
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
sydnix = {
|
sydnix = {
|
||||||
filesystemType = "btrfs";
|
filesystemType = "btrfs";
|
||||||
wifi.enable = true;
|
wifi.enable = true;
|
||||||
@@ -19,8 +21,9 @@
|
|||||||
slippi.enable = true;
|
slippi.enable = true;
|
||||||
niri.enable = true;
|
niri.enable = true;
|
||||||
stylix.enable = true;
|
stylix.enable = true;
|
||||||
qemu.enable = true;
|
# qemu.enable = true;
|
||||||
flatpak.enable = true;
|
flatpak.enable = true;
|
||||||
|
gtav-battleye-hack.enable = true;
|
||||||
# gdm.enable = true;
|
# gdm.enable = true;
|
||||||
openssh.enable = true;
|
openssh.enable = true;
|
||||||
sydpkgs.overlay.enable = true;
|
sydpkgs.overlay.enable = true;
|
||||||
|
|||||||
16
modules/home/bash.nix
Normal file
16
modules/home/bash.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.bash;
|
||||||
|
in {
|
||||||
|
options.sydnix.bash = {
|
||||||
|
enable = lib.mkEnableOption "Bash";
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./bash/complete-alias.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.bash.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
16
modules/home/bash/complete-alias.nix
Normal file
16
modules/home/bash/complete-alias.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.sydnix.bash.complete-alias;
|
||||||
|
in {
|
||||||
|
options.sydnix.bash.complete-alias = {
|
||||||
|
enable = lib.mkEnableOption "Alias completion";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.bash.initExtra = lib.mkAfter ''
|
||||||
|
. ${lib.getExe pkgs.complete-alias}
|
||||||
|
complete -F _complete_alias "''${!BASH_ALIASES[@]}"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -9,6 +9,7 @@ in {
|
|||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
sydnix.impermanence.cache.directories = [
|
sydnix.impermanence.cache.directories = [
|
||||||
".m2" # Clojure dependencies.
|
".m2" # Clojure dependencies.
|
||||||
|
".gitlibs"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,7 +77,9 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
systemd.user.services.jellyfin-rpc = {
|
systemd.user.services.jellyfin-rpc = {
|
||||||
|
Unit.Requires = [ "jellyfin-rpc-configure.service" ];
|
||||||
Unit.After = [ "jellyfin-rpc-configure.service" ];
|
Unit.After = [ "jellyfin-rpc-configure.service" ];
|
||||||
|
Install.WantedBy = [ "default.target" ];
|
||||||
Service.ExecStart = lib.getExe pkgs.jellyfin-rpc;
|
Service.ExecStart = lib.getExe pkgs.jellyfin-rpc;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
22
modules/home/easyeffects.nix
Normal file
22
modules/home/easyeffects.nix
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{ config, lib, pkgs, osConfig, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.easyeffects;
|
||||||
|
in {
|
||||||
|
options.sydnix.easyeffects = {
|
||||||
|
enable = lib.mkEnableOption "Easyeffects";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services.easyeffects = {
|
||||||
|
enable = true;
|
||||||
|
extraPresets.thanks-ash =
|
||||||
|
builtins.fromJSON
|
||||||
|
(builtins.readFile ./easyeffects/thanks-ash.json);
|
||||||
|
};
|
||||||
|
|
||||||
|
warnings = lib.optional (!osConfig.programs.dconf.enable) ''
|
||||||
|
Easyeffects requires services.dconf.enable = true in the NixOS
|
||||||
|
config.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
777
modules/home/easyeffects/thanks-ash.json
Normal file
777
modules/home/easyeffects/thanks-ash.json
Normal file
@@ -0,0 +1,777 @@
|
|||||||
|
{
|
||||||
|
"input": {
|
||||||
|
"blocklist": [],
|
||||||
|
"equalizer#0": {
|
||||||
|
"balance": 0.0,
|
||||||
|
"bypass": false,
|
||||||
|
"input-gain": 0.0,
|
||||||
|
"left": {
|
||||||
|
"band0": {
|
||||||
|
"frequency": 22.4,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band1": {
|
||||||
|
"frequency": 27.8,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band10": {
|
||||||
|
"frequency": 194.06,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band11": {
|
||||||
|
"frequency": 240.81,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band12": {
|
||||||
|
"frequency": 298.834,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band13": {
|
||||||
|
"frequency": 370.834,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band14": {
|
||||||
|
"frequency": 460.182,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band15": {
|
||||||
|
"frequency": 571.057,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band16": {
|
||||||
|
"frequency": 708.647,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band17": {
|
||||||
|
"frequency": 879.387,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band18": {
|
||||||
|
"frequency": 1091.26,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band19": {
|
||||||
|
"frequency": 1354.19,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band2": {
|
||||||
|
"frequency": 34.51,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band20": {
|
||||||
|
"frequency": 1680.47,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band21": {
|
||||||
|
"frequency": 2085.35,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band22": {
|
||||||
|
"frequency": 2587.79,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band23": {
|
||||||
|
"frequency": 3211.29,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band24": {
|
||||||
|
"frequency": 3985.01,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band25": {
|
||||||
|
"frequency": 4945.15,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band26": {
|
||||||
|
"frequency": 6136.63,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band27": {
|
||||||
|
"frequency": 7615.17,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band28": {
|
||||||
|
"frequency": 9449.96,
|
||||||
|
"gain": 0.05000000000000426,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band29": {
|
||||||
|
"frequency": 11726.8,
|
||||||
|
"gain": -0.5300000000000011,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band3": {
|
||||||
|
"frequency": 42.82,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band30": {
|
||||||
|
"frequency": 14552.2,
|
||||||
|
"gain": -22.29,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band31": {
|
||||||
|
"frequency": 18058.4,
|
||||||
|
"gain": -36.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band4": {
|
||||||
|
"frequency": 53.14,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band5": {
|
||||||
|
"frequency": 65.95,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band6": {
|
||||||
|
"frequency": 81.83,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band7": {
|
||||||
|
"frequency": 101.55,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band8": {
|
||||||
|
"frequency": 126.0,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band9": {
|
||||||
|
"frequency": 156.38,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mode": "IIR",
|
||||||
|
"num-bands": 32,
|
||||||
|
"output-gain": 0.0,
|
||||||
|
"pitch-left": 0.0,
|
||||||
|
"pitch-right": 0.0,
|
||||||
|
"right": {
|
||||||
|
"band0": {
|
||||||
|
"frequency": 22.4,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band1": {
|
||||||
|
"frequency": 27.8,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band10": {
|
||||||
|
"frequency": 194.06,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band11": {
|
||||||
|
"frequency": 240.81,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band12": {
|
||||||
|
"frequency": 298.834,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band13": {
|
||||||
|
"frequency": 370.834,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band14": {
|
||||||
|
"frequency": 460.182,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band15": {
|
||||||
|
"frequency": 571.057,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band16": {
|
||||||
|
"frequency": 708.647,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band17": {
|
||||||
|
"frequency": 879.387,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band18": {
|
||||||
|
"frequency": 1091.26,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band19": {
|
||||||
|
"frequency": 1354.19,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band2": {
|
||||||
|
"frequency": 34.51,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band20": {
|
||||||
|
"frequency": 1680.47,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band21": {
|
||||||
|
"frequency": 2085.35,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band22": {
|
||||||
|
"frequency": 2587.79,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band23": {
|
||||||
|
"frequency": 3211.29,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band24": {
|
||||||
|
"frequency": 3985.01,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band25": {
|
||||||
|
"frequency": 4945.15,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band26": {
|
||||||
|
"frequency": 6136.63,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band27": {
|
||||||
|
"frequency": 7615.17,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band28": {
|
||||||
|
"frequency": 9449.96,
|
||||||
|
"gain": 0.05000000000000426,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band29": {
|
||||||
|
"frequency": 11726.8,
|
||||||
|
"gain": -0.5300000000000011,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band3": {
|
||||||
|
"frequency": 42.82,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band30": {
|
||||||
|
"frequency": 14552.2,
|
||||||
|
"gain": -22.29,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band31": {
|
||||||
|
"frequency": 18058.4,
|
||||||
|
"gain": -36.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band4": {
|
||||||
|
"frequency": 53.14,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band5": {
|
||||||
|
"frequency": 65.95,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band6": {
|
||||||
|
"frequency": 81.83,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band7": {
|
||||||
|
"frequency": 101.55,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band8": {
|
||||||
|
"frequency": 126.0,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band9": {
|
||||||
|
"frequency": 156.38,
|
||||||
|
"gain": 0.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"split-channels": false
|
||||||
|
},
|
||||||
|
"gate#0": {
|
||||||
|
"attack": 5.0,
|
||||||
|
"bypass": false,
|
||||||
|
"curve-threshold": -30.0,
|
||||||
|
"curve-zone": -6.0,
|
||||||
|
"dry": -80.01,
|
||||||
|
"hpf-frequency": 10.0,
|
||||||
|
"hpf-mode": "Off",
|
||||||
|
"hysteresis": false,
|
||||||
|
"hysteresis-threshold": -12.0,
|
||||||
|
"hysteresis-zone": -6.0,
|
||||||
|
"input-gain": 0.0,
|
||||||
|
"input-to-link": 0.0,
|
||||||
|
"input-to-sidechain": 0.0,
|
||||||
|
"link-to-input": 0.0,
|
||||||
|
"link-to-sidechain": 0.0,
|
||||||
|
"lpf-frequency": 20000.0,
|
||||||
|
"lpf-mode": "Off",
|
||||||
|
"makeup": 0.0,
|
||||||
|
"output-gain": 0.0,
|
||||||
|
"reduction": -24.0,
|
||||||
|
"release": 250.0,
|
||||||
|
"sidechain": {
|
||||||
|
"lookahead": 0.0,
|
||||||
|
"mode": "Peak",
|
||||||
|
"preamp": 0.0,
|
||||||
|
"reactivity": 10.0,
|
||||||
|
"source": "Middle",
|
||||||
|
"stereo-split-source": "Left/Right",
|
||||||
|
"type": "Internal"
|
||||||
|
},
|
||||||
|
"sidechain-to-input": 0.0,
|
||||||
|
"sidechain-to-link": 0.0,
|
||||||
|
"stereo-split": false,
|
||||||
|
"wet": 0.0
|
||||||
|
},
|
||||||
|
"loudness#0": {
|
||||||
|
"bypass": false,
|
||||||
|
"clipping": false,
|
||||||
|
"clipping-range": 6.0,
|
||||||
|
"fft": "4096",
|
||||||
|
"iir-approximation": "Normal",
|
||||||
|
"input-gain": 0.0,
|
||||||
|
"mode": "FFT",
|
||||||
|
"output-gain": 0.0,
|
||||||
|
"std": "ISO226-2023",
|
||||||
|
"volume": 7.0
|
||||||
|
},
|
||||||
|
"plugins_order": [
|
||||||
|
"gate#0",
|
||||||
|
"equalizer#0",
|
||||||
|
"loudness#0"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -56,7 +56,12 @@ in {
|
|||||||
Extra arguments to pass to the final wrapProgram call.
|
Extra arguments to pass to the final wrapProgram call.
|
||||||
'';
|
'';
|
||||||
default = [];
|
default = [];
|
||||||
type = lib.types.listOf lib.types.str;
|
type = with lib.types;
|
||||||
|
listOf
|
||||||
|
(coercedTo
|
||||||
|
(oneOf [str package])
|
||||||
|
builtins.toString
|
||||||
|
str);
|
||||||
apply = lib.escapeShellArgs;
|
apply = lib.escapeShellArgs;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
31
modules/home/haskell.nix
Normal file
31
modules/home/haskell.nix
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.sydnix.haskell;
|
||||||
|
in {
|
||||||
|
options.sydnix.haskell.enable =
|
||||||
|
lib.mkEnableOption "Haskell";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
# Convenient shorthand for quickly opening Haskell REPLs.
|
||||||
|
programs.bash.profileExtra =
|
||||||
|
builtins.readFile ./haskell/ghc-with-packages.sh;
|
||||||
|
|
||||||
|
home.file.".ghc/ghci.conf".text = ''
|
||||||
|
:set prompt "\x1b[38;5;5mλ>\x1b[0m "
|
||||||
|
:set prompt-cont "\x1b[38;5;5m|>\x1b[0m "
|
||||||
|
'';
|
||||||
|
|
||||||
|
sydnix.impermanence.cache.directories =
|
||||||
|
let xdg-cache-dir =
|
||||||
|
config.home.cacheHome
|
||||||
|
or "${config.home.homeDirectory}/.cache";
|
||||||
|
in [
|
||||||
|
# We don't want to rebuild Hackage simply due to a reboot, do we? }:)
|
||||||
|
(lib.removePrefix "${config.home.homeDirectory}/"
|
||||||
|
"${xdg-cache-dir}/cabal")
|
||||||
|
".stack"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
52
modules/home/haskell/ghc-with-packages.sh
Normal file
52
modules/home/haskell/ghc-with-packages.sh
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
declare -a default_ghc_packages=(pretty-simple lens)
|
||||||
|
|
||||||
|
ghc-with-packages () {
|
||||||
|
declare -a packages=()
|
||||||
|
local GHC_COMMAND=${GHC_COMMAND:-"ghc"}
|
||||||
|
packages+=$default_ghc_packages
|
||||||
|
local exit=0 stop_args
|
||||||
|
while [[ ! -z "$1" && -z "$stop_args" ]]; do
|
||||||
|
local opt="$1"
|
||||||
|
shift 1
|
||||||
|
case "$opt" in
|
||||||
|
"--")
|
||||||
|
stop_args=1
|
||||||
|
;;
|
||||||
|
"-p")
|
||||||
|
while [[ ! -z "$1" && "$1" != -* ]]; do
|
||||||
|
packages+=("$1")
|
||||||
|
shift 1
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
*|"-h")
|
||||||
|
exit=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
local pretty_simple
|
||||||
|
|
||||||
|
for p in "$packages"; do
|
||||||
|
if [[ "$p" = "pretty-simple" ]]; then
|
||||||
|
pretty_simple="-interactive-print=Text.Pretty.Simple.pPrint"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ "$exit" -eq 0 ]]; then
|
||||||
|
# echo "packages: ${packages[@]}"
|
||||||
|
# echo "args: $*"
|
||||||
|
local pkgs="${packages[@]}"
|
||||||
|
nix-shell \
|
||||||
|
-p "haskellPackages.ghcWithPackages (p: with p; [ $pkgs ])" \
|
||||||
|
--run "$GHC_COMMAND $pretty_simple $*"
|
||||||
|
else
|
||||||
|
echo >&2 "Usage: ghci-with-packages [-p packages…] [-- ghci-options]"
|
||||||
|
return $exit
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
export -f ghc-with-packages
|
||||||
|
|
||||||
|
ghci-with-packages () {
|
||||||
|
GHC_COMMAND=ghci ghc-with-packages "$@"
|
||||||
|
}
|
||||||
|
export -f ghci-with-packages
|
||||||
@@ -7,6 +7,10 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
|
sydnix.impermanence.directories = [
|
||||||
|
".config/kdeconnect"
|
||||||
|
];
|
||||||
|
|
||||||
services.kdeconnect = {
|
services.kdeconnect = {
|
||||||
enable = true;
|
enable = true;
|
||||||
indicator = true;
|
indicator = true;
|
||||||
|
|||||||
18
modules/home/prism-launcher.nix
Normal file
18
modules/home/prism-launcher.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.prism-launcher;
|
||||||
|
in {
|
||||||
|
options.sydnix.prism-launcher = {
|
||||||
|
enable = lib.mkEnableOption "Prism Launcher";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
home.packages = [
|
||||||
|
pkgs.prismlauncher
|
||||||
|
];
|
||||||
|
|
||||||
|
sydnix.impermanence.directories = [
|
||||||
|
".local/share/PrismLauncher"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
17
modules/home/ryujinx.nix
Normal file
17
modules/home/ryujinx.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.ryujinx;
|
||||||
|
in {
|
||||||
|
options.sydnix.ryujinx = {
|
||||||
|
enable = lib.mkEnableOption "ryujinx";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
home.packages = [
|
||||||
|
pkgs.ryubing-canary
|
||||||
|
];
|
||||||
|
sydnix.impermanence.directories = [
|
||||||
|
".config/Ryujinx"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -15,6 +15,10 @@ in {
|
|||||||
}))
|
}))
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.ghostty.settings.font-family = lib.mkAfter [
|
||||||
|
"sitelen seli kiwen mono juniko"
|
||||||
|
];
|
||||||
|
|
||||||
sydnix.hunspell.dictionaries = ds: with ds; [
|
sydnix.hunspell.dictionaries = ds: with ds; [
|
||||||
tok
|
tok
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ in {
|
|||||||
enable = true;
|
enable = true;
|
||||||
addons = with pkgs.ankiAddons; [
|
addons = with pkgs.ankiAddons; [
|
||||||
review-heatmap
|
review-heatmap
|
||||||
|
anki-connect
|
||||||
];
|
];
|
||||||
sync = {
|
sync = {
|
||||||
autoSync = true;
|
autoSync = true;
|
||||||
|
|||||||
@@ -1,34 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.sydnix.users.crumb.bash;
|
|
||||||
in {
|
|
||||||
options.sydnix.users.crumb.bash.enable = lib.mkEnableOption "Bash, à la crumb";
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
programs.bash = {
|
|
||||||
enable = true;
|
|
||||||
shellOptions = [
|
|
||||||
# Correct minor typos in cd commands.
|
|
||||||
"cdspell"
|
|
||||||
"autocd"
|
|
||||||
# Extra glob power.
|
|
||||||
"extglob"
|
|
||||||
# Recursive glob w/ **.
|
|
||||||
"globstar"
|
|
||||||
# Append to history file.
|
|
||||||
"histappend"
|
|
||||||
# Require user confirmation for commands using expansion.
|
|
||||||
"histverify"
|
|
||||||
# Re-edit failed history substitutions.
|
|
||||||
"histreedit"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
home.shellAliases = {
|
|
||||||
nix2json = "nix eval --impure --json --file -";
|
|
||||||
"..." = "cd ../..";
|
|
||||||
"...." = "cd ../../..";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -239,7 +239,7 @@ in {
|
|||||||
# Precedence of search engines.
|
# Precedence of search engines.
|
||||||
order = [ "Kagi" "ddg" ];
|
order = [ "Kagi" "ddg" ];
|
||||||
default = "Kagi";
|
default = "Kagi";
|
||||||
privateDefault = "ddg";
|
privateDefault = "Kagi";
|
||||||
engines = {
|
engines = {
|
||||||
"Kagi" = {
|
"Kagi" = {
|
||||||
urls = [{
|
urls = [{
|
||||||
@@ -273,6 +273,26 @@ in {
|
|||||||
"${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
"${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
definedAliases = [ "!np" ];
|
definedAliases = [ "!np" ];
|
||||||
};
|
};
|
||||||
|
"English Wiktionary" = {
|
||||||
|
urls = [{
|
||||||
|
template = "https://en.wiktionary.org/wiki/Special:Search";
|
||||||
|
params = [
|
||||||
|
{ name = "go"; value = "Define"; }
|
||||||
|
{ name = "search"; value = "{searchTerms}"; }
|
||||||
|
];
|
||||||
|
}];
|
||||||
|
definedAliases = [ "!wikt" "!enwikt" "!쟈사" "!wiktionary" ];
|
||||||
|
};
|
||||||
|
"위키낱말사전" = {
|
||||||
|
urls = [{
|
||||||
|
template = "https://ko.wiktionary.org/wiki/특수:검색";
|
||||||
|
params = [
|
||||||
|
{ name = "go"; value = "Define"; }
|
||||||
|
{ name = "search"; value = "{searchTerms}"; }
|
||||||
|
];
|
||||||
|
}];
|
||||||
|
definedAliases = [ "!kowikt" "!위사" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,67 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.sydnix.users.crumb.haskell;
|
|
||||||
in {
|
|
||||||
options.sydnix.users.crumb.haskell.enable =
|
|
||||||
lib.mkEnableOption "Haskell, à la crumb";
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
# Convenient shorthand for quickly opening Haskell REPLs.
|
|
||||||
programs.bash.profileExtra = ''
|
|
||||||
# Start a GHCi REPL with the given packages made available.
|
|
||||||
ghci-with-packages () {
|
|
||||||
packages=""
|
|
||||||
while getopts 'p:h' opt; do
|
|
||||||
case "$opt" in
|
|
||||||
p)
|
|
||||||
packages="''${OPTARG}"
|
|
||||||
;;
|
|
||||||
?|h)
|
|
||||||
echo >&2 "Usage: $(basename $0) [-p packages] [-- ghci-options]"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
shift "$(($OPTIND -1))"
|
|
||||||
|
|
||||||
nix-shell -p "haskellPackages.ghcWithPackages (p: with p; [ $packages ])" \
|
|
||||||
--run "ghci $@"
|
|
||||||
}
|
|
||||||
export -f ghci-with-packages
|
|
||||||
|
|
||||||
# Run GHC with the given packages made available.
|
|
||||||
ghc-with-packages () {
|
|
||||||
packages=""
|
|
||||||
while getopts 'p:h' opt; do
|
|
||||||
case "$opt" in
|
|
||||||
p)
|
|
||||||
packages="''${OPTARG}"
|
|
||||||
;;
|
|
||||||
?|h)
|
|
||||||
echo >&2 "Usage: $(basename $0) [-p packages] [-- ghc-options]"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
shift "$(($OPTIND -1))"
|
|
||||||
|
|
||||||
nix-shell -p "haskellPackages.ghcWithPackages (p: with p; [ $packages ])" \
|
|
||||||
--run "ghc $@"
|
|
||||||
}
|
|
||||||
export -f ghc-with-packages
|
|
||||||
'';
|
|
||||||
|
|
||||||
sydnix.impermanence.cache.directories =
|
|
||||||
let xdg-cache-dir =
|
|
||||||
config.home.cacheHome
|
|
||||||
or "${config.home.homeDirectory}/.cache";
|
|
||||||
in [
|
|
||||||
# We don't want to rebuild Hackage simply due to a reboot, do we? }:)
|
|
||||||
(lib.removePrefix "${config.home.homeDirectory}/"
|
|
||||||
"${xdg-cache-dir}/cabal")
|
|
||||||
".stack"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -9,14 +9,6 @@ in {
|
|||||||
type = lib.types.nullOr lib.types.path;
|
type = lib.types.nullOr lib.types.path;
|
||||||
default = config.stylix.image;
|
default = config.stylix.image;
|
||||||
};
|
};
|
||||||
# xwayland-satellite implements rootless Xwayland in a separate application,
|
|
||||||
# without the host compositor's involvement. It makes X11 windows appear as
|
|
||||||
# normal windows, just like a native Xwayland integration. While it is still
|
|
||||||
# somewhat experimental, it handles a lot of applications correctly, like
|
|
||||||
# Steam, games and Discord.
|
|
||||||
xwayland-satellite.enable =
|
|
||||||
lib.mkEnableOption "xwayland-satellite starting with Niri"
|
|
||||||
// { default = true; };
|
|
||||||
polkit.enable =
|
polkit.enable =
|
||||||
lib.mkEnableOption "Niri/Gnome Polkit" // { default = true; };
|
lib.mkEnableOption "Niri/Gnome Polkit" // { default = true; };
|
||||||
swaylock.enable =
|
swaylock.enable =
|
||||||
@@ -67,26 +59,17 @@ in {
|
|||||||
stylix.targets.swaylock.enable = cfg.swaylock.enable;
|
stylix.targets.swaylock.enable = cfg.swaylock.enable;
|
||||||
|
|
||||||
services.polkit-gnome.enable = cfg.polkit.enable;
|
services.polkit-gnome.enable = cfg.polkit.enable;
|
||||||
|
sydnix.xwayland-satellite.enable = lib.mkDefault true;
|
||||||
|
|
||||||
# File-picker.
|
# File-picker.
|
||||||
home.packages = [ pkgs.nautilus ];
|
home.packages = [ pkgs.nautilus ];
|
||||||
|
|
||||||
systemd.user.services.xwayland-satellite =
|
|
||||||
lib.mkIf cfg.xwayland-satellite.enable {
|
|
||||||
Service.ExecStart =
|
|
||||||
["${pkgs.xwayland-satellite}/bin/xwayland-satellite"];
|
|
||||||
Unit.After = ["niri.service"];
|
|
||||||
Unit.PartOf = ["niri.service"];
|
|
||||||
Install.WantedBy = ["niri.service"];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.niri = {
|
programs.niri = {
|
||||||
settings = {
|
settings = {
|
||||||
# Activates some Nixpkgs patches to help run Electron applications under
|
# Activates some Nixpkgs patches to help run Electron applications under
|
||||||
# Wayland.
|
# Wayland.
|
||||||
environment = {
|
environment = {
|
||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
DISPLAY = ":0";
|
|
||||||
XDG_CURRENT_DESKTOP = "niri";
|
XDG_CURRENT_DESKTOP = "niri";
|
||||||
QT_QPA_PLATFORM = "wayland";
|
QT_QPA_PLATFORM = "wayland";
|
||||||
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
||||||
|
|||||||
@@ -3,3 +3,7 @@ exec loadouts/init
|
|||||||
exec overrides/binds.cfg
|
exec overrides/binds.cfg
|
||||||
exec overrides/settings.cfg
|
exec overrides/settings.cfg
|
||||||
|
|
||||||
|
con_logfile console.log
|
||||||
|
ip 0.0.0.0
|
||||||
|
rcon_password monitor
|
||||||
|
net_start
|
||||||
36
modules/home/users/msyds/bash.nix
Normal file
36
modules/home/users/msyds/bash.nix
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.sydnix.users.msyds.bash;
|
||||||
|
in {
|
||||||
|
options.sydnix.users.msyds.bash.enable =
|
||||||
|
lib.mkEnableOption "Bash, à la msyds";
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
sydnix.bash.enable = true;
|
||||||
|
sydnix.bash.complete-alias.enable = true;
|
||||||
|
|
||||||
|
programs.bash.shellOptions = [
|
||||||
|
# Correct minor typos in cd commands.
|
||||||
|
"cdspell"
|
||||||
|
# Implicitly prepend `cd` to directory names.
|
||||||
|
"autocd"
|
||||||
|
# Extra glob power.
|
||||||
|
"extglob"
|
||||||
|
# Recursive glob w/ **.
|
||||||
|
"globstar"
|
||||||
|
# Append to history file.
|
||||||
|
"histappend"
|
||||||
|
# Require user confirmation for commands using expansion.
|
||||||
|
"histverify"
|
||||||
|
# Re-edit failed history substitutions.
|
||||||
|
"histreedit"
|
||||||
|
];
|
||||||
|
|
||||||
|
home.shellAliases = {
|
||||||
|
nix2json = "nix eval --impure --json --file -";
|
||||||
|
"..." = "cd ../..";
|
||||||
|
"...." = "cd ../../..";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1,6 +1,11 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, host, ... }:
|
||||||
|
|
||||||
let cfg = config.sydnix.users.msyds.dank-material-shell;
|
let
|
||||||
|
cfg = config.sydnix.users.msyds.dank-material-shell;
|
||||||
|
on = hosts:
|
||||||
|
if builtins.isString hosts
|
||||||
|
then hosts == host
|
||||||
|
else builtins.elem host hosts;
|
||||||
in {
|
in {
|
||||||
options.sydnix.users.msyds.dank-material-shell = {
|
options.sydnix.users.msyds.dank-material-shell = {
|
||||||
enable = lib.mkEnableOption "Dank Material Shell";
|
enable = lib.mkEnableOption "Dank Material Shell";
|
||||||
@@ -167,7 +172,7 @@ in {
|
|||||||
showControlCenterButton = true;
|
showControlCenterButton = true;
|
||||||
showCapsLockIndicator = true;
|
showCapsLockIndicator = true;
|
||||||
controlCenterShowNetworkIcon = true;
|
controlCenterShowNetworkIcon = true;
|
||||||
controlCenterShowBluetoothIcon = true;
|
controlCenterShowBluetoothIcon = on ["fruitbook"];
|
||||||
controlCenterShowAudioIcon = true;
|
controlCenterShowAudioIcon = true;
|
||||||
controlCenterShowVpnIcon = true;
|
controlCenterShowVpnIcon = true;
|
||||||
controlCenterShowBrightnessIcon = false;
|
controlCenterShowBrightnessIcon = false;
|
||||||
@@ -286,9 +291,9 @@ in {
|
|||||||
batterySuspendTimeout = 0;
|
batterySuspendTimeout = 0;
|
||||||
batterySuspendBehavior = 0;
|
batterySuspendBehavior = 0;
|
||||||
batteryProfileName = "";
|
batteryProfileName = "";
|
||||||
lockBeforeSuspend = false;
|
lockBeforeSuspend = true;
|
||||||
loginctlLockIntegration = true;
|
loginctlLockIntegration = true;
|
||||||
fadeToLockEnabled = false;
|
fadeToLockEnabled = true;
|
||||||
fadeToLockGracePeriod = 5;
|
fadeToLockGracePeriod = 5;
|
||||||
launchPrefix = "";
|
launchPrefix = "";
|
||||||
brightnessDevicePins = {};
|
brightnessDevicePins = {};
|
||||||
|
|||||||
@@ -31,6 +31,17 @@ in {
|
|||||||
treesit.enable = true;
|
treesit.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
ESHELL_ALIASES_FILE = pkgs.writeText "eshell-aliases" ''
|
||||||
|
alias cdp syd-project-cd
|
||||||
|
alias jj jj --no-pager $*
|
||||||
|
${lib.concatMapAttrsStringSep
|
||||||
|
"\n"
|
||||||
|
(alias: value: "alias ${alias} ${value} $*")
|
||||||
|
config.home.shellAliases}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
sydnix.emacs = {
|
sydnix.emacs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
@@ -40,6 +51,10 @@ in {
|
|||||||
pkgs.nerd-fonts.victor-mono
|
pkgs.nerd-fonts.victor-mono
|
||||||
pkgs.ibm-plex
|
pkgs.ibm-plex
|
||||||
];
|
];
|
||||||
|
extraWrapProgramArgs = [
|
||||||
|
"--set" "ESHELL_ALIASES_FILE"
|
||||||
|
config.home.sessionVariables.ESHELL_ALIASES_FILE
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
(syd-require-features
|
(syd-require-features
|
||||||
'(syd/base
|
'(syd/base
|
||||||
syd/constants
|
syd/constants
|
||||||
|
syd/fcitx
|
||||||
syd/dash
|
syd/dash
|
||||||
syd/disable-package
|
syd/disable-package
|
||||||
syd/straight
|
syd/straight
|
||||||
@@ -64,5 +65,10 @@
|
|||||||
syd/eshell
|
syd/eshell
|
||||||
syd/treesit
|
syd/treesit
|
||||||
syd/grammatical-framework
|
syd/grammatical-framework
|
||||||
|
syd/tabs
|
||||||
syd/lsp
|
syd/lsp
|
||||||
syd/custom))
|
syd/custom
|
||||||
|
syd/transient
|
||||||
|
syd/bookmark
|
||||||
|
syd/haskell
|
||||||
|
syd/qbe))
|
||||||
|
|||||||
@@ -2,7 +2,10 @@
|
|||||||
|
|
||||||
(require 'syd/base)
|
(require 'syd/base)
|
||||||
|
|
||||||
(use-package auctex
|
(use-package auctex)
|
||||||
|
|
||||||
|
(use-package tex
|
||||||
|
:straight nil ; Part of auctex.
|
||||||
:config
|
:config
|
||||||
(add-to-list 'TeX-view-program-selection '(output-pdf "Sioyek")))
|
(add-to-list 'TeX-view-program-selection '(output-pdf "Sioyek")))
|
||||||
|
|
||||||
|
|||||||
10
modules/home/users/msyds/emacs/lisp/syd/bookmark.el
Normal file
10
modules/home/users/msyds/emacs/lisp/syd/bookmark.el
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
;;; -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
(require 'syd/base)
|
||||||
|
|
||||||
|
(use-package bookmark
|
||||||
|
:straight nil
|
||||||
|
:custom ((bookmark-default-file
|
||||||
|
(file-name-concat syd-data-dir "bookmarks"))))
|
||||||
|
|
||||||
|
(provide 'syd/bookmark)
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
;;; -*- lexical-binding: t; -*-
|
;;; -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
(require 'syd/base)
|
(require 'syd/base)
|
||||||
|
(require 'syd/handle)
|
||||||
(require 'syd/popups)
|
(require 'syd/popups)
|
||||||
(require 'syd/leader)
|
(require 'syd/leader)
|
||||||
|
|
||||||
@@ -20,21 +21,38 @@
|
|||||||
(use-package cider
|
(use-package cider
|
||||||
:after clojure-mode
|
:after clojure-mode
|
||||||
:config
|
:config
|
||||||
|
|
||||||
(defun syd-clojure-doc (arg)
|
(defun syd-clojure-doc (arg)
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
(cider-doc arg)
|
(cider-doc arg)
|
||||||
cider-doc-buffer)
|
cider-doc-buffer)
|
||||||
|
|
||||||
(defun syd-clojure-eval-region (beg end)
|
(defun syd-clojure-eval-region (beg end)
|
||||||
(cider-eval-region beg end))
|
(cider-eval-region beg end))
|
||||||
|
|
||||||
(syd-handle '(clojure-mode clojurescript-mode cider-repl-mode)
|
(syd-handle '(clojure-mode clojurescript-mode cider-repl-mode)
|
||||||
:docs #'cider-doc
|
:docs #'cider-doc
|
||||||
:eval-region #'syd-clojure-eval-region
|
:eval-region #'syd-clojure-eval-region
|
||||||
:load-buffer #'cider-load-buffer)
|
:load-buffer #'cider-load-buffer)
|
||||||
|
|
||||||
(add-hook 'cider-repl-mode-hook #'syd-lisp-mode)
|
(add-hook 'cider-repl-mode-hook #'syd-lisp-mode)
|
||||||
|
|
||||||
(syd-push shackle-rules
|
(syd-push shackle-rules
|
||||||
`("*cider-doc*" ,@syd-help-popup-options)
|
`("*cider-doc*" ,@syd-help-popup-options)
|
||||||
'("*cider-test-report*")
|
'("*cider-test-report*")
|
||||||
'("*cider-error*")))
|
'("*cider-error*"))
|
||||||
|
|
||||||
|
(defun syd-clojure-classpath-relative-file-name (file-name)
|
||||||
|
(when (and cider-mode (cider-nrepl-eval-session))
|
||||||
|
(let ((prefixes (-filter #'file-directory-p
|
||||||
|
(cider-classpath-entries))))
|
||||||
|
(cl-loop for classpath-entry in prefixes
|
||||||
|
for prefix = (file-name-as-directory classpath-entry)
|
||||||
|
when (string-prefix-p prefix file-name)
|
||||||
|
return (string-remove-prefix prefix file-name)))))
|
||||||
|
(add-to-list 'syd-insert-file-name-alist
|
||||||
|
`(,#'syd-clojure-classpath-relative-file-name
|
||||||
|
. "Classpath-relative")))
|
||||||
|
|
||||||
(use-package cider-mode
|
(use-package cider-mode
|
||||||
:straight nil ; Part of `cider'.
|
:straight nil ; Part of `cider'.
|
||||||
@@ -114,6 +132,10 @@
|
|||||||
(cljr-add-keybindings-with-prefix "C-c r"))
|
(cljr-add-keybindings-with-prefix "C-c r"))
|
||||||
|
|
||||||
(use-package clj-refactor
|
(use-package clj-refactor
|
||||||
:hook (clojure-mode . #'syd-clojure--setup-clj-refactor))
|
:config
|
||||||
|
(add-hook 'clojure-mode-hook #'syd-clojure--setup-clj-refactor)
|
||||||
|
(dolist (x '(("p" . "babashka.process")
|
||||||
|
("fs" . "babashka.fs")))
|
||||||
|
(add-to-list 'cljr-magic-require-namespaces x)))
|
||||||
|
|
||||||
(provide 'syd/clojure)
|
(provide 'syd/clojure)
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
;;; -*- lexical-binding: t -*-
|
;; -*- lexical-binding: t -*-
|
||||||
|
|
||||||
|
(require 'syd/base)
|
||||||
|
(require 'syd/popups)
|
||||||
|
|
||||||
(setq
|
(setq
|
||||||
;; Log native-compiler warnings, but don't display the buffer. Most of the
|
;; Log native-compiler warnings, but don't display the buffer. Most of the
|
||||||
@@ -8,4 +11,7 @@
|
|||||||
;; Scroll compilation buffer to follow output.
|
;; Scroll compilation buffer to follow output.
|
||||||
compilation-scroll-output t)
|
compilation-scroll-output t)
|
||||||
|
|
||||||
|
(syd-push shackle-rules
|
||||||
|
'("*compilation*" :select nil :size 0.42 :popup t :align bottom))
|
||||||
|
|
||||||
(provide 'syd/compilation)
|
(provide 'syd/compilation)
|
||||||
|
|||||||
@@ -150,7 +150,9 @@ if FILE-NAME has no TRAMP prefix."
|
|||||||
(eshell-last-dir-ring-file-name (file-name-concat
|
(eshell-last-dir-ring-file-name (file-name-concat
|
||||||
syd-eshell-data-dir "lastdir"))
|
syd-eshell-data-dir "lastdir"))
|
||||||
(eshell-prompt-function #'syd-eshell--prompt-fn)
|
(eshell-prompt-function #'syd-eshell--prompt-fn)
|
||||||
(eshell-prompt-regexp syd-eshell--prompt-regexp))
|
(eshell-prompt-regexp syd-eshell--prompt-regexp)
|
||||||
|
(eshell-aliases-file (or (getenv "ESHELL_ALIASES_FILE")
|
||||||
|
eshell-aliases-file)))
|
||||||
:general
|
:general
|
||||||
(:keymaps 'syd-leader-open-map
|
(:keymaps 'syd-leader-open-map
|
||||||
"e" #'syd-toggle-eshell)
|
"e" #'syd-toggle-eshell)
|
||||||
|
|||||||
10
modules/home/users/msyds/emacs/lisp/syd/fcitx.el
Normal file
10
modules/home/users/msyds/emacs/lisp/syd/fcitx.el
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
;;; -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
(require 'syd/base)
|
||||||
|
|
||||||
|
(use-package fcitx
|
||||||
|
:config
|
||||||
|
(setq fcitx-remote-command "fcitx5-remote")
|
||||||
|
(fcitx-aggressive-setup))
|
||||||
|
|
||||||
|
(provide 'syd/fcitx)
|
||||||
65
modules/home/users/msyds/emacs/lisp/syd/haskell.el
Normal file
65
modules/home/users/msyds/emacs/lisp/syd/haskell.el
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
;; -*- lexical-binding: t; -*-
|
||||||
|
(require 'syd/base)
|
||||||
|
(require 'syd/handle)
|
||||||
|
|
||||||
|
(defun syd-haskell-open-repl ()
|
||||||
|
"Open a Haskell REPL."
|
||||||
|
(interactive)
|
||||||
|
(require 'inf-haskell)
|
||||||
|
(run-haskell))
|
||||||
|
|
||||||
|
(defun syd-haskell-evil-open-above ()
|
||||||
|
"Opens a line above the current, following Haskell-mode's indentation"
|
||||||
|
(interactive)
|
||||||
|
(evil-beginning-of-line)
|
||||||
|
(haskell-indentation-newline-and-indent)
|
||||||
|
(evil-previous-line)
|
||||||
|
(haskell-indentation-indent-line)
|
||||||
|
(evil-append-line nil))
|
||||||
|
|
||||||
|
(defun syd-haskell-evil-open-below ()
|
||||||
|
"Opens a line below the current, following Haskell-mode's indentation"
|
||||||
|
(interactive)
|
||||||
|
(evil-append-line nil)
|
||||||
|
(haskell-indentation-newline-and-indent))
|
||||||
|
|
||||||
|
(defun syd-haskell-hoogle-start-server ()
|
||||||
|
(interactive)
|
||||||
|
(haskell-hoogle-start-server)
|
||||||
|
(message "Hoogle started on localhost:%d" haskell-hoogle-port-number))
|
||||||
|
|
||||||
|
(use-package haskell-mode
|
||||||
|
:mode (("\\.l?hs'" . haskell-literate-mode)
|
||||||
|
("\\.hs'" . haskell-mode))
|
||||||
|
:custom (; Show errors in REPL, not popup buffers.
|
||||||
|
(haskell-interactive-popup-errors nil)
|
||||||
|
(haskell-process-suggest-remove-import-line t)
|
||||||
|
(haskell-process-auto-import-loaded-modules t))
|
||||||
|
:general
|
||||||
|
(:keymaps 'haskell-mode-map
|
||||||
|
:states '(normal visual motion emacs insert)
|
||||||
|
:major-modes t
|
||||||
|
:prefix syd-localleader-key
|
||||||
|
:non-normal-prefix syd-alt-localleader-key
|
||||||
|
"c" #'haskell-cabal-visit-file
|
||||||
|
"h s" #'syd-haskell-hoogle-start-server
|
||||||
|
"h q" #'haskell-hoogle-kill-server)
|
||||||
|
(:keymaps 'interactive-haskell-mode-map
|
||||||
|
:states '(normal insert)
|
||||||
|
"C-j" #'haskell-interactive-mode-history-next
|
||||||
|
"C-k" #'haskell-interactive-mode-history-previous)
|
||||||
|
(:keymaps 'haskell-mode-map
|
||||||
|
:states 'normal
|
||||||
|
[remap evil-open-above] #'syd-haskell-evil-open-above
|
||||||
|
[remap evil-open-below] #'syd-haskell-evil-open-below)
|
||||||
|
:config
|
||||||
|
(add-to-list 'completion-ignored-extensions ".hi"))
|
||||||
|
|
||||||
|
(use-package lsp-haskell
|
||||||
|
:defer t
|
||||||
|
:custom ((lsp-haskell-server-path "haskell-language-server"))
|
||||||
|
:init
|
||||||
|
(add-hook 'haskell-mode-hook #'lsp-deferred 'append)
|
||||||
|
(add-hook 'haskell-literate-mode-hook #'lsp-deferred 'append))
|
||||||
|
|
||||||
|
(provide 'syd/haskell)
|
||||||
@@ -69,7 +69,8 @@
|
|||||||
(general-def
|
(general-def
|
||||||
:prefix-map 'syd-leader-insert-map
|
:prefix-map 'syd-leader-insert-map
|
||||||
"u" #'insert-char
|
"u" #'insert-char
|
||||||
"e" #'emoji-insert)
|
"e" #'emoji-insert
|
||||||
|
"p" #'syd-insert-file-name)
|
||||||
|
|
||||||
;; This is necessary to properly rebind `universal-argument'.
|
;; This is necessary to properly rebind `universal-argument'.
|
||||||
;; `universal-argument-more' is a command that provides additional prefixes
|
;; `universal-argument-more' is a command that provides additional prefixes
|
||||||
|
|||||||
@@ -22,11 +22,16 @@
|
|||||||
"/*" "/=" "/>" "//" "__" "~~" "(*" "*)"
|
"/*" "/=" "/>" "//" "__" "~~" "(*" "*)"
|
||||||
"\\\\" "://"))
|
"\\\\" "://"))
|
||||||
;; Sitelen pona glyphs.
|
;; Sitelen pona glyphs.
|
||||||
(rx-let ((ideograph (any (#xF1900 . #xF198C))))
|
(rx-let ((ideograph (any (#xF1900 . #xF198C)))
|
||||||
|
(tok-punct (any "" ""))
|
||||||
|
(arrow (any "←-↙"))
|
||||||
|
(zwj ""))
|
||||||
(ligature-set-ligatures
|
(ligature-set-ligatures
|
||||||
'fundamental-mode
|
'fundamental-mode
|
||||||
`(("" ,(rx (* ideograph)))
|
`(("" ,(rx (* (or ideograph tok-punct))))
|
||||||
("" ,(rx "" (* ideograph))))))
|
("" ,(rx "" (* (or ideograph tok-punct)) ""))
|
||||||
|
("" ,(rx zwj arrow))
|
||||||
|
("" ,(rx zwj ideograph)))))
|
||||||
(global-ligature-mode 1))
|
(global-ligature-mode 1))
|
||||||
|
|
||||||
(provide 'syd/ligature)
|
(provide 'syd/ligature)
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
(require 'syd/base)
|
(require 'syd/base)
|
||||||
(require 'syd/popups)
|
(require 'syd/popups)
|
||||||
|
(require 'syd/handle)
|
||||||
|
|
||||||
(use-package lsp-mode
|
(use-package lsp-mode
|
||||||
:init
|
:init
|
||||||
@@ -35,6 +36,12 @@
|
|||||||
(syd-push
|
(syd-push
|
||||||
shackle-rules
|
shackle-rules
|
||||||
`(("*lsp-help*" "*lsp-install*")
|
`(("*lsp-help*" "*lsp-install*")
|
||||||
,@syd-help-popup-options)))
|
:select nil :size 0.42 :popup t :align bottom))
|
||||||
|
(defun syd-lsp-handle-docs ()
|
||||||
|
(interactive)
|
||||||
|
(lsp-describe-thing-at-point)
|
||||||
|
(get-buffer "*lsp-help*"))
|
||||||
|
(syd-handle 'lsp-mode
|
||||||
|
:docs #'syd-lsp-handle-docs))
|
||||||
|
|
||||||
(provide 'syd/lsp)
|
(provide 'syd/lsp)
|
||||||
|
|||||||
9
modules/home/users/msyds/emacs/lisp/syd/markdown.el
Normal file
9
modules/home/users/msyds/emacs/lisp/syd/markdown.el
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
;; -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
(require 'syd/base)
|
||||||
|
|
||||||
|
(use-package markdown-mode
|
||||||
|
:config
|
||||||
|
(add-hook 'markdown-mode-hook #'syd-prose-mode))
|
||||||
|
|
||||||
|
(provide 'syd/markdown)
|
||||||
@@ -193,4 +193,74 @@ form."
|
|||||||
(cons mode (intern (concat (match-string 1 s) "-ts-mode"))))
|
(cons mode (intern (concat (match-string 1 s) "-ts-mode"))))
|
||||||
(error "Symbol `%c' is not a mode." mode))))
|
(error "Symbol `%c' is not a mode." mode))))
|
||||||
|
|
||||||
|
(defun syd--insert-file-name-annotation (descs)
|
||||||
|
(when descs
|
||||||
|
(let ((s (string-join descs ", ")))
|
||||||
|
(concat
|
||||||
|
" "
|
||||||
|
(propertize " " 'display `(space :align-to (- right ,(+ 1 (length s)))))
|
||||||
|
s))))
|
||||||
|
|
||||||
|
(defun syd-project-relative-file-name (file-name)
|
||||||
|
(file-relative-name file-name (project-root (project-current))))
|
||||||
|
|
||||||
|
(defvar syd-insert-file-name-alist
|
||||||
|
`((,#'syd-project-relative-file-name . "Project-relative")
|
||||||
|
(,#'file-relative-name . "File-relative")
|
||||||
|
(,#'identity . "Absolute"))
|
||||||
|
"List of pairs where each cons is a function mapping paths to paths
|
||||||
|
or nil, and each cons is a string description.")
|
||||||
|
|
||||||
|
(defun syd--evaluate-syd-insert-file-name-alist (path)
|
||||||
|
(cl-loop for (fn . lbl) in syd-insert-file-name-alist
|
||||||
|
for r = (funcall fn path)
|
||||||
|
when r
|
||||||
|
collect (cons r lbl)))
|
||||||
|
|
||||||
|
(defun syd-insert-file-name ()
|
||||||
|
(interactive)
|
||||||
|
(let* ((path (expand-file-name
|
||||||
|
(read-file-name "Path: " nil nil 'confirm)))
|
||||||
|
(choose-a-dir "... (choose a dir)")
|
||||||
|
(alts (cons `(,choose-a-dir)
|
||||||
|
(syd--evaluate-syd-insert-file-name-alist path)))
|
||||||
|
(choice
|
||||||
|
(completing-read
|
||||||
|
"Variant: "
|
||||||
|
(lambda (s p flag)
|
||||||
|
(pcase flag
|
||||||
|
('metadata
|
||||||
|
`(metadata
|
||||||
|
(annotation-function
|
||||||
|
. ,(lambda (s)
|
||||||
|
(let ((descs
|
||||||
|
(cl-loop for (p . lbl) in alts
|
||||||
|
when (equal p s)
|
||||||
|
collect lbl)))
|
||||||
|
(syd--insert-file-name-annotation
|
||||||
|
descs))))))
|
||||||
|
(_ (all-completions s (mapcar #'car alts) p)))))))
|
||||||
|
(if (equal choice choose-a-dir)
|
||||||
|
(insert (file-relative-name
|
||||||
|
path (read-file-name "Relative to: " nil nil
|
||||||
|
'confirm)))
|
||||||
|
(insert choice))))
|
||||||
|
|
||||||
|
(defun syd-import-systemd-environment ()
|
||||||
|
(interactive)
|
||||||
|
(with-temp-buffer
|
||||||
|
(shell-command "systemctl --user show-environment" (current-buffer))
|
||||||
|
(goto-char (point-min))
|
||||||
|
(while (re-search-forward
|
||||||
|
(rx bol (group (+ (not "=")))
|
||||||
|
"="
|
||||||
|
(or (and "$'" (group (* (not "'"))) "'")
|
||||||
|
(group (* any)))
|
||||||
|
eol)
|
||||||
|
nil t)
|
||||||
|
(let ((var (match-string 1))
|
||||||
|
(val (or (match-string 2)
|
||||||
|
(match-string 3))))
|
||||||
|
(setenv var val)))))
|
||||||
|
|
||||||
(provide 'syd/prelude)
|
(provide 'syd/prelude)
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
;;; -*- lexical-binding: t; -*-
|
;;; -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
(require 'syd/base)
|
(require 'syd/base)
|
||||||
|
(require 'syd/keymaps)
|
||||||
(require 'syd/completion) ; For `consult'.
|
(require 'syd/completion) ; For `consult'.
|
||||||
(require 'consult)
|
(require 'consult)
|
||||||
|
|
||||||
|
|||||||
12
modules/home/users/msyds/emacs/lisp/syd/qbe.el
Normal file
12
modules/home/users/msyds/emacs/lisp/syd/qbe.el
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
;; -*- lexical-binding: t; -*-
|
||||||
|
(require 'syd/base)
|
||||||
|
|
||||||
|
(use-package qbe-mode
|
||||||
|
:mode "\\.qbe\\'"
|
||||||
|
:straight (:type git
|
||||||
|
:host github
|
||||||
|
:repo "mbknust/qbe-mode")
|
||||||
|
:config
|
||||||
|
(add-hook 'qbe-mode-hook #'indent-tabs-mode))
|
||||||
|
|
||||||
|
(provide 'syd/qbe)
|
||||||
7
modules/home/users/msyds/emacs/lisp/syd/tabs.el
Normal file
7
modules/home/users/msyds/emacs/lisp/syd/tabs.el
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
;;; -*- lexical-binding: t -*-
|
||||||
|
(require 'syd/base)
|
||||||
|
|
||||||
|
;; Disable tabs by default.
|
||||||
|
(setq-default indent-tabs-mode nil)
|
||||||
|
|
||||||
|
(provide 'syd/tabs)
|
||||||
10
modules/home/users/msyds/emacs/lisp/syd/transient.el
Normal file
10
modules/home/users/msyds/emacs/lisp/syd/transient.el
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
;;; -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
(require 'syd/base)
|
||||||
|
|
||||||
|
(use-package transient
|
||||||
|
:straight nil
|
||||||
|
:custom ((transient-history-file
|
||||||
|
(file-name-concat syd-data-dir "transient/history.el"))))
|
||||||
|
|
||||||
|
(provide 'syd/transient)
|
||||||
14
modules/home/users/msyds/zathura.nix
Normal file
14
modules/home/users/msyds/zathura.nix
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.users.msyds.zathura;
|
||||||
|
in {
|
||||||
|
options.sydnix.users.msyds.zathura = {
|
||||||
|
enable = lib.mkEnableOption "Zathura";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.zathura = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
38
modules/home/xwayland-satellite.nix
Normal file
38
modules/home/xwayland-satellite.nix
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.xwayland-satellite;
|
||||||
|
in {
|
||||||
|
options.sydnix.xwayland-satellite = {
|
||||||
|
# xwayland-satellite implements rootless Xwayland in a separate
|
||||||
|
# application, without the host compositor's involvement. It makes
|
||||||
|
# X11 windows appear as normal windows, just like a native
|
||||||
|
# Xwayland integration. While it is still somewhat experimental,
|
||||||
|
# it handles a lot of applications correctly, like Steam, games
|
||||||
|
# and Discord.
|
||||||
|
enable = lib.mkEnableOption "XWayland outside your Wayland";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
systemd.user.services.xwayland-satellite =
|
||||||
|
let xwayland-satellite =
|
||||||
|
pkgs.xwayland-satellite.override { withSystemd = true; };
|
||||||
|
in {
|
||||||
|
Unit = {
|
||||||
|
Description = "Xwayland outside your Wayland";
|
||||||
|
BindsTo = [ "graphical-session.target" ];
|
||||||
|
PartOf = [ "graphical-session.target" ];
|
||||||
|
After = [ "graphical-session.target" ];
|
||||||
|
Requisite = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
Type = "notify";
|
||||||
|
NotifyAccess = "all";
|
||||||
|
ExecStart = lib.getExe xwayland-satellite;
|
||||||
|
StandardOutput = "journal";
|
||||||
|
ExecStartPost = "systemctl --user set-environment DISPLAY=:0";
|
||||||
|
ExecStop = "systemctl --user unset-environment DISPLAY";
|
||||||
|
};
|
||||||
|
Install.WantedBy = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
12
modules/nixos/blueman.nix
Normal file
12
modules/nixos/blueman.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.blueman;
|
||||||
|
in {
|
||||||
|
options.sydnix.blueman = {
|
||||||
|
enable = lib.mkEnableOption "Blueman BlueTooth manager";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services.blueman.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -7,8 +7,6 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
services.blueman.enable = true;
|
|
||||||
|
|
||||||
hardware.bluetooth = {
|
hardware.bluetooth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
powerOnBoot = true;
|
powerOnBoot = true;
|
||||||
|
|||||||
@@ -12,6 +12,13 @@ in {
|
|||||||
enableDynamicTheming = false;
|
enableDynamicTheming = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Start after xwayland-satellite, if possible. So DMS can start
|
||||||
|
# with the DISPLAY env var set.
|
||||||
|
systemd.user.services.dms = {
|
||||||
|
wants = ["xwayland-satellite.service"];
|
||||||
|
after = ["xwayland-satellite.service"];
|
||||||
|
};
|
||||||
|
|
||||||
services.displayManager.dms-greeter = {
|
services.displayManager.dms-greeter = {
|
||||||
enable = true;
|
enable = true;
|
||||||
compositor.name = assert config.sydnix.niri.enable; "niri";
|
compositor.name = assert config.sydnix.niri.enable; "niri";
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let cfg = config.sydnix.deertopia.bepasty;
|
let cfg = config.sydnix.deertopia.bepasty;
|
||||||
in {
|
in {
|
||||||
options = {
|
options = {
|
||||||
sydnix.deertopia.bepasty = {
|
sydnix.deertopia.bepasty = {
|
||||||
enable = mkEnableOption "Bepasty";
|
enable = lib.mkEnableOption "Bepasty";
|
||||||
|
|
||||||
port = lib.mkOption {
|
port = lib.mkOption {
|
||||||
default = 22018;
|
default = 22018;
|
||||||
@@ -19,7 +17,7 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
sydnix.sops.secrets.bepasty-secret-key = {};
|
sydnix.sops.secrets.bepasty-secret-key = {};
|
||||||
sydnix.sops.secrets.bepasty-secret-config = {};
|
sydnix.sops.secrets.bepasty-secret-config = {};
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
let cfg = config.sydnix.deertopia.gitea;
|
let
|
||||||
|
cfg = config.sydnix.deertopia.gitea;
|
||||||
|
commas = lib.concatStringsSep ",";
|
||||||
in {
|
in {
|
||||||
options.sydnix.deertopia.gitea = {
|
options.sydnix.deertopia.gitea = {
|
||||||
enable = lib.mkEnableOption "Gitea";
|
enable = lib.mkEnableOption "Gitea";
|
||||||
@@ -40,11 +42,18 @@ in {
|
|||||||
|
|
||||||
# sudo -u git gitea admin auth add-ldap --name gitea --port 3890 --bind-dn 'uid=gitea,ou=people,dc=deertopia,dc=net' --bind-password «password» --user-search-base 'ou=people,dc=deertopia,dc=net' --user-filter '(&(memberof=cn=git,ou=groups,dc=deertopia,dc=net)(|(uid=%[1]s)(mail=%[1]s)))' --username-attribute uid --firstname-attribute givenName --surname-attribute sn --email-attribute mail --avatar-attribute jpegPhoto --security-protocol unencrypted --host 127.0.0.1 --config /var/lib/gitea/custom/conf/app.ini --synchronize-users
|
# sudo -u git gitea admin auth add-ldap --name gitea --port 3890 --bind-dn 'uid=gitea,ou=people,dc=deertopia,dc=net' --bind-password «password» --user-search-base 'ou=people,dc=deertopia,dc=net' --user-filter '(&(memberof=cn=git,ou=groups,dc=deertopia,dc=net)(|(uid=%[1]s)(mail=%[1]s)))' --username-attribute uid --firstname-attribute givenName --surname-attribute sn --email-attribute mail --avatar-attribute jpegPhoto --security-protocol unencrypted --host 127.0.0.1 --config /var/lib/gitea/custom/conf/app.ini --synchronize-users
|
||||||
|
|
||||||
|
sydnix.sops.secrets.gitea-mailer-password = {
|
||||||
|
mode = "0440";
|
||||||
|
owner = "git";
|
||||||
|
group = "git";
|
||||||
|
};
|
||||||
|
|
||||||
services.gitea = {
|
services.gitea = {
|
||||||
enable = true;
|
enable = true;
|
||||||
user = "git";
|
user = "git";
|
||||||
group = "git";
|
group = "git";
|
||||||
appName = "GupHub"; # Name per my darling Colestar ♥
|
appName = "GupHub"; # Name per my dear Astrid ♥!!!!!
|
||||||
|
mailerPasswordFile = config.sops.secrets.gitea-mailer-password.path;
|
||||||
settings = {
|
settings = {
|
||||||
server = {
|
server = {
|
||||||
ROOT_URL = "https://git.deertopia.net/";
|
ROOT_URL = "https://git.deertopia.net/";
|
||||||
@@ -53,7 +62,48 @@ in {
|
|||||||
};
|
};
|
||||||
service = {
|
service = {
|
||||||
DISABLE_REGISTRATION = true;
|
DISABLE_REGISTRATION = true;
|
||||||
|
ENABLE_NOTIFY_MAIL = true;
|
||||||
};
|
};
|
||||||
|
"repository.pull-request" = {
|
||||||
|
CLOSE_KEYWORDS = commas [
|
||||||
|
# en
|
||||||
|
"close" "closes" "closed" "fix" "fixes" "fixed" "resolve"
|
||||||
|
"resolves" "resolved"
|
||||||
|
# tok
|
||||||
|
"pini e"
|
||||||
|
# ko
|
||||||
|
"해결" "해결합니다" "해결했다"
|
||||||
|
"종료" "종료합니다" "중료한다" "중료해" "중료하다"
|
||||||
|
"수정" "수정했습니다" "중료한다" "중료해" "중료하다"
|
||||||
|
];
|
||||||
|
REOPEN_KEYWORDS = commas [
|
||||||
|
# en
|
||||||
|
"reopen" "reopens" "reopened"
|
||||||
|
# tok
|
||||||
|
"open sin e" "pakala sin e"
|
||||||
|
"li pakala sin" "li pakalan sin"
|
||||||
|
# ko
|
||||||
|
"재개" "재개합니다" "다시 열기" "다시 엽니다" "다시 여다"
|
||||||
|
"다시 연다"
|
||||||
|
];
|
||||||
|
WORK_IN_PROGRESS_PREFIXES = commas [
|
||||||
|
# en
|
||||||
|
"WIP:" "[WIP]"
|
||||||
|
# tok
|
||||||
|
"pini ala:" "awen pali:"
|
||||||
|
# ko
|
||||||
|
"공사 중:" "공사중:" "중:" "[중]" "中:" "[中]"
|
||||||
|
];
|
||||||
|
DEFAULT_MERGE_STYLE = "rebase";
|
||||||
|
};
|
||||||
|
mailer = {
|
||||||
|
ENABLED = true;
|
||||||
|
FROM = "Gitea <no-reply@deertopia.net>";
|
||||||
|
PROTOCOL = "smtps";
|
||||||
|
SMTP_ADDR = "smtp.fastmail.com";
|
||||||
|
SMTP_PORT = 465;
|
||||||
|
USER = "msyds@deertopia.net";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
17
modules/nixos/gtav-battleye-hack.nix
Normal file
17
modules/nixos/gtav-battleye-hack.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.gtav-battleye-hack;
|
||||||
|
in {
|
||||||
|
options.sydnix.gtav-battleye-hack = {
|
||||||
|
enable = lib.mkEnableOption
|
||||||
|
"Grand Theft Auto V Online BattlEye workaround";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
networking.hosts."0.0.0.0" = [
|
||||||
|
"paradise-s1.battleye.com"
|
||||||
|
"test-s1.battleye.com"
|
||||||
|
"paradiseenhanced-s1.battleye.com"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -22,11 +22,13 @@ in {
|
|||||||
"https://nix-community.cachix.org"
|
"https://nix-community.cachix.org"
|
||||||
"https://cache.nixos.org"
|
"https://cache.nixos.org"
|
||||||
"https://cache.iog.io"
|
"https://cache.iog.io"
|
||||||
|
"https://cache.zw3rk.com"
|
||||||
];
|
];
|
||||||
trusted-public-keys = [
|
trusted-public-keys = [
|
||||||
(builtins.readFile ../../public-keys/deertopia-cache.pub.pem)
|
(builtins.readFile ../../public-keys/deertopia-cache.pub.pem)
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
"hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
|
"hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
|
||||||
|
"loony-tools:pr9m4BkM/5/eSTZlkQyRt57Jz7OMBxNSUiMC4FkcNfk="
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
12
modules/nixos/upower.nix
Normal file
12
modules/nixos/upower.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.upower;
|
||||||
|
in {
|
||||||
|
options.sydnix.upower = {
|
||||||
|
enable = lib.mkEnableOption "UPower";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services.upower.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -59,6 +59,7 @@ let
|
|||||||
pkgs = nixpkgs;
|
pkgs = nixpkgs;
|
||||||
};
|
};
|
||||||
inherit inputs system;
|
inherit inputs system;
|
||||||
|
host = hostName;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ anki-username: ENC[AES256_GCM,data:584uxjwyodM=,iv:/6HLSLzHgc77U1iN5JDLR9F+o8Nfe
|
|||||||
anki-password: ENC[AES256_GCM,data:plSKMTeeilKt6weAnzw/jMo65A==,iv:lzuPUt1+2Iwi9sHbaFj0OuBLd1p+Do2N5aCYXd45MFQ=,tag:WIABFp1T6NuIGpqqQFHmrg==,type:str]
|
anki-password: ENC[AES256_GCM,data:plSKMTeeilKt6weAnzw/jMo65A==,iv:lzuPUt1+2Iwi9sHbaFj0OuBLd1p+Do2N5aCYXd45MFQ=,tag:WIABFp1T6NuIGpqqQFHmrg==,type:str]
|
||||||
anki-sync-key: ENC[AES256_GCM,data:Ka4sPghPwmWQvdXw40ZRLogoMVTBjLnaSyHT9lTfn2XWHHqFAkANAg==,iv:bFkb/k7UUL8t26LjmQwiDYJpvq93NWuqUU/jNYkr7GQ=,tag:Mx5JdqjI3MDk7hsvOlPYIw==,type:str]
|
anki-sync-key: ENC[AES256_GCM,data:Ka4sPghPwmWQvdXw40ZRLogoMVTBjLnaSyHT9lTfn2XWHHqFAkANAg==,iv:bFkb/k7UUL8t26LjmQwiDYJpvq93NWuqUU/jNYkr7GQ=,tag:Mx5JdqjI3MDk7hsvOlPYIw==,type:str]
|
||||||
gitea-actions-runner-token: ENC[AES256_GCM,data:JglbJ2hgXl1wV2bCkcged+D3UrpWMMBuX+ri6YeIqwLIlscvK/wVCdsxQZtDGw==,iv:BYhgfoIa/wHQkd4c7kU8AWAJQfpTfUvSamFXDBqQXTE=,tag:sIK1XxVPIU+uBGaJY3AmTQ==,type:str]
|
gitea-actions-runner-token: ENC[AES256_GCM,data:JglbJ2hgXl1wV2bCkcged+D3UrpWMMBuX+ri6YeIqwLIlscvK/wVCdsxQZtDGw==,iv:BYhgfoIa/wHQkd4c7kU8AWAJQfpTfUvSamFXDBqQXTE=,tag:sIK1XxVPIU+uBGaJY3AmTQ==,type:str]
|
||||||
|
gitea-mailer-password: ENC[AES256_GCM,data:bgFAhAzYcDhHi4Brg7x8CQ==,iv:hj8+YbcE+Jfhtu8g//Y8EiNw1CejTtMgstB/knbgOls=,tag:CYX3Pr4ErzvHGVfhpvfruw==,type:str]
|
||||||
sops:
|
sops:
|
||||||
age:
|
age:
|
||||||
- recipient: age10fqh0td67alzpyjyhdex5ncj9thvaty506r0t63vs2nz4ldafgaqadl8mg
|
- recipient: age10fqh0td67alzpyjyhdex5ncj9thvaty506r0t63vs2nz4ldafgaqadl8mg
|
||||||
@@ -50,7 +51,7 @@ sops:
|
|||||||
TXFLY2l0UHJ3Z0NGZjVpbTQ2UC8yaTQKA7wTmW9Ha6T2KmCr/nkXdizgv8+V6SAp
|
TXFLY2l0UHJ3Z0NGZjVpbTQ2UC8yaTQKA7wTmW9Ha6T2KmCr/nkXdizgv8+V6SAp
|
||||||
ZhDO+uDQ1evIh2wLWMOXNJ3d/zplLCOTzR2xkqBIUp5V7MXj45RUIA==
|
ZhDO+uDQ1evIh2wLWMOXNJ3d/zplLCOTzR2xkqBIUp5V7MXj45RUIA==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2026-03-06T21:55:10Z"
|
lastmodified: "2026-03-22T07:49:51Z"
|
||||||
mac: ENC[AES256_GCM,data:Coff3pzqPxqe1g+2R7V0AN/ZSLog6sKHIBSoWOflYH8tKbIqwvQFRVvEQN6D1o6ZhD2wu8NyTVrKY7FYn4nG9DsEQq8vknq51r1Z9meLSP114N37oX5qjp60ns9kEm3kbf41DTObXETs+jzcA4Rcl2m9Z5I/feKEm7oFp6PvzEg=,iv:Bywv84FGB6IO7M9KFoxx3cVXFElX7QNWossWszMJui8=,tag:D07pceBF1i1vUMZ7nFuslA==,type:str]
|
mac: ENC[AES256_GCM,data:Y/7XSZtPlVPDV3eToYQ9MoAGF9nGq0sd0KU1VaR5duK1xbETULioQcpPvVk6HL1kPlUjnmR8RXfCKBC7EJ9P/UAMV2ySulLtD6daogCzF3qa2JSyXPuOyMuXMSjwCNcCyHgpaOrWz+7Zf9FU/1wQwVHeCDTf0sFHaX0xttFfHkg=,iv:7+zXPjeslh+z9hWhYXoUphpbg3Tpe4OHQEcUmetuiMM=,tag:LB0GuN+5TJxXyuvrrqOi7g==,type:str]
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.12.1
|
version: 3.12.1
|
||||||
|
|||||||
@@ -18,63 +18,75 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
homeConfiguration = { config, lib, pkgs, ... }: {
|
homeConfiguration = { config, lib, pkgs, host, ... }:
|
||||||
home.file.".ssh/id_ed25519".source =
|
let on = hosts:
|
||||||
config.lib.file.mkOutOfStoreSymlink
|
if builtins.isString hosts
|
||||||
"/persist/private-keys/ssh/msyds@sydpc";
|
then hosts == host
|
||||||
|
else builtins.elem host hosts;
|
||||||
|
in {
|
||||||
|
home.file.".ssh/id_ed25519".source =
|
||||||
|
config.lib.file.mkOutOfStoreSymlink
|
||||||
|
"/persist/private-keys/ssh/msyds@sydpc";
|
||||||
|
|
||||||
home.file.".face".source = ./avatar.jpg;
|
home.file.".face".source = ./avatar.jpg;
|
||||||
|
|
||||||
home.file.".ssh/id_ed25519.pub".source =
|
home.file.".ssh/id_ed25519.pub".source =
|
||||||
../../public-keys/ssh/${"msyds@sydpc.pub"};
|
../../public-keys/ssh/${"msyds@sydpc.pub"};
|
||||||
|
|
||||||
sydnix = {
|
sydnix = {
|
||||||
documentation.enable = true;
|
documentation.enable = true;
|
||||||
xdg.enable = true;
|
xdg.enable = true;
|
||||||
steam.enable = true;
|
steam.enable = on "sydpc";
|
||||||
zotero.enable = true;
|
zotero.enable = true;
|
||||||
openutau.enable = true;
|
slippi.enable = on "sydpc";
|
||||||
slippi.enable = true;
|
desktop-environment.enable = true;
|
||||||
desktop-environment.enable = true;
|
clojure.enable = true;
|
||||||
clojure.enable = true;
|
capitaine-cursors.enable = true;
|
||||||
capitaine-cursors.enable = true;
|
terraria.enable = on "sydpc";
|
||||||
terraria.enable = true;
|
kdeconnect.enable = true;
|
||||||
kdeconnect.enable = true;
|
qalculate.enable = true;
|
||||||
qalculate.enable = true;
|
toki-pona.enable = true;
|
||||||
toki-pona.enable = true;
|
prism-launcher.enable = on "sydpc";
|
||||||
sops = {
|
flatpak.enable = on "sydpc";
|
||||||
enable = true;
|
drawing-tablet.enable = on "sydpc";
|
||||||
keyFile = "/persist/private-keys/age/crumb";
|
easyeffects.enable = on "sydpc";
|
||||||
};
|
ryujinx.enable = on "sydpc";
|
||||||
# Personal configurations.
|
haskell.enable = true;
|
||||||
users.crumb = {
|
sops = {
|
||||||
bash.enable = true;
|
enable = true;
|
||||||
direnv.enable = true;
|
keyFile = "/persist/private-keys/age/crumb";
|
||||||
git.enable = true;
|
};
|
||||||
nvim.enable = true;
|
# Personal configurations.
|
||||||
readline.enable = true;
|
users.crumb = {
|
||||||
niri.enable = true;
|
direnv.enable = true;
|
||||||
firefox.enable = true;
|
git.enable = true;
|
||||||
ghostty.enable = true;
|
nvim.enable = true;
|
||||||
# waybar.enable = true;
|
readline.enable = true;
|
||||||
tf2.enable = true;
|
niri.enable = true;
|
||||||
fcitx5.enable = true;
|
firefox.enable = true;
|
||||||
anki.enable = true;
|
ghostty.enable = true;
|
||||||
mumble.enable = true;
|
# waybar.enable = true;
|
||||||
};
|
tf2.enable = true;
|
||||||
users.msyds = {
|
fcitx5.enable = true;
|
||||||
discord.enable = true;
|
anki.enable = true;
|
||||||
hunspell.enable = true;
|
mumble.enable = true;
|
||||||
emacs.enable = true;
|
rnote.enable = on "sydpc";
|
||||||
impermanence.enable = true;
|
};
|
||||||
syncthing.enable = true;
|
users.msyds = {
|
||||||
fonts.enable = true;
|
discord.enable = true;
|
||||||
dank-material-shell.enable = true;
|
bash.enable = true;
|
||||||
sioyek.enable = true;
|
hunspell.enable = true;
|
||||||
|
emacs.enable = true;
|
||||||
|
impermanence.enable = true;
|
||||||
|
syncthing.enable = true;
|
||||||
|
fonts.enable = true;
|
||||||
|
dank-material-shell.enable = true;
|
||||||
|
sioyek.enable = on "fruitbook";
|
||||||
|
zathura.enable = on "sydpc";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Don't touch!
|
||||||
|
home.stateVersion = "18.09";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Don't touch!
|
|
||||||
home.stateVersion = "18.09";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user