91 Commits

Author SHA1 Message Date
msyds 3ad33b734a chore: bump all
build / build (push) Failing after 53s
2026-06-25 05:55:08 -06:00
msyds ce31e48d42 chore(slskd): expand bio
build / build (push) Successful in 1m37s
2026-06-07 13:23:11 -06:00
msyds 3de9857763 feat(emacs): rust lsp 2026-06-07 13:22:45 -06:00
msyds 2e6b32dc82 feat(emacs): c lsp 2026-06-07 13:22:35 -06:00
msyds a18df3542d feat(hydrus): init 2026-06-07 13:22:25 -06:00
msyds 24b175da51 chore(fruitbook): disable blueman
build / build (push) Successful in 3m8s
2026-06-07 12:22:41 -06:00
msyds febe4d6eae feat(emacs): auctex 2026-06-07 12:22:41 -06:00
msyds 1e1475d86d feat(libreoffice): init 2026-06-07 12:22:41 -06:00
msyds b6c5279ec8 feat(emacs): basic scheme config 2026-06-07 12:22:16 -06:00
msyds 419c8519b5 feat(easyeffects): kissin the mic
build / build (push) Successful in 2m43s
2026-05-25 18:11:57 -06:00
msyds 3c40029892 ksp??? 2026-05-23 14:35:02 -06:00
msyds 50ac93c727 feat(emacs): add cancel latex package
build / build (push) Successful in 3m12s
2026-05-12 06:50:08 -06:00
msyds ef2f6041fd fix(emacs): provide flycheck
build / build (push) Successful in 5m53s
2026-05-09 19:09:46 -06:00
msyds cb4164f1de feat(emacs): flycheck
build / build (push) Successful in 2m35s
2026-05-07 11:04:21 -06:00
msyds f25b53bbfd feat(emacs): open hoogle in browser 2026-05-07 11:03:58 -06:00
msyds 664b43f22a feat(emacs): handle lsp docs 2026-05-07 09:38:22 -06:00
msyds 539cff1b68 feat(haskell): ghc-with-packages
build / build (push) Successful in 2m59s
2026-05-01 15:08:53 -06:00
msyds eaa2de3e93 fix(emacs): lsp typo
build / build (push) Successful in 2m47s
2026-04-29 19:44:48 -06:00
msyds 2073d0eacd feat(ryujinx): init 2026-04-29 19:44:16 -06:00
msyds a900fe5664 feat(firefox): {en,ko}wikt aliases
build / build (push) Successful in 3m20s
2026-04-29 09:30:08 -06:00
msyds 1dbd1d78ce feat(anki): anki-connect
build / build (push) Successful in 3m45s
2026-04-28 10:47:39 -06:00
msyds bec92689f7 fix(emacs): haskell cache
build / build (push) Successful in 4m10s
2026-04-24 12:49:35 -06:00
msyds 087d5efaaf feat(emacs): qbe 2026-04-24 12:48:16 -06:00
msyds 148e9019f4 feat(emacs): haskell 2026-04-24 12:47:51 -06:00
msyds 05fd169c91 fix(emacs): syd-insert-file-name accurately label colliding paths 2026-04-23 17:08:12 -06:00
msyds 312fa1e42c feat(emacs): syd-insert-file-name classpath-relative 2026-04-23 17:08:12 -06:00
msyds a55570bbf6 feat(emacs): customisable syd-insert-file-name 2026-04-23 17:08:12 -06:00
msyds a35e9b63c1 feat(emacs): add magic requires for babashka.{fs,process}
build / build (push) Successful in 2m39s
2026-04-19 14:14:46 -06:00
msyds b7d32b5bc7 feat(easyeffects): init
build / build (push) Successful in 2m33s
2026-04-14 09:53:56 -06:00
msyds 9979cf0497 chore(msyds): enable zathura
build / build (push) Successful in 3m46s
2026-04-11 10:29:24 -06:00
msyds b7bb888e98 feat(zathura): init module 2026-04-11 10:25:49 -06:00
msyds 8bd1250ab4 fix(emacs): prevent garbage from entering vc 2026-04-11 10:25:16 -06:00
msyds b4a26e1713 feat(tf2): enable IPC stuff 2026-04-11 10:18:56 -06:00
msyds 3c1b5191da feat(emacs): command to import systemd env 2026-04-11 10:16:35 -06:00
msyds ed18e5f850 fix(clojure): persist gitlibs 2026-04-10 16:47:32 -06:00
msyds a9f95a1675 feat(emacs): 파일 이름을 넣음
build / build (push) Successful in 2m53s
2026-04-02 08:59:03 -06:00
msyds ecfb399127 refactor(niri,xwayland-satellite): split out xwayland-satellite
build / build (push) Successful in 6s
해결 #5
2026-03-31 14:45:56 -06:00
msyds bf834370e5 chore(sydpc): qemu은 끔
build / build (push) Successful in 1m40s
2026-03-31 14:42:46 -06:00
msyds 5dc4d57d7e fix(emacs): coerce makeWrapper args
build / build (push) Successful in 2m11s
2026-03-31 13:00:48 -06:00
msyds 17fb45606b chore(msyds): enable prism, flatpak on sydpc 2026-03-31 13:00:48 -06:00
msyds 1825424cbb feat: gtav battleye workaround 2026-03-31 13:00:48 -06:00
msyds af08b2f1b1 fix(emacs): use fcitx5-remote correctly 2026-03-31 13:00:48 -06:00
msyds 7bdbb985da fix(emacs): auctex tex-view-selection 2026-03-31 13:00:48 -06:00
msyds 5a87805660 fix(emacs): add syd/project require 2026-03-31 13:00:48 -06:00
msyds 1f0c248b24 fix(emacs): set eshell aliases file envvar
build / build (push) Failing after 1m17s
2026-03-31 11:47:47 -06:00
msyds 31b61ddd73 feat(prism-launcher): init
build / build (push) Successful in 2m5s
2026-03-30 18:27:54 -06:00
msyds c0b60ff0e4 feat(emacs): toki pona ligatures
build / build (push) Successful in 2m40s
2026-03-30 13:20:18 -06:00
msyds 9ffa14e536 fix(jellyfin-rpc): systemd unit dependencies
build / build (push) Successful in 2m44s
2026-03-29 19:05:17 -06:00
msyds 8c41e3b8df feat(gitea): set default merge style
build / build (push) Successful in 6s
2026-03-28 14:21:40 -06:00
msyds a9ac5ae964 feat(gitea): 도기 보나와 한국어 2026-03-28 14:21:40 -06:00
msyds 258c3edeab fix(emacs): o kepeken ilo Syd/handle
build / build (push) Successful in 1m14s
2026-03-26 10:31:37 -06:00
msyds 5d5036a83c feat(emacs): eshell aliases from home.shellAliases
build / build (push) Successful in 1m52s
2026-03-26 10:22:23 -06:00
msyds da60eaa936 feat(bash): alias completions 2026-03-26 09:19:52 -06:00
msyds c551e8f86e refactor: move crumb bash to msyds 2026-03-26 08:22:27 -06:00
msyds de5b56d1b1 feat: markdown prose mode
build / build (push) Successful in 3m4s
2026-03-24 20:00:08 -06:00
msyds cbb7f3c7a7 fix: mark compilation buffer as popup 2026-03-24 19:59:42 -06:00
msyds d0b5b42dca fix(fruitbook): disable bluetooth (since DMS provides it)
build / build (push) Failing after 22m33s
2026-03-23 11:36:43 -06:00
msyds 7ea2a79aca fix(kdeconnect): o awen e ijo Kde-connect State
build / build (push) Successful in 1m43s
closes #18
2026-03-22 02:27:45 -06:00
msyds 182198230a feat(gitea): 이메일 더함
build / build (push) Successful in 6s
2026-03-22 02:23:34 -06:00
msyds 36be01d80e fix(emacs): o lon e fcitx-remote-command
build / build (push) Successful in 1m23s
2026-03-22 01:31:22 -06:00
msyds 148597d593 refactor(fruitbook): niri 대신에 dms로 잠금
build / build (push) Successful in 1m47s
2026-03-22 01:27:45 -06:00
msyds 087f015340 fix(fruitbook): 전지 그림을 보임
그런데 한 거만 해야 돼: upower을 켰어.
2026-03-22 01:18:52 -06:00
msyds ab7d28ac0f fix(fruitbook): 노트북 닫을 때 화면을 잠금
build / build (push) Successful in 1m37s
2026-03-22 00:50:51 -06:00
msyds a913e4f5c7 fix(toki-pona): nasin pini la kepeken e sitelen pona 2026-03-22 00:45:46 -06:00
msyds b31bcae064 fix(ci): o ante e pali mute kama pali lili
build / build (push) Successful in 1m14s
2026-03-22 00:15:01 -06:00
msyds 2146717898 chore: sydpc밖에 steam, slippi, openutau를 끔
build / build-sydpc (push) Successful in 2m10s
build / build-fruitbook (push) Successful in 36s
build / build-deertopia (push) Successful in 41s
2026-03-21 23:55:41 -06:00
msyds 584489c853 fix(fruitbook): nixos-modules를 빠른 선풍기 없이 켬 2026-03-21 23:55:22 -06:00
msyds a3ead883fe fix(emacs): clojure-refactor mode hook
build / build-sydpc (push) Successful in 2m4s
build / build-fruitbook (push) Successful in 24s
build / build-deertopia (push) Successful in 33s
2026-03-20 18:17:49 -06:00
msyds 86b80e887c feat(emacs): fcitx
build / build-sydpc (push) Successful in 27s
build / build-fruitbook (push) Successful in 22s
build / build-deertopia (push) Successful in 25s
2026-03-17 12:45:20 -06:00
msyds 178f3b9c31 feat(toki-pona): apply in ghostty
build / build-sydpc (push) Successful in 2m5s
build / build-fruitbook (push) Successful in 29s
build / build-deertopia (push) Successful in 42s
2026-03-17 11:43:54 -06:00
msyds 425f502bba fix(emacs): EXPAND TABS 2026-03-17 11:43:32 -06:00
msyds 077a709f65 fix(fruitbook): temporarily disable nixos-hardware
my laptop fans were going wild
2026-03-17 11:42:54 -06:00
msyds 989aaa37da feat(fruitbook): nixos-hardware
build / build-sydpc (push) Successful in 4s
build / build-fruitbook (push) Successful in 3s
build / build-deertopia (push) Successful in 3s
2026-03-16 18:31:32 -06:00
msyds 02a3702e8e fix(bepasty): workaround for nixpkgs#500538
build / build-sydpc (push) Successful in 34s
build / build-fruitbook (push) Successful in 24s
build / build-deertopia (push) Successful in 36s
https://github.com/NixOS/nixpkgs/pull/500538
2026-03-16 18:11:58 -06:00
msyds 2905839509 refactor(bepasty): no with lib 2026-03-16 16:50:32 -06:00
msyds df0062f89b feat(toki-pona): spellcheck
build / build-sydpc (push) Successful in 2m5s
build / build-fruitbook (push) Successful in 43s
build / build-deertopia (push) Failing after 43s
2026-03-15 18:09:56 -06:00
msyds b13a985d87 refactor(toki-pona): all in one module 2026-03-15 18:09:38 -06:00
msyds dc1a34de65 chore: bump nixpkgs, hm 2026-03-15 18:07:13 -06:00
msyds 8010658111 fix(emacs): don't replace roam: links
build / build-sydpc (push) Successful in 31s
build / build-fruitbook (push) Successful in 25s
build / build-deertopia (push) Failing after 34s
2026-03-14 17:29:35 -06:00
msyds ef03e80d2c feat(emacs): clj-refactor
build / build-sydpc (push) Successful in 29s
build / build-deertopia (push) Has been cancelled
build / build-fruitbook (push) Has been cancelled
2026-03-14 17:26:03 -06:00
msyds 3788f7027e feat(emacs): toki pona fonts
build / build-deertopia (push) Failing after 38s
build / build-sydpc (push) Successful in 43s
build / build-fruitbook (push) Successful in 29s
2026-03-14 17:25:45 -06:00
msyds 56f8f48e2b feat(toki-pona): add sitelen seli kiwen 2026-03-14 17:25:30 -06:00
msyds 69484833c8 feat(discord): voice message plugin
build / build-sydpc (push) Successful in 1m56s
build / build-fruitbook (push) Successful in 29s
build / build-deertopia (push) Failing after 36s
2026-03-14 13:37:03 -06:00
msyds c52bd6ae85 feat(toki-pona): init
build / build-sydpc (push) Successful in 4s
build / build-fruitbook (push) Successful in 3s
build / build-deertopia (push) Failing after 5s
2026-03-12 08:41:24 -06:00
msyds ca6fd41f35 chore(sioyek): don't use smooth movement (cause it sucks)
build / build-sydpc (push) Successful in 1m39s
build / build-fruitbook (push) Successful in 22s
build / build-deertopia (push) Failing after 46s
2026-03-08 14:35:28 -06:00
msyds f0841fdd0d fix(discord): fix jellyfin-rpc dependencies
build / build-sydpc (push) Successful in 1m48s
build / build-fruitbook (push) Successful in 29s
build / build-deertopia (push) Failing after 51s
- use a systemd oneshot service again lol.
- fix dependencies to run jellyfin-rpc-configure ONCE, and not
  repeatedly each time jellyfin-rpc starts.
2026-03-08 12:04:06 -06:00
msyds d5a2f4026a feat(documentation): init
build / build-sydpc (push) Successful in 43s
build / build-fruitbook (push) Successful in 31s
build / build-deertopia (push) Failing after 41s
2026-03-07 21:00:00 -07:00
msyds 8684c3b92c fix(discord): configure jellyfin-rpc on activation rather than before service 2026-03-07 20:59:59 -07:00
msyds a44b435a5e bump home-manager 2026-03-07 19:41:50 -07:00
msyds 24d6a52f4f feat(emacs): auctex
build / build-sydpc (push) Failing after 3s
build / build-fruitbook (push) Failing after 4s
build / build-deertopia (push) Failing after 4s
2026-03-07 15:58:36 -07:00
msyds e7c17a948a fix(emacs): make default application
build / build-sydpc (push) Failing after 3s
build / build-fruitbook (push) Failing after 3s
build / build-deertopia (push) Failing after 3s
2026-03-07 15:58:01 -07:00
83 changed files with 3375 additions and 986 deletions
+1 -13
View File
@@ -4,26 +4,14 @@ on: [push]
jobs:
build-sydpc:
build:
runs-on: nixos
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: build sydpc
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
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
run: nix build -L .#nixosConfigurations.deertopia.config.system.build.toplevel
Generated
+299 -220
View File
@@ -38,11 +38,11 @@
"base16-helix": {
"flake": false,
"locked": {
"lastModified": 1760703920,
"narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=",
"lastModified": 1776754714,
"narHash": "sha256-E3OAK27smtATTmX45uoTSRsVD+Y+ZiVVfgM/tjpbtYg=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "d646af9b7d14bff08824538164af99d0c521b185",
"rev": "4d508123037e7851ad36ebf7d9c48b0e9e1eb581",
"type": "github"
},
"original": {
@@ -76,11 +76,11 @@
]
},
"locked": {
"lastModified": 1762095388,
"narHash": "sha256-7Q8LtcvKWHbP8znARRTOY2tpU5WoV6FHwp5TZJOI8Us=",
"lastModified": 1781648708,
"narHash": "sha256-i9ggnF31Uq3tpdp6ZMe7YAOxjTfkB7S4WjSBfXV0uMk=",
"owner": "9001",
"repo": "copyparty",
"rev": "ac085b8149ff50e03d260128596dd130ed1c7cae",
"rev": "d33d11321f823f58a9109298ef886044f63b02ce",
"type": "github"
},
"original": {
@@ -94,11 +94,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1741786315,
"narHash": "sha256-VT65AE2syHVj6v/DGB496bqBnu1PXrrzwlw07/Zpllc=",
"lastModified": 1781152676,
"narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=",
"owner": "nix-community",
"repo": "disko",
"rev": "0d8c6ad4a43906d14abd5c60e0ffe7b587b213de",
"rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1",
"type": "github"
},
"original": {
@@ -107,17 +107,39 @@
"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": {
"inputs": {
"nixpkgs": "nixpkgs_2",
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1742838319,
"narHash": "sha256-daVj+uHpHvndui9DOxytAjVP7Kx8lG3/W3KPNR0EG/0=",
"lastModified": 1782325883,
"narHash": "sha256-yiZgLJdCJyxxvYo4vvEk9B9Q5gbruM/KTxcw7/NjuGQ=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "cb257a1d672f75f2f3e375fe1080216131dd1fb0",
"rev": "fcfa8883e001877fc0d4592244596f9e76f83b95",
"type": "github"
},
"original": {
@@ -129,11 +151,11 @@
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1764873433,
"narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=",
"lastModified": 1779670703,
"narHash": "sha256-UdfMivNMwCCqQsYDg5pSz8X2IOaOrIZLIIy+Bg3CO2o=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92",
"rev": "942159e73e40bf785816f7f1f5feed9ef3d7c8f9",
"type": "github"
},
"original": {
@@ -161,11 +183,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1772408722,
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
@@ -203,11 +225,11 @@
]
},
"locked": {
"lastModified": 1767609335,
"narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=",
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "250481aafeb741edfe23d29195671c19b36b6dca",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
@@ -286,20 +308,18 @@
"gnome-shell": {
"flake": false,
"locked": {
"host": "gitlab.gnome.org",
"lastModified": 1767737596,
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
"type": "gitlab"
"type": "github"
},
"original": {
"host": "gitlab.gnome.org",
"owner": "GNOME",
"ref": "gnome-49",
"repo": "gnome-shell",
"type": "gitlab"
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
"type": "github"
}
},
"home-manager": {
@@ -307,11 +327,32 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1772807318,
"narHash": "sha256-Qjw6ILt8cb2HQQpCmWNLMZZ63wEo1KjTQt+1BcQBr7k=",
"lastModified": 1782233665,
"narHash": "sha256-h/xOtrByoA/Ak1lWHn0O1lVZz4qWYbwOSLQ8YSwQO0I=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "daa2c221320809f5514edde74d0ad0193ad54ed8",
"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"
},
"original": {
@@ -321,12 +362,16 @@
}
},
"impermanence": {
"inputs": {
"home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1737831083,
"narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=",
"lastModified": 1769548169,
"narHash": "sha256-03+JxvzmfwRu+5JafM0DLbxgHttOQZkUtDWBmeUkN8Y=",
"owner": "nix-community",
"repo": "impermanence",
"rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170",
"rev": "7b1d382faf603b6d264f58627330f9faa5cba149",
"type": "github"
},
"original": {
@@ -339,17 +384,17 @@
"inputs": {
"niri-stable": "niri-stable",
"niri-unstable": "niri-unstable",
"nixpkgs": "nixpkgs_4",
"nixpkgs": "nixpkgs_5",
"nixpkgs-stable": "nixpkgs-stable_2",
"xwayland-satellite-stable": "xwayland-satellite-stable",
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1772698812,
"narHash": "sha256-7+K/VaZ7TXUeUGSYshg8wC3UsRZHB+M4x6r38Q1B79c=",
"lastModified": 1781795508,
"narHash": "sha256-VKrApQ3WCkEe9D8DbaeFjGqLAh7zqYGYjbQYtY5ikxc=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "5641625ef950f024e3e0e3f38bb91f876290c0be",
"rev": "493ce1e33e72f86312584f331c8cf52b3432ec99",
"type": "github"
},
"original": {
@@ -378,11 +423,11 @@
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1772207631,
"narHash": "sha256-Jkkg+KqshFO3CbTszVVpkKN2AOObYz+wMsM3ONo1z5g=",
"lastModified": 1781781064,
"narHash": "sha256-Ii/koEm/sRyg65qbAQWqEgboSEIhdH0EL4KglAc14p0=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "e708f546153f74acf33eb183b3b2992587a701e5",
"rev": "49fc6117fd6c043adaa2ead316b82db5ed735d36",
"type": "github"
},
"original": {
@@ -420,14 +465,15 @@
"inputs": {
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_5"
"nixpkgs": "nixpkgs_6",
"nixpkgs-nixcord": "nixpkgs-nixcord"
},
"locked": {
"lastModified": 1772813986,
"narHash": "sha256-x0fD+LL+O99p36c2UnjnHvVq4/7TvGH/8G5lTNIJBCo=",
"lastModified": 1782320240,
"narHash": "sha256-BZTrprmdOa0CZPhpMdKcTuYLhjaP2zhEORVPSrUfRV4=",
"owner": "KaylorBen",
"repo": "nixcord",
"rev": "e433a2919eb9b3a8c85ab3017c08685816e63a66",
"rev": "f775e367ee683756206df5bb860086eabbea07d1",
"type": "github"
},
"original": {
@@ -436,13 +482,31 @@
"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": {
"locked": {
"lastModified": 1741402956,
"narHash": "sha256-y2hByvBM03s9T2fpeLjW6iprbxnhV9mJMmSwCHc41ZQ=",
"lastModified": 1780930886,
"narHash": "sha256-rppURzHviaQN131F+nLiLdGfcb0uCd9gGP0E5+iw9MI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ed0b1881565c1ffef490c10d663d4f542031dad3",
"rev": "8c3cede7ddc26bd659d2d383b5610efbd2c7a16e",
"type": "github"
},
"original": {
@@ -454,11 +518,11 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1772328832,
"narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=",
"lastModified": 1777168982,
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742",
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
"type": "github"
},
"original": {
@@ -467,29 +531,45 @@
"type": "github"
}
},
"nixpkgs-stable": {
"nixpkgs-nixcord": {
"locked": {
"lastModified": 1742751704,
"narHash": "sha256-rBfc+H1dDBUQ2mgVITMGBPI1PGuCznf9rcWX/XIULyE=",
"lastModified": 1780453794,
"narHash": "sha256-bXMRa9VTsHSPXL4Cw8R6JJLQeY3Y/IP4+YJCYVmQ7FY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f0946fa5f1fb876a9dc2e1850d9d3a4e3f914092",
"rev": "6b316287bae2ee04c9b93c8c858d930fd07d7338",
"type": "github"
},
"original": {
"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",
"type": "github"
}
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1772598333,
"narHash": "sha256-YaHht/C35INEX3DeJQNWjNaTcPjYmBwwjFJ2jdtr+5U=",
"lastModified": 1781509190,
"narHash": "sha256-uJZs9Di8I6ciTp6jiojj0HzlNpBkud8ax5aT/O5aJkw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fabb8c9deee281e50b1065002c9828f2cf7b2239",
"rev": "d6df3513510aa548c83868fd22bfddd0a8c0a0d4",
"type": "github"
},
"original": {
@@ -501,11 +581,27 @@
},
"nixpkgs_10": {
"locked": {
"lastModified": 1750386251,
"narHash": "sha256-1ovgdmuDYVo5OUC5NzdF+V4zx2uT8RtsgZahxidBTyw=",
"lastModified": 1780243769,
"narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=",
"owner": "NixOS",
"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"
},
"original": {
@@ -515,7 +611,7 @@
"type": "github"
}
},
"nixpkgs_11": {
"nixpkgs_12": {
"locked": {
"lastModified": 1743568003,
"narHash": "sha256-ZID5T65E8ruHqWRcdvZLsczWDOAWIE7om+vQOREwiX0=",
@@ -533,11 +629,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1742669843,
"narHash": "sha256-G5n+FOXLXcRx+3hCJ6Rt6ZQyF1zqQ0DL0sWAMn2Nk0w=",
"lastModified": 1781577229,
"narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1e5b653dff12029333a6546c11e108ede13052eb",
"rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
"type": "github"
},
"original": {
@@ -549,31 +645,31 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1772542754,
"narHash": "sha256-WGV2hy+VIeQsYXpsLjdr4GvHv5eECMISX1zKLTedhdg=",
"lastModified": 1781607440,
"narHash": "sha256-rxO+uc/KFbSJp+pgyXRuAX6QlG9hJdnt0BXpEQRXY+U=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8c809a146a140c5c8806f13399592dbcb1bb5dc4",
"rev": "3e41b24abd260e8f71dbe2f5737d24122f972158",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1772624091,
"narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=",
"owner": "NixOS",
"lastModified": 1768564909,
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "80bdc1e5ce51f56b19791b52b2901187931f5353",
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
"type": "github"
},
"original": {
"owner": "NixOS",
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
@@ -581,59 +677,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1772465433,
"narHash": "sha256-ywy9troNEfpgh0Ee+zaV1UTgU8kYBVKtvPSxh6clYGU=",
"lastModified": 1781577229,
"narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c581273b8d5bdf1c6ce7e0a54da9841e6a763913",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1772736753,
"narHash": "sha256-au/m3+EuBLoSzWUCb64a/MZq6QUtOV8oC0D9tY2scPQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "917fec990948658ef1ccd07cef2a1ef060786846",
"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": 1767767207,
"narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5912c1772a44e31bf1c63c0390b90501e5026886",
"rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
"type": "github"
},
"original": {
@@ -643,13 +691,58 @@
"type": "github"
}
},
"nixpkgs_9": {
"nixpkgs_6": {
"locked": {
"lastModified": 1756819007,
"narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
"lastModified": 1780453794,
"narHash": "sha256-bXMRa9VTsHSPXL4Cw8R6JJLQeY3Y/IP4+YJCYVmQ7FY=",
"owner": "NixOS",
"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"
},
"original": {
@@ -664,15 +757,14 @@
"flake-parts": "flake-parts_2",
"nixpkgs": [
"nixpkgs"
],
"treefmt-nix": "treefmt-nix"
]
},
"locked": {
"lastModified": 1742849190,
"narHash": "sha256-Isnx5t+L/G7AxpUwNvFgPiYc4IcZjdBrg3MIVz1cfnk=",
"lastModified": 1782324423,
"narHash": "sha256-5kuAZdkkvcH5PhgIa3Y1AYiEqMVej0fEdiQ90dyS5zY=",
"owner": "nix-community",
"repo": "NUR",
"rev": "797067d7e3601713a3b43f823248a6232486376c",
"rev": "64d4c632a898a7ef22c72dfe6b33df259b1d4443",
"type": "github"
},
"original": {
@@ -693,11 +785,11 @@
]
},
"locked": {
"lastModified": 1767810917,
"narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=",
"lastModified": 1780281641,
"narHash": "sha256-M/+hUKoKbHXpV0xGVfELbN1Ds1aoe3pL5p5/t46YhVo=",
"owner": "nix-community",
"repo": "NUR",
"rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4",
"rev": "30f9ae2f04174de63ba8bcf3580ca90843b28a01",
"type": "github"
},
"original": {
@@ -706,17 +798,41 @@
"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": {
"inputs": {
"copyparty": "copyparty",
"disko": "disko",
"dms": "dms",
"emacs-overlay": "emacs-overlay",
"home-manager": "home-manager",
"impermanence": "impermanence",
"niri": "niri",
"nixarr": "nixarr",
"nixcord": "nixcord",
"nixpkgs": "nixpkgs_6",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_8",
"nur": "nur",
"sops-nix": "sops-nix",
"stylix": "stylix",
@@ -728,14 +844,14 @@
},
"sops-nix": {
"inputs": {
"nixpkgs": "nixpkgs_7"
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1742700801,
"narHash": "sha256-ZGlpUDsuBdeZeTNgoMv+aw0ByXT2J3wkYw9kJwkAS4M=",
"lastModified": 1782165805,
"narHash": "sha256-478kKQBvK6SYTOdN2h9jhKJv94nbXRbFMfuL1WshErg=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "67566fe68a8bed2a7b1175fdfb0697ed22ae8852",
"rev": "56b24064fdcaedca53553b1a6d607fd23b613a24",
"type": "github"
},
"original": {
@@ -753,25 +869,24 @@
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_3",
"gnome-shell": "gnome-shell",
"nixpkgs": "nixpkgs_8",
"nixpkgs": "nixpkgs_10",
"nur": "nur_2",
"systems": "systems",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1772296853,
"narHash": "sha256-pAtzPsgHRKw/2Kv8HgAjSJg450FDldHPWsP3AKG/Xj0=",
"owner": "danth",
"lastModified": 1782310521,
"narHash": "sha256-vsxcG0i8e4EPfdnhMTKMVzD1825H2vG1BBslzom9wxg=",
"owner": "nix-community",
"repo": "stylix",
"rev": "c4b8e80a1020e09a1f081ad0f98ce804a6e85acf",
"rev": "e084d011e7ee9302aceaaf6c1fc28a9ace09e16a",
"type": "github"
},
"original": {
"owner": "danth",
"owner": "nix-community",
"repo": "stylix",
"type": "github"
}
@@ -779,14 +894,14 @@
"syd-fcitx5-tables": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_9"
"nixpkgs": "nixpkgs_11"
},
"locked": {
"lastModified": 1771615370,
"narHash": "sha256-UD/9fs1GYuwDGqrpKunrwOPrvkahLQ/6eeRy/0ejHNA=",
"lastModified": 1771615497,
"narHash": "sha256-kyh/P0W8Th+AWFFGzVH7fC1pnI/Q6XqQUZoOHbs1S9A=",
"ref": "refs/heads/main",
"rev": "41111bead687315ca1f55a826509234ca2f0e0ce",
"revCount": 8,
"rev": "c515caad2fbbabdcd29b63db7fa11aa4e0400cce",
"revCount": 9,
"type": "git",
"url": "https://git.deertopia.net/msyds/syd-fcitx5-tables"
},
@@ -797,20 +912,22 @@
},
"sydpkgs": {
"inputs": {
"nixpkgs": "nixpkgs_10"
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1767975357,
"narHash": "sha256-MDVh3/aVhkD1bh/r8c0gs9DL4e78CrUbUxOZHWlCwLM=",
"owner": "msyds",
"repo": "sydpkgs",
"rev": "233479ab277d47b1dbda202eafca50e61c659151",
"type": "github"
"lastModified": 1782095156,
"narHash": "sha256-3iWp9s12wje+qV7trS/XhQZVfolXBpTPLdGfOHWkdBs=",
"ref": "refs/heads/main",
"rev": "6450642be3ee1af3b64ff2129e0fa2488f3c2d0e",
"revCount": 43,
"type": "git",
"url": "https://git.deertopia.net/msyds/sydpkgs"
},
"original": {
"owner": "msyds",
"repo": "sydpkgs",
"type": "github"
"type": "git",
"url": "https://git.deertopia.net/msyds/sydpkgs"
}
},
"systems": {
@@ -861,14 +978,14 @@
"tf2-nix": {
"inputs": {
"flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_11"
"nixpkgs": "nixpkgs_12"
},
"locked": {
"lastModified": 1761467191,
"narHash": "sha256-0NHhZztMuw17Tp/HjsGhAtjI4k5Qhg0ZxIkgIA0hHOI=",
"lastModified": 1761857232,
"narHash": "sha256-EvWDkMdmAx9IKYHuIa8bWMu9Fa7KylKNWWAQ57Dr7KA=",
"owner": "msyds",
"repo": "tf2-nix",
"rev": "98673e8d34fbe59e3c5e9f27068a46e6b61ccc60",
"rev": "3afc3e370bfe66d31ef0711dabc90a29fb55940e",
"type": "gitlab"
},
"original": {
@@ -877,23 +994,6 @@
"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": {
"flake": false,
"locked": {
@@ -913,11 +1013,11 @@
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1767710407,
"narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=",
"lastModified": 1777806186,
"narHash": "sha256-PDF0/wObw4nIsSBeXVYLsloXOiphXCgIdsrNcVXguKs=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2",
"rev": "0c94645546f4f3ddac77a1a5fce54eb95bf50795",
"type": "github"
},
"original": {
@@ -929,11 +1029,11 @@
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1767489635,
"narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=",
"lastModified": 1778379944,
"narHash": "sha256-wPDFzMGSlARlw0Sfsn48Q2+jPSfk6N0Ng6BC/d+7Q24=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184",
"rev": "fe0203a198690e71a5ff11e08812a4673de3678d",
"type": "github"
},
"original": {
@@ -945,11 +1045,11 @@
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1767488740,
"narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=",
"lastModified": 1778378178,
"narHash": "sha256-OXPXRIQgGwV77HjYRryOHguh4ALX96jkg+tseLkGgHA=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40",
"rev": "9cd816033ff969415b190722cddf134e78a5665f",
"type": "github"
},
"original": {
@@ -958,34 +1058,13 @@
"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": {
"locked": {
"lastModified": 1742138327,
"narHash": "sha256-Y71Mjej98CjaUKa1ecAIOo0eJ1B3ZVQl2ng6xl7/s9Y=",
"lastModified": 1778182451,
"narHash": "sha256-Bz3n2THDGf90Z9gMqhH/J492prYH8B6RFRlxv/fPBwc=",
"owner": "Maroka-chan",
"repo": "VPN-Confinement",
"rev": "38eeb3bc501900b48d1caf8c52a5b7f2fb7a52c5",
"rev": "cf5bfc4c3559f2e783698b1aa23c165072039a7d",
"type": "github"
},
"original": {
@@ -1035,11 +1114,11 @@
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1772429643,
"narHash": "sha256-M+bAeCCcjBnVk6w/4dIVvXvpJwOKnXjwi/lDbaN6Yws=",
"lastModified": 1781226823,
"narHash": "sha256-28696iIw8uE0ZUyFTtzhEM8xMh85clCYypMxkvUi+sc=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "10f985b84cdbcc3bbf35b3e7e43d1b2a84fa9ce2",
"rev": "8575d0ef55d70f9b4c46b6bffb3accf912217e1e",
"type": "github"
},
"original": {
+12 -2
View File
@@ -4,6 +4,8 @@
inputs = {
disko.url = "github:nix-community/disko";
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";
home-manager.url = "github:nix-community/home-manager";
sops-nix.url = "github:Mic92/sops-nix";
@@ -13,7 +15,7 @@
};
emacs-overlay.url = "github:nix-community/emacs-overlay";
niri.url = "github:sodiboo/niri-flake";
stylix.url = "github:danth/stylix";
stylix.url = "github:nix-community/stylix";
nixcord.url = "github:KaylorBen/nixcord";
vpn-confinement.url = "github:Maroka-chan/VPN-Confinement";
nixarr = {
@@ -21,6 +23,7 @@
inputs.nixpkgs.follows = "nixpkgs";
inputs.vpnconfinement.follows = "vpn-confinement";
};
nixos-hardware.url = "github:NixOS/nixos-hardware";
# Used for Firefox extensions/addons.
nur = {
url = "github:nix-community/NUR";
@@ -29,7 +32,14 @@
tf2-nix.url = "gitlab:msyds/tf2-nix";
syd-fcitx5-tables.url =
"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:
+1 -1
View File
@@ -50,7 +50,7 @@
deertopia = {
authelia.enable = true;
gitea.enable = true;
quiver.enable = true;
# quiver.enable = true;
www.enable = true;
bepasty.enable = true;
jellyfin.enable = false;
+7 -3
View File
@@ -1,23 +1,27 @@
{ config, pkgs, lib, disko, ... }:
{ config, pkgs, lib, disko, nixos-hardware, ... }:
{
imports = [
./hardware.nix
./filesystems.nix
nixos-hardware.nixosModules.apple-macbook-pro-12-1
];
# Enabled by default by Nixos-hardware.
services.mbpfan.enable = false;
sydnix = {
filesystemType = "btrfs";
wifi.enable = true;
stylix.enable = true;
niri.enable = true;
steam.enable = true;
bluetooth.enable = true;
# gdm.enable = true;
blueman.enable = true;
openssh.enable = true;
sydpkgs.overlay.enable = true;
dank-material-shell.enable = true;
kdeconnect.enable = true;
upower.enable = true;
users.users = [
# "crumb"
+6 -1
View File
@@ -6,10 +6,14 @@
./disks.nix
];
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.extraModulePackages = with config.boot.kernelPackages; [
v4l2loopback
];
programs.dconf.enable = true;
sydnix = {
filesystemType = "btrfs";
wifi.enable = true;
@@ -19,8 +23,9 @@
slippi.enable = true;
niri.enable = true;
stylix.enable = true;
qemu.enable = true;
# qemu.enable = true;
flatpak.enable = true;
gtav-battleye-hack.enable = true;
# gdm.enable = true;
openssh.enable = true;
sydpkgs.overlay.enable = true;
+16
View File
@@ -0,0 +1,16 @@
{ config, lib, pkgs, ... }:
let cfg = config.sydnix.bash;
in {
options.sydnix.bash = {
enable = lib.mkEnableOption "Bash";
};
imports = [
./bash/complete-alias.nix
];
config = lib.mkIf cfg.enable {
programs.bash.enable = true;
};
}
+16
View File
@@ -0,0 +1,16 @@
{ config, lib, pkgs, ... }:
let
cfg = config.sydnix.bash.complete-alias;
in {
options.sydnix.bash.complete-alias = {
enable = lib.mkEnableOption "Alias completion";
};
config = lib.mkIf cfg.enable {
programs.bash.initExtra = lib.mkAfter ''
. ${lib.getExe pkgs.complete-alias}
complete -F _complete_alias "''${!BASH_ALIASES[@]}"
'';
};
}
+1
View File
@@ -9,6 +9,7 @@ in {
config = lib.mkIf cfg.enable {
sydnix.impermanence.cache.directories = [
".m2" # Clojure dependencies.
".gitlibs"
];
};
}
-25
View File
@@ -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;
};
};
}
+29 -23
View File
@@ -50,31 +50,37 @@ in {
};
config = lib.mkIf cfg.enable {
systemd.user.services.jellyfin-rpc-configure = {
Service = {
Type = "oneshot";
ExecStart =
let
jq = lib.getExe pkgs.jq;
api-key-file = config.sops.secrets.jellyfin-rpc-api-key.path;
in pkgs.writeShellScript "jellyfin-rpc-configure" ''
dest=''${XDG_CONFIG_HOME:-$HOME/.config}/jellyfin-rpc/main.json
umask 177
[[ -f "$dest" ]] && chmod 600 "$dest"
jq < ${jellyfin-rpc-config-template} > "$dest" \
--rawfile api_key ${api-key-file} \
'.jellyfin.api_key = $api_key'
'';
};
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 = {
After = ["jellyfin-rpc-configure"];
Wants = ["jellyfin-rpc-configure"];
};
Service = {
ExecStart = lib.getExe pkgs.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 = {};
+16
View File
@@ -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"
];
};
}
+25
View File
@@ -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"
]
}
}
+777
View File
@@ -0,0 +1,777 @@
{
"input": {
"blocklist": [],
"equalizer#0": {
"balance": 0.0,
"bypass": false,
"input-gain": 0.0,
"left": {
"band0": {
"frequency": 22.4,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band1": {
"frequency": 27.8,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band10": {
"frequency": 194.06,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band11": {
"frequency": 240.81,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band12": {
"frequency": 298.834,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band13": {
"frequency": 370.834,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band14": {
"frequency": 460.182,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band15": {
"frequency": 571.057,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band16": {
"frequency": 708.647,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band17": {
"frequency": 879.387,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band18": {
"frequency": 1091.26,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band19": {
"frequency": 1354.19,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band2": {
"frequency": 34.51,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band20": {
"frequency": 1680.47,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band21": {
"frequency": 2085.35,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band22": {
"frequency": 2587.79,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band23": {
"frequency": 3211.29,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band24": {
"frequency": 3985.01,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band25": {
"frequency": 4945.15,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band26": {
"frequency": 6136.63,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band27": {
"frequency": 7615.17,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band28": {
"frequency": 9449.96,
"gain": 0.05000000000000426,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band29": {
"frequency": 11726.8,
"gain": -0.5300000000000011,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band3": {
"frequency": 42.82,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band30": {
"frequency": 14552.2,
"gain": -22.29,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band31": {
"frequency": 18058.4,
"gain": -36.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band4": {
"frequency": 53.14,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band5": {
"frequency": 65.95,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band6": {
"frequency": 81.83,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band7": {
"frequency": 101.55,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band8": {
"frequency": 126.0,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band9": {
"frequency": 156.38,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
}
},
"mode": "IIR",
"num-bands": 32,
"output-gain": 0.0,
"pitch-left": 0.0,
"pitch-right": 0.0,
"right": {
"band0": {
"frequency": 22.4,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band1": {
"frequency": 27.8,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band10": {
"frequency": 194.06,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band11": {
"frequency": 240.81,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band12": {
"frequency": 298.834,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band13": {
"frequency": 370.834,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band14": {
"frequency": 460.182,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band15": {
"frequency": 571.057,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band16": {
"frequency": 708.647,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band17": {
"frequency": 879.387,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band18": {
"frequency": 1091.26,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band19": {
"frequency": 1354.19,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band2": {
"frequency": 34.51,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band20": {
"frequency": 1680.47,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band21": {
"frequency": 2085.35,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band22": {
"frequency": 2587.79,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band23": {
"frequency": 3211.29,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band24": {
"frequency": 3985.01,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band25": {
"frequency": 4945.15,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band26": {
"frequency": 6136.63,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band27": {
"frequency": 7615.17,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band28": {
"frequency": 9449.96,
"gain": 0.05000000000000426,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band29": {
"frequency": 11726.8,
"gain": -0.5300000000000011,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band3": {
"frequency": 42.82,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band30": {
"frequency": 14552.2,
"gain": -22.29,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band31": {
"frequency": 18058.4,
"gain": -36.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band4": {
"frequency": 53.14,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band5": {
"frequency": 65.95,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band6": {
"frequency": 81.83,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band7": {
"frequency": 101.55,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band8": {
"frequency": 126.0,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
},
"band9": {
"frequency": 156.38,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell",
"width": 4.0
}
},
"split-channels": false
},
"gate#0": {
"attack": 5.0,
"bypass": false,
"curve-threshold": -30.0,
"curve-zone": -6.0,
"dry": -80.01,
"hpf-frequency": 10.0,
"hpf-mode": "Off",
"hysteresis": false,
"hysteresis-threshold": -12.0,
"hysteresis-zone": -6.0,
"input-gain": 0.0,
"input-to-link": 0.0,
"input-to-sidechain": 0.0,
"link-to-input": 0.0,
"link-to-sidechain": 0.0,
"lpf-frequency": 20000.0,
"lpf-mode": "Off",
"makeup": 0.0,
"output-gain": 0.0,
"reduction": -24.0,
"release": 250.0,
"sidechain": {
"lookahead": 0.0,
"mode": "Peak",
"preamp": 0.0,
"reactivity": 10.0,
"source": "Middle",
"stereo-split-source": "Left/Right",
"type": "Internal"
},
"sidechain-to-input": 0.0,
"sidechain-to-link": 0.0,
"stereo-split": false,
"wet": 0.0
},
"loudness#0": {
"bypass": false,
"clipping": false,
"clipping-range": 6.0,
"fft": "4096",
"iir-approximation": "Normal",
"input-gain": 0.0,
"mode": "FFT",
"output-gain": 0.0,
"std": "ISO226-2023",
"volume": 7.0
},
"plugins_order": [
"gate#0",
"equalizer#0",
"loudness#0"
]
}
}
+14 -1
View File
@@ -56,7 +56,12 @@ in {
Extra arguments to pass to the final wrapProgram call.
'';
default = [];
type = lib.types.listOf lib.types.str;
type = with lib.types;
listOf
(coercedTo
(oneOf [str package])
builtins.toString
str);
apply = lib.escapeShellArgs;
};
};
@@ -78,6 +83,7 @@ in {
fontspec
dvisvgm dvipng wrapfig # For Org-mode previews/export.
amsmath # Essential for mathematics.
cancel # Cross out terms in math mode.
spath3 # TikZ dependency?
ulem hyperref
capt-of
@@ -128,6 +134,13 @@ in {
version = cfg.package.version;
};
in {
xdg.mimeApps = {
enable = true;
defaultApplicationPackages = [
sydmacs
];
};
# Set emacsclient as the default editor for the time being.
home.sessionVariables = {
+15
View File
@@ -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)
'';
};
}
+31
View File
@@ -0,0 +1,31 @@
{ config, lib, pkgs, ... }:
let
cfg = config.sydnix.haskell;
in {
options.sydnix.haskell.enable =
lib.mkEnableOption "Haskell";
config = lib.mkIf cfg.enable {
# Convenient shorthand for quickly opening Haskell REPLs.
programs.bash.profileExtra =
builtins.readFile ./haskell/ghc-with-packages.sh;
home.file.".ghc/ghci.conf".text = ''
:set prompt "\x1b[38;5;5mλ>\x1b[0m "
:set prompt-cont "\x1b[38;5;5m|>\x1b[0m "
'';
sydnix.impermanence.cache.directories =
let xdg-cache-dir =
config.home.cacheHome
or "${config.home.homeDirectory}/.cache";
in [
# We don't want to rebuild Hackage simply due to a reboot, do we? }:)
(lib.removePrefix "${config.home.homeDirectory}/"
"${xdg-cache-dir}/cabal")
".stack"
];
};
}
+52
View File
@@ -0,0 +1,52 @@
declare -a default_ghc_packages=(pretty-simple lens)
ghc-with-packages () {
declare -a packages=()
local GHC_COMMAND=${GHC_COMMAND:-"ghc"}
packages+=$default_ghc_packages
local exit=0 stop_args
while [[ ! -z "$1" && -z "$stop_args" ]]; do
local opt="$1"
shift 1
case "$opt" in
"--")
stop_args=1
;;
"-p")
while [[ ! -z "$1" && "$1" != -* ]]; do
packages+=("$1")
shift 1
done
;;
*|"-h")
exit=1
;;
esac
done
local pretty_simple
for p in "$packages"; do
if [[ "$p" = "pretty-simple" ]]; then
pretty_simple="-interactive-print=Text.Pretty.Simple.pPrint"
fi
done
if [[ "$exit" -eq 0 ]]; then
# echo "packages: ${packages[@]}"
# echo "args: $*"
local pkgs="${packages[@]}"
nix-shell \
-p "haskellPackages.ghcWithPackages (p: with p; [ $pkgs ])" \
--run "$GHC_COMMAND $pretty_simple $*"
else
echo >&2 "Usage: ghci-with-packages [-p packages…] [-- ghci-options]"
return $exit
fi
}
export -f ghc-with-packages
ghci-with-packages () {
GHC_COMMAND=ghci ghc-with-packages "$@"
}
export -f ghci-with-packages
+13
View File
@@ -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" ];
};
}
+2 -2
View File
@@ -45,8 +45,8 @@ in {
config = mkIf cfg.enable {
home.persistence = {
"/persist/home/${config.home.username}" = {
allowOther = true;
"/persist" = {
# allowOther = true;
directories = cfg.directories ++ cfg.cache.directories;
files = cfg.files ++ cfg.cache.files;
};
+4
View File
@@ -7,6 +7,10 @@ in {
};
config = lib.mkIf cfg.enable {
sydnix.impermanence.directories = [
".config/kdeconnect"
];
services.kdeconnect = {
enable = true;
indicator = true;
+12
View File
@@ -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 ];
};
}
+12
View File
@@ -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 ];
};
}
+18
View File
@@ -0,0 +1,18 @@
{ config, lib, pkgs, ... }:
let cfg = config.sydnix.prism-launcher;
in {
options.sydnix.prism-launcher = {
enable = lib.mkEnableOption "Prism Launcher";
};
config = lib.mkIf cfg.enable {
home.packages = [
pkgs.prismlauncher
];
sydnix.impermanence.directories = [
".local/share/PrismLauncher"
];
};
}
+17
View File
@@ -0,0 +1,17 @@
{ config, lib, pkgs, ... }:
let cfg = config.sydnix.ryujinx;
in {
options.sydnix.ryujinx = {
enable = lib.mkEnableOption "ryujinx";
};
config = lib.mkIf cfg.enable {
home.packages = [
pkgs.ryubing-canary
];
sydnix.impermanence.directories = [
".config/Ryujinx"
];
};
}
+1 -1
View File
@@ -20,7 +20,7 @@ in {
# https://github.com/ValveSoftware/steam-for-linux/issues/10552
# https://github.com/nix-community/impermanence/issues/165
# { directory = ".local/share/Steam"; method = "symlink"; }
{ directory = ".steam"; method = "symlink"; }
{ directory = ".steam"; }
];
home.packages = [
+1 -1
View File
@@ -7,6 +7,6 @@ in {
};
config = lib.mkIf cfg.overlay.enable {
nixpkgs.overlays = [ inputs.sydpkgs.overlays.default ];
# nixpkgs.overlays = [ inputs.sydpkgs.overlays.default ];
};
}
+33
View File
@@ -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
];
};
}
+22
View File
@@ -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 󱤂
+1
View File
@@ -20,6 +20,7 @@ in {
enable = true;
addons = with pkgs.ankiAddons; [
review-heatmap
anki-connect
];
sync = {
autoSync = true;
-34
View File
@@ -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 ../../..";
};
};
}
+2 -2
View File
@@ -26,8 +26,8 @@ in {
};
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 = "";
};
+29 -24
View File
@@ -13,34 +13,17 @@ in {
#
# 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.
sydnix.impermanence =
{ directories = [ ".mozilla/firefox/msyds" ]; };
# let p = ".mozilla/firefox/msyds";
# in {
# 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"
# ];
# };
sydnix.impermanence.directories = [
"${config.xdg.configHome}/mozilla/firefox"
".cache/mozilla/firefox"
".mozilla"
];
stylix.targets.firefox.profileNames = [ "msyds" ];
programs.firefox = {
enable = true;
# configPath = "${config.xdg.configHome}/mozilla/firefox";
# Available language codes can be found on the releases page:
# https://releases.mozilla.org/pub/firefox/releases/134.0.2/linux-x86_64/xpi/.
@@ -177,6 +160,8 @@ in {
sidebery
adaptive-tab-bar-colour
adnauseam
yomitan
bitwarden
# tree-style-tab
# tab-unload-for-tree-style-tab
# tst-tab-search
@@ -239,7 +224,7 @@ in {
# Precedence of search engines.
order = [ "Kagi" "ddg" ];
default = "Kagi";
privateDefault = "ddg";
privateDefault = "Kagi";
engines = {
"Kagi" = {
urls = [{
@@ -273,6 +258,26 @@ in {
"${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
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" "!" ];
};
};
};
-67
View File
@@ -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"
];
};
}
+1 -22
View File
@@ -9,14 +9,6 @@ in {
type = lib.types.nullOr lib.types.path;
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 =
lib.mkEnableOption "Niri/Gnome Polkit" // { default = true; };
swaylock.enable =
@@ -67,26 +59,17 @@ in {
stylix.targets.swaylock.enable = cfg.swaylock.enable;
services.polkit-gnome.enable = cfg.polkit.enable;
sydnix.xwayland-satellite.enable = lib.mkDefault true;
# File-picker.
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 = {
settings = {
# Activates some Nixpkgs patches to help run Electron applications under
# Wayland.
environment = {
NIXOS_OZONE_WL = "1";
DISPLAY = ":0";
XDG_CURRENT_DESKTOP = "niri";
QT_QPA_PLATFORM = "wayland";
ELECTRON_OZONE_PLATFORM_HINT = "auto";
@@ -359,10 +342,6 @@ in {
place-within-backdrop = true;
}
];
# debug = {
# wait-for-frame-completion-in-pipewire = {};
# };
};
};
};
@@ -3,3 +3,7 @@ exec loadouts/init
exec overrides/binds.cfg
exec overrides/settings.cfg
con_logfile console.log
ip 0.0.0.0
rcon_password monitor
net_start
+36
View File
@@ -0,0 +1,36 @@
{ config, lib, pkgs, ... }:
let
cfg = config.sydnix.users.msyds.bash;
in {
options.sydnix.users.msyds.bash.enable =
lib.mkEnableOption "Bash, à la msyds";
config = lib.mkIf cfg.enable {
sydnix.bash.enable = true;
sydnix.bash.complete-alias.enable = true;
programs.bash.shellOptions = [
# Correct minor typos in cd commands.
"cdspell"
# Implicitly prepend `cd` to directory names.
"autocd"
# Extra glob power.
"extglob"
# Recursive glob w/ **.
"globstar"
# Append to history file.
"histappend"
# Require user confirmation for commands using expansion.
"histverify"
# Re-edit failed history substitutions.
"histreedit"
];
home.shellAliases = {
nix2json = "nix eval --impure --json --file -";
"..." = "cd ../..";
"...." = "cd ../../..";
};
};
}
+320 -411
View File
@@ -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 {
options.sydnix.users.msyds.dank-material-shell = {
enable = lib.mkEnableOption "Dank Material Shell";
};
config = lib.mkIf cfg.enable
(let
theme = {
dark = with config.lib.stylix.colors.withHashtag; {
name = "Stylix generatated dark theme";
primary = base0D;
primaryText = base00;
primaryContainer = base0C;
secondary = base0E;
surface = base01;
surfaceText = base05;
surfaceVariant = base02;
surfaceVariantText = base04;
surfaceTint = base0D;
background = base00;
backgroundText = base05;
outline = base03;
surfaceContainer = base01;
surfaceContainerHigh = base02;
surfaceContainerHighest = base03;
error = base08;
warning = base0A;
info = base0C;
} // {
primary = base06;
surfaceContainerHigh = "#2a2a37"; # Sunk Ink 2
surfaceContainerHighest = base05;
};
light = with config.lib.stylix.colors.withHashtag; {
name = "Stylix generatated light theme";
primary = base0D;
primaryText = base07;
primaryContainer = base0C;
secondary = base0E;
surface = base06;
surfaceText = base01;
surfaceVariant = base07;
surfaceVariantText = base02;
surfaceTint = base0D;
background = base07;
backgroundText = base00;
outline = base04;
surfaceContainer = base06;
surfaceContainerHigh = base05;
surfaceContainerHighest = base04;
error = base08;
warning = base0A;
info = base0C;
};
};
in {
programs.niri.settings = {
# Open DMS windows as floating by default
window-rules = [
{
matches = [{app-id = "#org.quickshell$";}];
open-floating = true;
}
];
# Blur wallpaper when overview is open.
layer-rules = [
{
matches = [{ namespace = "dms:blurwallpaper"; }];
place-within-backdrop = true;
}
];
spawn-at-startup = [
{
command = [
(lib.getExe' pkgs.wl-clipboard "wl-paste")
"--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" "";
};
config = lib.mkIf cfg.enable {
programs.niri.settings = {
# Open DMS windows as floating by default
window-rules = [
{
matches = [{app-id = "#org.quickshell$";}];
open-floating = true;
}
];
# Blur wallpaper when overview is open.
layer-rules = [
{
matches = [{ namespace = "dms:blurwallpaper"; }];
place-within-backdrop = true;
}
];
spawn-at-startup = [
{
command = [
(lib.getExe' pkgs.wl-clipboard "wl-paste")
"--watch" "cliphist" "store"
];
}
];
};
stylix.targets.dank-material-shell.enable = true;
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;
};
});
};
};
}
+5
View File
@@ -30,6 +30,11 @@ in {
];
plugins = {
ircColors.enable = true;
voiceMessages = {
enable = true;
echoCancellation = false;
noiseSuppression = false;
};
};
};
vesktop = {
+15
View File
@@ -31,6 +31,17 @@ in {
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 = {
enable = true;
defaultEditor = true;
@@ -40,6 +51,10 @@ in {
pkgs.nerd-fonts.victor-mono
pkgs.ibm-plex
];
extraWrapProgramArgs = [
"--set" "ESHELL_ALIASES_FILE"
config.home.sessionVariables.ESHELL_ALIASES_FILE
];
};
};
}
+13 -1
View File
@@ -3,6 +3,7 @@
(syd-require-features
'(syd/base
syd/constants
syd/fcitx
syd/dash
syd/disable-package
syd/straight
@@ -11,6 +12,7 @@
syd/on
syd/prelude
syd/use-package
syd/cc
syd/line-numbers
syd/kanagawa
syd/comint
@@ -30,6 +32,7 @@
syd/which-key
syd/tramp
syd/handle
syd/flycheck
syd/org
syd/org/roam
syd/org/agenda
@@ -49,6 +52,7 @@
syd/direnv
syd/ligature
syd/clojure
syd/auctex
syd/lisp
syd/minibuffer
syd/auto-save
@@ -59,9 +63,17 @@
syd/wgrep
syd/nix
syd/backup
syd/flycheck
syd/agda
syd/rust
syd/eshell
syd/treesit
syd/grammatical-framework
syd/tabs
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; -*-
(require 'syd/base)
(require 'syd/handle)
(require 'syd/popups)
(require 'syd/leader)
@@ -20,21 +21,38 @@
(use-package cider
:after clojure-mode
:config
(defun syd-clojure-doc (arg)
(interactive "P")
(cider-doc arg)
cider-doc-buffer)
(defun syd-clojure-eval-region (beg end)
(cider-eval-region beg end))
(syd-handle '(clojure-mode clojurescript-mode cider-repl-mode)
:docs #'cider-doc
:eval-region #'syd-clojure-eval-region
:load-buffer #'cider-load-buffer)
(add-hook 'cider-repl-mode-hook #'syd-lisp-mode)
(syd-push shackle-rules
`("*cider-doc*" ,@syd-help-popup-options)
'("*cider-test-report*")
'("*cider-error*")))
`("*cider-doc*" ,@syd-help-popup-options)
'("*cider-test-report*")
'("*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
:straight nil ; Part of `cider'.
@@ -108,4 +126,16 @@
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)
@@ -1,4 +1,7 @@
;;; -*- lexical-binding: t -*-
;; -*- lexical-binding: t -*-
(require 'syd/base)
(require 'syd/popups)
(setq
;; Log native-compiler warnings, but don't display the buffer. Most of the
@@ -8,4 +11,7 @@
;; Scroll compilation buffer to follow output.
compilation-scroll-output t)
(syd-push shackle-rules
'("*compilation*" :select nil :size 0.42 :popup t :align bottom))
(provide 'syd/compilation)
@@ -150,7 +150,9 @@ if FILE-NAME has no TRAMP prefix."
(eshell-last-dir-ring-file-name (file-name-concat
syd-eshell-data-dir "lastdir"))
(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
(:keymaps 'syd-leader-open-map
"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)
"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 ()
"Loads `syd-fixed-pitch-font' and `syd-variable-pitch-font'."
(dolist (map `((default . ,syd-fixed-pitch-font)
(fixed-pitch . ,syd-fixed-pitch-font)
(variable-pitch . ,syd-variable-pitch-font)))
(fixed-pitch . ,syd-fixed-pitch-font)
(variable-pitch . ,syd-variable-pitch-font)))
(pcase-let ((`(,face . ,font) map))
(set-face-attribute face nil
:width 'normal :weight 'normal
:slant 'normal :font font))))
:width 'normal :weight 'normal
:slant 'normal :font font)))
(set-fontset-font
t '(#xF1900 . #xF19FF)
syd-sitelen-pona-font))
(let ((hook-point (if (daemonp)
'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
:prefix-map 'syd-leader-insert-map
"u" #'insert-char
"e" #'emoji-insert)
"e" #'emoji-insert
"p" #'syd-insert-file-name)
;; This is necessary to properly rebind `universal-argument'.
;; `universal-argument-more' is a command that provides additional prefixes
@@ -5,22 +5,33 @@
(use-package ligature
:config
(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))
(provide 'syd/ligature)
+12 -1
View File
@@ -2,6 +2,7 @@
(require 'syd/base)
(require 'syd/popups)
(require 'syd/handle)
(use-package lsp-mode
:init
@@ -35,6 +36,16 @@
(syd-push
shackle-rules
`(("*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)
@@ -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"))
("I" "Korean irregularity class" plain
(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
(add-to-list 'org-agenda-files org-roam-directory)
(with-eval-after-load 'org-roam-dailies
@@ -193,4 +193,74 @@ form."
(cons mode (intern (concat (match-string 1 s) "-ts-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)
@@ -1,6 +1,7 @@
;;; -*- lexical-binding: t; -*-
(require 'syd/base)
(require 'syd/keymaps)
(require 'syd/completion) ; For `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)
+4 -9
View File
@@ -10,15 +10,10 @@ in {
programs.sioyek = {
enable = true;
bindings = {
"move_down_smooth" = "j";
"move_up_smooth" = "k";
"screen_down_smooth" = [ "d" "<C-d>" ];
"screen_up_smooth" = [ "u" "<C-u>" ];
};
config = {
startup_commands = ''
toggle_dark_mode
'';
"move_down" = "j";
"move_up" = "k";
"screen_down" = [ "d" "<C-d>" ];
"screen_up" = [ "u" "<C-u>" ];
};
};
};
+14
View File
@@ -0,0 +1,14 @@
{ config, lib, pkgs, ... }:
let cfg = config.sydnix.users.msyds.zathura;
in {
options.sydnix.users.msyds.zathura = {
enable = lib.mkEnableOption "Zathura";
};
config = lib.mkIf cfg.enable {
programs.zathura = {
enable = true;
};
};
}
+38
View File
@@ -0,0 +1,38 @@
{ config, lib, pkgs, ... }:
let cfg = config.sydnix.xwayland-satellite;
in {
options.sydnix.xwayland-satellite = {
# xwayland-satellite implements rootless Xwayland in a separate
# application, without the host compositor's involvement. It makes
# X11 windows appear as normal windows, just like a native
# Xwayland integration. While it is still somewhat experimental,
# it handles a lot of applications correctly, like Steam, games
# and Discord.
enable = lib.mkEnableOption "XWayland outside your Wayland";
};
config = lib.mkIf cfg.enable {
systemd.user.services.xwayland-satellite =
let xwayland-satellite =
pkgs.xwayland-satellite.override { withSystemd = true; };
in {
Unit = {
Description = "Xwayland outside your Wayland";
BindsTo = [ "graphical-session.target" ];
PartOf = [ "graphical-session.target" ];
After = [ "graphical-session.target" ];
Requisite = [ "graphical-session.target" ];
};
Service = {
Type = "notify";
NotifyAccess = "all";
ExecStart = lib.getExe xwayland-satellite;
StandardOutput = "journal";
ExecStartPost = "systemctl --user set-environment DISPLAY=:0";
ExecStop = "systemctl --user unset-environment DISPLAY";
};
Install.WantedBy = [ "graphical-session.target" ];
};
};
}
+12
View File
@@ -0,0 +1,12 @@
{ config, lib, pkgs, ... }:
let cfg = config.sydnix.blueman;
in {
options.sydnix.blueman = {
enable = lib.mkEnableOption "Blueman BlueTooth manager";
};
config = lib.mkIf cfg.enable {
services.blueman.enable = true;
};
}
-2
View File
@@ -7,8 +7,6 @@ in {
};
config = lib.mkIf cfg.enable {
services.blueman.enable = true;
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
+38 -2
View File
@@ -7,15 +7,51 @@ in {
};
config = lib.mkIf cfg.enable {
programs.dms-shell = {
programs.dank-material-shell = {
enable = true;
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 = {
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.
logs = {
save = true;
path = "/var/lib/dms-greeter/log";
};
};
};
}
+2 -4
View File
@@ -1,12 +1,10 @@
{ config, lib, pkgs, ... }:
with lib;
let cfg = config.sydnix.deertopia.bepasty;
in {
options = {
sydnix.deertopia.bepasty = {
enable = mkEnableOption "Bepasty";
enable = lib.mkEnableOption "Bepasty";
port = lib.mkOption {
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-config = {};
+52 -2
View File
@@ -1,6 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.sydnix.deertopia.gitea;
let
cfg = config.sydnix.deertopia.gitea;
commas = lib.concatStringsSep ",";
in {
options.sydnix.deertopia.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
sydnix.sops.secrets.gitea-mailer-password = {
mode = "0440";
owner = "git";
group = "git";
};
services.gitea = {
enable = true;
user = "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 = {
server = {
ROOT_URL = "https://git.deertopia.net/";
@@ -53,7 +62,48 @@ in {
};
service = {
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";
};
};
};
};
+4 -1
View File
@@ -27,7 +27,10 @@ in {
soulseek.description = ''
hi }:). i share my entire media directory, with a good
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
share directories, forgetting to update them in soulseek.
+3 -1
View File
@@ -14,10 +14,12 @@ in {
ROCKET_PORT = 8222;
DOMAIN = "https://vault.deertopia.net";
};
backupDir = "/var/backup/vaultwarden";
};
sydnix.impermanence.directories = [
"/var/backup/vaultwarden"
config.services.vaultwarden.backupDir
"/var/lib/bitwarden_rs"
];
services.nginx.upstreams.vaultwarden.servers =
+17
View File
@@ -0,0 +1,17 @@
{ config, lib, pkgs, ... }:
let cfg = config.sydnix.gtav-battleye-hack;
in {
options.sydnix.gtav-battleye-hack = {
enable = lib.mkEnableOption
"Grand Theft Auto V Online BattlEye workaround";
};
config = lib.mkIf cfg.enable {
networking.hosts."0.0.0.0" = [
"paradise-s1.battleye.com"
"test-s1.battleye.com"
"paradiseenhanced-s1.battleye.com"
];
};
}
+66 -27
View File
@@ -24,36 +24,75 @@ in {
};
config = mkIf cfg.enable {
boot.initrd.postDeviceCommands = ''
# Mount the btrfs filesystem.
mkdir -p /btrfs-tmp
mount -t btrfs "${cfg.device}" /btrfs-tmp
boot.initrd.systemd = {
services.impermance-btrfs-rolling-root = {
description = "Archiving existing BTRFS root subvolume and creating a fresh one";
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),
# where live for about three days before its eventual deletion.
if [[ -e "/btrfs-tmp/${cfg.subvolume}" ]]; then
mkdir -p /btrfs-tmp/old-roots
timestamp=$(date --date="@$(stat -c %Y "/btrfs-tmp/${cfg.subvolume}")" "+%Y-%m-%-d_%H:%M:%S")
mv "/btrfs-tmp/${cfg.subvolume}" "/btrfs-tmp/old-roots/$timestamp"
fi
# Wait until the root device is available
# If you're altering a different device, specify its device unit explicitly.
# see: systemd-escape(1)
requires = ["initrd-root-device.target"];
after = [
"initrd-root-device.target"
# Allow hibernation to resume before trying to alter any data
"local-fs-pre.target"
];
delete_subvolume_recursively() {
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"
}
script = ''
# Mount the btrfs filesystem.
mkdir -p /btrfs-tmp
mount -t btrfs "${cfg.device}" /btrfs-tmp
# 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
# If the moribund subvolume exists, send it do 'death row' (old-roots),
# where live for about three days before its eventual deletion.
if [[ -e "/btrfs-tmp/${cfg.subvolume}" ]]; then
mkdir -p /btrfs-tmp/old-roots
timestamp=$(date --date="@$(stat -c %Y "/btrfs-tmp/${cfg.subvolume}")" "+%Y-%m-%-d_%H:%M:%S")
mv "/btrfs-tmp/${cfg.subvolume}" "/btrfs-tmp/old-roots/$timestamp"
fi
btrfs subvolume create "/btrfs-tmp/${cfg.subvolume}"
umount /btrfs-tmp
'';
delete_subvolume_recursively() {
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";
};
};
};
}
+1 -1
View File
@@ -14,7 +14,7 @@ in {
package = pkgs.niri-unstable;
};
security.pam.services.swaylock = {};
# security.pam.services.swaylock = {};
};
}
+2
View File
@@ -22,11 +22,13 @@ in {
"https://nix-community.cachix.org"
"https://cache.nixos.org"
"https://cache.iog.io"
"https://cache.zw3rk.com"
];
trusted-public-keys = [
(builtins.readFile ../../public-keys/deertopia-cache.pub.pem)
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
"loony-tools:pr9m4BkM/5/eSTZlkQyRt57Jz7OMBxNSUiMC4FkcNfk="
];
};
};
+12
View File
@@ -0,0 +1,12 @@
{ config, lib, pkgs, ... }:
let cfg = config.sydnix.upower;
in {
options.sydnix.upower = {
enable = lib.mkEnableOption "UPower";
};
config = lib.mkIf cfg.enable {
services.upower.enable = true;
};
}
+2 -1
View File
@@ -8,8 +8,9 @@ let users = builtins.readDir ../users;
inputs.self.homeManagerModules.default
inputs.sops-nix.homeManagerModules.sops
inputs.impermanence.homeManagerModules.impermanence
inputs.nixcord.homeModules.nixcord
inputs.dms.homeModules.dank-material-shell
inputs.dms.homeModules.niri
# Directory name should always match username.
({ ... }: { home.username = username; })
+3
View File
@@ -37,6 +37,8 @@ let
inputs.niri.nixosModules.niri
inputs.stylix.nixosModules.stylix
inputs.nixarr.nixosModules.default
inputs.dms.nixosModules.greeter
inputs.dms.nixosModules.dank-material-shell
# Directory name should always match host name.
({ ... }: { networking.hostName = hostName; })
@@ -59,6 +61,7 @@ let
pkgs = nixpkgs;
};
inherit inputs system;
host = hostName;
};
})
];
+3 -2
View File
@@ -30,6 +30,7 @@ anki-username: ENC[AES256_GCM,data:584uxjwyodM=,iv:/6HLSLzHgc77U1iN5JDLR9F+o8Nfe
anki-password: ENC[AES256_GCM,data:plSKMTeeilKt6weAnzw/jMo65A==,iv:lzuPUt1+2Iwi9sHbaFj0OuBLd1p+Do2N5aCYXd45MFQ=,tag:WIABFp1T6NuIGpqqQFHmrg==,type:str]
anki-sync-key: ENC[AES256_GCM,data:Ka4sPghPwmWQvdXw40ZRLogoMVTBjLnaSyHT9lTfn2XWHHqFAkANAg==,iv:bFkb/k7UUL8t26LjmQwiDYJpvq93NWuqUU/jNYkr7GQ=,tag:Mx5JdqjI3MDk7hsvOlPYIw==,type:str]
gitea-actions-runner-token: ENC[AES256_GCM,data:JglbJ2hgXl1wV2bCkcged+D3UrpWMMBuX+ri6YeIqwLIlscvK/wVCdsxQZtDGw==,iv:BYhgfoIa/wHQkd4c7kU8AWAJQfpTfUvSamFXDBqQXTE=,tag:sIK1XxVPIU+uBGaJY3AmTQ==,type:str]
gitea-mailer-password: ENC[AES256_GCM,data:bgFAhAzYcDhHi4Brg7x8CQ==,iv:hj8+YbcE+Jfhtu8g//Y8EiNw1CejTtMgstB/knbgOls=,tag:CYX3Pr4ErzvHGVfhpvfruw==,type:str]
sops:
age:
- recipient: age10fqh0td67alzpyjyhdex5ncj9thvaty506r0t63vs2nz4ldafgaqadl8mg
@@ -50,7 +51,7 @@ sops:
TXFLY2l0UHJ3Z0NGZjVpbTQ2UC8yaTQKA7wTmW9Ha6T2KmCr/nkXdizgv8+V6SAp
ZhDO+uDQ1evIh2wLWMOXNJ3d/zplLCOTzR2xkqBIUp5V7MXj45RUIA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2026-03-06T21:55:10Z"
mac: ENC[AES256_GCM,data:Coff3pzqPxqe1g+2R7V0AN/ZSLog6sKHIBSoWOflYH8tKbIqwvQFRVvEQN6D1o6ZhD2wu8NyTVrKY7FYn4nG9DsEQq8vknq51r1Z9meLSP114N37oX5qjp60ns9kEm3kbf41DTObXETs+jzcA4Rcl2m9Z5I/feKEm7oFp6PvzEg=,iv:Bywv84FGB6IO7M9KFoxx3cVXFElX7QNWossWszMJui8=,tag:D07pceBF1i1vUMZ7nFuslA==,type:str]
lastmodified: "2026-03-22T07:49:51Z"
mac: ENC[AES256_GCM,data:Y/7XSZtPlVPDV3eToYQ9MoAGF9nGq0sd0KU1VaR5duK1xbETULioQcpPvVk6HL1kPlUjnmR8RXfCKBC7EJ9P/UAMV2ySulLtD6daogCzF3qa2JSyXPuOyMuXMSjwCNcCyHgpaOrWz+7Zf9FU/1wQwVHeCDTf0sFHaX0xttFfHkg=,iv:7+zXPjeslh+z9hWhYXoUphpbg3Tpe4OHQEcUmetuiMM=,tag:LB0GuN+5TJxXyuvrrqOi7g==,type:str]
unencrypted_suffix: _unencrypted
version: 3.12.1
+70 -52
View File
@@ -18,61 +18,79 @@
];
};
homeConfiguration = { config, lib, pkgs, ... }: {
home.file.".ssh/id_ed25519".source =
config.lib.file.mkOutOfStoreSymlink
"/persist/private-keys/ssh/msyds@sydpc";
homeConfiguration = { config, lib, pkgs, host, ... }:
let on = hosts:
if builtins.isString hosts
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 =
../../public-keys/ssh/${"msyds@sydpc.pub"};
home.file.".ssh/id_ed25519.pub".source =
../../public-keys/ssh/${"msyds@sydpc.pub"};
sydnix = {
xdg.enable = true;
steam.enable = true;
zotero.enable = true;
openutau.enable = true;
slippi.enable = true;
desktop-environment.enable = true;
clojure.enable = true;
capitaine-cursors.enable = true;
terraria.enable = true;
kdeconnect.enable = true;
qalculate.enable = true;
sops = {
enable = true;
keyFile = "/persist/private-keys/age/crumb";
};
# Personal configurations.
users.crumb = {
bash.enable = true;
direnv.enable = true;
git.enable = true;
nvim.enable = true;
readline.enable = true;
niri.enable = true;
firefox.enable = true;
ghostty.enable = true;
# waybar.enable = true;
tf2.enable = true;
fcitx5.enable = true;
anki.enable = true;
mumble.enable = true;
};
users.msyds = {
discord.enable = true;
hunspell.enable = true;
emacs.enable = true;
impermanence.enable = true;
syncthing.enable = true;
fonts.enable = true;
dank-material-shell.enable = true;
sioyek.enable = true;
sydnix = {
documentation.enable = true;
xdg.enable = true;
steam.enable = on "sydpc";
zotero.enable = true;
slippi.enable = on "sydpc";
desktop-environment.enable = true;
clojure.enable = true;
capitaine-cursors.enable = true;
terraria.enable = on "sydpc";
kdeconnect.enable = true;
guile.enable = true;
qalculate.enable = true;
toki-pona.enable = true;
prism-launcher.enable = on "sydpc";
flatpak.enable = on "sydpc";
drawing-tablet.enable = on "sydpc";
easyeffects.enable = on "sydpc";
ryujinx.enable = false;
haskell.enable = true;
kerbal-space-program.enable = on "sydpc";
libreoffice.enable = on "fruitbook";
hydrus.enable = on "sydpc";
sops = {
enable = true;
keyFile = "/persist/private-keys/age/crumb";
};
# Personal configurations.
users.crumb = {
direnv.enable = true;
git.enable = true;
nvim.enable = true;
readline.enable = true;
niri.enable = true;
firefox.enable = true;
ghostty.enable = true;
# waybar.enable = true;
tf2.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";
};
}