Compare commits
101 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3ad33b734a | |||
| ce31e48d42 | |||
| 3de9857763 | |||
| 2e6b32dc82 | |||
| a18df3542d | |||
| 24b175da51 | |||
| febe4d6eae | |||
| 1e1475d86d | |||
| b6c5279ec8 | |||
| 419c8519b5 | |||
| 3c40029892 | |||
| 50ac93c727 | |||
| ef2f6041fd | |||
| cb4164f1de | |||
| f25b53bbfd | |||
| 664b43f22a | |||
| 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 | |||
| df0062f89b | |||
| b13a985d87 | |||
| dc1a34de65 | |||
| 8010658111 | |||
| ef03e80d2c | |||
| 3788f7027e | |||
| 56f8f48e2b | |||
| 69484833c8 | |||
| c52bd6ae85 | |||
| ca6fd41f35 | |||
| f0841fdd0d | |||
| d5a2f4026a | |||
| 8684c3b92c | |||
| a44b435a5e | |||
| 24d6a52f4f | |||
| e7c17a948a | |||
| fbeed753e9 | |||
| 89eb11f635 | |||
| 31f362aa45 | |||
| 2360bd01e9 | |||
| bdeba55f0f | |||
| af9db3867e | |||
| 550da5a27c | |||
| 0cb3d69fd4 | |||
| 1158dad1f1 | |||
| f15efb661e |
@@ -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
|
||||||
|
|||||||
Generated
+307
-228
@@ -21,28 +21,28 @@
|
|||||||
"base16-fish": {
|
"base16-fish": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754405784,
|
"lastModified": 1765809053,
|
||||||
"narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
|
"narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=",
|
||||||
"owner": "tomyun",
|
"owner": "tomyun",
|
||||||
"repo": "base16-fish",
|
"repo": "base16-fish",
|
||||||
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "tomyun",
|
"owner": "tomyun",
|
||||||
"repo": "base16-fish",
|
"repo": "base16-fish",
|
||||||
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"base16-helix": {
|
"base16-helix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752979451,
|
"lastModified": 1776754714,
|
||||||
"narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=",
|
"narHash": "sha256-E3OAK27smtATTmX45uoTSRsVD+Y+ZiVVfgM/tjpbtYg=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-helix",
|
"repo": "base16-helix",
|
||||||
"rev": "27cf1e66e50abc622fb76a3019012dc07c678fac",
|
"rev": "4d508123037e7851ad36ebf7d9c48b0e9e1eb581",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -76,11 +76,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762095388,
|
"lastModified": 1781648708,
|
||||||
"narHash": "sha256-7Q8LtcvKWHbP8znARRTOY2tpU5WoV6FHwp5TZJOI8Us=",
|
"narHash": "sha256-i9ggnF31Uq3tpdp6ZMe7YAOxjTfkB7S4WjSBfXV0uMk=",
|
||||||
"owner": "9001",
|
"owner": "9001",
|
||||||
"repo": "copyparty",
|
"repo": "copyparty",
|
||||||
"rev": "ac085b8149ff50e03d260128596dd130ed1c7cae",
|
"rev": "d33d11321f823f58a9109298ef886044f63b02ce",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -94,11 +94,11 @@
|
|||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741786315,
|
"lastModified": 1781152676,
|
||||||
"narHash": "sha256-VT65AE2syHVj6v/DGB496bqBnu1PXrrzwlw07/Zpllc=",
|
"narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "0d8c6ad4a43906d14abd5c60e0ffe7b587b213de",
|
"rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -107,17 +107,39 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"dms": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"quickshell": "quickshell"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1777431599,
|
||||||
|
"narHash": "sha256-g6r/Gx8PTDzO3jCNzzySA+Ff1lmLF9nDlMCNyyoQjoE=",
|
||||||
|
"owner": "AvengeMedia",
|
||||||
|
"repo": "DankMaterialShell",
|
||||||
|
"rev": "eb5afcdc40ea5446c27e18552ff4a19f9daf9484",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "AvengeMedia",
|
||||||
|
"ref": "stable",
|
||||||
|
"repo": "DankMaterialShell",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"emacs-overlay": {
|
"emacs-overlay": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742838319,
|
"lastModified": 1782325883,
|
||||||
"narHash": "sha256-daVj+uHpHvndui9DOxytAjVP7Kx8lG3/W3KPNR0EG/0=",
|
"narHash": "sha256-yiZgLJdCJyxxvYo4vvEk9B9Q5gbruM/KTxcw7/NjuGQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "cb257a1d672f75f2f3e375fe1080216131dd1fb0",
|
"rev": "fcfa8883e001877fc0d4592244596f9e76f83b95",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -129,11 +151,11 @@
|
|||||||
"firefox-gnome-theme": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758112371,
|
"lastModified": 1779670703,
|
||||||
"narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=",
|
"narHash": "sha256-UdfMivNMwCCqQsYDg5pSz8X2IOaOrIZLIIy+Bg3CO2o=",
|
||||||
"owner": "rafaelmardojai",
|
"owner": "rafaelmardojai",
|
||||||
"repo": "firefox-gnome-theme",
|
"repo": "firefox-gnome-theme",
|
||||||
"rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d",
|
"rev": "942159e73e40bf785816f7f1f5feed9ef3d7c8f9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -149,7 +171,7 @@
|
|||||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||||
"revCount": 69,
|
"revCount": 69,
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz?rev=ff81ac966bb2cae68946d5ed5fc4994f96d0ffec&revCount=69"
|
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
@@ -161,11 +183,11 @@
|
|||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754091436,
|
"lastModified": 1778716662,
|
||||||
"narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=",
|
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd",
|
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -203,11 +225,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756770412,
|
"lastModified": 1778716662,
|
||||||
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
|
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "4524271976b625a4a605beefd893f270620fd751",
|
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -286,20 +308,18 @@
|
|||||||
"gnome-shell": {
|
"gnome-shell": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"host": "gitlab.gnome.org",
|
"lastModified": 1767737596,
|
||||||
"lastModified": 1762869044,
|
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
|
||||||
"narHash": "sha256-nwm/GJ2Syigf7VccLAZ66mFC8mZJFqpJmIxSGKl7+Ds=",
|
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"rev": "680e3d195a92203f28d4bf8c6e8bb537cc3ed4ad",
|
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
||||||
"type": "gitlab"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"host": "gitlab.gnome.org",
|
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"ref": "gnome-49",
|
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"type": "gitlab"
|
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
@@ -307,11 +327,32 @@
|
|||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768325819,
|
"lastModified": 1782233665,
|
||||||
"narHash": "sha256-mBKqOJkxCRwEhIXfq93WTcDXsBlJ/f1Dfv9thJxrDPs=",
|
"narHash": "sha256-h/xOtrByoA/Ak1lWHn0O1lVZz4qWYbwOSLQ8YSwQO0I=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "b1fa714d6cd656e3105d1965637be6ab7541d7d7",
|
"rev": "062581938b4a378a82dfbb294b494808157153a1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"impermanence",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1768598210,
|
||||||
|
"narHash": "sha256-kkgA32s/f4jaa4UG+2f8C225Qvclxnqs76mf8zvTVPg=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "c47b2cc64a629f8e075de52e4742de688f930dc6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -321,12 +362,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"impermanence": {
|
"impermanence": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": "home-manager_2",
|
||||||
|
"nixpkgs": "nixpkgs_4"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1737831083,
|
"lastModified": 1769548169,
|
||||||
"narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=",
|
"narHash": "sha256-03+JxvzmfwRu+5JafM0DLbxgHttOQZkUtDWBmeUkN8Y=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "impermanence",
|
"repo": "impermanence",
|
||||||
"rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170",
|
"rev": "7b1d382faf603b6d264f58627330f9faa5cba149",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -339,17 +384,17 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"niri-stable": "niri-stable",
|
"niri-stable": "niri-stable",
|
||||||
"niri-unstable": "niri-unstable",
|
"niri-unstable": "niri-unstable",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_5",
|
||||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||||
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768306584,
|
"lastModified": 1781795508,
|
||||||
"narHash": "sha256-GWLONqOKcsWKFYqoEIFbIv6Ti/xoSvsYC9LzZzB1oj4=",
|
"narHash": "sha256-VKrApQ3WCkEe9D8DbaeFjGqLAh7zqYGYjbQYtY5ikxc=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "1b8c8ba473cf336d74ffb05ee453c8fe6a05bbbc",
|
"rev": "493ce1e33e72f86312584f331c8cf52b3432ec99",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -378,11 +423,11 @@
|
|||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768196703,
|
"lastModified": 1781781064,
|
||||||
"narHash": "sha256-mttBQdVnVFO3mn+M+oqCsZZOtS2HvXYy+VaHxb8YuMw=",
|
"narHash": "sha256-Ii/koEm/sRyg65qbAQWqEgboSEIhdH0EL4KglAc14p0=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "3672e79369d72297abda8878245ea4ec327062c6",
|
"rev": "49fc6117fd6c043adaa2ead316b82db5ed735d36",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -420,14 +465,15 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_6",
|
||||||
|
"nixpkgs-nixcord": "nixpkgs-nixcord"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764576281,
|
"lastModified": 1782320240,
|
||||||
"narHash": "sha256-f6vfwmIb9C3brI4/KJ9MFUDWt6FsKQ0dbMO6AuFc7E0=",
|
"narHash": "sha256-BZTrprmdOa0CZPhpMdKcTuYLhjaP2zhEORVPSrUfRV4=",
|
||||||
"owner": "KaylorBen",
|
"owner": "KaylorBen",
|
||||||
"repo": "nixcord",
|
"repo": "nixcord",
|
||||||
"rev": "c8f47894134a4984acd319e66c4384eb1ff886e2",
|
"rev": "f775e367ee683756206df5bb860086eabbea07d1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -436,13 +482,31 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixos-hardware": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_7"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1782166108,
|
||||||
|
"narHash": "sha256-/EtnQBcKbsaCAGQ5VRcplrHRkR4ryqyLMpBfkVuG9Xw=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"rev": "875776f0252fcb8618bb948640a0d1f7a5b362be",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741402956,
|
"lastModified": 1780930886,
|
||||||
"narHash": "sha256-y2hByvBM03s9T2fpeLjW6iprbxnhV9mJMmSwCHc41ZQ=",
|
"narHash": "sha256-rppURzHviaQN131F+nLiLdGfcb0uCd9gGP0E5+iw9MI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ed0b1881565c1ffef490c10d663d4f542031dad3",
|
"rev": "8c3cede7ddc26bd659d2d383b5610efbd2c7a16e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -454,11 +518,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753579242,
|
"lastModified": 1777168982,
|
||||||
"narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=",
|
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e",
|
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -467,29 +531,45 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-nixcord": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742751704,
|
"lastModified": 1780453794,
|
||||||
"narHash": "sha256-rBfc+H1dDBUQ2mgVITMGBPI1PGuCznf9rcWX/XIULyE=",
|
"narHash": "sha256-bXMRa9VTsHSPXL4Cw8R6JJLQeY3Y/IP4+YJCYVmQ7FY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "f0946fa5f1fb876a9dc2e1850d9d3a4e3f914092",
|
"rev": "6b316287bae2ee04c9b93c8c858d930fd07d7338",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-24.11",
|
"ref": "nixos-26.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-stable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1782116945,
|
||||||
|
"narHash": "sha256-G3tw/IXmaH6IQ2upZvhuN9sG8CkuX+BLuJDpE8hz0Ds=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "34268251cf5547d39063f2c5ea9a196246f7f3a6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-26.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-stable_2": {
|
"nixpkgs-stable_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768242861,
|
"lastModified": 1781509190,
|
||||||
"narHash": "sha256-F4IIxa5xDHjtrmMcayM8lHctUq1oGltfBQu2+oqDWP4=",
|
"narHash": "sha256-uJZs9Di8I6ciTp6jiojj0HzlNpBkud8ax5aT/O5aJkw=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "1327e798cb055f96f92685df444e9a2c326ab5ed",
|
"rev": "d6df3513510aa548c83868fd22bfddd0a8c0a0d4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -501,11 +581,27 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_10": {
|
"nixpkgs_10": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750386251,
|
"lastModified": 1780243769,
|
||||||
"narHash": "sha256-1ovgdmuDYVo5OUC5NzdF+V4zx2uT8RtsgZahxidBTyw=",
|
"narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "076e8c6678d8c54204abcb4b1b14c366835a58bb",
|
"rev": "331800de5053fcebacf6813adb5db9c9dca22a0c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_11": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1756819007,
|
||||||
|
"narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -515,7 +611,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_11": {
|
"nixpkgs_12": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743568003,
|
"lastModified": 1743568003,
|
||||||
"narHash": "sha256-ZID5T65E8ruHqWRcdvZLsczWDOAWIE7om+vQOREwiX0=",
|
"narHash": "sha256-ZID5T65E8ruHqWRcdvZLsczWDOAWIE7om+vQOREwiX0=",
|
||||||
@@ -533,11 +629,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742669843,
|
"lastModified": 1781577229,
|
||||||
"narHash": "sha256-G5n+FOXLXcRx+3hCJ6Rt6ZQyF1zqQ0DL0sWAMn2Nk0w=",
|
"narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "1e5b653dff12029333a6546c11e108ede13052eb",
|
"rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -549,31 +645,31 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767892417,
|
"lastModified": 1781607440,
|
||||||
"narHash": "sha256-dhhvQY67aboBk8b0/u0XB6vwHdgbROZT3fJAjyNh5Ww=",
|
"narHash": "sha256-rxO+uc/KFbSJp+pgyXRuAX6QlG9hJdnt0BXpEQRXY+U=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
|
"rev": "3e41b24abd260e8f71dbe2f5737d24122f972158",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixpkgs-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768127708,
|
"lastModified": 1768564909,
|
||||||
"narHash": "sha256-1Sm77VfZh3mU0F5OqKABNLWxOuDeHIlcFjsXeeiPazs=",
|
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ffbc9f8cbaacfb331b6017d5a5abb21a492c9a38",
|
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
@@ -581,59 +677,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754028485,
|
"lastModified": 1781577229,
|
||||||
"narHash": "sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk=",
|
"narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "59e69648d345d6e8fef86158c555730fa12af9de",
|
"rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-25.05",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_6": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1768178648,
|
|
||||||
"narHash": "sha256-kz/F6mhESPvU1diB7tOM3nLcBfQe7GU7GQCymRlTi/s=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "3fbab70c6e69c87ea2b6e48aa6629da2aa6a23b0",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_7": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1742578646,
|
|
||||||
"narHash": "sha256-GiQ40ndXRnmmbDZvuv762vS+gew1uDpFwOfgJ8tLiEs=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "94c4dbe77c0740ebba36c173672ca15a7926c993",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_8": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1762977756,
|
|
||||||
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -643,13 +691,58 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_9": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756819007,
|
"lastModified": 1780453794,
|
||||||
"narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
|
"narHash": "sha256-bXMRa9VTsHSPXL4Cw8R6JJLQeY3Y/IP4+YJCYVmQ7FY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1",
|
"rev": "6b316287bae2ee04c9b93c8c858d930fd07d7338",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-26.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_7": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1767892417,
|
||||||
|
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
|
||||||
|
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_8": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1782175435,
|
||||||
|
"narHash": "sha256-EMzXKmnOtBQ2MnvpiNOm7E+kOMvdPrIKaeg52Tip2Uk=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "89570f24e97e614aa34aa9ab1c927b6578a43775",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_9": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1775888245,
|
||||||
|
"narHash": "sha256-nwASzrRDD1JBEu/o8ekKYEXm/oJW6EMCzCRdrwcLe90=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "13043924aaa7375ce482ebe2494338e058282925",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -664,15 +757,14 @@
|
|||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
]
|
||||||
"treefmt-nix": "treefmt-nix"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742849190,
|
"lastModified": 1782324423,
|
||||||
"narHash": "sha256-Isnx5t+L/G7AxpUwNvFgPiYc4IcZjdBrg3MIVz1cfnk=",
|
"narHash": "sha256-5kuAZdkkvcH5PhgIa3Y1AYiEqMVej0fEdiQ90dyS5zY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "797067d7e3601713a3b43f823248a6232486376c",
|
"rev": "64d4c632a898a7ef22c72dfe6b33df259b1d4443",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -693,11 +785,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758998580,
|
"lastModified": 1780281641,
|
||||||
"narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=",
|
"narHash": "sha256-M/+hUKoKbHXpV0xGVfELbN1Ds1aoe3pL5p5/t46YhVo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728",
|
"rev": "30f9ae2f04174de63ba8bcf3580ca90843b28a01",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -706,17 +798,41 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"quickshell": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"dms",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1776854048,
|
||||||
|
"narHash": "sha256-lLbV66V3RMNp1l8/UelmR4YzoJ5ONtgvEtiUMJATH/o=",
|
||||||
|
"ref": "refs/heads/master",
|
||||||
|
"rev": "783c953987dc56ff0601abe6845ed96f1d00495a",
|
||||||
|
"revCount": 806,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.outfoxxed.me/quickshell/quickshell"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"rev": "783c953987dc56ff0601abe6845ed96f1d00495a",
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.outfoxxed.me/quickshell/quickshell"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"copyparty": "copyparty",
|
"copyparty": "copyparty",
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
|
"dms": "dms",
|
||||||
"emacs-overlay": "emacs-overlay",
|
"emacs-overlay": "emacs-overlay",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"impermanence": "impermanence",
|
"impermanence": "impermanence",
|
||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
"nixarr": "nixarr",
|
"nixarr": "nixarr",
|
||||||
"nixcord": "nixcord",
|
"nixcord": "nixcord",
|
||||||
"nixpkgs": "nixpkgs_6",
|
"nixos-hardware": "nixos-hardware",
|
||||||
|
"nixpkgs": "nixpkgs_8",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"stylix": "stylix",
|
"stylix": "stylix",
|
||||||
@@ -728,14 +844,14 @@
|
|||||||
},
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_7"
|
"nixpkgs": "nixpkgs_9"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742700801,
|
"lastModified": 1782165805,
|
||||||
"narHash": "sha256-ZGlpUDsuBdeZeTNgoMv+aw0ByXT2J3wkYw9kJwkAS4M=",
|
"narHash": "sha256-478kKQBvK6SYTOdN2h9jhKJv94nbXRbFMfuL1WshErg=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "67566fe68a8bed2a7b1175fdfb0697ed22ae8852",
|
"rev": "56b24064fdcaedca53553b1a6d607fd23b613a24",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -753,25 +869,24 @@
|
|||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
"flake-parts": "flake-parts_3",
|
"flake-parts": "flake-parts_3",
|
||||||
"gnome-shell": "gnome-shell",
|
"gnome-shell": "gnome-shell",
|
||||||
"nixpkgs": "nixpkgs_8",
|
"nixpkgs": "nixpkgs_10",
|
||||||
"nur": "nur_2",
|
"nur": "nur_2",
|
||||||
"systems": "systems",
|
"systems": "systems",
|
||||||
"tinted-foot": "tinted-foot",
|
|
||||||
"tinted-kitty": "tinted-kitty",
|
"tinted-kitty": "tinted-kitty",
|
||||||
"tinted-schemes": "tinted-schemes",
|
"tinted-schemes": "tinted-schemes",
|
||||||
"tinted-tmux": "tinted-tmux",
|
"tinted-tmux": "tinted-tmux",
|
||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764550443,
|
"lastModified": 1782310521,
|
||||||
"narHash": "sha256-ArO2V1YEHmEILilTj4KPtqF4gqc1q2HBrrrmygQ/UyU=",
|
"narHash": "sha256-vsxcG0i8e4EPfdnhMTKMVzD1825H2vG1BBslzom9wxg=",
|
||||||
"owner": "danth",
|
"owner": "nix-community",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "794b6e1fa75177ebfeb32967f135858a1ab1ba15",
|
"rev": "e084d011e7ee9302aceaaf6c1fc28a9ace09e16a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "danth",
|
"owner": "nix-community",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -779,14 +894,14 @@
|
|||||||
"syd-fcitx5-tables": {
|
"syd-fcitx5-tables": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_2",
|
"flake-utils": "flake-utils_2",
|
||||||
"nixpkgs": "nixpkgs_9"
|
"nixpkgs": "nixpkgs_11"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771615370,
|
"lastModified": 1771615497,
|
||||||
"narHash": "sha256-UD/9fs1GYuwDGqrpKunrwOPrvkahLQ/6eeRy/0ejHNA=",
|
"narHash": "sha256-kyh/P0W8Th+AWFFGzVH7fC1pnI/Q6XqQUZoOHbs1S9A=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "41111bead687315ca1f55a826509234ca2f0e0ce",
|
"rev": "c515caad2fbbabdcd29b63db7fa11aa4e0400cce",
|
||||||
"revCount": 8,
|
"revCount": 9,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.deertopia.net/msyds/syd-fcitx5-tables"
|
"url": "https://git.deertopia.net/msyds/syd-fcitx5-tables"
|
||||||
},
|
},
|
||||||
@@ -797,20 +912,22 @@
|
|||||||
},
|
},
|
||||||
"sydpkgs": {
|
"sydpkgs": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_10"
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767975357,
|
"lastModified": 1782095156,
|
||||||
"narHash": "sha256-MDVh3/aVhkD1bh/r8c0gs9DL4e78CrUbUxOZHWlCwLM=",
|
"narHash": "sha256-3iWp9s12wje+qV7trS/XhQZVfolXBpTPLdGfOHWkdBs=",
|
||||||
"owner": "msyds",
|
"ref": "refs/heads/main",
|
||||||
"repo": "sydpkgs",
|
"rev": "6450642be3ee1af3b64ff2129e0fa2488f3c2d0e",
|
||||||
"rev": "233479ab277d47b1dbda202eafca50e61c659151",
|
"revCount": 43,
|
||||||
"type": "github"
|
"type": "git",
|
||||||
|
"url": "https://git.deertopia.net/msyds/sydpkgs"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "msyds",
|
"type": "git",
|
||||||
"repo": "sydpkgs",
|
"url": "https://git.deertopia.net/msyds/sydpkgs"
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
@@ -861,14 +978,14 @@
|
|||||||
"tf2-nix": {
|
"tf2-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_3",
|
"flake-utils": "flake-utils_3",
|
||||||
"nixpkgs": "nixpkgs_11"
|
"nixpkgs": "nixpkgs_12"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761467191,
|
"lastModified": 1761857232,
|
||||||
"narHash": "sha256-0NHhZztMuw17Tp/HjsGhAtjI4k5Qhg0ZxIkgIA0hHOI=",
|
"narHash": "sha256-EvWDkMdmAx9IKYHuIa8bWMu9Fa7KylKNWWAQ57Dr7KA=",
|
||||||
"owner": "msyds",
|
"owner": "msyds",
|
||||||
"repo": "tf2-nix",
|
"repo": "tf2-nix",
|
||||||
"rev": "98673e8d34fbe59e3c5e9f27068a46e6b61ccc60",
|
"rev": "3afc3e370bfe66d31ef0711dabc90a29fb55940e",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -877,23 +994,6 @@
|
|||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tinted-foot": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1726913040,
|
|
||||||
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-foot",
|
|
||||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-foot",
|
|
||||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-kitty": {
|
"tinted-kitty": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -913,11 +1013,11 @@
|
|||||||
"tinted-schemes": {
|
"tinted-schemes": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757716333,
|
"lastModified": 1777806186,
|
||||||
"narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=",
|
"narHash": "sha256-PDF0/wObw4nIsSBeXVYLsloXOiphXCgIdsrNcVXguKs=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "schemes",
|
"repo": "schemes",
|
||||||
"rev": "317a5e10c35825a6c905d912e480dfe8e71c7559",
|
"rev": "0c94645546f4f3ddac77a1a5fce54eb95bf50795",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -929,11 +1029,11 @@
|
|||||||
"tinted-tmux": {
|
"tinted-tmux": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757811970,
|
"lastModified": 1778379944,
|
||||||
"narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=",
|
"narHash": "sha256-wPDFzMGSlARlw0Sfsn48Q2+jPSfk6N0Ng6BC/d+7Q24=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-tmux",
|
"repo": "tinted-tmux",
|
||||||
"rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e",
|
"rev": "fe0203a198690e71a5ff11e08812a4673de3678d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -945,11 +1045,11 @@
|
|||||||
"tinted-zed": {
|
"tinted-zed": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757811247,
|
"lastModified": 1778378178,
|
||||||
"narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=",
|
"narHash": "sha256-OXPXRIQgGwV77HjYRryOHguh4ALX96jkg+tseLkGgHA=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-zed",
|
"repo": "base16-zed",
|
||||||
"rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e",
|
"rev": "9cd816033ff969415b190722cddf134e78a5665f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -958,34 +1058,13 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"treefmt-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nur",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733222881,
|
|
||||||
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"vpn-confinement": {
|
"vpn-confinement": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742138327,
|
"lastModified": 1778182451,
|
||||||
"narHash": "sha256-Y71Mjej98CjaUKa1ecAIOo0eJ1B3ZVQl2ng6xl7/s9Y=",
|
"narHash": "sha256-Bz3n2THDGf90Z9gMqhH/J492prYH8B6RFRlxv/fPBwc=",
|
||||||
"owner": "Maroka-chan",
|
"owner": "Maroka-chan",
|
||||||
"repo": "VPN-Confinement",
|
"repo": "VPN-Confinement",
|
||||||
"rev": "38eeb3bc501900b48d1caf8c52a5b7f2fb7a52c5",
|
"rev": "cf5bfc4c3559f2e783698b1aa23c165072039a7d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1035,11 +1114,11 @@
|
|||||||
"xwayland-satellite-unstable": {
|
"xwayland-satellite-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768106915,
|
"lastModified": 1781226823,
|
||||||
"narHash": "sha256-HlLo9zH4ULRXlmlIK948cHmdVhxyHgTHxGaoCRlW4k8=",
|
"narHash": "sha256-28696iIw8uE0ZUyFTtzhEM8xMh85clCYypMxkvUi+sc=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "72245e108f3b03c3c4474d2de9de2d1830849603",
|
"rev": "8575d0ef55d70f9b4c46b6bffb3accf912217e1e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
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";
|
||||||
@@ -13,7 +15,7 @@
|
|||||||
};
|
};
|
||||||
emacs-overlay.url = "github:nix-community/emacs-overlay";
|
emacs-overlay.url = "github:nix-community/emacs-overlay";
|
||||||
niri.url = "github:sodiboo/niri-flake";
|
niri.url = "github:sodiboo/niri-flake";
|
||||||
stylix.url = "github:danth/stylix";
|
stylix.url = "github:nix-community/stylix";
|
||||||
nixcord.url = "github:KaylorBen/nixcord";
|
nixcord.url = "github:KaylorBen/nixcord";
|
||||||
vpn-confinement.url = "github:Maroka-chan/VPN-Confinement";
|
vpn-confinement.url = "github:Maroka-chan/VPN-Confinement";
|
||||||
nixarr = {
|
nixarr = {
|
||||||
@@ -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";
|
||||||
@@ -29,7 +32,14 @@
|
|||||||
tf2-nix.url = "gitlab:msyds/tf2-nix";
|
tf2-nix.url = "gitlab:msyds/tf2-nix";
|
||||||
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.url = "github:msyds/sydpkgs";
|
sydpkgs = {
|
||||||
|
url = "git+https://git.deertopia.net/msyds/sydpkgs";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
dms = {
|
||||||
|
url = "github:AvengeMedia/DankMaterialShell/stable";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, ... }@inputs:
|
outputs = { self, nixpkgs, ... }@inputs:
|
||||||
|
|||||||
@@ -49,9 +49,8 @@
|
|||||||
|
|
||||||
deertopia = {
|
deertopia = {
|
||||||
authelia.enable = true;
|
authelia.enable = true;
|
||||||
atticd.enable = true;
|
|
||||||
gitea.enable = true;
|
gitea.enable = true;
|
||||||
quiver.enable = true;
|
# quiver.enable = true;
|
||||||
www.enable = true;
|
www.enable = true;
|
||||||
bepasty.enable = true;
|
bepasty.enable = true;
|
||||||
jellyfin.enable = false;
|
jellyfin.enable = false;
|
||||||
|
|||||||
@@ -1,26 +1,30 @@
|
|||||||
{ 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"
|
||||||
"msyds"
|
"msyds"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,14 @@
|
|||||||
./disks.nix
|
./disks.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
boot.extraModulePackages = with config.boot.kernelPackages; [
|
boot.extraModulePackages = with config.boot.kernelPackages; [
|
||||||
v4l2loopback
|
v4l2loopback
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
sydnix = {
|
sydnix = {
|
||||||
filesystemType = "btrfs";
|
filesystemType = "btrfs";
|
||||||
wifi.enable = true;
|
wifi.enable = true;
|
||||||
@@ -19,8 +23,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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.sydnix.dank-material-shell;
|
|
||||||
json = pkgs.formats.json {};
|
|
||||||
in {
|
|
||||||
options.sydnix.dank-material-shell = {
|
|
||||||
enable = lib.mkEnableOption "DMS";
|
|
||||||
settings = lib.mkOption {
|
|
||||||
type = json.type;
|
|
||||||
default = { };
|
|
||||||
description = ''
|
|
||||||
DankMaterialShell configuration settings as an attribute set,
|
|
||||||
to be written to ~/.config/DankMaterialShell/settings.json.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
xdg.configFile = {
|
|
||||||
"DankMaterialShell/settings.json".source =
|
|
||||||
json.generate "settings.json" cfg.settings;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
+30
-45
@@ -13,51 +13,36 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable
|
imports = [
|
||||||
(let
|
./discord/jellyfin-rpc.nix
|
||||||
# Fixes flickering and platform detection on Wayland.
|
];
|
||||||
vesktop-wayland-wrapper =
|
|
||||||
pkgs.symlinkJoin {
|
|
||||||
name = "vesktop-wayland-wrapper";
|
|
||||||
paths = [ pkgs.callPackage pkgs.vesktop ];
|
|
||||||
buildInputs = [ pkgs.makeWrapper ];
|
|
||||||
postBuild = ''
|
|
||||||
wrapProgram $out/bin/vesktop \
|
|
||||||
--add-flags "--disable-gpu-compositing"
|
|
||||||
# --add-flags "--disable-gpu-compositing --ozone-platform-hint=auto"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
sydnix.impermanence.directories =
|
|
||||||
let xdg-config-home =
|
|
||||||
config.home.confighome
|
|
||||||
or "${config.home.homeDirectory}/.config";
|
|
||||||
in [
|
|
||||||
# This directory should really be written in terms of
|
|
||||||
# `config.programs.nixcord.vesktopConfigDir`, but it defaults to null
|
|
||||||
# for unknown reasons. This is in conflict with the docs, which claim
|
|
||||||
# it should be the path used here.
|
|
||||||
(lib.removePrefix
|
|
||||||
config.home.homeDirectory
|
|
||||||
"${xdg-config-home}/vesktop")
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.nixcord = {
|
config = lib.mkIf cfg.enable {
|
||||||
enable = true;
|
sydnix.impermanence.directories =
|
||||||
discord = {
|
let xdg-config-home =
|
||||||
# Install Vesktop without Discord.
|
config.home.confighome
|
||||||
enable = false;
|
or "${config.home.homeDirectory}/.config";
|
||||||
# openASAR.enable = true;
|
in [
|
||||||
vencord.enable = false;
|
# This directory should really be written in terms of
|
||||||
vencord.package = pkgs.vencord;
|
# `config.programs.nixcord.vesktopConfigDir`, but it
|
||||||
};
|
# defaults to null for unknown reasons. This is in conflict
|
||||||
vesktop = {
|
# with the docs, which claim it should be the path used
|
||||||
enable = true;
|
# here.
|
||||||
# package =
|
(lib.removePrefix
|
||||||
# if cfg.fixWayland
|
config.home.homeDirectory
|
||||||
# then vesktop-wayland-wrapper
|
"${xdg-config-home}/vesktop")
|
||||||
# else pkgs.vesktop;
|
];
|
||||||
};
|
|
||||||
|
programs.nixcord = {
|
||||||
|
enable = true;
|
||||||
|
discord = {
|
||||||
|
enable = false;
|
||||||
|
vencord.enable = false;
|
||||||
|
vencord.package = pkgs.vencord;
|
||||||
};
|
};
|
||||||
});
|
vesktop = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,95 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.sydnix.discord.jellyfin-rpc;
|
||||||
|
vesktop-wrapper =
|
||||||
|
pkgs.vesktop.overrideAttrs (finalAttrs: prevAttrs: {
|
||||||
|
postFixup = ''
|
||||||
|
${prevAttrs.postFixup or ""}
|
||||||
|
if [[ -e $out/bin/.vesktop-wrapped ]]; then
|
||||||
|
echo ".vesktop-wrapped already exists..."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
mv $out/bin/vesktop $out/bin/.vesktop-wrapped
|
||||||
|
tee $out/bin/vesktop <<EOF
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
systemctl start --user jellyfin-rpc
|
||||||
|
$out/bin/.vesktop-wrapped "\$@"
|
||||||
|
systemctl stop --user jellyfin-rpc
|
||||||
|
EOF
|
||||||
|
chmod +x $out/bin/vesktop
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
|
jellyfin-rpc-config-template =
|
||||||
|
pkgs.writeText "jellyfin-rpc-config-template"
|
||||||
|
(lib.toJSON {
|
||||||
|
jellyfin = {
|
||||||
|
url = "https://watch.deertopia.net";
|
||||||
|
username = ["lain" "msyds"];
|
||||||
|
music = {
|
||||||
|
display = ["year" "album" "genres"];
|
||||||
|
separator = "•";
|
||||||
|
};
|
||||||
|
blacklist.libraries = [
|
||||||
|
"episode"
|
||||||
|
"movie"
|
||||||
|
"book"
|
||||||
|
"audiobook"
|
||||||
|
"livetv"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
images = {
|
||||||
|
enable_images = true;
|
||||||
|
imgur_images = false;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
in {
|
||||||
|
options.sydnix.discord.jellyfin-rpc = {
|
||||||
|
enable = lib.mkEnableOption "Jellyfin rich presence";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
systemd.user.services.jellyfin-rpc-configure =
|
||||||
|
let api-key-file = config.sops.secrets.jellyfin-rpc-api-key.path;
|
||||||
|
in {
|
||||||
|
Unit = {
|
||||||
|
After = [ "sops-nix.service" ];
|
||||||
|
Requires = [ "sops-nix.service" ];
|
||||||
|
X-Restart-Triggers = [ api-key-file ];
|
||||||
|
};
|
||||||
|
Install.WantedBy = [ "default.target" ];
|
||||||
|
Service = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart =
|
||||||
|
pkgs.writeShellScript "jellyfin-rpc-configure" ''
|
||||||
|
dest=''${XDG_CONFIG_HOME:-$HOME/.config}/jellyfin-rpc/main.json
|
||||||
|
mkdir -p "$(dirname "$dest")"
|
||||||
|
umask 177
|
||||||
|
[[ -f "$dest" ]] && chmod 600 "$dest"
|
||||||
|
${lib.getExe pkgs.jq} \
|
||||||
|
< ${jellyfin-rpc-config-template} \
|
||||||
|
> "$dest" \
|
||||||
|
--rawfile api_key ${api-key-file} \
|
||||||
|
'.jellyfin.api_key = $api_key'
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.user.services.jellyfin-rpc = {
|
||||||
|
Unit.Requires = [ "jellyfin-rpc-configure.service" ];
|
||||||
|
Unit.After = [ "jellyfin-rpc-configure.service" ];
|
||||||
|
Install.WantedBy = [ "default.target" ];
|
||||||
|
Service.ExecStart = lib.getExe pkgs.jellyfin-rpc;
|
||||||
|
};
|
||||||
|
|
||||||
|
sydnix.sops.secrets.jellyfin-rpc-api-key = {};
|
||||||
|
|
||||||
|
programs.nixcord.vesktop.package = vesktop-wrapper;
|
||||||
|
|
||||||
|
assertions = [{
|
||||||
|
assertion = config.programs.nixcord.vesktop.enable;
|
||||||
|
message = "Jellyfin RPC requires Vesktop.";
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.documentation;
|
||||||
|
in {
|
||||||
|
options.sydnix.documentation = {
|
||||||
|
enable = lib.mkEnableOption "Docs";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
home.extraOutputsToInstall = [
|
||||||
|
"doc"
|
||||||
|
"info"
|
||||||
|
"man"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
{ 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.kissin-the-mic =
|
||||||
|
builtins.fromJSON
|
||||||
|
(builtins.readFile ./easyeffects/kissin-the-mic.json);
|
||||||
|
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.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,777 @@
|
|||||||
|
{
|
||||||
|
"input": {
|
||||||
|
"blocklist": [],
|
||||||
|
"equalizer#0": {
|
||||||
|
"balance": 0.0,
|
||||||
|
"bypass": false,
|
||||||
|
"input-gain": 0.0,
|
||||||
|
"left": {
|
||||||
|
"band0": {
|
||||||
|
"frequency": 22.4,
|
||||||
|
"gain": -36.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band1": {
|
||||||
|
"frequency": 27.8,
|
||||||
|
"gain": -36.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": -26.54,
|
||||||
|
"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": -36.0,
|
||||||
|
"mode": "RLC (BT)",
|
||||||
|
"mute": false,
|
||||||
|
"q": 4.36,
|
||||||
|
"slope": "x1",
|
||||||
|
"solo": false,
|
||||||
|
"type": "Bell",
|
||||||
|
"width": 4.0
|
||||||
|
},
|
||||||
|
"band1": {
|
||||||
|
"frequency": 27.8,
|
||||||
|
"gain": -36.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": -26.54,
|
||||||
|
"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": 4.0,
|
||||||
|
"bypass": false,
|
||||||
|
"curve-threshold": -12.5,
|
||||||
|
"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": -40.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"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
+14
-1
@@ -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;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -78,6 +83,7 @@ in {
|
|||||||
fontspec
|
fontspec
|
||||||
dvisvgm dvipng wrapfig # For Org-mode previews/export.
|
dvisvgm dvipng wrapfig # For Org-mode previews/export.
|
||||||
amsmath # Essential for mathematics.
|
amsmath # Essential for mathematics.
|
||||||
|
cancel # Cross out terms in math mode.
|
||||||
spath3 # TikZ dependency?
|
spath3 # TikZ dependency?
|
||||||
ulem hyperref
|
ulem hyperref
|
||||||
capt-of
|
capt-of
|
||||||
@@ -128,6 +134,13 @@ in {
|
|||||||
version = cfg.package.version;
|
version = cfg.package.version;
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
|
||||||
|
xdg.mimeApps = {
|
||||||
|
enable = true;
|
||||||
|
defaultApplicationPackages = [
|
||||||
|
sydmacs
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
# Set emacsclient as the default editor for the time being.
|
# Set emacsclient as the default editor for the time being.
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.guile;
|
||||||
|
in {
|
||||||
|
options.sydnix.guile = {
|
||||||
|
enable = lib.mkEnableOption "Guile Scheme";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
home.file.".guile".text = ''
|
||||||
|
(use-modules (ice-9 readline))
|
||||||
|
(activate-readline)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
@@ -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
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.hydrus;
|
||||||
|
in {
|
||||||
|
options.sydnix.hydrus = {
|
||||||
|
enable = lib.mkEnableOption "hydrus";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
home.packages = [ pkgs.hydrus ];
|
||||||
|
sydnix.impermanence.directories = [ "Hydrus" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -45,8 +45,8 @@ in {
|
|||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.persistence = {
|
home.persistence = {
|
||||||
"/persist/home/${config.home.username}" = {
|
"/persist" = {
|
||||||
allowOther = true;
|
# allowOther = true;
|
||||||
directories = cfg.directories ++ cfg.cache.directories;
|
directories = cfg.directories ++ cfg.cache.directories;
|
||||||
files = cfg.files ++ cfg.cache.files;
|
files = cfg.files ++ cfg.cache.files;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.kerbal-space-program;
|
||||||
|
in {
|
||||||
|
options.sydnix.kerbal-space-program = {
|
||||||
|
enable = lib.mkEnableOption "KSPslop";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
home.packages = [ pkgs.ckan ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.libreoffice;
|
||||||
|
in {
|
||||||
|
options.sydnix.libreoffice = {
|
||||||
|
enable = lib.mkEnableOption "libreoffice";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
home.packages = [ pkgs.libreoffice ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -20,7 +20,7 @@ in {
|
|||||||
# https://github.com/ValveSoftware/steam-for-linux/issues/10552
|
# https://github.com/ValveSoftware/steam-for-linux/issues/10552
|
||||||
# https://github.com/nix-community/impermanence/issues/165
|
# https://github.com/nix-community/impermanence/issues/165
|
||||||
# { directory = ".local/share/Steam"; method = "symlink"; }
|
# { directory = ".local/share/Steam"; method = "symlink"; }
|
||||||
{ directory = ".steam"; method = "symlink"; }
|
{ directory = ".steam"; }
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = [
|
home.packages = [
|
||||||
|
|||||||
@@ -7,6 +7,6 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.overlay.enable {
|
config = lib.mkIf cfg.overlay.enable {
|
||||||
nixpkgs.overlays = [ inputs.sydpkgs.overlays.default ];
|
# nixpkgs.overlays = [ inputs.sydpkgs.overlays.default ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.toki-pona;
|
||||||
|
in {
|
||||||
|
options.sydnix.toki-pona = {
|
||||||
|
enable = lib.mkEnableOption "Toki Pona fonts, input, and spell-check";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
i18n.inputMethod.fcitx5.addons = [
|
||||||
|
(pkgs.fcitx5-toki-pona.overrideAttrs (final: prev: {
|
||||||
|
patches = prev.patches or [] ++ [
|
||||||
|
./toki-pona/punctuation.patch
|
||||||
|
];
|
||||||
|
}))
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.ghostty.settings.font-family = lib.mkAfter [
|
||||||
|
"sitelen seli kiwen mono juniko"
|
||||||
|
];
|
||||||
|
|
||||||
|
sydnix.hunspell.dictionaries = ds: with ds; [
|
||||||
|
tok
|
||||||
|
];
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# nasin-nanpa-ucsur
|
||||||
|
nasin-nanpa
|
||||||
|
nasin-nanpa-helvetica
|
||||||
|
sitelen-seli-kiwen
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
diff --git a/static_tables/toki_pona_ucsur.txt b/static_tables/toki_pona_ucsur.txt
|
||||||
|
index 1bacd3a..53f5c8e 100644
|
||||||
|
--- a/static_tables/toki_pona_ucsur.txt
|
||||||
|
+++ b/static_tables/toki_pona_ucsur.txt
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-KeyCode=mnptkswljiueoa()[]{}^*.:"-_
|
||||||
|
+KeyCode=mnptkswljiueoa()[]{}^*.:"-_<>,
|
||||||
|
Length=16
|
||||||
|
Prompt=
|
||||||
|
ConstructPhrase=
|
||||||
|
@@ -13,8 +13,11 @@ _
|
||||||
|
^
|
||||||
|
*
|
||||||
|
.
|
||||||
|
+, 。
|
||||||
|
:
|
||||||
|
-
|
||||||
|
+< 「
|
||||||
|
+> 」
|
||||||
|
a
|
||||||
|
akesi
|
||||||
|
ala
|
||||||
@@ -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 ../../..";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -26,8 +26,8 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
globalOptions = {
|
globalOptions = {
|
||||||
# Disable shift to toggle. I accidentally press it all the time.
|
# Disable shift to toggle. I accidentally press it all
|
||||||
# 날 미치게 만들어요.
|
# the time. 날 미치게 만들어요.
|
||||||
Hotkey.AltTriggerKeys = "";
|
Hotkey.AltTriggerKeys = "";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -13,34 +13,17 @@ in {
|
|||||||
#
|
#
|
||||||
# For an overview of important files in the profile directory, see
|
# For an overview of important files in the profile directory, see
|
||||||
# https://support.mozilla.org/en-US/kb/recovering-important-data-from-an-old-profile.
|
# https://support.mozilla.org/en-US/kb/recovering-important-data-from-an-old-profile.
|
||||||
sydnix.impermanence =
|
sydnix.impermanence.directories = [
|
||||||
{ directories = [ ".mozilla/firefox/msyds" ]; };
|
"${config.xdg.configHome}/mozilla/firefox"
|
||||||
# let p = ".mozilla/firefox/msyds";
|
".cache/mozilla/firefox"
|
||||||
# in {
|
".mozilla"
|
||||||
# files = [
|
];
|
||||||
# # Passwords
|
|
||||||
# "${p}/key4.db"
|
|
||||||
# "${p}/logins.json"
|
|
||||||
# "${p}/logins-backup.json"
|
|
||||||
# # Site-specific permissions
|
|
||||||
# "${p}/permissions.sqlite"
|
|
||||||
# # Bookmarks, downloads and browsing history
|
|
||||||
# "${p}/places.sqlite"
|
|
||||||
# # Cached favicons for use in the history menu.
|
|
||||||
# "${p}/favicons.sqlite"
|
|
||||||
# # Cookies
|
|
||||||
# "${p}/cookies.sqlite"
|
|
||||||
# # Security certificate settings
|
|
||||||
# "${p}/cert9.db"
|
|
||||||
# # Form history (for completions)
|
|
||||||
# "${p}/formhistory.sqlite"
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
|
|
||||||
stylix.targets.firefox.profileNames = [ "msyds" ];
|
stylix.targets.firefox.profileNames = [ "msyds" ];
|
||||||
|
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
# configPath = "${config.xdg.configHome}/mozilla/firefox";
|
||||||
|
|
||||||
# Available language codes can be found on the releases page:
|
# Available language codes can be found on the releases page:
|
||||||
# https://releases.mozilla.org/pub/firefox/releases/134.0.2/linux-x86_64/xpi/.
|
# https://releases.mozilla.org/pub/firefox/releases/134.0.2/linux-x86_64/xpi/.
|
||||||
@@ -177,6 +160,8 @@ in {
|
|||||||
sidebery
|
sidebery
|
||||||
adaptive-tab-bar-colour
|
adaptive-tab-bar-colour
|
||||||
adnauseam
|
adnauseam
|
||||||
|
yomitan
|
||||||
|
bitwarden
|
||||||
# tree-style-tab
|
# tree-style-tab
|
||||||
# tab-unload-for-tree-style-tab
|
# tab-unload-for-tree-style-tab
|
||||||
# tst-tab-search
|
# tst-tab-search
|
||||||
@@ -239,7 +224,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 +258,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";
|
||||||
@@ -359,10 +342,6 @@ in {
|
|||||||
place-within-backdrop = true;
|
place-within-backdrop = true;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
# debug = {
|
|
||||||
# wait-for-frame-completion-in-pipewire = {};
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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,421 +1,330 @@
|
|||||||
{ 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";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable
|
config = lib.mkIf cfg.enable {
|
||||||
(let
|
programs.niri.settings = {
|
||||||
theme = {
|
# Open DMS windows as floating by default
|
||||||
dark = with config.lib.stylix.colors.withHashtag; {
|
window-rules = [
|
||||||
name = "Stylix generatated dark theme";
|
{
|
||||||
primary = base0D;
|
matches = [{app-id = "#org.quickshell$";}];
|
||||||
primaryText = base00;
|
open-floating = true;
|
||||||
primaryContainer = base0C;
|
}
|
||||||
secondary = base0E;
|
];
|
||||||
surface = base01;
|
# Blur wallpaper when overview is open.
|
||||||
surfaceText = base05;
|
layer-rules = [
|
||||||
surfaceVariant = base02;
|
{
|
||||||
surfaceVariantText = base04;
|
matches = [{ namespace = "dms:blurwallpaper"; }];
|
||||||
surfaceTint = base0D;
|
place-within-backdrop = true;
|
||||||
background = base00;
|
}
|
||||||
backgroundText = base05;
|
];
|
||||||
outline = base03;
|
spawn-at-startup = [
|
||||||
surfaceContainer = base01;
|
{
|
||||||
surfaceContainerHigh = base02;
|
command = [
|
||||||
surfaceContainerHighest = base03;
|
(lib.getExe' pkgs.wl-clipboard "wl-paste")
|
||||||
error = base08;
|
"--watch" "cliphist" "store"
|
||||||
warning = base0A;
|
];
|
||||||
info = base0C;
|
}
|
||||||
} // {
|
];
|
||||||
primary = base06;
|
};
|
||||||
surfaceContainerHigh = "#2a2a37"; # Sunk Ink 2
|
stylix.targets.dank-material-shell.enable = true;
|
||||||
surfaceContainerHighest = base05;
|
sydnix.users.crumb.niri = {
|
||||||
};
|
polkit.enable = false;
|
||||||
light = with config.lib.stylix.colors.withHashtag; {
|
swaylock.enable = false;
|
||||||
name = "Stylix generatated light theme";
|
portal.enable = false;
|
||||||
primary = base0D;
|
swaync.enable = false;
|
||||||
primaryText = base07;
|
gammastep.enable = false;
|
||||||
primaryContainer = base0C;
|
binds =
|
||||||
secondary = base0E;
|
let dms-ipc = config.lib.niri.actions.spawn "dms" "ipc";
|
||||||
surface = base06;
|
in {
|
||||||
surfaceText = base01;
|
"Mod+D" = {
|
||||||
surfaceVariant = base07;
|
action = dms-ipc "spotlight" "toggle";
|
||||||
surfaceVariantText = base02;
|
hotkey-overlay.title = "Toggle Application Launcher";
|
||||||
surfaceTint = base0D;
|
};
|
||||||
background = base07;
|
"Mod+P" = {
|
||||||
backgroundText = base00;
|
action = dms-ipc "notepad" "toggle";
|
||||||
outline = base04;
|
hotkey-overlay.title = "Toggle Notepad";
|
||||||
surfaceContainer = base06;
|
};
|
||||||
surfaceContainerHigh = base05;
|
"Mod+Ctrl+L" = {
|
||||||
surfaceContainerHighest = base04;
|
action = dms-ipc "lock" "lock";
|
||||||
error = base08;
|
hotkey-overlay.title = "Toggle Lock Screen";
|
||||||
warning = base0A;
|
};
|
||||||
info = base0C;
|
"XF86AudioRaiseVolume" = {
|
||||||
};
|
allow-when-locked = true;
|
||||||
};
|
action = dms-ipc "audio" "increment" "3";
|
||||||
in {
|
};
|
||||||
programs.niri.settings = {
|
"XF86AudioLowerVolume" = {
|
||||||
# Open DMS windows as floating by default
|
allow-when-locked = true;
|
||||||
window-rules = [
|
action = dms-ipc "audio" "decrement" "3";
|
||||||
{
|
};
|
||||||
matches = [{app-id = "#org.quickshell$";}];
|
"XF86AudioMute" = {
|
||||||
open-floating = true;
|
allow-when-locked = true;
|
||||||
}
|
action = dms-ipc "audio" "mute";
|
||||||
];
|
};
|
||||||
# Blur wallpaper when overview is open.
|
"XF86AudioMicMute" = {
|
||||||
layer-rules = [
|
allow-when-locked = true;
|
||||||
{
|
action = dms-ipc "audio" "micmute";
|
||||||
matches = [{ namespace = "dms:blurwallpaper"; }];
|
};
|
||||||
place-within-backdrop = true;
|
"XF86MonBrightnessUp" = {
|
||||||
}
|
allow-when-locked = true;
|
||||||
];
|
action = dms-ipc "brightness" "increment" "5" "";
|
||||||
spawn-at-startup = [
|
};
|
||||||
{
|
"XF86MonBrightnessDown" = {
|
||||||
command = [
|
allow-when-locked = true;
|
||||||
(lib.getExe' pkgs.wl-clipboard "wl-paste")
|
action = dms-ipc "brightness" "decrement" "5" "";
|
||||||
"--watch" "cliphist" "store"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
sydnix.users.crumb.niri = {
|
|
||||||
polkit.enable = false;
|
|
||||||
swaylock.enable = false;
|
|
||||||
portal.enable = false;
|
|
||||||
swaync.enable = false;
|
|
||||||
gammastep.enable = false;
|
|
||||||
binds =
|
|
||||||
let dms-ipc = config.lib.niri.actions.spawn "dms" "ipc";
|
|
||||||
in {
|
|
||||||
"Mod+D" = {
|
|
||||||
action = dms-ipc "spotlight" "toggle";
|
|
||||||
hotkey-overlay.title = "Toggle Application Launcher";
|
|
||||||
};
|
|
||||||
"Mod+P" = {
|
|
||||||
action = dms-ipc "notepad" "toggle";
|
|
||||||
hotkey-overlay.title = "Toggle Notepad";
|
|
||||||
};
|
|
||||||
"Mod+Ctrl+L" = {
|
|
||||||
action = dms-ipc "lock" "lock";
|
|
||||||
hotkey-overlay.title = "Toggle Lock Screen";
|
|
||||||
};
|
|
||||||
"XF86AudioRaiseVolume" = {
|
|
||||||
allow-when-locked = true;
|
|
||||||
action = dms-ipc "audio" "increment" "3";
|
|
||||||
};
|
|
||||||
"XF86AudioLowerVolume" = {
|
|
||||||
allow-when-locked = true;
|
|
||||||
action = dms-ipc "audio" "decrement" "3";
|
|
||||||
};
|
|
||||||
"XF86AudioMute" = {
|
|
||||||
allow-when-locked = true;
|
|
||||||
action = dms-ipc "audio" "mute";
|
|
||||||
};
|
|
||||||
"XF86AudioMicMute" = {
|
|
||||||
allow-when-locked = true;
|
|
||||||
action = dms-ipc "audio" "micmute";
|
|
||||||
};
|
|
||||||
"XF86MonBrightnessUp" = {
|
|
||||||
allow-when-locked = true;
|
|
||||||
action = dms-ipc "brightness" "increment" "5" "";
|
|
||||||
};
|
|
||||||
"XF86MonBrightnessDown" = {
|
|
||||||
allow-when-locked = true;
|
|
||||||
action = dms-ipc "brightness" "decrement" "5" "";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
sydnix.dank-material-shell = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
theme = "dark";
|
|
||||||
currentThemeName = "custom";
|
|
||||||
customThemeFile =
|
|
||||||
pkgs.writeText
|
|
||||||
"dankMaterialShell-stylix-theme.json"
|
|
||||||
(builtins.toJSON theme);
|
|
||||||
popupTransparency = 1;
|
|
||||||
dockTransparency = 1;
|
|
||||||
use24HourClock = true;
|
|
||||||
showSeconds = false;
|
|
||||||
useFahrenheit = false;
|
|
||||||
nightModeEnabled = true;
|
|
||||||
animationSpeed = 1;
|
|
||||||
customAnimationDuration = 500;
|
|
||||||
wallpaperFillMode = "Fill";
|
|
||||||
blurredWallpaperLayer = false;
|
|
||||||
blurWallpaperOnOverview = true;
|
|
||||||
showLauncherButton = true;
|
|
||||||
showWorkspaceSwitcher = true;
|
|
||||||
showFocusedWindow = true;
|
|
||||||
showWeather = false;
|
|
||||||
showMusic = true;
|
|
||||||
showClipboard = true;
|
|
||||||
showCpuUsage = true;
|
|
||||||
showMemUsage = true;
|
|
||||||
showCpuTemp = true;
|
|
||||||
showGpuTemp = true;
|
|
||||||
selectedGpuIndex = 0;
|
|
||||||
enabledGpuPciIds = [];
|
|
||||||
showSystemTray = true;
|
|
||||||
showClock = true;
|
|
||||||
showNotificationButton = true;
|
|
||||||
showBattery = true;
|
|
||||||
showControlCenterButton = true;
|
|
||||||
showCapsLockIndicator = true;
|
|
||||||
controlCenterShowNetworkIcon = true;
|
|
||||||
controlCenterShowBluetoothIcon = true;
|
|
||||||
controlCenterShowAudioIcon = true;
|
|
||||||
controlCenterShowVpnIcon = true;
|
|
||||||
controlCenterShowBrightnessIcon = false;
|
|
||||||
controlCenterShowMicIcon = false;
|
|
||||||
controlCenterShowBatteryIcon = false;
|
|
||||||
controlCenterShowPrinterIcon = false;
|
|
||||||
showPrivacyButton = true;
|
|
||||||
privacyShowMicIcon = false;
|
|
||||||
privacyShowCameraIcon = false;
|
|
||||||
privacyShowScreenShareIcon = false;
|
|
||||||
controlCenterWidgets = [
|
|
||||||
{
|
|
||||||
id = "volumeSlider";
|
|
||||||
enabled = true;
|
|
||||||
width = 50;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "brightnessSlider";
|
|
||||||
enabled = true;
|
|
||||||
width = 50;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "wifi";
|
|
||||||
enabled = true;
|
|
||||||
width = 50;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "bluetooth";
|
|
||||||
enabled = true;
|
|
||||||
width = 50;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "audioOutput";
|
|
||||||
enabled = true;
|
|
||||||
width = 50;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "audioInput";
|
|
||||||
enabled = true;
|
|
||||||
width = 50;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "nightMode";
|
|
||||||
enabled = true;
|
|
||||||
width = 50;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "darkMode";
|
|
||||||
enabled = true;
|
|
||||||
width = 50;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
showWorkspaceIndex = false;
|
|
||||||
showWorkspacePadding = false;
|
|
||||||
workspaceScrolling = false;
|
|
||||||
showWorkspaceApps = false;
|
|
||||||
maxWorkspaceIcons = 3;
|
|
||||||
workspacesPerMonitor = true;
|
|
||||||
showOccupiedWorkspacesOnly = false;
|
|
||||||
dwlShowAllTags = false;
|
|
||||||
workspaceNameIcons = {};
|
|
||||||
waveProgressEnabled = true;
|
|
||||||
scrollTitleEnabled = true;
|
|
||||||
clockCompactMode = false;
|
|
||||||
focusedWindowCompactMode = false;
|
|
||||||
runningAppsCompactMode = true;
|
|
||||||
keyboardLayoutNameCompactMode = false;
|
|
||||||
runningAppsCurrentWorkspace = false;
|
|
||||||
runningAppsGroupByApp = false;
|
|
||||||
centeringMode = "index";
|
|
||||||
clockDateFormat = "";
|
|
||||||
lockDateFormat = "";
|
|
||||||
mediaSize = 1;
|
|
||||||
appLauncherViewMode = "list";
|
|
||||||
spotlightModalViewMode = "list";
|
|
||||||
sortAppsAlphabetically = false;
|
|
||||||
appLauncherGridColumns = 4;
|
|
||||||
spotlightCloseNiriOverview = true;
|
|
||||||
niriOverviewOverlayEnabled = true;
|
|
||||||
weatherLocation = "Arvada, Colorado";
|
|
||||||
weatherCoordinates = "39.8005505,-105.0811573";
|
|
||||||
useAutoLocation = false;
|
|
||||||
weatherEnabled = true;
|
|
||||||
networkPreference = "auto";
|
|
||||||
vpnLastConnected = "";
|
|
||||||
iconTheme = "System Default";
|
|
||||||
launcherLogoMode = "apps";
|
|
||||||
launcherLogoCustomPath = "";
|
|
||||||
launcherLogoColorOverride = "";
|
|
||||||
launcherLogoColorInvertOnMode = false;
|
|
||||||
launcherLogoBrightness = 0.5;
|
|
||||||
launcherLogoContrast = 1;
|
|
||||||
launcherLogoSizeOffset = 0;
|
|
||||||
fontFamily = "Inter Variable";
|
|
||||||
monoFontFamily = "Fira Code";
|
|
||||||
fontWeight = 400;
|
|
||||||
fontScale = 1;
|
|
||||||
notepadUseMonospace = true;
|
|
||||||
notepadFontFamily = "";
|
|
||||||
notepadFontSize = 14;
|
|
||||||
notepadShowLineNumbers = false;
|
|
||||||
notepadTransparencyOverride = -1;
|
|
||||||
notepadLastCustomTransparency = 0.7;
|
|
||||||
soundsEnabled = true;
|
|
||||||
useSystemSoundTheme = false;
|
|
||||||
soundNewNotification = true;
|
|
||||||
soundVolumeChanged = true;
|
|
||||||
soundPluggedIn = true;
|
|
||||||
acMonitorTimeout = 0;
|
|
||||||
acLockTimeout = 0;
|
|
||||||
acSuspendTimeout = 0;
|
|
||||||
acSuspendBehavior = 0;
|
|
||||||
acProfileName = "";
|
|
||||||
batteryMonitorTimeout = 0;
|
|
||||||
batteryLockTimeout = 0;
|
|
||||||
batterySuspendTimeout = 0;
|
|
||||||
batterySuspendBehavior = 0;
|
|
||||||
batteryProfileName = "";
|
|
||||||
lockBeforeSuspend = false;
|
|
||||||
loginctlLockIntegration = true;
|
|
||||||
fadeToLockEnabled = false;
|
|
||||||
fadeToLockGracePeriod = 5;
|
|
||||||
launchPrefix = "";
|
|
||||||
brightnessDevicePins = {};
|
|
||||||
wifiNetworkPins = {};
|
|
||||||
bluetoothDevicePins = {};
|
|
||||||
audioInputDevicePins.preferredInput =
|
|
||||||
"alsa_input.usb-Generic_Blue_Microphones_2041BAB03EZ8-00.analog-stereo";
|
|
||||||
audioOutputDevicePins.preferredOutput =
|
|
||||||
"alsa_output.usb-Jieli_Technology_CA-2890_USB_Speaker_Bar_4250315A3537380E-00.analog-stereo";
|
|
||||||
gtkThemingEnabled = false;
|
|
||||||
qtThemingEnabled = false;
|
|
||||||
syncModeWithPortal = true;
|
|
||||||
terminalsAlwaysDark = false;
|
|
||||||
showDock = false;
|
|
||||||
dockAutoHide = false;
|
|
||||||
dockGroupByApp = false;
|
|
||||||
dockOpenOnOverview = false;
|
|
||||||
dockPosition = 1;
|
|
||||||
dockSpacing = 4;
|
|
||||||
dockBottomGap = 0;
|
|
||||||
dockMargin = 0;
|
|
||||||
dockIconSize = 40;
|
|
||||||
dockIndicatorStyle = "circle";
|
|
||||||
dockBorderEnabled = false;
|
|
||||||
dockBorderColor = "surfaceText";
|
|
||||||
dockBorderOpacity = 1;
|
|
||||||
dockBorderThickness = 1;
|
|
||||||
notificationOverlayEnabled = false;
|
|
||||||
modalDarkenBackground = true;
|
|
||||||
lockScreenShowPowerActions = true;
|
|
||||||
enableFprint = false;
|
|
||||||
maxFprintTries = 15;
|
|
||||||
lockScreenActiveMonitor = "all";
|
|
||||||
lockScreenInactiveColor = "#000000";
|
|
||||||
hideBrightnessSlider = false;
|
|
||||||
notificationTimeoutLow = 5000;
|
|
||||||
notificationTimeoutNormal = 5000;
|
|
||||||
notificationTimeoutCritical = 0;
|
|
||||||
notificationPopupPosition = 0;
|
|
||||||
osdAlwaysShowValue = false;
|
|
||||||
osdPosition = 5;
|
|
||||||
osdVolumeEnabled = true;
|
|
||||||
osdMediaVolumeEnabled = true;
|
|
||||||
osdBrightnessEnabled = true;
|
|
||||||
osdIdleInhibitorEnabled = true;
|
|
||||||
osdMicMuteEnabled = true;
|
|
||||||
osdCapsLockEnabled = true;
|
|
||||||
osdPowerProfileEnabled = false;
|
|
||||||
osdAudioOutputEnabled = true;
|
|
||||||
powerActionConfirm = true;
|
|
||||||
powerActionHoldDuration = 0.5;
|
|
||||||
powerMenuActions = [
|
|
||||||
"reboot"
|
|
||||||
"logout"
|
|
||||||
"poweroff"
|
|
||||||
"lock"
|
|
||||||
"suspend"
|
|
||||||
"restart"
|
|
||||||
];
|
|
||||||
powerMenuDefaultAction = "logout";
|
|
||||||
powerMenuGridLayout = false;
|
|
||||||
customPowerActionLock = "";
|
|
||||||
customPowerActionLogout = "";
|
|
||||||
customPowerActionSuspend = "";
|
|
||||||
customPowerActionHibernate = "";
|
|
||||||
customPowerActionReboot = "";
|
|
||||||
customPowerActionPowerOff = "";
|
|
||||||
updaterUseCustomCommand = false;
|
|
||||||
updaterCustomCommand = "";
|
|
||||||
updaterTerminalAdditionalParams = "";
|
|
||||||
displayNameMode = "system";
|
|
||||||
screenPreferences.wallpaper = [];
|
|
||||||
showOnLastDisplay = {};
|
|
||||||
barConfigs = [
|
|
||||||
{
|
|
||||||
id = "default";
|
|
||||||
name = "Main Bar";
|
|
||||||
enabled = true;
|
|
||||||
position = 2;
|
|
||||||
screenPreferences = [
|
|
||||||
"all"
|
|
||||||
];
|
|
||||||
showOnLastDisplay = true;
|
|
||||||
leftWidgets = [
|
|
||||||
"launcherButton"
|
|
||||||
"workspaceSwitcher"
|
|
||||||
"focusedWindow"
|
|
||||||
];
|
|
||||||
centerWidgets = [
|
|
||||||
"music"
|
|
||||||
"clock"
|
|
||||||
"weather"
|
|
||||||
];
|
|
||||||
rightWidgets = [
|
|
||||||
"systemTray"
|
|
||||||
"clipboard"
|
|
||||||
"cpuUsage"
|
|
||||||
"memUsage"
|
|
||||||
"notificationButton"
|
|
||||||
"battery"
|
|
||||||
"controlCenterButton"
|
|
||||||
];
|
|
||||||
spacing = 4;
|
|
||||||
innerPadding = 4;
|
|
||||||
bottomGap = 0;
|
|
||||||
transparency = 1;
|
|
||||||
widgetTransparency = 1;
|
|
||||||
squareCorners = false;
|
|
||||||
noBackground = false;
|
|
||||||
gothCornersEnabled = false;
|
|
||||||
gothCornerRadiusOverride = false;
|
|
||||||
gothCornerRadiusValue = 12;
|
|
||||||
borderEnabled = false;
|
|
||||||
borderColor = "surfaceText";
|
|
||||||
borderOpacity = 1;
|
|
||||||
borderThickness = 1;
|
|
||||||
fontScale = 1;
|
|
||||||
autoHide = false;
|
|
||||||
autoHideDelay = 250;
|
|
||||||
openOnOverview = false;
|
|
||||||
visible = true;
|
|
||||||
popupGapsAuto = true;
|
|
||||||
popupGapsManual = 4;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
configVersion = 2;
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
programs.dank-material-shell = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
theme = "dark";
|
||||||
|
currentThemeName = "custom";
|
||||||
|
use24HourClock = true;
|
||||||
|
showSeconds = false;
|
||||||
|
useFahrenheit = false;
|
||||||
|
nightModeEnabled = true;
|
||||||
|
animationSpeed = 1;
|
||||||
|
customAnimationDuration = 500;
|
||||||
|
wallpaperFillMode = "Fill";
|
||||||
|
blurredWallpaperLayer = false;
|
||||||
|
blurWallpaperOnOverview = true;
|
||||||
|
showLauncherButton = true;
|
||||||
|
showWorkspaceSwitcher = true;
|
||||||
|
showFocusedWindow = true;
|
||||||
|
showWeather = false;
|
||||||
|
showMusic = true;
|
||||||
|
showClipboard = true;
|
||||||
|
showCpuUsage = true;
|
||||||
|
showMemUsage = true;
|
||||||
|
showCpuTemp = true;
|
||||||
|
showGpuTemp = true;
|
||||||
|
selectedGpuIndex = 0;
|
||||||
|
enabledGpuPciIds = [];
|
||||||
|
showSystemTray = true;
|
||||||
|
showClock = true;
|
||||||
|
showNotificationButton = true;
|
||||||
|
showBattery = true;
|
||||||
|
showControlCenterButton = true;
|
||||||
|
showCapsLockIndicator = true;
|
||||||
|
controlCenterShowNetworkIcon = true;
|
||||||
|
controlCenterShowBluetoothIcon = on ["fruitbook"];
|
||||||
|
controlCenterShowAudioIcon = true;
|
||||||
|
controlCenterShowVpnIcon = true;
|
||||||
|
controlCenterShowBrightnessIcon = false;
|
||||||
|
controlCenterShowMicIcon = false;
|
||||||
|
controlCenterShowBatteryIcon = false;
|
||||||
|
controlCenterShowPrinterIcon = false;
|
||||||
|
showPrivacyButton = true;
|
||||||
|
privacyShowMicIcon = false;
|
||||||
|
privacyShowCameraIcon = false;
|
||||||
|
privacyShowScreenShareIcon = false;
|
||||||
|
controlCenterWidgets = [
|
||||||
|
{
|
||||||
|
id = "volumeSlider";
|
||||||
|
enabled = true;
|
||||||
|
width = 50;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "brightnessSlider";
|
||||||
|
enabled = true;
|
||||||
|
width = 50;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "wifi";
|
||||||
|
enabled = true;
|
||||||
|
width = 50;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "bluetooth";
|
||||||
|
enabled = true;
|
||||||
|
width = 50;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "audioOutput";
|
||||||
|
enabled = true;
|
||||||
|
width = 50;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "audioInput";
|
||||||
|
enabled = true;
|
||||||
|
width = 50;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "nightMode";
|
||||||
|
enabled = true;
|
||||||
|
width = 50;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "darkMode";
|
||||||
|
enabled = true;
|
||||||
|
width = 50;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
showWorkspaceIndex = false;
|
||||||
|
showWorkspacePadding = false;
|
||||||
|
workspaceScrolling = false;
|
||||||
|
showWorkspaceApps = false;
|
||||||
|
maxWorkspaceIcons = 3;
|
||||||
|
workspacesPerMonitor = true;
|
||||||
|
showOccupiedWorkspacesOnly = false;
|
||||||
|
dwlShowAllTags = false;
|
||||||
|
workspaceNameIcons = {};
|
||||||
|
waveProgressEnabled = true;
|
||||||
|
scrollTitleEnabled = true;
|
||||||
|
clockCompactMode = false;
|
||||||
|
focusedWindowCompactMode = false;
|
||||||
|
runningAppsCompactMode = true;
|
||||||
|
keyboardLayoutNameCompactMode = false;
|
||||||
|
runningAppsCurrentWorkspace = false;
|
||||||
|
runningAppsGroupByApp = false;
|
||||||
|
centeringMode = "index";
|
||||||
|
clockDateFormat = "";
|
||||||
|
lockDateFormat = "";
|
||||||
|
mediaSize = 1;
|
||||||
|
appLauncherViewMode = "list";
|
||||||
|
spotlightModalViewMode = "list";
|
||||||
|
sortAppsAlphabetically = false;
|
||||||
|
appLauncherGridColumns = 4;
|
||||||
|
spotlightCloseNiriOverview = true;
|
||||||
|
niriOverviewOverlayEnabled = true;
|
||||||
|
weatherLocation = "Arvada, Colorado";
|
||||||
|
weatherCoordinates = "39.8005505,-105.0811573";
|
||||||
|
useAutoLocation = false;
|
||||||
|
weatherEnabled = true;
|
||||||
|
networkPreference = "auto";
|
||||||
|
iconTheme = "System Default";
|
||||||
|
launcherLogoMode = "apps";
|
||||||
|
launcherLogoCustomPath = "";
|
||||||
|
launcherLogoBrightness = 0.5;
|
||||||
|
launcherLogoContrast = 1;
|
||||||
|
launcherLogoSizeOffset = 0;
|
||||||
|
fontWeight = 400;
|
||||||
|
fontScale = 1;
|
||||||
|
notepadUseMonospace = true;
|
||||||
|
notepadFontSize = 14;
|
||||||
|
notepadShowLineNumbers = false;
|
||||||
|
soundsEnabled = true;
|
||||||
|
useSystemSoundTheme = false;
|
||||||
|
soundNewNotification = true;
|
||||||
|
soundVolumeChanged = true;
|
||||||
|
soundPluggedIn = true;
|
||||||
|
lockBeforeSuspend = true;
|
||||||
|
loginctlLockIntegration = true;
|
||||||
|
fadeToLockEnabled = true;
|
||||||
|
gtkThemingEnabled = false;
|
||||||
|
qtThemingEnabled = false;
|
||||||
|
syncModeWithPortal = true;
|
||||||
|
terminalsAlwaysDark = false;
|
||||||
|
showDock = false;
|
||||||
|
dockAutoHide = false;
|
||||||
|
dockGroupByApp = false;
|
||||||
|
dockOpenOnOverview = false;
|
||||||
|
dockPosition = 1;
|
||||||
|
dockSpacing = 4;
|
||||||
|
dockBottomGap = 0;
|
||||||
|
dockMargin = 0;
|
||||||
|
dockIconSize = 40;
|
||||||
|
dockIndicatorStyle = "circle";
|
||||||
|
dockBorderEnabled = false;
|
||||||
|
dockBorderOpacity = 1;
|
||||||
|
dockBorderThickness = 1;
|
||||||
|
notificationOverlayEnabled = false;
|
||||||
|
modalDarkenBackground = true;
|
||||||
|
lockScreenShowPowerActions = true;
|
||||||
|
enableFprint = false;
|
||||||
|
maxFprintTries = 15;
|
||||||
|
lockScreenActiveMonitor = "all";
|
||||||
|
hideBrightnessSlider = false;
|
||||||
|
notificationTimeoutLow = 5000;
|
||||||
|
notificationTimeoutNormal = 5000;
|
||||||
|
notificationTimeoutCritical = 0;
|
||||||
|
notificationPopupPosition = 0;
|
||||||
|
osdAlwaysShowValue = false;
|
||||||
|
osdPosition = 5;
|
||||||
|
osdVolumeEnabled = true;
|
||||||
|
osdMediaVolumeEnabled = true;
|
||||||
|
osdBrightnessEnabled = true;
|
||||||
|
osdIdleInhibitorEnabled = true;
|
||||||
|
osdMicMuteEnabled = true;
|
||||||
|
osdCapsLockEnabled = true;
|
||||||
|
osdPowerProfileEnabled = false;
|
||||||
|
osdAudioOutputEnabled = true;
|
||||||
|
powerActionConfirm = true;
|
||||||
|
powerActionHoldDuration = 0.5;
|
||||||
|
powerMenuActions = [
|
||||||
|
"reboot"
|
||||||
|
"logout"
|
||||||
|
"poweroff"
|
||||||
|
"lock"
|
||||||
|
"suspend"
|
||||||
|
# "restart"
|
||||||
|
];
|
||||||
|
powerMenuDefaultAction = "logout";
|
||||||
|
powerMenuGridLayout = false;
|
||||||
|
displayNameMode = "system";
|
||||||
|
screenPreferences.wallpaper = [];
|
||||||
|
showOnLastDisplay = {};
|
||||||
|
barConfigs = [
|
||||||
|
{
|
||||||
|
id = "default";
|
||||||
|
name = "Main Bar";
|
||||||
|
enabled = true;
|
||||||
|
position = 2;
|
||||||
|
screenPreferences = [
|
||||||
|
"all"
|
||||||
|
];
|
||||||
|
showOnLastDisplay = true;
|
||||||
|
leftWidgets = [
|
||||||
|
"launcherButton"
|
||||||
|
"workspaceSwitcher"
|
||||||
|
"focusedWindow"
|
||||||
|
];
|
||||||
|
centerWidgets = [
|
||||||
|
"music"
|
||||||
|
"clock"
|
||||||
|
"weather"
|
||||||
|
];
|
||||||
|
rightWidgets = [
|
||||||
|
"systemTray"
|
||||||
|
"clipboard"
|
||||||
|
"cpuUsage"
|
||||||
|
"memUsage"
|
||||||
|
"notificationButton"
|
||||||
|
"battery"
|
||||||
|
"controlCenterButton"
|
||||||
|
];
|
||||||
|
spacing = 4;
|
||||||
|
innerPadding = 4;
|
||||||
|
bottomGap = 0;
|
||||||
|
squareCorners = false;
|
||||||
|
noBackground = false;
|
||||||
|
gothCornersEnabled = false;
|
||||||
|
gothCornerRadiusOverride = false;
|
||||||
|
gothCornerRadiusValue = 12;
|
||||||
|
borderEnabled = false;
|
||||||
|
borderOpacity = 1;
|
||||||
|
borderThickness = 1;
|
||||||
|
fontScale = 1;
|
||||||
|
autoHide = false;
|
||||||
|
autoHideDelay = 250;
|
||||||
|
openOnOverview = false;
|
||||||
|
visible = true;
|
||||||
|
popupGapsAuto = true;
|
||||||
|
popupGapsManual = 4;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
configVersion = 2;
|
||||||
};
|
};
|
||||||
});
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
let cfg = config.sydnix.users.crumb.discord;
|
let cfg = config.sydnix.users.msyds.discord;
|
||||||
in {
|
in {
|
||||||
options.sydnix.users.crumb.discord = {
|
options.sydnix.users.msyds.discord = {
|
||||||
enable = lib.mkEnableOption "Discord";
|
enable = lib.mkEnableOption "Discord";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
sydnix.discord.enable = true;
|
sydnix.discord.enable = true;
|
||||||
|
sydnix.discord.jellyfin-rpc.enable = true;
|
||||||
|
|
||||||
stylix.targets.nixcord.enable = true;
|
stylix.targets.nixcord.enable = false;
|
||||||
|
|
||||||
programs.nixcord = {
|
programs.nixcord = {
|
||||||
quickCss = ''
|
quickCss = ''
|
||||||
@@ -29,6 +30,11 @@ in {
|
|||||||
];
|
];
|
||||||
plugins = {
|
plugins = {
|
||||||
ircColors.enable = true;
|
ircColors.enable = true;
|
||||||
|
voiceMessages = {
|
||||||
|
enable = true;
|
||||||
|
echoCancellation = false;
|
||||||
|
noiseSuppression = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
vesktop = {
|
vesktop = {
|
||||||
@@ -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
|
||||||
@@ -11,6 +12,7 @@
|
|||||||
syd/on
|
syd/on
|
||||||
syd/prelude
|
syd/prelude
|
||||||
syd/use-package
|
syd/use-package
|
||||||
|
syd/cc
|
||||||
syd/line-numbers
|
syd/line-numbers
|
||||||
syd/kanagawa
|
syd/kanagawa
|
||||||
syd/comint
|
syd/comint
|
||||||
@@ -30,6 +32,7 @@
|
|||||||
syd/which-key
|
syd/which-key
|
||||||
syd/tramp
|
syd/tramp
|
||||||
syd/handle
|
syd/handle
|
||||||
|
syd/flycheck
|
||||||
syd/org
|
syd/org
|
||||||
syd/org/roam
|
syd/org/roam
|
||||||
syd/org/agenda
|
syd/org/agenda
|
||||||
@@ -49,6 +52,7 @@
|
|||||||
syd/direnv
|
syd/direnv
|
||||||
syd/ligature
|
syd/ligature
|
||||||
syd/clojure
|
syd/clojure
|
||||||
|
syd/auctex
|
||||||
syd/lisp
|
syd/lisp
|
||||||
syd/minibuffer
|
syd/minibuffer
|
||||||
syd/auto-save
|
syd/auto-save
|
||||||
@@ -59,9 +63,17 @@
|
|||||||
syd/wgrep
|
syd/wgrep
|
||||||
syd/nix
|
syd/nix
|
||||||
syd/backup
|
syd/backup
|
||||||
|
syd/flycheck
|
||||||
syd/agda
|
syd/agda
|
||||||
|
syd/rust
|
||||||
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/scheme
|
||||||
|
syd/bookmark
|
||||||
|
syd/haskell
|
||||||
|
syd/qbe))
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
;;; -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
(require 'syd/base)
|
||||||
|
|
||||||
|
(use-package auctex)
|
||||||
|
|
||||||
|
(use-package tex
|
||||||
|
:straight nil ; Part of auctex.
|
||||||
|
:config
|
||||||
|
(add-to-list 'TeX-view-program-selection '(output-pdf "Sioyek"))
|
||||||
|
(add-to-list
|
||||||
|
'TeX-command-list
|
||||||
|
'("Make" "make" TeX-run-TeX
|
||||||
|
nil (LaTeX-mode docTeX-mode) :help "Run Make"))
|
||||||
|
(add-to-list
|
||||||
|
'TeX-command-list
|
||||||
|
'("Shake" "shake" TeX-run-TeX
|
||||||
|
nil (LaTeX-mode docTeX-mode) :help "Run Shake")))
|
||||||
|
|
||||||
|
(use-package auctex-latexmk)
|
||||||
|
|
||||||
|
(provide 'syd/auctex)
|
||||||
@@ -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)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
;;; -*- lexical-binding: t -*-
|
||||||
|
|
||||||
|
(require 'syd/base)
|
||||||
|
(require 'syd/lsp)
|
||||||
|
|
||||||
|
(with-eval-after-load 'cc-mode
|
||||||
|
(add-hook 'c-mode-hook #'lsp-deferred))
|
||||||
|
|
||||||
|
(provide 'syd/cc)
|
||||||
@@ -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'.
|
||||||
@@ -108,4 +126,16 @@
|
|||||||
s)
|
s)
|
||||||
s))))
|
s))))
|
||||||
|
|
||||||
|
(defun syd-clojure--setup-clj-refactor ()
|
||||||
|
(clj-refactor-mode 1)
|
||||||
|
(yas-minor-mode 1)
|
||||||
|
(cljr-add-keybindings-with-prefix "C-c r"))
|
||||||
|
|
||||||
|
(use-package 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)
|
||||||
|
|||||||
@@ -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)
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
;;; -*- lexical-binding: t -*-
|
||||||
|
|
||||||
|
(require 'syd/base)
|
||||||
|
(require 'syd/popups)
|
||||||
|
|
||||||
|
;; Nicer error messages, integrates with `lsp-mode'
|
||||||
|
(use-package flycheck
|
||||||
|
:custom ((flycheck-highlighting-mode nil))
|
||||||
|
:general
|
||||||
|
(:states '(motion normal)
|
||||||
|
"[ e" #'flycheck-previous-error
|
||||||
|
"] e" #'flycheck-next-error))
|
||||||
|
|
||||||
|
(provide 'syd/flycheck)
|
||||||
@@ -12,15 +12,21 @@
|
|||||||
(font-spec :family "JuliaMono" :size 16)
|
(font-spec :family "JuliaMono" :size 16)
|
||||||
"A monospace font secondary to `syd-fixed-pitch-font'.")
|
"A monospace font secondary to `syd-fixed-pitch-font'.")
|
||||||
|
|
||||||
|
(defvar syd-sitelen-pona-font
|
||||||
|
(font-spec :family "sitelen seli kiwen mono juniko"))
|
||||||
|
|
||||||
(defun syd-init-fonts-h ()
|
(defun syd-init-fonts-h ()
|
||||||
"Loads `syd-fixed-pitch-font' and `syd-variable-pitch-font'."
|
"Loads `syd-fixed-pitch-font' and `syd-variable-pitch-font'."
|
||||||
(dolist (map `((default . ,syd-fixed-pitch-font)
|
(dolist (map `((default . ,syd-fixed-pitch-font)
|
||||||
(fixed-pitch . ,syd-fixed-pitch-font)
|
(fixed-pitch . ,syd-fixed-pitch-font)
|
||||||
(variable-pitch . ,syd-variable-pitch-font)))
|
(variable-pitch . ,syd-variable-pitch-font)))
|
||||||
(pcase-let ((`(,face . ,font) map))
|
(pcase-let ((`(,face . ,font) map))
|
||||||
(set-face-attribute face nil
|
(set-face-attribute face nil
|
||||||
:width 'normal :weight 'normal
|
:width 'normal :weight 'normal
|
||||||
:slant 'normal :font font))))
|
:slant 'normal :font font)))
|
||||||
|
(set-fontset-font
|
||||||
|
t '(#xF1900 . #xF19FF)
|
||||||
|
syd-sitelen-pona-font))
|
||||||
|
|
||||||
(let ((hook-point (if (daemonp)
|
(let ((hook-point (if (daemonp)
|
||||||
'server-after-make-frame-hook
|
'server-after-make-frame-hook
|
||||||
|
|||||||
@@ -0,0 +1,68 @@
|
|||||||
|
;; -*- 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)
|
||||||
|
(require 'haskell-hoogle)
|
||||||
|
(haskell-hoogle-start-server)
|
||||||
|
(browse-url-xdg-open (format "http://localhost:%d"
|
||||||
|
haskell-hoogle-port-number))
|
||||||
|
(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
|
||||||
|
|||||||
@@ -5,22 +5,33 @@
|
|||||||
(use-package ligature
|
(use-package ligature
|
||||||
:config
|
:config
|
||||||
(ligature-set-ligatures 'prog-mode
|
(ligature-set-ligatures 'prog-mode
|
||||||
'("|||>" "<|||" "<==>" "<!--" "####" "~~>" "***" "||="
|
'("|||>" "<|||" "<==>" "<!--" "####" "~~>" "***" "||="
|
||||||
"||>" ":::" "::=" "=:=" "===" "==>" "=!=" "=>>"
|
"||>" ":::" "::=" "=:=" "===" "==>" "=!=" "=>>"
|
||||||
"=<<" "=/=" "!==" "!!." ">=>" ">>=" ">>>" ">>-"
|
"=<<" "=/=" "!==" "!!." ">=>" ">>=" ">>>" ">>-"
|
||||||
">->" "->>" "-->" "---" "-<<" "<~~" "<~>" "<*>"
|
">->" "->>" "-->" "---" "-<<" "<~~" "<~>" "<*>"
|
||||||
"<||" "<|>" "<$>" "<==" "<=>" "<=<" "<->" "<--"
|
"<||" "<|>" "<$>" "<==" "<=>" "<=<" "<->" "<--"
|
||||||
"<-<" "<<=" "<<-" "<<<" "<+>" "</>" "###" "#_("
|
"<-<" "<<=" "<<-" "<<<" "<+>" "</>" "###" "#_("
|
||||||
"..<" "..." "+++" "/==" "///" "_|_" "www" "&&" "^="
|
"..<" "..." "+++" "/==" "///" "_|_" "www" "&&" "^="
|
||||||
"~~" "~@" "~=" "~>" "~-" "**" "*>" "*/" "||" "|}"
|
"~~" "~@" "~=" "~>" "~-" "**" "*>" "*/" "||" "|}"
|
||||||
"|]" "|=" "|>" "|-" "{|" "[|" "]#" "::" ":=" ":>"
|
"|]" "|=" "|>" "|-" "{|" "[|" "]#" "::" ":=" ":>"
|
||||||
":<" "$>" "==" "=>" "!=" "!!" ">:" ">=" ">>" ">-"
|
":<" "$>" "==" "=>" "!=" "!!" ">:" ">=" ">>" ">-"
|
||||||
"-~" "-|" "->" "--" "-<" "<~" "<*" "<|" "<:" "<$"
|
"-~" "-|" "->" "--" "-<" "<~" "<*" "<|" "<:" "<$"
|
||||||
"<=" "<>" "<-" "<<" "<+" "</" "#{" "#[" "#:" "#="
|
"<=" "<>" "<-" "<<" "<+" "</" "#{" "#[" "#:" "#="
|
||||||
"#!" "##" "#(" "#?" "#_" "%%" ".=" ".-" ".." ".?"
|
"#!" "##" "#(" "#?" "#_" "%%" ".=" ".-" ".." ".?"
|
||||||
"+>" "++" "?:" "?=" "?." "??" ";;" ";;;"
|
"+>" "++" "?:" "?=" "?." "??" ";;" ";;;"
|
||||||
"/*" "/=" "/>" "//" "__" "~~" "(*" "*)"
|
"/*" "/=" "/>" "//" "__" "~~" "(*" "*)"
|
||||||
"\\\\" "://"))
|
"\\\\" "://"))
|
||||||
|
;; Sitelen pona glyphs.
|
||||||
|
(rx-let ((ideograph (any (#xF1900 . #xF198C)))
|
||||||
|
(tok-punct (any "" ""))
|
||||||
|
(arrow (any "←-↙"))
|
||||||
|
(zwj ""))
|
||||||
|
(ligature-set-ligatures
|
||||||
|
'fundamental-mode
|
||||||
|
`(("" ,(rx (* (or ideograph tok-punct))))
|
||||||
|
("" ,(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,16 @@
|
|||||||
(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)
|
||||||
|
(save-excursion
|
||||||
|
(when evil-mode (forward-char)) ; evil-mode cope
|
||||||
|
(lsp-describe-thing-at-point))
|
||||||
|
(with-current-buffer (get-buffer "*lsp-help*")
|
||||||
|
(and (not (string-empty-p (string-trim (buffer-string))))
|
||||||
|
(current-buffer))))
|
||||||
|
(syd-handle 'lsp-mode
|
||||||
|
:docs #'syd-lsp-handle-docs))
|
||||||
|
|
||||||
(provide 'syd/lsp)
|
(provide 'syd/lsp)
|
||||||
|
|||||||
@@ -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)
|
||||||
@@ -80,7 +80,8 @@
|
|||||||
:target (file "todays-korean/%<%Y-%m-%d>.org"))
|
:target (file "todays-korean/%<%Y-%m-%d>.org"))
|
||||||
("I" "Korean irregularity class" plain
|
("I" "Korean irregularity class" plain
|
||||||
(file ,(syd-emacs-file "lisp/syd/org/roam/irregularity-class.org"))
|
(file ,(syd-emacs-file "lisp/syd/org/roam/irregularity-class.org"))
|
||||||
:target (file ,default-target-file-name))))))
|
:target (file ,default-target-file-name)))))
|
||||||
|
(org-roam-link-auto-replace nil))
|
||||||
:config
|
:config
|
||||||
(add-to-list 'org-agenda-files org-roam-directory)
|
(add-to-list 'org-agenda-files org-roam-directory)
|
||||||
(with-eval-after-load 'org-roam-dailies
|
(with-eval-after-load 'org-roam-dailies
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
;;; -*- lexical-binding: t -*-
|
||||||
|
|
||||||
|
(require 'syd/base)
|
||||||
|
(require 'syd/lsp)
|
||||||
|
|
||||||
|
(use-package rust-mode
|
||||||
|
:custom ((rust-mode-treesitter-derive t))
|
||||||
|
:config
|
||||||
|
(add-hook 'rust-mode-hook #'lsp-deferred))
|
||||||
|
|
||||||
|
(provide 'syd/rust)
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
;;; -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
(require 'syd/base)
|
||||||
|
(require 'syd/handle)
|
||||||
|
(require 'syd/popups)
|
||||||
|
(require 'syd/leader)
|
||||||
|
|
||||||
|
(use-package geiser
|
||||||
|
:config
|
||||||
|
(add-hook 'scheme-mode-hook #'syd-lisp-mode)
|
||||||
|
(defun syd-scheme-eval-region (beg end)
|
||||||
|
(geiser-eval-region beg end))
|
||||||
|
(defun syd-scheme-doc ()
|
||||||
|
(interactive)
|
||||||
|
(geiser-doc-symbol-at-point)
|
||||||
|
(geiser-doc--buffer))
|
||||||
|
(syd-handle '(scheme-mode)
|
||||||
|
:docs #'syd-scheme-doc
|
||||||
|
:eval-region #'syd-scheme-eval-region
|
||||||
|
:load-buffer #'geiser-eval-buffer)
|
||||||
|
(syd-push
|
||||||
|
shackle-rules
|
||||||
|
`("*Geiser Documentation*" ,@syd-help-popup-options)))
|
||||||
|
|
||||||
|
(use-package geiser-guile)
|
||||||
|
|
||||||
|
(provide 'syd/scheme)
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
;;; -*- lexical-binding: t -*-
|
||||||
|
(require 'syd/base)
|
||||||
|
|
||||||
|
;; Disable tabs by default.
|
||||||
|
(setq-default indent-tabs-mode nil)
|
||||||
|
|
||||||
|
(provide 'syd/tabs)
|
||||||
@@ -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)
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let cfg = config.sydnix.users.msyds.sioyek;
|
||||||
|
in {
|
||||||
|
options.sydnix.users.msyds.sioyek = {
|
||||||
|
enable = lib.mkEnableOption "Sioyek";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.sioyek = {
|
||||||
|
enable = true;
|
||||||
|
bindings = {
|
||||||
|
"move_down" = "j";
|
||||||
|
"move_up" = "k";
|
||||||
|
"screen_down" = [ "d" "<C-d>" ];
|
||||||
|
"screen_up" = [ "u" "<C-u>" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|||||||
@@ -7,15 +7,51 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
programs.dms-shell = {
|
programs.dank-material-shell = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableDynamicTheming = false;
|
enableDynamicTheming = false;
|
||||||
|
systemd = {
|
||||||
|
enable = true;
|
||||||
|
restartIfChanged = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# 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.greetd.settings.default_session.command = "";
|
||||||
|
|
||||||
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";
|
||||||
|
# see: https://github.com/AvengeMedia/DankMaterialShell/commit/5ceb908b8b69c253e259b5437020192dcad4bfde
|
||||||
|
customConfig = ''
|
||||||
|
hotkey-overlay {
|
||||||
|
skip-at-startup
|
||||||
|
}
|
||||||
|
environment {
|
||||||
|
DMS_RUN_GREETER "1"
|
||||||
|
}
|
||||||
|
gestures {
|
||||||
|
hot-corners {
|
||||||
|
off
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layout {
|
||||||
|
background-color "#000000"
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
configHome = "/home/msyds"; # Really stupid.
|
configHome = "/home/msyds"; # Really stupid.
|
||||||
|
logs = {
|
||||||
|
save = true;
|
||||||
|
path = "/var/lib/dms-greeter/log";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,40 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let cfg = config.sydnix.deertopia.atticd;
|
|
||||||
in {
|
|
||||||
options.sydnix.deertopia.atticd = {
|
|
||||||
enable = lib.mkEnableOption "Atticd";
|
|
||||||
port = lib.mkOption {
|
|
||||||
default = 8012;
|
|
||||||
type = lib.types.port;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# sudo atticd-atticadm make-token --sub msyds --validity '1 year' --pull 'msyds-*' --push 'msyds-*' --create-cache 'msyds-*' --configure-cache 'msyds-*'
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
sydnix.sops.secrets.atticd-environment-file = {
|
|
||||||
# owner = config.services.atticd.user;
|
|
||||||
# group = config.services.atticd.group;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.atticd = {
|
|
||||||
enable = true;
|
|
||||||
environmentFile =
|
|
||||||
config.sops.secrets.atticd-environment-file.path;
|
|
||||||
settings = {
|
|
||||||
api-endpoint = "https://attic.deertopia.net/";
|
|
||||||
listen = "[::]:${toString cfg.port}";
|
|
||||||
garbage-collection = {
|
|
||||||
default-retention-period = "3 months";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
sydnix.deertopia.nginx.vhosts."attic".vhost = {
|
|
||||||
forceSSL = true;
|
|
||||||
enableACME = true;
|
|
||||||
locations."/".proxyPass =
|
|
||||||
"http://127.0.0.1:${toString cfg.port}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -27,7 +27,10 @@ in {
|
|||||||
soulseek.description = ''
|
soulseek.description = ''
|
||||||
hi }:). i share my entire media directory, with a good
|
hi }:). i share my entire media directory, with a good
|
||||||
amount of non-music stuff. this account is for a slskd
|
amount of non-music stuff. this account is for a slskd
|
||||||
instance i leave running 24/7.
|
instance i leave running 24/7. apologies in advance if your
|
||||||
|
messages take weeks to reach me.
|
||||||
|
|
||||||
|
don't feel bad about queuing in large batches!
|
||||||
|
|
||||||
a while back, i reconfigured both my network setup and my
|
a while back, i reconfigured both my network setup and my
|
||||||
share directories, forgetting to update them in soulseek.
|
share directories, forgetting to update them in soulseek.
|
||||||
|
|||||||
@@ -14,10 +14,12 @@ in {
|
|||||||
ROCKET_PORT = 8222;
|
ROCKET_PORT = 8222;
|
||||||
DOMAIN = "https://vault.deertopia.net";
|
DOMAIN = "https://vault.deertopia.net";
|
||||||
};
|
};
|
||||||
|
backupDir = "/var/backup/vaultwarden";
|
||||||
};
|
};
|
||||||
|
|
||||||
sydnix.impermanence.directories = [
|
sydnix.impermanence.directories = [
|
||||||
"/var/backup/vaultwarden"
|
config.services.vaultwarden.backupDir
|
||||||
|
"/var/lib/bitwarden_rs"
|
||||||
];
|
];
|
||||||
|
|
||||||
services.nginx.upstreams.vaultwarden.servers =
|
services.nginx.upstreams.vaultwarden.servers =
|
||||||
|
|||||||
@@ -3,13 +3,51 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.sydnix.gitea-actions-runner;
|
cfg = config.sydnix.gitea-actions-runner;
|
||||||
container-name = "gitea-actions-runner";
|
|
||||||
gitea-actions-runner-uid = 991;
|
|
||||||
gitea-actions-runner-gid = 989;
|
|
||||||
token-file = config.sops.secrets.gitea-actions-runner-token.path;
|
token-file = config.sops.secrets.gitea-actions-runner-token.path;
|
||||||
in {
|
in {
|
||||||
options.sydnix.gitea-actions-runner = {
|
options.sydnix.gitea-actions-runner = {
|
||||||
enable = lib.mkEnableOption "Gitea actions runner";
|
enable = lib.mkEnableOption "Gitea actions runner";
|
||||||
|
instance-name = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = config.networking.hostName;
|
||||||
|
description = ''
|
||||||
|
The name of the runner instance name.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
user.name = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "gitea-actions-runner";
|
||||||
|
description = ''
|
||||||
|
The name of the user gitea-actions-runner should run under.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
user.uid = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
default = 991;
|
||||||
|
description = ''
|
||||||
|
The UID of the user gitea-actions-runner should run under.
|
||||||
|
This must be known at evaluation time so that the same UID can
|
||||||
|
be used both on the host and in the container, allowing the
|
||||||
|
container to access the host's nix-daemon.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
group.name = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "gitea-actions-runner";
|
||||||
|
description = ''
|
||||||
|
The name of the group gitea-actions-runner should run under.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
group.gid = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
default = 989;
|
||||||
|
description = ''
|
||||||
|
The GID of the group gitea-actions-runner should run under.
|
||||||
|
This must be known at evaluation time so that the same GID can
|
||||||
|
be used both on the host and in the container, allowing the
|
||||||
|
container to access the host's nix-daemon.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
@@ -17,7 +55,7 @@ in {
|
|||||||
|
|
||||||
sydnix.impermanence.directories = [ "/var/lib/gitea-actions-runner" ];
|
sydnix.impermanence.directories = [ "/var/lib/gitea-actions-runner" ];
|
||||||
|
|
||||||
containers.${container-name} = {
|
containers."gitea-actions-runner" = {
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
ephemeral = true;
|
ephemeral = true;
|
||||||
|
|
||||||
@@ -35,9 +73,9 @@ in {
|
|||||||
config = { config, lib, pkgs, ... }: {
|
config = { config, lib, pkgs, ... }: {
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "25.11";
|
||||||
|
|
||||||
services.gitea-actions-runner.instances.sydpc = {
|
services.gitea-actions-runner.instances.${cfg.instance-name} = {
|
||||||
enable = true;
|
enable = true;
|
||||||
name = "sydpc";
|
name = cfg.instance-name;
|
||||||
url = "https://git.deertopia.net/";
|
url = "https://git.deertopia.net/";
|
||||||
tokenFile = token-file;
|
tokenFile = token-file;
|
||||||
labels = [ "nixos:host" ];
|
labels = [ "nixos:host" ];
|
||||||
@@ -56,23 +94,27 @@ in {
|
|||||||
|
|
||||||
# Disable dynamic user so runner state persists via bind mount
|
# Disable dynamic user so runner state persists via bind mount
|
||||||
assertions = [{
|
assertions = [{
|
||||||
assertion = config.systemd.services.gitea-actions-runner-sydpc.enable;
|
assertion =
|
||||||
|
config.systemd.services.gitea-actions-runner-sydpc.enable;
|
||||||
message = ''
|
message = ''
|
||||||
Expected systemd service 'gitea-actions-runner-sydpc' is not
|
Expected systemd service 'gitea-actions-runner-sydpc' is
|
||||||
enabled — the gitea-actions-runner module may have changed
|
not enabled — the gitea-actions-runner NixOS module may
|
||||||
its naming scheme.
|
have changed its naming scheme.
|
||||||
'';
|
'';
|
||||||
}];
|
}];
|
||||||
|
|
||||||
systemd.services.gitea-actions-runner-sydpc.serviceConfig.DynamicUser
|
systemd.services.gitea-actions-runner-sydpc.serviceConfig.DynamicUser
|
||||||
= lib.mkForce false;
|
= lib.mkForce false;
|
||||||
users.users.gitea-actions-runner = {
|
|
||||||
uid = gitea-actions-runner-uid;
|
users.users.${cfg.user.name} = {
|
||||||
|
uid = cfg.user.uid;
|
||||||
home = "/var/lib/gitea-actions-runner";
|
home = "/var/lib/gitea-actions-runner";
|
||||||
group = "gitea-actions-runner";
|
group = cfg.group.name;
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
createHome = true;
|
createHome = true;
|
||||||
};
|
};
|
||||||
users.groups.gitea-actions-runner.gid = gitea-actions-runner-gid;
|
|
||||||
|
users.groups.gitea-actions-runner.gid = cfg.group.gid;
|
||||||
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|
||||||
@@ -81,23 +123,27 @@ in {
|
|||||||
nodejs
|
nodejs
|
||||||
jq
|
jq
|
||||||
attic-client
|
attic-client
|
||||||
|
omnix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Needs to be outside of the container because container uses's
|
# Needs to be outside of the container because container uses's
|
||||||
# the host's nix-daemon
|
# the host's nix-daemon
|
||||||
nix.settings.trusted-users = [ "gitea-actions-runner" ];
|
nix.settings.trusted-users = [
|
||||||
|
cfg.user.name
|
||||||
|
];
|
||||||
|
|
||||||
# Matching user on host — the container's gitea-actions-runner UID must be
|
# Matching user on host — the container's gitea-actions-runner UID
|
||||||
# recognized by the host's nix-daemon as trusted (shared UID namespace)
|
# must be recognized by the host's nix-daemon as trusted (shared
|
||||||
users.users.gitea-actions-runner = {
|
# UID namespace)
|
||||||
uid = gitea-actions-runner-uid;
|
users.users.${cfg.user.name} = {
|
||||||
|
uid = cfg.user.uid;
|
||||||
home = "/var/lib/gitea-actions-runner";
|
home = "/var/lib/gitea-actions-runner";
|
||||||
group = "gitea-actions-runner";
|
group = cfg.group.name;
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
createHome = true;
|
createHome = true;
|
||||||
};
|
};
|
||||||
users.groups.gitea-actions-runner.gid = gitea-actions-runner-gid;
|
users.groups.${cfg.group.name}.gid = cfg.group.gid;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -70,10 +70,6 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
# O_O what the fuck did i write this for.... CONCERNING.
|
# O_O what the fuck did i write this for.... CONCERNING.
|
||||||
#
|
|
||||||
# oh because of these types of errors:
|
|
||||||
# Directory "/var/lib/private" already exists, but has mode 0755
|
|
||||||
# that is too permissive (0700 was requested), refusing.
|
|
||||||
systemd.tmpfiles.settings."10-varlibprivate" = {
|
systemd.tmpfiles.settings."10-varlibprivate" = {
|
||||||
"/var/lib/private" = {
|
"/var/lib/private" = {
|
||||||
z.group = "root";
|
z.group = "root";
|
||||||
@@ -82,13 +78,6 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Workaround for https://github.com/nix-community/impermanence/issues/254.
|
|
||||||
systemd.services."systemd-tmpfiles-resetup" = {
|
|
||||||
serviceConfig = {
|
|
||||||
RemainAfterExit = lib.mkForce false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Permit members of `cfg.persistGroupName` to read, write, and execute
|
# Permit members of `cfg.persistGroupName` to read, write, and execute
|
||||||
# /persist.
|
# /persist.
|
||||||
systemd.tmpfiles.settings."10-persist" = {
|
systemd.tmpfiles.settings."10-persist" = {
|
||||||
|
|||||||
@@ -24,36 +24,75 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
boot.initrd.postDeviceCommands = ''
|
boot.initrd.systemd = {
|
||||||
# Mount the btrfs filesystem.
|
services.impermance-btrfs-rolling-root = {
|
||||||
mkdir -p /btrfs-tmp
|
description = "Archiving existing BTRFS root subvolume and creating a fresh one";
|
||||||
mount -t btrfs "${cfg.device}" /btrfs-tmp
|
unitConfig.DefaultDependencies = false;
|
||||||
|
serviceConfig = {
|
||||||
|
# The script needs to run to completion before this service
|
||||||
|
# is done
|
||||||
|
Type = "oneshot";
|
||||||
|
# NOTE: to be able to see errors in your script do this
|
||||||
|
StandardOutput = "journal+console";
|
||||||
|
StandardError = "journal+console";
|
||||||
|
};
|
||||||
|
# This service is required for boot to succeed
|
||||||
|
requiredBy = ["initrd.target"];
|
||||||
|
# Should complete before any file systems are mounted
|
||||||
|
before = ["sysroot.mount"];
|
||||||
|
|
||||||
# If the moribund subvolume exists, send it do 'death row' (old-roots),
|
# Wait until the root device is available
|
||||||
# where live for about three days before its eventual deletion.
|
# If you're altering a different device, specify its device unit explicitly.
|
||||||
if [[ -e "/btrfs-tmp/${cfg.subvolume}" ]]; then
|
# see: systemd-escape(1)
|
||||||
mkdir -p /btrfs-tmp/old-roots
|
requires = ["initrd-root-device.target"];
|
||||||
timestamp=$(date --date="@$(stat -c %Y "/btrfs-tmp/${cfg.subvolume}")" "+%Y-%m-%-d_%H:%M:%S")
|
after = [
|
||||||
mv "/btrfs-tmp/${cfg.subvolume}" "/btrfs-tmp/old-roots/$timestamp"
|
"initrd-root-device.target"
|
||||||
fi
|
# Allow hibernation to resume before trying to alter any data
|
||||||
|
"local-fs-pre.target"
|
||||||
|
];
|
||||||
|
|
||||||
delete_subvolume_recursively() {
|
script = ''
|
||||||
IFS=$'\n'
|
# Mount the btrfs filesystem.
|
||||||
for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do
|
mkdir -p /btrfs-tmp
|
||||||
delete_subvolume_recursively "/btrfs-tmp/$i"
|
mount -t btrfs "${cfg.device}" /btrfs-tmp
|
||||||
done
|
|
||||||
btrfs subvolume delete "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Delete previous roots older than three days.
|
# If the moribund subvolume exists, send it do 'death row' (old-roots),
|
||||||
# TODO: I would prefer archiving the last N previous roots, rather than
|
# where live for about three days before its eventual deletion.
|
||||||
# time.
|
if [[ -e "/btrfs-tmp/${cfg.subvolume}" ]]; then
|
||||||
for i in $(find /btrfs-tmp/old-roots/ -maxdepth 1 -mtime +3); do
|
mkdir -p /btrfs-tmp/old-roots
|
||||||
delete_subvolume_recursively "$i"
|
timestamp=$(date --date="@$(stat -c %Y "/btrfs-tmp/${cfg.subvolume}")" "+%Y-%m-%-d_%H:%M:%S")
|
||||||
done
|
mv "/btrfs-tmp/${cfg.subvolume}" "/btrfs-tmp/old-roots/$timestamp"
|
||||||
|
fi
|
||||||
|
|
||||||
btrfs subvolume create "/btrfs-tmp/${cfg.subvolume}"
|
delete_subvolume_recursively() {
|
||||||
umount /btrfs-tmp
|
IFS=$'\n'
|
||||||
'';
|
for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do
|
||||||
|
delete_subvolume_recursively "/btrfs-tmp/$i"
|
||||||
|
done
|
||||||
|
btrfs subvolume delete "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Delete previous roots older than three days.
|
||||||
|
# TODO: I would prefer archiving the last N previous roots, rather than
|
||||||
|
# time.
|
||||||
|
for i in $(find /btrfs-tmp/old-roots/ -maxdepth 1 -mtime +3); do
|
||||||
|
delete_subvolume_recursively "$i"
|
||||||
|
done
|
||||||
|
|
||||||
|
btrfs subvolume create "/btrfs-tmp/${cfg.subvolume}"
|
||||||
|
umount /btrfs-tmp
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
# NOTE: path = [...]; doesnt work for initrd, use full paths in
|
||||||
|
# your script or extraBin
|
||||||
|
extraBin = {
|
||||||
|
"mkdir" = "${pkgs.coreutils}/bin/mkdir";
|
||||||
|
"date" = "${pkgs.coreutils}/bin/date";
|
||||||
|
"stat" = "${pkgs.coreutils}/bin/stat";
|
||||||
|
"mv" = "${pkgs.coreutils}/bin/mv";
|
||||||
|
"find" = "${pkgs.findutils}/bin/find";
|
||||||
|
"btrfs" = "${pkgs.btrfs-progs}/bin/btrfs";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ in {
|
|||||||
package = pkgs.niri-unstable;
|
package = pkgs.niri-unstable;
|
||||||
};
|
};
|
||||||
|
|
||||||
security.pam.services.swaylock = {};
|
# security.pam.services.swaylock = {};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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="
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -8,8 +8,9 @@ let users = builtins.readDir ../users;
|
|||||||
inputs.self.homeManagerModules.default
|
inputs.self.homeManagerModules.default
|
||||||
|
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
inputs.sops-nix.homeManagerModules.sops
|
||||||
inputs.impermanence.homeManagerModules.impermanence
|
|
||||||
inputs.nixcord.homeModules.nixcord
|
inputs.nixcord.homeModules.nixcord
|
||||||
|
inputs.dms.homeModules.dank-material-shell
|
||||||
|
inputs.dms.homeModules.niri
|
||||||
|
|
||||||
# Directory name should always match username.
|
# Directory name should always match username.
|
||||||
({ ... }: { home.username = username; })
|
({ ... }: { home.username = username; })
|
||||||
|
|||||||
@@ -37,6 +37,8 @@ let
|
|||||||
inputs.niri.nixosModules.niri
|
inputs.niri.nixosModules.niri
|
||||||
inputs.stylix.nixosModules.stylix
|
inputs.stylix.nixosModules.stylix
|
||||||
inputs.nixarr.nixosModules.default
|
inputs.nixarr.nixosModules.default
|
||||||
|
inputs.dms.nixosModules.greeter
|
||||||
|
inputs.dms.nixosModules.dank-material-shell
|
||||||
|
|
||||||
# Directory name should always match host name.
|
# Directory name should always match host name.
|
||||||
({ ... }: { networking.hostName = hostName; })
|
({ ... }: { networking.hostName = hostName; })
|
||||||
@@ -59,6 +61,7 @@ let
|
|||||||
pkgs = nixpkgs;
|
pkgs = nixpkgs;
|
||||||
};
|
};
|
||||||
inherit inputs system;
|
inherit inputs system;
|
||||||
|
host = hostName;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|||||||
+4
-4
File diff suppressed because one or more lines are too long
+70
-50
@@ -18,59 +18,79 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
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 = {
|
||||||
xdg.enable = true;
|
documentation.enable = true;
|
||||||
steam.enable = true;
|
xdg.enable = true;
|
||||||
zotero.enable = true;
|
steam.enable = on "sydpc";
|
||||||
openutau.enable = true;
|
zotero.enable = true;
|
||||||
slippi.enable = true;
|
slippi.enable = on "sydpc";
|
||||||
desktop-environment.enable = true;
|
desktop-environment.enable = true;
|
||||||
clojure.enable = true;
|
clojure.enable = true;
|
||||||
capitaine-cursors.enable = true;
|
capitaine-cursors.enable = true;
|
||||||
terraria.enable = true;
|
terraria.enable = on "sydpc";
|
||||||
kdeconnect.enable = true;
|
kdeconnect.enable = true;
|
||||||
qalculate.enable = true;
|
guile.enable = true;
|
||||||
sops = {
|
qalculate.enable = true;
|
||||||
enable = true;
|
toki-pona.enable = true;
|
||||||
keyFile = "/persist/private-keys/age/crumb";
|
prism-launcher.enable = on "sydpc";
|
||||||
};
|
flatpak.enable = on "sydpc";
|
||||||
# Personal configurations.
|
drawing-tablet.enable = on "sydpc";
|
||||||
users.crumb = {
|
easyeffects.enable = on "sydpc";
|
||||||
bash.enable = true;
|
ryujinx.enable = false;
|
||||||
direnv.enable = true;
|
haskell.enable = true;
|
||||||
git.enable = true;
|
kerbal-space-program.enable = on "sydpc";
|
||||||
nvim.enable = true;
|
libreoffice.enable = on "fruitbook";
|
||||||
readline.enable = true;
|
hydrus.enable = on "sydpc";
|
||||||
niri.enable = true;
|
sops = {
|
||||||
firefox.enable = true;
|
enable = true;
|
||||||
ghostty.enable = true;
|
keyFile = "/persist/private-keys/age/crumb";
|
||||||
# waybar.enable = true;
|
};
|
||||||
tf2.enable = true;
|
# Personal configurations.
|
||||||
fcitx5.enable = true;
|
users.crumb = {
|
||||||
anki.enable = true;
|
direnv.enable = true;
|
||||||
mumble.enable = true;
|
git.enable = true;
|
||||||
};
|
nvim.enable = true;
|
||||||
users.msyds = {
|
readline.enable = true;
|
||||||
hunspell.enable = true;
|
niri.enable = true;
|
||||||
emacs.enable = true;
|
firefox.enable = true;
|
||||||
impermanence.enable = true;
|
ghostty.enable = true;
|
||||||
syncthing.enable = true;
|
# waybar.enable = true;
|
||||||
fonts.enable = true;
|
tf2.enable = true;
|
||||||
dank-material-shell.enable = true;
|
fcitx5.enable = true;
|
||||||
|
anki.enable = true;
|
||||||
|
mumble.enable = true;
|
||||||
|
rnote.enable = on "sydpc";
|
||||||
|
};
|
||||||
|
users.msyds = {
|
||||||
|
discord.enable = true;
|
||||||
|
bash.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";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ gitlab-oauth: ENC[AES256_GCM,data:1THznoGRZmq7BkisZoGa0ZiPG7aSmkV06SY=,iv:Gq6UPH
|
|||||||
anki-username: ENC[AES256_GCM,data:cUWaxIc=,iv:I2wy54406Xe4tVHIhIFZqbezepc2wtp2M15T7ES9zGQ=,tag:FiU2CscHDcNv+6S5pODG7w==,type:str]
|
anki-username: ENC[AES256_GCM,data:cUWaxIc=,iv:I2wy54406Xe4tVHIhIFZqbezepc2wtp2M15T7ES9zGQ=,tag:FiU2CscHDcNv+6S5pODG7w==,type:str]
|
||||||
anki-password: ENC[AES256_GCM,data:kXQq1JPjTRpQ4f6/BOFj/gBhUA==,iv:P8MVsmCfyOoEJmyAjBfMSRT6mpkwDUBIzr2UjZmjHOA=,tag:D7KWEpldP/H6CUH7y+5/7Q==,type:str]
|
anki-password: ENC[AES256_GCM,data:kXQq1JPjTRpQ4f6/BOFj/gBhUA==,iv:P8MVsmCfyOoEJmyAjBfMSRT6mpkwDUBIzr2UjZmjHOA=,tag:D7KWEpldP/H6CUH7y+5/7Q==,type:str]
|
||||||
anki-sync-key: ENC[AES256_GCM,data:wvAo92t6oR8PxE5EId/OC+J4GKs/Rp21PSp+uDt72JWFzeWHO6a1KA==,iv:2yU4skxlDuH6smSr5PnPe8ZkWf4gdxKBXQfzPFiZXoA=,tag:7KXl5A4vzRdkWO++LbMb9A==,type:str]
|
anki-sync-key: ENC[AES256_GCM,data:wvAo92t6oR8PxE5EId/OC+J4GKs/Rp21PSp+uDt72JWFzeWHO6a1KA==,iv:2yU4skxlDuH6smSr5PnPe8ZkWf4gdxKBXQfzPFiZXoA=,tag:7KXl5A4vzRdkWO++LbMb9A==,type:str]
|
||||||
|
jellyfin-rpc-api-key: ENC[AES256_GCM,data:srElaGG1JVWwDb+xA4iG9ew6oFUEHSd6AlLUXN8iA3c=,iv:z1UQshfWW6Q7GK8Ff8GK3OD7z0Aa5kePVRPLlUsDmF0=,tag:+csa3asD+0qthO05uZqK0A==,type:str]
|
||||||
sops:
|
sops:
|
||||||
age:
|
age:
|
||||||
- recipient: age1qayk0d0f765v57pedm7mtau6qkmv8rh6jtaqm40g5g9armaty4jqc0v0y2
|
- recipient: age1qayk0d0f765v57pedm7mtau6qkmv8rh6jtaqm40g5g9armaty4jqc0v0y2
|
||||||
@@ -28,7 +29,7 @@ sops:
|
|||||||
VVBqSEM2bVFBU0M5YzZBQWIwUmVXUXMKvWb57Rc+rO5M8Pf7lvbSjuZB4FrHgT3A
|
VVBqSEM2bVFBU0M5YzZBQWIwUmVXUXMKvWb57Rc+rO5M8Pf7lvbSjuZB4FrHgT3A
|
||||||
uBQHH3wpv0BVVzL8tucPnwNxDnwpWvFxxwNVy/rtfs6y6HPu6fuOsA==
|
uBQHH3wpv0BVVzL8tucPnwNxDnwpWvFxxwNVy/rtfs6y6HPu6fuOsA==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2025-11-30T00:32:08Z"
|
lastmodified: "2026-03-06T21:55:34Z"
|
||||||
mac: ENC[AES256_GCM,data:9c3xcwnGSoi/IpDHBJ922kd9Xh4EodOL/1B1epdCIB/N3Pu07wVMGSGm97e2uqczbFgebXc/Oz1Gpr9hdxNpvxlldXQgqPhZIlk6Pfelf6E0WcC5+QOE1ZQ6MTsgAE5RjFy2fctphXJi/Z9VuTcSgakSYuy+0QbPCfuwL5CaTVk=,iv:8qwCqjVALlaxJCAfZURpt7c6/3b9KKar7mtsYb3/rlw=,tag:utHZLe3FojSmyvBBIzfY2A==,type:str]
|
mac: ENC[AES256_GCM,data:kkEZI0Of8KUpGJRoGAD3gXCtNz44Sucki4Fk2lQ55o+IcBYtxJwwpoQH3usihSigaPquee4XAxhdlWyHt7S46Q9dTFXjT9IUpnxrlG0ZQOnTRbdRlT2qcxLSlghdDWRuezhjT5KWFqlq4Av85KmL7kiB7LAkPVk6EERHJuFsWR8=,iv:Y3wd4hP1ui3rtXe++3j1oAKYbd8V4cc0SBLOlcyl5Zc=,tag:/FK8R28WAWDhWImMnm6wQg==,type:str]
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.11.0
|
version: 3.12.1
|
||||||
|
|||||||
Reference in New Issue
Block a user