29 Commits

Author SHA1 Message Date
GarandPLG 5edd43b802 Enable VirtualBox & Affinity, adjust Hyprland binds
Turn on VirtualBox support and the Affinity graphics suite in the
system modules configuration.

Add a bind for XF86AudioMicMute to mute the microphone input.

Replace separate pause and play binds with a single
XF86AudioPlay → media playPause action.
2026-03-24 17:26:27 +01:00
GarandPLG a435b7d0cc Enable KDE Connect and refresh dependencies
- Turn on KDE Connect for desktop and laptop configurations
- Add allowed TCP and UDP port ranges (1714‑1764) for KDE Connect
- Update flake.lock with newer revisions, hashes, and add secondary
  inputs
- Set nh program package explicitly
- Adjust GTK settings for dark theme handling
- Disable KDE Connect indicator in service config
- Refactor noctalia plugins to use a shared source URL, add kde‑connect
  plugin, bump version
- Add KDE Connect widget to the right bar
- Remove always_allow_tool_actions from Zed agent settings
2026-03-22 22:08:09 +01:00
GarandPLG 38f618f8c7 Update flake.lock
- Bump rev, narHash and lastModified for several locked inputs:
  firefox-addons, home-manager, nixpkgs, noctalia-shell, noctalia-qs
- Rename the "systems" reference to "systems_2" in the input map
- Add a new locked entry for the "systems" repository
2026-03-11 23:42:50 +01:00
GarandPLG 7f01bed179 Enable Affinity graphics suite on Garand-Desktop 2026-03-04 00:39:30 +01:00
GarandPLG 3e6c55ebcb Update flake.lock dependencies
- Bump revisions and nar hashes for multiple inputs and add the new
  `noctalia-qs` input.
- Change Anki configuration to use a profile‑specific sync username.
- Set Battery widget displayMode to `graphic` instead of `alwaysShow`.
2026-03-03 13:14:16 +01:00
GarandPLG 4ef866927d Update flake.lock and disable Slack on all hosts
Refresh locked revisions and hashes for several inputs in flake.lock.
Disable Slack in Garand-Desktop, Garand-Laptop, and default hosts.
2026-02-23 21:55:45 +01:00
GarandPLG 7da6280a1e Update flake.lock to latest revisions 2026-02-18 00:00:55 +01:00
GarandPLG 60d1363f58 Add Fluxer desktop app package
Expose Fluxer as a system package by adding a new fluxer module and
importing it
in the core packages list.
2026-02-16 22:41:30 +01:00
GarandPLG f2628ed320 Add new Django bash aliases 2026-02-15 20:51:35 +01:00
GarandPLG c3517a0f7f Add ZRAM module and enable it in core defaults 2026-02-14 13:43:14 +01:00
GarandPLG 380b774ee3 Update flake.lock revisions and hashes 2026-02-14 01:22:56 +01:00
GarandPLG cfc4e49f16 Disable Python format on save 2026-02-12 23:01:49 +01:00
GarandPLG e5bfd117b4 Increase disk warning and critical thresholds
The warning threshold is now 90% and the critical threshold is 95%,
up from 80% and 90%.
2026-02-12 22:43:07 +01:00
GarandPLG 68ed6d035e Add Cerebras PAUG provider and split models
Update default model provider to “Cerebras PAUG”. Reorganize the
Cerebras language‑model configuration into two groups – “Cerebras FREE”
and “Cerebras PAUG” – each with its own model list and adjusted token
limits.
2026-02-12 18:45:10 +01:00
GarandPLG c41e664a6b Switch from Evolution to GNOME Calendar module
- Enable `calendar.enable` instead of `evolution.enable` in all host
  system‑modules files.
- Add `modules/core/calendar.nix` defining the calendar option and
  installing GNOME Calendar and Contacts.
- Remove the deprecated `modules/core/evolution.nix` and update
  `core/default.nix` imports accordingly.
- Include the GNOME package set via `./gnome.nix` in
  `modules/core/packages/default.nix`.
2026-02-11 23:39:20 +01:00
GarandPLG c78292ac67 Remove extraneous spaces from Starship icon definitions 2026-02-11 18:11:38 +01:00
GarandPLG 88b161347d Add FiraCode Nerd Font Mono to Zed UI and terminal
Also set buffer font family to the same FiraCode Nerd Font Mono.
2026-02-11 18:01:48 +01:00
GarandPLG a751485bf0 Add ruff LSP and Python tooling to Zed config
Add uv, python314, and ruff to extra packages.

Enable Python format‑on‑save, use ruff as formatter and language server,
and set tab size to 4.

Configure ruff LSP with a bash wrapper and detailed inlay‑hint options.
2026-02-11 16:07:36 +01:00
GarandPLG e2d9522d89 Update flake.lock and disable VirtualBox
Refresh pinned revisions and hashes in flake.lock for several
dependencies and set `virtualbox.enable` to false in the desktop
system configuration.
2026-02-11 13:31:19 +01:00
GarandPLG 53f787d6c8 Enable Evolution module and bind shortcut
Add core/evolution.nix with a toggleable option and import it in the
core
defaults. Enable the option on desktop, laptop, and default hosts.
Remove
the duplicated evolution‑data‑server enable flag from services.nix. Add
a
Hyprland keybinding (Super Shift E) to launch Evolution.
2026-02-08 13:10:11 +01:00
GarandPLG 45ed10b1ec Update flake lock revisions and package settings
- Pin newer revisions for firefox‑addons, home‑manager, nixpkgs,
  noctalia‑shell and stylix.
- Enable Evolution in programs.
- Use Plex desktop override with QT_QPA_PLATFORM and comment out
  the plain version.
- Comment out settings.settingsVersion in noctalia config.
- Reduce plugin window width to 1100 and add columnCount = 2.
2026-02-08 12:52:53 +01:00
GarandPLG 041be371e5 Update flake.lock and simplify plex package
Remove the QT_QPA_PLATFORM override for plex-desktop, using the default
package configuration.
2026-02-04 13:38:05 +01:00
GarandPLG e32b7ce0a5 fix 2026-02-04 10:17:43 +01:00
GarandPLG 62160ebcf0 fix 2026-02-03 06:38:57 +01:00
GarandPLG 276d64816b fix 2026-02-03 06:31:00 +01:00
GarandPLG 743bec0bae fix 2026-02-03 06:02:52 +01:00
GarandPLG 881faf7aac fix 2026-02-02 21:37:34 +01:00
GarandPLG cb8eacf322 minor fixes 2026-02-02 21:32:46 +01:00
GarandPLG 1a756d60e8 Merge pull request 'noctilia-experiment' (#1) from noctilia-experiment into main
Reviewed-on: #1
2026-02-02 20:25:04 +00:00
35 changed files with 524 additions and 148 deletions
Generated
+111 -38
View File
@@ -15,11 +15,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1767916874, "lastModified": 1773962509,
"narHash": "sha256-IcvLwoF1CIOd7yELc0Xwqskilw2FxHHRm5ZnmNdBuKc=", "narHash": "sha256-DAHcc8ghdDEX+xHPjuKf7qXSL/5G9NqP3mrq5jAKFi0=",
"owner": "mrshmllow", "owner": "mrshmllow",
"repo": "affinity-nix", "repo": "affinity-nix",
"rev": "0c110a15fb5605490f7de451073db1c775745fee", "rev": "494090443b8086f14ce851ecba8463800176c1c1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -145,11 +145,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1769918637, "lastModified": 1774152686,
"narHash": "sha256-3XyGk89S0UFvKRZiKpFL4ImP5qP/2AOJUaYC7ogXnJo=", "narHash": "sha256-RlEgsdHr9IQm79SsXKNT8iU+ZjjIOPTJXcatMqgSfwk=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "5659e4c18d1350d1b511fcdce885fdd879effa22", "rev": "4c83dbe717272428562a33db817f492195e227ae",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@@ -209,11 +209,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1767609335, "lastModified": 1769996383,
"narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=", "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "250481aafeb741edfe23d29195671c19b36b6dca", "rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -290,11 +290,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767281941, "lastModified": 1769939035,
"narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=", "narHash": "sha256-Fok2AmefgVA0+eprw2NDwqKkPGEI5wvR+twiZagBvrg=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa", "rev": "a8ca480175326551d6c4121498316261cbb5b260",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -349,11 +349,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769952507, "lastModified": 1774201162,
"narHash": "sha256-eNTfxT3v8b7s1dqswgposi5Y1CUMoOUhQKiy29QY25U=", "narHash": "sha256-th4i3X3P3yikPk3qu1A5DQ40tIztZKvAKPaa9hjXF+U=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "b59376563943ce163b2553aeb63d0c170967d74e", "rev": "932ca46013acabbedd13c27dc278e3d043707e46",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -422,11 +422,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1769789167, "lastModified": 1773821835,
"narHash": "sha256-kKB3bqYJU5nzYeIROI82Ef9VtTbu4uA3YydSk/Bioa8=", "narHash": "sha256-TJ3lSQtW0E2JrznGVm8hOQGVpXjJyXY2guAxku2O9A4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "62c8382960464ceb98ea593cb8321a2cf8f9e3e5", "rev": "b40629efe5d6ec48dd1efba650c797ddbd39ace0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -438,11 +438,11 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1765674936, "lastModified": 1769909678,
"narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=", "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85", "rev": "72716169fe93074c333e8d0173151350670b824c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -467,18 +467,35 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": {
"locked": {
"lastModified": 1770107345,
"narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"noctalia": { "noctalia": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ],
"noctalia-qs": "noctalia-qs"
}, },
"locked": { "locked": {
"lastModified": 1769983098, "lastModified": 1774202729,
"narHash": "sha256-PKej3N1BxAoKzusrdWuS9gT8bXW0U/Zk8RkedsP3qYc=", "narHash": "sha256-rSyMyO1xwqOUwYYQz8R89VKygYMNhvpiqOXp9Fp0mEA=",
"owner": "noctalia-dev", "owner": "noctalia-dev",
"repo": "noctalia-shell", "repo": "noctalia-shell",
"rev": "2a98d04b2f5e251935ba296c0d7dc374bdc5e32d", "rev": "56c0904dc6f1c1b2fbfc06756252eda5c8828a60",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -487,6 +504,29 @@
"type": "github" "type": "github"
} }
}, },
"noctalia-qs": {
"inputs": {
"nixpkgs": [
"noctalia",
"nixpkgs"
],
"systems": "systems",
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
"lastModified": 1774059741,
"narHash": "sha256-ObYsrf7XLJDqWVbJ+GWH5JYV/EUc7SVdhGx5r5wWKno=",
"owner": "noctalia-dev",
"repo": "noctalia-qs",
"rev": "c9beee5c634ec784af128b8e7c56db14012ab17f",
"type": "github"
},
"original": {
"owner": "noctalia-dev",
"repo": "noctalia-qs",
"type": "github"
}
},
"nur": { "nur": {
"inputs": { "inputs": {
"flake-parts": [ "flake-parts": [
@@ -514,11 +554,11 @@
"on-linux": { "on-linux": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1766544016, "lastModified": 1769366983,
"narHash": "sha256-3X1426N7n6bwM7GAQOvpCq2OVdlQevCzbpak0l9B6BU=", "narHash": "sha256-uBLHcm0WP8n4ms7eV05wt4mc9uvUo9OVMM/41lW+u8Q=",
"owner": "seapear", "owner": "seapear",
"repo": "AffinityOnLinux", "repo": "AffinityOnLinux",
"rev": "da601564dfefe2ae3ec10e3f177db81578847b7b", "rev": "c3909c9e265f8091b9b0b26d8f51815a0a19e547",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -547,11 +587,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768437816, "lastModified": 1771797779,
"narHash": "sha256-GG+V2g5NfVrypTs8qbtGnUWTXTMkGtohy/uIDa5duI0=", "narHash": "sha256-VjN8CBG3KLaqP7yFYWvLQuCwivh4RBjzWkWlMlxYjdI=",
"owner": "Diegiwg", "owner": "Diegiwg",
"repo": "PrismLauncher-Cracked", "repo": "PrismLauncher-Cracked",
"rev": "e8418b74059bdbe4fcc97522b25dc17373b0cc21", "rev": "356e6d7edc4a1b8b28d1a9a04057a2a3ea8655e4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -603,7 +643,7 @@
"nixpkgs" "nixpkgs"
], ],
"nur": "nur", "nur": "nur",
"systems": "systems", "systems": "systems_2",
"tinted-foot": "tinted-foot", "tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty", "tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes", "tinted-schemes": "tinted-schemes",
@@ -611,11 +651,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1769888473, "lastModified": 1774124764,
"narHash": "sha256-4KWbaJwaYnZ60bFyTudZYAKskjr7Sa17R3/yh+oXS7w=", "narHash": "sha256-Poz9WTjiRlqZIf197CrMMJfTifZhrZpbHFv0eU1Nhtg=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "ae5c0239ae4f82a8c7e33ad8a456535d5a9ba813", "rev": "e31c79f571c5595a155f84b9d77ce53a84745494",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -625,6 +665,21 @@
} }
}, },
"systems": { "systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_2": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -727,11 +782,29 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767801790, "lastModified": 1769691507,
"narHash": "sha256-QfX6g3Wj2vQe7oBJEbTf0npvC6sJoDbF9hb2+gM5tf8=", "narHash": "sha256-8aAYwyVzSSwIhP2glDhw/G0i5+wOrren3v6WmxkVonM=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "778a1d691f1ef45dd68c661715c5bf8cbf131c80", "rev": "28b19c5844cc6e2257801d43f2772a4b4c050a1b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"treefmt-nix_2": {
"inputs": {
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1772660329,
"narHash": "sha256-IjU1FxYqm+VDe5qIOxoW+pISBlGvVApRjiw/Y/ttJzY=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "3710e0e1218041bbad640352a0440114b1e10428",
"type": "github" "type": "github"
}, },
"original": { "original": {
+1 -1
View File
@@ -24,7 +24,7 @@ _: {
/* /*
Communication and synchronization Communication and synchronization
*/ */
kdeconnect.enable = false; # KDE Connect: integrate your phone and desktop kdeconnect.enable = true; # KDE Connect: integrate your phone and desktop
nextcloud-client.enable = true; # Nextcloud Client: sync files with a Nextcloud server nextcloud-client.enable = true; # Nextcloud Client: sync files with a Nextcloud server
vesktop.enable = true; # Vesktop: a communitydriven Discord client vesktop.enable = true; # Vesktop: a communitydriven Discord client
+9 -4
View File
@@ -3,7 +3,7 @@ _: {
Container & Packaging Container & Packaging
*/ */
docker.enable = true; # Docker: container runtime and management docker.enable = true; # Docker: container runtime and management
virtualbox.enable = true; # VirtualBox: PC emulator virtualbox.enable = false; # VirtualBox: PC emulator
flatpak = { flatpak = {
enable = true; # Flatpak: universal packaging system for Linux enable = true; # Flatpak: universal packaging system for Linux
packages = { packages = {
@@ -18,6 +18,11 @@ _: {
*/ */
tailscale.enable = true; # Tailscale: secure network for remote access tailscale.enable = true; # Tailscale: secure network for remote access
/*
Calendar & Contacts
*/
calendar.enable = true; # GNOME Calendar: calendar and contacts application
/* /*
Gaming Gaming
*/ */
@@ -54,7 +59,7 @@ _: {
Communication & Collaboration Communication & Collaboration
*/ */
mattermost.enable = true; # Mattermost: opensource Slack alternative mattermost.enable = true; # Mattermost: opensource Slack alternative
slack.enable = true; # Slack: team communication and collaboration tool slack.enable = false; # Slack: team communication and collaboration tool
tutanota.enable = true; # Tutanota: secure email client tutanota.enable = true; # Tutanota: secure email client
signal.enable = true; # Signal: secure messaging app signal.enable = true; # Signal: secure messaging app
teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux
@@ -70,7 +75,7 @@ _: {
/* /*
Media & Graphics Media & Graphics
*/ */
affinity.enable = false; # Affinity: professional graphics suite affinity.enable = true; # Affinity: professional graphics suite
eyeOfGnome.enable = true; # Eye of GNOME: image viewer eyeOfGnome.enable = true; # Eye of GNOME: image viewer
freetube.enable = false; # FreeTube: privacyfriendly YouTube client freetube.enable = false; # FreeTube: privacyfriendly YouTube client
gimp.enable = false; # GIMP: GNU Image Manipulation Program gimp.enable = false; # GIMP: GNU Image Manipulation Program
@@ -82,7 +87,7 @@ _: {
Utilities / Misc Utilities / Misc
*/ */
eddieAirVPN.enable = true; # Eddie AirVPN: VPN client eddieAirVPN.enable = true; # Eddie AirVPN: VPN client
galculator.enable = false; # Galculator: simple calculator gnomeCalculator.enable = true; # gnomeCalculator: simple calculator
gedit.enable = true; # Gedit: GNOME text editor gedit.enable = true; # Gedit: GNOME text editor
winboat.enable = true; # Winboat: Windows remote desktop via RDP winboat.enable = true; # Winboat: Windows remote desktop via RDP
adb.enable = false; # ADB: Android SDK platform tools adb.enable = false; # ADB: Android SDK platform tools
+1 -1
View File
@@ -24,7 +24,7 @@ _: {
/* /*
Communication and synchronization Communication and synchronization
*/ */
kdeconnect.enable = false; # KDE Connect: integrate your phone and desktop kdeconnect.enable = true; # KDE Connect: integrate your phone and desktop
nextcloud-client.enable = true; # Nextcloud Client: sync files with a Nextcloud server nextcloud-client.enable = true; # Nextcloud Client: sync files with a Nextcloud server
vesktop.enable = true; # Vesktop: a communitydriven Discord client vesktop.enable = true; # Vesktop: a communitydriven Discord client
+9 -4
View File
@@ -3,7 +3,7 @@ _: {
Container & Packaging Container & Packaging
*/ */
docker.enable = true; # Docker: container runtime and management docker.enable = true; # Docker: container runtime and management
virtualbox.enable = false; # VirtualBox: PC emulator virtualbox.enable = true; # VirtualBox: PC emulator
flatpak = { flatpak = {
enable = true; # Flatpak: universal packaging system for Linux enable = true; # Flatpak: universal packaging system for Linux
packages = { packages = {
@@ -18,6 +18,11 @@ _: {
*/ */
tailscale.enable = true; # Tailscale: secure network for remote access tailscale.enable = true; # Tailscale: secure network for remote access
/*
Calendar & Contacts
*/
calendar.enable = true; # GNOME Calendar: calendar and contacts application
/* /*
Gaming Gaming
*/ */
@@ -54,7 +59,7 @@ _: {
Communication & Collaboration Communication & Collaboration
*/ */
mattermost.enable = true; # Mattermost: opensource Slack alternative mattermost.enable = true; # Mattermost: opensource Slack alternative
slack.enable = true; # Slack: team communication and collaboration tool slack.enable = false; # Slack: team communication and collaboration tool
tutanota.enable = true; # Tutanota: secure email client tutanota.enable = true; # Tutanota: secure email client
signal.enable = true; # Signal: secure messaging app signal.enable = true; # Signal: secure messaging app
teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux
@@ -70,7 +75,7 @@ _: {
/* /*
Media & Graphics Media & Graphics
*/ */
affinity.enable = false; # Affinity: professional graphics suite affinity.enable = true; # Affinity: professional graphics suite
eyeOfGnome.enable = true; # Eye of GNOME: image viewer eyeOfGnome.enable = true; # Eye of GNOME: image viewer
freetube.enable = false; # FreeTube: privacyfriendly YouTube client freetube.enable = false; # FreeTube: privacyfriendly YouTube client
gimp.enable = false; # GIMP: GNU Image Manipulation Program gimp.enable = false; # GIMP: GNU Image Manipulation Program
@@ -82,7 +87,7 @@ _: {
Utilities / Misc Utilities / Misc
*/ */
eddieAirVPN.enable = true; # Eddie AirVPN: VPN client eddieAirVPN.enable = true; # Eddie AirVPN: VPN client
galculator.enable = false; # Galculator: simple calculator gnomeCalculator.enable = true; # gnomeCalculator: simple calculator
gedit.enable = false; # Gedit: GNOME text editor gedit.enable = false; # Gedit: GNOME text editor
winboat.enable = false; # Winboat: Windows remote desktop via RDP winboat.enable = false; # Winboat: Windows remote desktop via RDP
adb.enable = false; # ADB: Android SDK platform tools adb.enable = false; # ADB: Android SDK platform tools
+7 -2
View File
@@ -18,6 +18,11 @@ _: {
*/ */
tailscale.enable = false; # Tailscale: secure network for remote access tailscale.enable = false; # Tailscale: secure network for remote access
/*
Calendar & Contacts
*/
calendar.enable = true; # GNOME Calendar: calendar and contacts application
/* /*
Gaming Gaming
*/ */
@@ -54,7 +59,7 @@ _: {
Communication & Collaboration Communication & Collaboration
*/ */
mattermost.enable = true; # Mattermost: opensource Slack alternative mattermost.enable = true; # Mattermost: opensource Slack alternative
slack.enable = true; # Slack: team communication and collaboration tool slack.enable = false; # Slack: team communication and collaboration tool
tutanota.enable = true; # Tutanota: secure email client tutanota.enable = true; # Tutanota: secure email client
signal.enable = true; # Signal: secure messaging app signal.enable = true; # Signal: secure messaging app
teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux
@@ -82,7 +87,7 @@ _: {
Utilities / Misc Utilities / Misc
*/ */
eddieAirVPN.enable = true; # Eddie AirVPN: VPN client eddieAirVPN.enable = true; # Eddie AirVPN: VPN client
galculator.enable = false; # Galculator: simple calculator gnomeCalculator.enable = true; # gnomeCalculator: simple calculator
gedit.enable = false; # Gedit: GNOME text editor gedit.enable = false; # Gedit: GNOME text editor
winboat.enable = false; # Winboat: Windows remote desktop via RDP winboat.enable = false; # Winboat: Windows remote desktop via RDP
adb.enable = false; # ADB: Android SDK platform tools adb.enable = false; # ADB: Android SDK platform tools
+16
View File
@@ -0,0 +1,16 @@
{
pkgs,
lib,
config,
...
}: {
options.calendar.enable = lib.mkEnableOption "Enable GNOME Calendar";
config = {
services.gnome.evolution-data-server.enable = lib.mkIf config.calendar.enable true;
environment.systemPackages = lib.mkIf config.calendar.enable (with pkgs; [
gnome-calendar
gnome-contacts
]);
};
}
+2
View File
@@ -2,6 +2,7 @@
imports = [ imports = [
./packages ./packages
./boot.nix ./boot.nix
./calendar.nix
./docker.nix ./docker.nix
./flatpak.nix ./flatpak.nix
./fonts.nix ./fonts.nix
@@ -25,6 +26,7 @@
./virtualbox.nix ./virtualbox.nix
./xdg.nix ./xdg.nix
./xserver.nix ./xserver.nix
./zram.nix
inputs.stylix.nixosModules.stylix inputs.stylix.nixosModules.stylix
]; ];
} }
+12
View File
@@ -28,10 +28,22 @@ in {
59011 59011
8080 8080
]; ];
allowedTCPPortRanges = [
{
from = 1714;
to = 1764;
}
];
allowedUDPPorts = [ allowedUDPPorts = [
59010 59010
59011 59011
]; ];
allowedUDPPortRanges = [
{
from = 1714;
to = 1764;
}
];
}; };
}; };
} }
+6 -1
View File
@@ -1,6 +1,11 @@
{username, ...}: { {
username,
pkgs,
...
}: {
programs.nh = { programs.nh = {
enable = true; enable = true;
package = pkgs.nh;
clean = { clean = {
enable = true; enable = true;
extraArgs = "--keep-since 7d --keep 5"; extraArgs = "--keep-since 7d --keep 5";
+1
View File
@@ -1,6 +1,7 @@
_: { _: {
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
imports = [ imports = [
./fluxer
./essentials.nix ./essentials.nix
./packages.nix ./packages.nix
./programs.nix ./programs.nix
+6
View File
@@ -0,0 +1,6 @@
{pkgs, ...}: let
fluxer =
pkgs.callPackage ./fluxer-package.nix {};
in {
environment.systemPackages = [fluxer];
}
@@ -0,0 +1,35 @@
{
lib,
appimageTools,
fetchurl,
}: let
pname = "fluxer";
version = "canary";
src = fetchurl {
url = "https://api.fluxer.app/dl/desktop/stable/linux/x64/latest/appimage";
sha256 = "sha256-GdoBK+Z/d2quEIY8INM4IQy5tzzIBBM+3CgJXQn0qAw=";
};
appimageContents = appimageTools.extract {inherit pname version src;};
in
appimageTools.wrapType2 {
inherit pname version src;
extraInstallCommands = ''
# mv $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/${pname}.png \
$out/share/icons/hicolor/512x512/apps/${pname}.png
substituteInPlace $out/share/applications/${pname}.desktop \
--replace-fail 'Exec=AppRun' 'Exec=${pname}'
'';
meta = with lib; {
description = "Fluxer desktop app";
homepage = "https://github.com/fluxerapp/fluxer";
license = licenses.agpl3Only;
platforms = ["x86_64-linux"];
sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
maintainers = with lib.maintainers; [garand_plg];
};
}
+2 -1
View File
@@ -16,7 +16,7 @@
packages = with pkgs; { packages = with pkgs; {
bitwarden = bitwarden-desktop; bitwarden = bitwarden-desktop;
eddieAirVPN = eddie; eddieAirVPN = eddie;
galculator = galculator; gnomeCalculator = gnome-calculator;
gedit = gedit; gedit = gedit;
iotas = iotas; iotas = iotas;
logseq = logseq; logseq = logseq;
@@ -36,6 +36,7 @@
kdenlive = kdePackages.kdenlive; kdenlive = kdePackages.kdenlive;
plex = [ plex = [
(plex-desktop.override {extraEnv = {QT_QPA_PLATFORM = "xcb";};}) (plex-desktop.override {extraEnv = {QT_QPA_PLATFORM = "xcb";};})
# plex-desktop
plexamp plexamp
]; ];
freetube = freetube; freetube = freetube;
+1 -4
View File
@@ -18,10 +18,7 @@
ports = [22]; ports = [22];
}; };
tumbler.enable = true; # Image/video preview tumbler.enable = true; # Image/video preview
gnome = { gnome.gnome-keyring.enable = true;
gnome-keyring.enable = true;
evolution-data-server.enable = true;
};
smartd = { smartd = {
enable = enable =
if profile == "vm" if profile == "vm"
+32
View File
@@ -0,0 +1,32 @@
{pkgs, ...}: {
zramSwap = {
enable = true;
priority = 5;
memoryMax = 16 * 1024 * 1024 * 1024;
algorithm = "zstd";
swapDevices = 1;
memoryPercent = 50;
};
boot = {
kernelParams = [
"zswap.enabled=1" # enables zswap
"zswap.compressor=zstd" # compression algorithm
"zswap.max_pool_percent=20" # maximum percentage of RAM that zswap is allowed to use
"zswap.shrinker_enabled=1" # whether to shrink the pool proactively on high memory pressure
];
tmp = {
useZram = true;
zramSettings = {
compression-algorithm = "zstd";
zram-size = "ram * 0.5";
fs-type = "ext4";
options = "X-mount.mode=1777,discard";
};
};
};
services.zram-generator = {
enable = true;
package = pkgs.zram-generator;
settings = {};
};
}
+1 -1
View File
@@ -12,6 +12,6 @@
package = pkgs.anki; package = pkgs.anki;
language = "pl_PL"; language = "pl_PL";
style = "native"; style = "native";
sync.username = username; profiles."${username}".sync.username = username;
}; };
} }
+8
View File
@@ -17,11 +17,19 @@
ncg = "nh clean all"; ncg = "nh clean all";
# Development aliases # Development aliases
## Django
srvenv = "source .venv/bin/activate"; srvenv = "source .venv/bin/activate";
"..srvenv" = "source ../.venv/bin/activate"; "..srvenv" = "source ../.venv/bin/activate";
uv-add = "uv add -r requirements.txt";
pm = "uv run manage.py"; pm = "uv run manage.py";
pm-rs = "uv run manage.py runserver";
pm-mg = "uv run manage.py migrate";
pm-mm = "uv run manage.py makemigrations";
pm-sq = "uv run manage.py sqlmigrate";
f8 = "uv run flake8 ."; f8 = "uv run flake8 .";
## JavaScript/TypeScript
bbr = "bun --bun run"; bbr = "bun --bun run";
## Git
"ga." = "git add ."; "ga." = "git add .";
mkgidf = "git add . --intent-to-add . && git diff > git-diff.txt"; mkgidf = "git add . --intent-to-add . && git diff > git-diff.txt";
+4 -3
View File
@@ -4,11 +4,12 @@
name = "Papirus-Dark"; name = "Papirus-Dark";
package = pkgs.papirus-icon-theme; package = pkgs.papirus-icon-theme;
}; };
gtk3.extraConfig = { gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
gtk4 = {
theme = null;
extraConfig = {
gtk-application-prefer-dark-theme = 1; gtk-application-prefer-dark-theme = 1;
}; };
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
}; };
}; };
} }
+5 -3
View File
@@ -15,7 +15,7 @@
"SUPER, G, exec, affinity-v3 #\"Graphics editor\"" "SUPER, G, exec, affinity-v3 #\"Graphics editor\""
"SUPER, I, exec, iotas #\"Note-taking app\"" "SUPER, I, exec, iotas #\"Note-taking app\""
"SUPER, J, exec, Jan #\"Local AI chat interface\"" "SUPER, J, exec, Jan #\"Local AI chat interface\""
"SUPER, K, exec, galculator #\"Scientific calculator\"" "SUPER, K, exec, gnome-calculator #\"Scientific calculator\""
"SUPER, L, exec, logseq #\"Knowledge management tool\"" "SUPER, L, exec, logseq #\"Knowledge management tool\""
"SUPER, M, exec, plexamp #\"Music player for Plex\"" "SUPER, M, exec, plexamp #\"Music player for Plex\""
"SUPER, N, exec, dex ${desktopEntriesPath}/garandcloud.desktop #\"GarandCloud client\"" "SUPER, N, exec, dex ${desktopEntriesPath}/garandcloud.desktop #\"GarandCloud client\""
@@ -31,6 +31,8 @@
shiftBinds = [ shiftBinds = [
"SUPER SHIFT, C, exec, dex ${desktopEntriesPath}/claude.desktop #\"Claude AI chat\"" "SUPER SHIFT, C, exec, dex ${desktopEntriesPath}/claude.desktop #\"Claude AI chat\""
"SUPER SHIFT, E, exec, evolution #\"Personal information management application\""
"SUPER SHIFT, Escape, exec, noctalia-shell ipc call sessionMenu toggle #\"Open Session Menu\""
"SUPER SHIFT, G, exec, dex ${desktopEntriesPath}/chatgpt.desktop #\"ChatGPT AI chat\"" "SUPER SHIFT, G, exec, dex ${desktopEntriesPath}/chatgpt.desktop #\"ChatGPT AI chat\""
"SUPER SHIFT, K, exec, noctalia-shell ipc call plugin:keybind-cheatsheet toggle #\"Toggle keybind cheatsheet\"" "SUPER SHIFT, K, exec, noctalia-shell ipc call plugin:keybind-cheatsheet toggle #\"Toggle keybind cheatsheet\""
"SUPER SHIFT, M, exec, dex ${desktopEntriesPath}/messenger.desktop #\"Facebook Messenger client\"" "SUPER SHIFT, M, exec, dex ${desktopEntriesPath}/messenger.desktop #\"Facebook Messenger client\""
@@ -123,9 +125,9 @@
systemMediaAndControllsBinds = [ systemMediaAndControllsBinds = [
",XF86AudioLowerVolume, exec, noctalia-shell ipc call volume decrease #\"Lower system volume\"" ",XF86AudioLowerVolume, exec, noctalia-shell ipc call volume decrease #\"Lower system volume\""
",XF86AudioMute, exec, noctalia-shell ipc call volume muteOutput #\"Mute audio output\"" ",XF86AudioMute, exec, noctalia-shell ipc call volume muteOutput #\"Mute audio output\""
",XF86AudioMicMute, exec, noctalia-shell ipc call volume muteInput #\"Mute audio input\""
",XF86AudioNext, exec, noctalia-shell ipc call media next #\"Next media track\"" ",XF86AudioNext, exec, noctalia-shell ipc call media next #\"Next media track\""
",XF86AudioPause, exec, noctalia-shell ipc call media pause #\"Pause media playback\"" ",XF86AudioPlay, exec, noctalia-shell ipc call media playPause #\"Play/Pause media\""
",XF86AudioPlay, exec, noctalia-shell ipc call media play #\"Play media\""
",XF86AudioPrev, exec, noctalia-shell ipc call media previous #\"Previous media track\"" ",XF86AudioPrev, exec, noctalia-shell ipc call media previous #\"Previous media track\""
",XF86AudioRaiseVolume, exec, noctalia-shell ipc call volume increase #\"Raise system volume\"" ",XF86AudioRaiseVolume, exec, noctalia-shell ipc call volume increase #\"Raise system volume\""
",XF86MonBrightnessDown, exec, noctalia-shell ipc call brightness decrease #\"Decrease screen brightness\"" ",XF86MonBrightnessDown, exec, noctalia-shell ipc call brightness decrease #\"Decrease screen brightness\""
-6
View File
@@ -5,11 +5,5 @@ _: {
"dbus-update-activation-environment --all --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" "dbus-update-activation-environment --all --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
"systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" "systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
"systemctl --user start hyprpolkitagent" "systemctl --user start hyprpolkitagent"
# "killall -q waybar"
# "pkill waybar"
# "killall -q swaync"
# "pkill swaync"
"noctalia-shell &"
]; ];
} }
+4
View File
@@ -41,6 +41,7 @@ _: {
"center on, match:class pavucontrol|org\.pulseaudio\.pavucontrol|com\.saivert\.pwvucontrol" "center on, match:class pavucontrol|org\.pulseaudio\.pavucontrol|com\.saivert\.pwvucontrol"
"center on, match:class [Tt]hunar, match:title negative:.*[Tt]hunar.*" "center on, match:class [Tt]hunar, match:title negative:.*[Tt]hunar.*"
"center on, match:title Authentication Required" "center on, match:title Authentication Required"
"center on, match:class org\.gnome\.Calculator"
# Idle inhibit rules # Idle inhibit rules
"idle_inhibit fullscreen, match:class .*" "idle_inhibit fullscreen, match:class .*"
@@ -61,11 +62,13 @@ _: {
"float on, match:initial_title Add Folder to Workspace" "float on, match:initial_title Add Folder to Workspace"
"float on, match:initial_title Open Files" "float on, match:initial_title Open Files"
"float on, match:initial_title wants to save" "float on, match:initial_title wants to save"
"float on, match:class org\.gnome\.Calculator"
# Size rules # Size rules
"size 70% 60%, match:initial_title Open Files" "size 70% 60%, match:initial_title Open Files"
"size 70% 60%, match:initial_title Add Folder to Workspace" "size 70% 60%, match:initial_title Add Folder to Workspace"
"size 70% 70%, match:tag settings*" "size 70% 70%, match:tag settings*"
"size 360 616, match:class org\.gnome\.Calculator"
# Tile rules # Tile rules
"tile on, match:class affinity\.exe" "tile on, match:class affinity\.exe"
@@ -84,6 +87,7 @@ _: {
"opacity 0.8 0.7, match:class gedit|org\.gnome\.TextEditor|mousepad" "opacity 0.8 0.7, match:class gedit|org\.gnome\.TextEditor|mousepad"
"opacity 0.9 0.8, match:class seahorse # gnome-keyring gui" "opacity 0.9 0.8, match:class seahorse # gnome-keyring gui"
"opacity 0.95 0.75, match:title Picture-in-Picture" "opacity 0.95 0.75, match:title Picture-in-Picture"
"opacity 0.9 0.8, match:class org\.gnome\.Calculator"
# Picture-in-Picture specific rules # Picture-in-Picture specific rules
"pin on, match:title Picture-in-Picture" "pin on, match:title Picture-in-Picture"
+4 -2
View File
@@ -6,9 +6,11 @@
}: { }: {
options.kdeconnect.enable = lib.mkEnableOption "KDE Connect"; options.kdeconnect.enable = lib.mkEnableOption "KDE Connect";
config.services.kdeconnect = lib.mkIf config.kdeconnect.enable { config = {
services.kdeconnect = lib.mkIf config.kdeconnect.enable {
enable = true; enable = true;
indicator = true; indicator = false;
package = pkgs.kdePackages.kdeconnect-kde; package = pkgs.kdePackages.kdeconnect-kde;
}; };
};
} }
+1 -1
View File
@@ -10,7 +10,7 @@
calendarSupport = true; calendarSupport = true;
}; };
systemd.enable = true; systemd.enable = true;
settings.settingsVersion = lib.mkForce 46; # settings.settingsVersion = lib.mkForce 46;
}; };
imports = [ imports = [
+17 -7
View File
@@ -1,28 +1,34 @@
{lib, ...}: { {lib, ...}: let
sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins";
in {
programs.noctalia-shell = lib.mkForce { programs.noctalia-shell = lib.mkForce {
plugins = { plugins = {
sources = [ sources = [
{ {
enabled = true; enabled = true;
name = "Noctalia Plugins"; name = "Noctalia Plugins";
url = "https://github.com/noctalia-dev/noctalia-plugins"; url = sourceUrl;
} }
]; ];
states = { states = {
mini-docker = { mini-docker = {
enabled = true; enabled = true;
sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; sourceUrl = sourceUrl;
}; };
timer = { timer = {
enabled = true; enabled = true;
sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; sourceUrl = sourceUrl;
}; };
keybind-cheatsheet = { keybind-cheatsheet = {
enabled = true; enabled = true;
sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins"; sourceUrl = sourceUrl;
};
kde-connect = {
enabled = true;
sourceUrl = sourceUrl;
}; };
}; };
version = 1; version = 2;
}; };
pluginSettings = { pluginSettings = {
mini-docker.refreshInterval = 5000; mini-docker.refreshInterval = 5000;
@@ -32,9 +38,13 @@
hyprlandConfigPath = "~/.config/hypr/hyprland.conf"; hyprlandConfigPath = "~/.config/hypr/hyprland.conf";
modKeyVariable = "SUPER"; modKeyVariable = "SUPER";
windowHeight = 850; windowHeight = 850;
windowWidth = 700; windowWidth = 1100;
columnCount = 2;
autoHeight = true; autoHeight = true;
}; };
kde-connect = {
hideIfNoDeviceConnected = true;
};
}; };
}; };
} }
@@ -16,7 +16,7 @@ _: {
} }
{ {
id = "SystemMonitor"; id = "SystemMonitor";
compactMode = true; compactMode = false;
diskPath = "/home"; diskPath = "/home";
showCpuFreq = false; showCpuFreq = false;
showCpuTemp = false; showCpuTemp = false;
@@ -25,7 +25,7 @@ _: {
showDiskUsage = true; showDiskUsage = true;
showGpuTemp = false; showGpuTemp = false;
showLoadAverage = false; showLoadAverage = false;
showMemoryAsPercent = false; showMemoryAsPercent = true;
showMemoryUsage = true; showMemoryUsage = true;
showNetworkStats = true; showNetworkStats = true;
showSwapUsage = false; showSwapUsage = false;
@@ -2,7 +2,9 @@
right = [ right = [
{ {
id = "Tray"; id = "Tray";
blacklist = []; blacklist = [
"nm-applet"
];
colorizeIcons = false; colorizeIcons = false;
drawerEnabled = false; drawerEnabled = false;
hidePassive = false; hidePassive = false;
@@ -25,6 +27,9 @@
showUnreadBadge = true; showUnreadBadge = true;
unreadBadgeColor = "primary"; unreadBadgeColor = "primary";
} }
{
id = "plugin:kde-connect";
}
{ {
id = "Bluetooth"; id = "Bluetooth";
displayMode = "onhover"; displayMode = "onhover";
@@ -32,11 +37,11 @@
{ {
id = "Battery"; id = "Battery";
deviceNativePath = "__default__"; deviceNativePath = "__default__";
displayMode = "onhover"; displayMode = "graphic";
hideIfIdle = false; hideIfIdle = false;
hideIfNotDetected = true; hideIfNotDetected = true;
showNoctaliaPerformance = false; showNoctaliaPerformance = true;
showPowerProfiles = false; showPowerProfiles = true;
warningThreshold = 30; warningThreshold = 30;
} }
{ {
@@ -44,10 +49,10 @@
displayMode = "alwaysShow"; displayMode = "alwaysShow";
middleClickCommand = "pwvucontrol || pavucontrol"; middleClickCommand = "pwvucontrol || pavucontrol";
} }
# { {
# "id" = "Brightness"; id = "Network";
# "displayMode" = "onhover"; displayMode = "onhover";
# } }
{ {
id = "ControlCenter"; id = "ControlCenter";
colorizeDistroLogo = false; colorizeDistroLogo = false;
@@ -16,8 +16,8 @@ in {
memCriticalThreshold = 90; memCriticalThreshold = 90;
swapWarningThreshold = 80; swapWarningThreshold = 80;
swapCriticalThreshold = 90; swapCriticalThreshold = 90;
diskWarningThreshold = 80; diskWarningThreshold = 90;
diskCriticalThreshold = 90; diskCriticalThreshold = 95;
cpuPollingInterval = 3000; cpuPollingInterval = 3000;
tempPollingInterval = 3000; tempPollingInterval = 3000;
gpuPollingInterval = 3000; gpuPollingInterval = 3000;
+10 -10
View File
@@ -33,24 +33,24 @@ in {
truncation_symbol = "/"; truncation_symbol = "/";
truncate_to_repo = false; truncate_to_repo = false;
substitutions = { substitutions = {
"Documents" = "󰈙 "; "Documents" = "󰈙";
"Downloads" = " "; "Downloads" = "";
"Music" = " "; "Music" = "";
"Pictures" = " "; "Pictures" = "";
"Projects" = " "; "Projects" = "";
"nix" = " "; "nix" = "";
"nixos" = " "; "nixos" = "";
}; };
}; };
character = { character = {
success_symbol = "[ ](${accent})"; success_symbol = "[](${accent})";
error_symbol = "[ ](red)"; error_symbol = "[](red)";
}; };
nix_shell = { nix_shell = {
format = "[$symbol]($style) "; format = "[$symbol]($style) ";
symbol = " "; symbol = "";
style = ""; style = "";
}; };
+3
View File
@@ -5,5 +5,8 @@
nixd nixd
alejandra alejandra
opencode opencode
uv
python314
ruff
]; ];
} }
+1 -2
View File
@@ -1,9 +1,8 @@
_: { _: {
programs.zed-editor.userSettings.agent = { programs.zed-editor.userSettings.agent = {
always_allow_tool_actions = true;
default_profile = "ask"; default_profile = "ask";
default_model = { default_model = {
provider = "Cerebras"; provider = "Cerebras PAUG";
model = "gpt-oss-120b"; model = "gpt-oss-120b";
}; };
}; };
@@ -5,8 +5,14 @@ _: {
metrics = false; metrics = false;
}; };
icon_theme = "VSCode Icons for Zed (Dark)"; icon_theme = "VSCode Icons for Zed (Dark)";
ui_font_family = "FiraCode Nerd Font Mono";
ui_font_size = 16; ui_font_size = 16;
buffer_font_family = "FiraCode Nerd Font Mono";
buffer_font_size = 15; buffer_font_size = 15;
terminal = {
font_family = "FiraCode Nerd Font Mono";
font_size = 14;
};
theme = { theme = {
mode = "dark"; mode = "dark";
light = "One Light"; light = "One Light";
@@ -1,10 +1,11 @@
_: { _: {
programs.zed-editor.userSettings.language_models.openai_compatible."Cerebras" = { programs.zed-editor.userSettings.language_models.openai_compatible = {
"Cerebras FREE" = {
api_url = "https://api.cerebras.ai/v1"; api_url = "https://api.cerebras.ai/v1";
available_models = [ available_models = [
{ {
name = "qwen-3-235b-a22b-instruct-2507"; name = "gpt-oss-120b";
display_name = "Qwen 3 235B Instruct"; display_name = "OpenAI GPT OSS";
max_tokens = 65000; max_tokens = 65000;
max_output_tokens = 32000; max_output_tokens = 32000;
capabilities = { capabilities = {
@@ -14,6 +15,30 @@ _: {
prompt_cache_key = false; prompt_cache_key = false;
}; };
} }
{
name = "zai-glm-4.7";
display_name = "Z.ai GLM 4.7";
max_tokens = 64000;
max_output_tokens = 40000;
capabilities = {
tools = true;
images = true;
parallel_tool_calls = true;
prompt_cache_key = true;
};
}
{
name = "llama3.1-8b";
display_name = "Llama 3.1 8B";
max_tokens = 8000;
max_output_tokens = 8000;
capabilities = {
tools = true;
images = true;
parallel_tool_calls = true;
prompt_cache_key = true;
};
}
{ {
name = "llama-3.3-70b"; name = "llama-3.3-70b";
display_name = "Llama 3.3 70B"; display_name = "Llama 3.3 70B";
@@ -27,10 +52,39 @@ _: {
}; };
} }
{ {
name = "gpt-oss-120b"; name = "qwen-3-32b";
display_name = "OpenAI GPT OSS"; display_name = "Qwen 3 32B";
max_tokens = 65000;
max_output_tokens = 8000;
capabilities = {
tools = true;
images = true;
parallel_tool_calls = false;
prompt_cache_key = true;
};
}
{
name = "qwen-3-235b-a22b-instruct-2507";
display_name = "Qwen 3 235B Instruct";
max_tokens = 65000; max_tokens = 65000;
max_output_tokens = 32000; max_output_tokens = 32000;
capabilities = {
tools = true;
images = true;
parallel_tool_calls = false;
prompt_cache_key = true;
};
}
];
};
"Cerebras PAUG" = {
api_url = "https://api.cerebras.ai/v1";
available_models = [
{
name = "gpt-oss-120b";
display_name = "OpenAI GPT OSS";
max_tokens = 131000;
max_output_tokens = 40000;
capabilities = { capabilities = {
tools = true; tools = true;
images = true; images = true;
@@ -38,6 +92,67 @@ _: {
prompt_cache_key = false; prompt_cache_key = false;
}; };
} }
{
name = "zai-glm-4.7";
display_name = "Z.ai GLM 4.7";
max_tokens = 131000;
max_output_tokens = 40000;
capabilities = {
tools = true;
images = true;
parallel_tool_calls = true;
prompt_cache_key = true;
};
}
{
name = "llama3.1-8b";
display_name = "Llama 3.1 8B";
max_tokens = 32000;
max_output_tokens = 8000;
capabilities = {
tools = true;
images = true;
parallel_tool_calls = true;
prompt_cache_key = true;
};
}
{
name = "llama-3.3-70b";
display_name = "Llama 3.3 70B";
max_tokens = 128000;
max_output_tokens = 65000;
capabilities = {
tools = true;
images = true;
parallel_tool_calls = true;
prompt_cache_key = true;
};
}
{
name = "qwen-3-32b";
display_name = "Qwen 3 32B";
max_tokens = 131000;
max_output_tokens = 8000;
capabilities = {
tools = true;
images = true;
parallel_tool_calls = false;
prompt_cache_key = true;
};
}
{
name = "qwen-3-235b-a22b-instruct-2507";
display_name = "Qwen 3 235B Instruct";
max_tokens = 131000;
max_output_tokens = 40000;
capabilities = {
tools = true;
images = true;
parallel_tool_calls = false;
prompt_cache_key = true;
};
}
]; ];
}; };
};
} }
+11 -1
View File
@@ -4,7 +4,17 @@ _: {
"nixd" "nixd"
"!nil" "!nil"
]; ];
Python.language_servers = ["!basedpyright"]; Python = {
format_on_save = "off";
formatter.language_server.name = "ruff";
code_actions_on_format."source.organizeImports.ruff" = true;
language_servers = [
"ruff"
"!ty"
"!basedpyright"
];
tab_size = 4;
};
YAML.tab_size = 2; YAML.tab_size = 2;
JavaScript = { JavaScript = {
formatter.language_server.name = "biome"; formatter.language_server.name = "biome";
+22
View File
@@ -72,5 +72,27 @@
}; };
}; };
}; };
ruff = {
binary = {
path = lib.getExe pkgs.bash;
arguments = [
"-c"
"if [ -e flake.nix ]; then nix develop --command ruff server; else ruff server; fi"
];
};
initialization_options = {
check.command = "ruff check .";
inlayHints = {
maxLength = null;
lifetimeElisionHints = {
enable = "skip_trivial";
useParameterNames = true;
};
closureReturnTypeHints = {
enable = "always";
};
};
};
};
}; };
} }