16 Commits

Author SHA1 Message Date
GarandPLG 0ed84d8068 Add Obsidian support and update Helium to 0.13.4.1
Introduce a new home module for Obsidian with enable option and BoM
vault.
Expose Obsidian configuration in host‑specific home‑modules files.
Add Stylix theming support for Obsidian (colors, fonts, polarity,
vaults).
Upgrade Helium AppImage to version 0.13.4.1 and update its hash.
2026-06-18 20:28:34 +02:00
GarandPLG 4eba766188 Add MangoHud module and enable it on hosts
Introduce a new `mangohud.nix` module with sensible defaults, import it
in
`modules/home/default.nix`, and add a `mangohud.enable` flag to the host
configurations (enabled for desktop and laptop, disabled for the default
host).

Comment out the default Gamescope arguments in `modules/core/steam.nix`
and
add a reference command line that includes the MangoHud flag.
2026-06-14 16:53:27 +02:00
GarandPLG b4f1d2381a Update flake.lock to newer revisions 2026-06-13 14:38:26 +02:00
GarandPLG 3f38b0b474 Update helium to 0.13.3.1 and refresh hash 2026-06-13 13:38:12 +02:00
GarandPLG 8c5c071897 Add Logseq AppImage package, keep it disabled
Introduce a new Nix expression for Logseq AppImage and comment out its
enable flag and package entries so it is not enabled by default.
2026-06-11 21:02:25 +02:00
GarandPLG 823302f7e5 Update dependencies and improve configuration 2026-06-08 12:54:39 +02:00
GarandPLG f5b429f704 Update flake.lock and refine module settings
Bump revisions, hashes and timestamps in flake.lock for several inputs.

Simplify greetd configuration by using a direct default_session
assignment.
Restructure core stylix targets, adding a kmscon placeholder and
reorganizing limine options.
Remove empty GTK4 theme block, keeping only the dark‑theme flag in extra
config.
Extend home stylix: enable librewolf with extra options and add a GTK
target with colors, fonts, and flatpak support.
2026-06-04 13:56:14 +02:00
GarandPLG 965a0a714b Add deputy package and LSP configuration for Zed 2026-06-04 00:08:36 +02:00
GarandPLG 870b3941c0 Pin Helium to version 0.12.4.1 2026-06-02 19:04:24 +02:00
GarandPLG 717ade35db Enable Exec substitution in losslesscut .desktop 2026-06-02 18:11:08 +02:00
GarandPLG 1d41bf6bf1 Add Tailscale plugin and enable on desktop/laptop
- Enable Tailscale plugin in home modules for Garand-Desktop and
  Garand-Laptop; keep it disabled in the default host.
- Introduce `tailscale.enable` option in noctalia plugins and add
  it to the noctalia-shell configuration with source URL handling.
- Provide default Tailscale settings (refresh interval, UI options,
  Taildrop configuration, login server, etc.).
- Add Tailscale widget to the right side of the bar widget list.
- Bump Helium AppImage to version 0.12.5.1 and update its sha256.
2026-06-02 18:10:19 +02:00
GarandPLG 01e84a3561 Add Noctalia plugins config and disable defaults
Introduce `nooctalia-plugins` options to control nightly‑shell plugins
and make
their activation conditional.  Update host home‑modules to enable a
subset
of plugins (keybind‑cheatsheet, kde‑connect, screenshot, ntfy) on
desktop and
laptop configurations.  Disable numerous default applications and system
services (e.g., Zed, browsers, Docker, Flatpak, calendar, GameMode,
Steam,
media tools, communication apps) in the default host configuration.
2026-05-27 13:51:04 +02:00
GarandPLG 2c13658e89 Add Losslesscut AppImage and update host configs
Enable the Losslesscut AppImage on the Garand‑Desktop host
while keeping it disabled on the laptop and default hosts.

Add opencode to the laptop home configuration
and explicitly disable ollama.

Add a new losslesscut AppImage package definition
and register it in the AppImage collection.

Extend the substituter list with noctalia.cachix.org
and add its trusted public key.
2026-05-27 01:13:23 +02:00
GarandPLG 551e9b2cb4 Add Opencode and Ollama modules; update configs
Enable Opencode and Ollama in home modules and import their Nix files.
Disable the deprecated system‑module opencode entries and remove it from
the
core packages list.
Add a new GitHub CLI module and a convenient `upf-gh` alias for flake
updates using a GitHub token.
Update the `stylix` configuration to include Opencode styling.
Refresh several flake.lock entries with newer revisions and hashes.
2026-05-26 00:06:07 +02:00
GarandPLG 8f9b707c2d Switch to Headscale and disable Ungoogled Chromium
Disable ungoogled‑chromium and rename all tailscale aliases to
headscale,
updating the SSH host entry and its IP address.
2026-05-25 13:25:36 +02:00
GarandPLG 83aa051d92 Make program integrations conditional on shell 2026-05-24 16:54:02 +02:00
46 changed files with 683 additions and 202 deletions
Generated
+59 -59
View File
@@ -17,11 +17,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1779522232,
"narHash": "sha256-43PUS3kPWEWVArFV9h1m4mrWIdHeeVXv7kdteYhobOs=",
"lastModified": 1781331278,
"narHash": "sha256-8IM7jJnnkhbKDbq39q4BS+DbE5CrsT4UhFtmcUDvVjE=",
"owner": "mrshmllow",
"repo": "affinity-nix",
"rev": "328f8f66e375c64255dc3cb3453271aab4d4c273",
"rev": "f112cdef13bbd13e1067e72804c18c7622357547",
"type": "github"
},
"original": {
@@ -116,11 +116,11 @@
},
"crane": {
"locked": {
"lastModified": 1779130139,
"narHash": "sha256-BLrtr42azquO7MdGFU5a7KiMl3YpFlTeIXqy1fT5GlQ=",
"lastModified": 1780532242,
"narHash": "sha256-D+BsdpxmtUwtqGoY0IXPhHgTlmqgcZKCEo1oMyn7ep0=",
"owner": "ipetkov",
"repo": "crane",
"rev": "edb38893982a3338972bb4a2ec7ce7c29ba10fd9",
"rev": "59a82a1222dd3b2080b5cc52a1a2e8d5f1b77f37",
"type": "github"
},
"original": {
@@ -138,11 +138,11 @@
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1779270500,
"narHash": "sha256-r60KTphdevmdIDz1iJ529HvcpOq082ZZ1OnN3jDnrqk=",
"lastModified": 1781086641,
"narHash": "sha256-2oBncBeL671Tf6TnYqk36ebkfPHNYPKwz5at8NcrpvI=",
"owner": "nix-community",
"repo": "fenix",
"rev": "848395a91def85c11694587636151d89555f1ddb",
"rev": "640606300f74b4891bfa1a51f5756450f9fdc7f1",
"type": "github"
},
"original": {
@@ -181,11 +181,11 @@
},
"locked": {
"dir": "pkgs/firefox-addons",
"lastModified": 1779508957,
"narHash": "sha256-gNwsa7Hwp+pUNe9pvv2aFphcFnm8BoCUUQRm0HXJHD0=",
"lastModified": 1781323358,
"narHash": "sha256-W8SFmaIEW4tP4jQ48EJSSVnO8s4gZ1j1D4K22tW9pd8=",
"owner": "rycee",
"repo": "nur-expressions",
"rev": "3bd76938b820b6f7cf537fffa206bb6a73094b4f",
"rev": "89503b569dd29491d5c58bf41c244253fcd3d2b3",
"type": "gitlab"
},
"original": {
@@ -198,11 +198,11 @@
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1776136500,
"narHash": "sha256-r0gN2brVWA351zwMV0Flmlcd6SGMvYqFbvC3DfKFM8Y=",
"lastModified": 1779670703,
"narHash": "sha256-UdfMivNMwCCqQsYDg5pSz8X2IOaOrIZLIIy+Bg3CO2o=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "0f8ba203d475587f477e7ae12661bd8459e225b7",
"rev": "942159e73e40bf785816f7f1f5feed9ef3d7c8f9",
"type": "github"
},
"original": {
@@ -265,11 +265,11 @@
]
},
"locked": {
"lastModified": 1775087534,
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
@@ -383,11 +383,11 @@
]
},
"locked": {
"lastModified": 1779507042,
"narHash": "sha256-7wOwi8B6D0BYsieZCnHZZj2sNUzgJhLoIVSfkwB7lxQ=",
"lastModified": 1781305496,
"narHash": "sha256-g8Vv4Qfc7n+lgov97REu3X6BeJtvYY0hlSUZR1GrGQQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "509ed3c603349a9d43de9e2ae6613baea6bd5b34",
"rev": "c87a39aa979acc4848016d2220c6238390d84779",
"type": "github"
},
"original": {
@@ -456,11 +456,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1779508470,
"narHash": "sha256-Ap9KJX+5xHIn3bPIpfNgT6MEXdAECECwo4/rmlQD74M=",
"lastModified": 1781074563,
"narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "29916453413845e54a65b8a1cf996842300cd299",
"rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca",
"type": "github"
},
"original": {
@@ -509,11 +509,11 @@
"noctalia-qs": "noctalia-qs"
},
"locked": {
"lastModified": 1779504029,
"narHash": "sha256-f8u9DV9Qk8KJh7DVvk4UgUFTN0NDJeFxgrffTSwPkpA=",
"lastModified": 1780889763,
"narHash": "sha256-18kh968u0hhtDyECo0FBnlEnJLDxs0uB5H5QbWA9P3I=",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"rev": "b99b7a7f06ff749df9ac43181ff7889ff90c5599",
"rev": "57be32b0a81471ef6c5dceff6faad23b534ec7f8",
"type": "github"
},
"original": {
@@ -532,11 +532,11 @@
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
"lastModified": 1778983195,
"narHash": "sha256-hE3EFK5GoSdbO5WHZ8bZDUVYkofbDLQN/KK25z7IOOI=",
"lastModified": 1780799499,
"narHash": "sha256-YloRtLqJabzYUWvdLyh67zH4DZrR3kQj+dlQJwLPmPM=",
"owner": "noctalia-dev",
"repo": "noctalia-qs",
"rev": "4116b41cdc89e186be7cb8b24a9b6022af95d742",
"rev": "f308426239665e3bc3d624014e9295b2ae2f58ff",
"type": "github"
},
"original": {
@@ -556,11 +556,11 @@
]
},
"locked": {
"lastModified": 1777598946,
"narHash": "sha256-X239dAGaU1+gfDj8jKH8GzlqKMcxaVfXOio+uzBOkeE=",
"lastModified": 1780281641,
"narHash": "sha256-M/+hUKoKbHXpV0xGVfELbN1Ds1aoe3pL5p5/t46YhVo=",
"owner": "nix-community",
"repo": "NUR",
"rev": "5d55af01c0f86be583931fe99207fc56c14134b3",
"rev": "30f9ae2f04174de63ba8bcf3580ca90843b28a01",
"type": "github"
},
"original": {
@@ -639,11 +639,11 @@
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1779221047,
"narHash": "sha256-HkOWI9C4kxA6xkS9GXhe4hAAme7ekOWje3b1U7rLSIo=",
"lastModified": 1781005730,
"narHash": "sha256-3Bn47a+Vs2/ltQfTU2ApWqy5kYNmF+RaTEJs0A/H2pA=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "f4bd646a7867c7814770168e0d4b9bd3418c1066",
"rev": "587ce15e272b94d4f0a69d695e3718a02c24667e",
"type": "github"
},
"original": {
@@ -690,11 +690,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1779378391,
"narHash": "sha256-IsDb9erotvx9npI94UDosvMeYQK17p7/vmU2v9batrY=",
"lastModified": 1781018772,
"narHash": "sha256-C+cGIUaC6dqfwTbI+BwCd572PbESGA3WYxR1sLTqxkY=",
"owner": "danth",
"repo": "stylix",
"rev": "c1456cc4ba3c9485e7b4158c909eeca5a752cd59",
"rev": "a378e4c09031fb15a4d65da88aa628f71fc52f6b",
"type": "github"
},
"original": {
@@ -720,16 +720,16 @@
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"repo": "default-linux",
"type": "github"
}
},
@@ -752,11 +752,11 @@
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1777041405,
"narHash": "sha256-BAGZ7ObFV/9Z61OJZun7ifPyhkuHqNuW1QIhQ8LuzCo=",
"lastModified": 1777806186,
"narHash": "sha256-PDF0/wObw4nIsSBeXVYLsloXOiphXCgIdsrNcVXguKs=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "5f868b3a338b6904c47f3833b9c411be641983a8",
"rev": "0c94645546f4f3ddac77a1a5fce54eb95bf50795",
"type": "github"
},
"original": {
@@ -768,11 +768,11 @@
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1777169200,
"narHash": "sha256-h7dDbIzP5hDr9v97w9PL6jdAgXawmj6krcH+959rqpU=",
"lastModified": 1778379944,
"narHash": "sha256-wPDFzMGSlARlw0Sfsn48Q2+jPSfk6N0Ng6BC/d+7Q24=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "f798c2dce44ef815bb6b8f05a82135c7942d35ac",
"rev": "fe0203a198690e71a5ff11e08812a4673de3678d",
"type": "github"
},
"original": {
@@ -784,11 +784,11 @@
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1777463218,
"narHash": "sha256-Bhkozqtq3BKLqWTlmKm8uAptfX4aRGI8QX3eEL54Vpc=",
"lastModified": 1778378178,
"narHash": "sha256-OXPXRIQgGwV77HjYRryOHguh4ALX96jkg+tseLkGgHA=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "5768d08ed2e7944a26a958868cdb073cb8856dae",
"rev": "9cd816033ff969415b190722cddf134e78a5665f",
"type": "github"
},
"original": {
@@ -804,11 +804,11 @@
]
},
"locked": {
"lastModified": 1775636079,
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
"lastModified": 1780220602,
"narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
"rev": "db947814a175b7ca6ded66e21383d938df01c227",
"type": "github"
},
"original": {
@@ -826,11 +826,11 @@
]
},
"locked": {
"lastModified": 1775636079,
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
"lastModified": 1780220602,
"narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
"rev": "db947814a175b7ca6ded66e21383d938df01c227",
"type": "github"
},
"original": {
+28 -1
View File
@@ -7,12 +7,14 @@ _: {
enable = true; # Zed Editor: a modern, highperformance code editor
remote-server.enable = false; # Remote Server: enable remote editing capabilities
};
opencode.enable = false; # OpenCode: terminal coding agent
ollama.enable = false; # Ollama: Local Llms
/*
Web browsers
*/
librewolf.enable = true; # Librewolf: a privacy-focused Firefox fork
ungoogled-chromium.enable = true; # Ungoogled Chromium: a privacy-focused Chromium fork
ungoogled-chromium.enable = false; # Ungoogled Chromium: a privacy-focused Chromium fork
/*
System utilities
@@ -33,6 +35,7 @@ _: {
Gaming
*/
lutris.enable = false; # Lutris: an open gaming platform
mangohud.enable = true; # MangoHud: Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more
/*
Media recording and streaming
@@ -49,6 +52,16 @@ _: {
*/
anki.enable = true; # Anki: spacedrepetition flashcard program
/*
Productivity / Knowledge Management
*/
obsidian = {
enable = true; # Obsidian: Powerful knowledge base that works on top of a local folder of plain text Markdown files
vaults = {
"BoM".enable = true; # Blood of Mages: ttrpg session
};
};
/*
XDG desktop entries (PWA)
*/
@@ -64,4 +77,18 @@ _: {
jellyfinClient.enable = true; # Jellyfin: My Jellyfin
};
};
/*
Noctalia-shell plugins
*/
nooctalia-plugins = {
mini-docker.enable = false; # Mini Docker: Manage Docker containers, images, volumes & networks
timer.enable = false; # Timer: A timer and stopwatch plugin for the bar & control center.
keybind-cheatsheet.enable = true; # Keybind Cheatsheet: Universal keyboard shortcuts keymap that automatically detects and displays keybindings for Hyprland, Niri, or MangoWC compositors.
kde-connect.enable = true; # KDE Connect: A Plugin integrating your mobile devices into a panel using KDEConnect
screen-recorder.enable = true; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings
screenshot.enable = true; # Screenshot: Quick screenshot button in bar for Hyprland, Sway, and Niri
ntfy-notifications.enable = true; # ntfy Notifications: Subscribe to ntfy topics and receive push notifications directly in your bar, with full theming support
tailscale.enable = true; # Tailscale: Show Tailscale status in the menu bar and send/receive files via Taildrop.
};
}
+3 -3
View File
@@ -68,7 +68,6 @@ _: {
*/
exercism.enable = false; # Exercism: coding practice platform
lazygit.enable = false; # Lazygit: simple TUI for Git
opencode.enable = false; # OpenCode: tools for coding and development
jan.enable = true; # Jan: AI chat UI
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
@@ -89,7 +88,7 @@ _: {
*/
bitwarden.enable = false; # Bitwarden: password manager (desktop)
iotas.enable = true; # Iotas: lightweight notes manager
logseq.enable = false; # Logseq: knowledge base and outliner
# appImages.logseq.enable = false; # Logseq: knowledge base and outliner
/*
Media & Graphics
@@ -100,8 +99,9 @@ _: {
gimp.enable = false; # GIMP: GNU Image Manipulation Program
kdenlive.enable = true; # Kdenlive: video editing software
pixieditor.enable = true; # Pixieditor: Universal editor for all your 2D needs
plex.enable = true; # Plex: media player and server client
plex.enable = false; # Plex: media player and server client
jellyfin.enable = true; # Jellyfin: foss media player
appImages.losslesscut.enable = true; # Losslesscut: Swiss army knife of lossless video/audio editing
/*
Utilities / Misc
+27
View File
@@ -7,6 +7,8 @@ _: {
enable = true; # Zed Editor: a modern, highperformance code editor
remote-server.enable = false; # Remote Server: enable remote editing capabilities
};
opencode.enable = false; # OpenCode: terminal coding agent
ollama.enable = false; # Ollama: Local Llms
/*
Web browsers
@@ -33,6 +35,7 @@ _: {
Gaming
*/
lutris.enable = false; # Lutris: an open gaming platform
mangohud.enable = true; # MangoHud: Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more
/*
Media recording and streaming
@@ -49,6 +52,16 @@ _: {
*/
anki.enable = true; # Anki: spacedrepetition flashcard program
/*
Productivity / Knowledge Management
*/
obsidian = {
enable = true; # Obsidian: Powerful knowledge base that works on top of a local folder of plain text Markdown files
vaults = {
"BoM".enable = true; # Blood of Mages: ttrpg session
};
};
/*
XDG desktop entries (PWA)
*/
@@ -64,4 +77,18 @@ _: {
jellyfinClient.enable = true; # Jellyfin: My Jellyfin
};
};
/*
Noctalia-shell plugins
*/
nooctalia-plugins = {
mini-docker.enable = false; # Mini Docker: Manage Docker containers, images, volumes & networks
timer.enable = false; # Timer: A timer and stopwatch plugin for the bar & control center.
keybind-cheatsheet.enable = true; # Keybind Cheatsheet: Universal keyboard shortcuts keymap that automatically detects and displays keybindings for Hyprland, Niri, or MangoWC compositors.
kde-connect.enable = true; # KDE Connect: A Plugin integrating your mobile devices into a panel using KDEConnect
screen-recorder.enable = false; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings
screenshot.enable = true; # Screenshot: Quick screenshot button in bar for Hyprland, Sway, and Niri
ntfy-notifications.enable = true; # ntfy Notifications: Subscribe to ntfy topics and receive push notifications directly in your bar, with full theming support
tailscale.enable = true; # Tailscale: Show Tailscale status in the menu bar and send/receive files via Taildrop.
};
}
+3 -3
View File
@@ -68,7 +68,6 @@ _: {
*/
exercism.enable = false; # Exercism: coding practice platform
lazygit.enable = false; # Lazygit: simple TUI for Git
opencode.enable = false; # OpenCode: tools for coding and development
jan.enable = true; # Jan: AI chat UI
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
@@ -89,7 +88,7 @@ _: {
*/
bitwarden.enable = false; # Bitwarden: password manager (desktop)
iotas.enable = true; # Iotas: lightweight notes manager
logseq.enable = false; # Logseq: knowledge base and outliner
# appImages.logseq.enable = false; # Logseq: knowledge base and outliner
/*
Media & Graphics
@@ -100,8 +99,9 @@ _: {
gimp.enable = false; # GIMP: GNU Image Manipulation Program
kdenlive.enable = false; # Kdenlive: video editing software
pixieditor.enable = true; # Pixieditor: Universal editor for all your 2D needs
plex.enable = true; # Plex: media player and server client
plex.enable = false; # Plex: media player and server client
jellyfin.enable = true; # Jellyfin: foss media player
appImages.losslesscut.enable = false; # Losslesscut: Swiss army knife of lossless video/audio editing
/*
Utilities / Misc
+44 -17
View File
@@ -4,21 +4,23 @@ _: {
*/
vscodium.enable = false; # VSCodium: a free and open-source "demicrosofted" VSCode
zed-editor = {
enable = true; # Zed Editor: a modern, highperformance code editor
remote-server.enable = true; # Remote Server: enable remote editing capabilities
enable = false; # Zed Editor: a modern, highperformance code editor
remote-server.enable = false; # Remote Server: enable remote editing capabilities
};
opencode.enable = false; # OpenCode: terminal coding agent
ollama.enable = false; # Ollama: Local Llms
/*
Web browsers
*/
librewolf.enable = true; # Librewolf: a privacy-focused Firefox fork
ungoogled-chromium.enable = true; # Ungoogled Chromium: a privacy-focused Chromium fork
librewolf.enable = false; # Librewolf: a privacy-focused Firefox fork
ungoogled-chromium.enable = false; # Ungoogled Chromium: a privacy-focused Chromium fork
/*
System utilities
*/
btop.enable = true; # Btop: a resource monitor for the terminal
easyeffects.enable = true; # EasyEffects: Audio effects for PipeWire applications
easyeffects.enable = false; # EasyEffects: Audio effects for PipeWire applications
cava.enable = false; # Cava: terminal audio visualizer
fastfetch.enable = true; # Fastfetch: a fast system information tool
@@ -26,13 +28,14 @@ _: {
Communication and synchronization
*/
kdeconnect.enable = false; # KDE Connect: integrate your phone and desktop
nextcloud-client.enable = true; # Nextcloud Client: sync files with a Nextcloud server
vesktop.enable = true; # Vesktop: a communitydriven Discord client
nextcloud-client.enable = false; # Nextcloud Client: sync files with a Nextcloud server
vesktop.enable = false; # Vesktop: a communitydriven Discord client
/*
Gaming
*/
lutris.enable = false; # Lutris: an open gaming platform
mangohud.enable = false; # MangoHud: Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more
/*
Media recording and streaming
@@ -42,26 +45,50 @@ _: {
/*
Office suite
*/
onlyoffice.enable = true; # OnlyOffice: an office suite compatible with Microsoft formats
onlyoffice.enable = false; # OnlyOffice: an office suite compatible with Microsoft formats
/*
Learning tools
*/
anki.enable = true; # Anki: spacedrepetition flashcard program
anki.enable = false; # Anki: spacedrepetition flashcard program
/*
Productivity / Knowledge Management
*/
obsidian = {
enable = false; # Obsidian: Powerful knowledge base that works on top of a local folder of plain text Markdown files
vaults = {
"BoM".enable = false; # Blood of Mages: ttrpg session
};
};
/*
XDG desktop entries (PWA)
*/
xdgDesktopEntries = {
enable = true; # Enable XDG desktop entries
enable = false; # Enable XDG desktop entries
entries = {
messenger.enable = true; # Messenger: Facebook Messenger
mastodon.enable = true; # Mastodon: a decentralized social network
garandcloud.enable = true; # GarandCloud: my Nextcloud instance
chatgpt.enable = true; # ChatGPT: a large language model
claude.enable = true; # Claude: a large language model
glance.enable = true; # Glance: my home server dashboard
jellyfinClient.enable = true; # Jellyfin: My Jellyfin
messenger.enable = false; # Messenger: Facebook Messenger
mastodon.enable = false; # Mastodon: a decentralized social network
garandcloud.enable = false; # GarandCloud: my Nextcloud instance
chatgpt.enable = false; # ChatGPT: a large language model
claude.enable = false; # Claude: a large language model
glance.enable = false; # Glance: my home server dashboard
jellyfinClient.enable = false; # Jellyfin: My Jellyfin
};
};
/*
Noctalia-shell plugins
*/
nooctalia-plugins = {
mini-docker.enable = false; # Mini Docker: Manage Docker containers, images, volumes & networks
timer.enable = false; # Timer: A timer and stopwatch plugin for the bar & control center.
keybind-cheatsheet.enable = false; # Keybind Cheatsheet: Universal keyboard shortcuts keymap that automatically detects and displays keybindings for Hyprland, Niri, or MangoWC compositors.
kde-connect.enable = false; # KDE Connect: A Plugin integrating your mobile devices into a panel using KDEConnect
screen-recorder.enable = false; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings
screenshot.enable = false; # Screenshot: Quick screenshot button in bar for Hyprland, Sway, and Niri
ntfy-notifications.enable = false; # ntfy Notifications: Subscribe to ntfy topics and receive push notifications directly in your bar, with full theming support
tailscale.enable = false; # Tailscale: Show Tailscale status in the menu bar and send/receive files via Taildrop.
};
}
+23 -23
View File
@@ -2,14 +2,14 @@ _: {
/*
Container & Packaging
*/
docker.enable = true; # Docker: container runtime and management
docker.enable = false; # Docker: container runtime and management
virtualbox.enable = false; # VirtualBox: PC emulator
flatpak = {
enable = true; # Flatpak: universal packaging system for Linux
enable = false; # Flatpak: universal packaging system for Linux
packages = {
sober.enable = false; # Roblox client
warehouse.enable = true; # Flatpak manager
flatseal.enable = true; # Flatpak permissions manager
warehouse.enable = false; # Flatpak manager
flatseal.enable = false; # Flatpak permissions manager
upscaler.enable = false; # Upscaler: Upscale and enhance images
};
};
@@ -22,14 +22,14 @@ _: {
/*
Calendar & Contacts
*/
calendar.enable = true; # GNOME Calendar: calendar and contacts application
calendar.enable = false; # GNOME Calendar: calendar and contacts application
/*
Gaming
*/
gamemode.enable = true; # GameMode: optimizes system performance for gaming
gamemode.enable = false; # GameMode: optimizes system performance for gaming
gamescope.enable = false; # Gamescope: microcompositor for games
steam.enable = true; # Steam: platform for buying and playing games
steam.enable = false; # Steam: platform for buying and playing games
/*
Media & Graphics
@@ -59,27 +59,26 @@ _: {
Gaming
*/
prismlauncher.enable = false; # Prism Launcher: Minecraft modded launcher
spaceCadetPinball.enable = true; # SpaceCadet Pinball: classic pinball game
ttySolitaire.enable = true; # TTY Solitaire: terminalbased solitaire game
spaceCadetPinball.enable = false; # SpaceCadet Pinball: classic pinball game
ttySolitaire.enable = false; # TTY Solitaire: terminalbased solitaire game
heroic.enable = false; # Native GOG, Epic, and Amazon Games Launcher for Linux, Windows and Mac
/*
Development Tools
*/
exercism.enable = true; # Exercism: coding practice platform
exercism.enable = false; # Exercism: coding practice platform
lazygit.enable = false; # Lazygit: simple TUI for Git
opencode.enable = false; # OpenCode: tools for coding and development
jan.enable = true; # Jan: AI chat UI
jan.enable = false; # Jan: AI chat UI
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
/*
Communication & Collaboration
*/
mattermost.enable = true; # Mattermost: opensource Slack alternative
mattermost.enable = false; # Mattermost: opensource Slack alternative
slack.enable = false; # Slack: team communication and collaboration tool
tutanota.enable = true; # Tutanota: secure email client
signal.enable = true; # Signal: secure messaging app
teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux
tutanota.enable = false; # Tutanota: secure email client
signal.enable = false; # Signal: secure messaging app
teams.enable = false; # Teams-for-linux: Unofficial Microsoft Teams client for Linux
ferdium.enable = false; # Ferdium: All your services in one place built by the community
notify.enable = false; # notify-client: Ntfy client application to receive everyday's notifications
appImages.fluxer.enable = false; # Fluxer: Discord alternative
@@ -88,26 +87,27 @@ _: {
Productivity / Knowledge Management
*/
bitwarden.enable = false; # Bitwarden: password manager (desktop)
iotas.enable = true; # Iotas: lightweight notes manager
logseq.enable = false; # Logseq: knowledge base and outliner
iotas.enable = false; # Iotas: lightweight notes manager
# appImages.logseq.enable = false; # Logseq: knowledge base and outliner
/*
Media & Graphics
*/
eyeOfGnome.enable = true; # Eye of GNOME: image viewer
eyeOfGnome.enable = false; # Eye of GNOME: image viewer
switcheroo.enable = false; # Switcheroo: file conversion tool
freetube.enable = false; # FreeTube: privacyfriendly YouTube client
gimp.enable = false; # GIMP: GNU Image Manipulation Program
kdenlive.enable = false; # Kdenlive: video editing software
pixieditor.enable = false; # Pixieditor: Universal editor for all your 2D needs
plex.enable = true; # Plex: media player and server client
jellyfin.enable = true; # Jellyfin: foss media player
plex.enable = false; # Plex: media player and server client
jellyfin.enable = false; # Jellyfin: foss media player
appImages.losslesscut.enable = false; # Losslesscut: Swiss army knife of lossless video/audio editing
/*
Utilities / Misc
*/
eddieAirVPN.enable = true; # Eddie AirVPN: VPN client
gnomeCalculator.enable = true; # gnomeCalculator: simple calculator
eddieAirVPN.enable = false; # Eddie AirVPN: VPN client
gnomeCalculator.enable = false; # gnomeCalculator: simple calculator
gedit.enable = false; # Gedit: GNOME text editor
winboat.enable = false; # Winboat: Windows remote desktop via RDP
adb.enable = false; # ADB: Android SDK platform tools
+1 -3
View File
@@ -6,11 +6,9 @@
services.greetd = {
enable = true;
#vt = 3;
settings = {
default_session = {
settings.default_session = {
user = username;
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager
};
};
};
}
@@ -14,6 +14,8 @@
appImagePackages = {
fluxer = pkgs.callPackage ./fluxer.nix {};
helium = pkgs.callPackage ./helium.nix {};
# logseq = pkgs.callPackage ./logseq.nix {};
losslesscut = pkgs.callPackage ./losslesscut.nix {};
};
in {
imports = builtins.attrValues (builtins.mapAttrs mkAppImagePackage appImagePackages);
+2 -1
View File
@@ -5,10 +5,11 @@
}: let
pname = "fluxer";
version = "canary";
hash = "sha256-GdoBK+Z/d2quEIY8INM4IQy5tzzIBBM+3CgJXQn0qAw=";
src = fetchurl {
url = "https://api.fluxer.app/dl/desktop/stable/linux/x64/latest/appimage";
sha256 = "sha256-GdoBK+Z/d2quEIY8INM4IQy5tzzIBBM+3CgJXQn0qAw=";
sha256 = hash;
};
appimageContents = appimageTools.extract {inherit pname version src;};
+3 -2
View File
@@ -4,11 +4,12 @@
fetchurl,
}: let
pname = "helium";
version = "0.12.4.1";
version = "0.13.4.1";
hash = "sha256-z23up+T6bj6F+cQslmI92bEksIAw1OQHRIrmQSaaxY8=";
src = fetchurl {
url = "https://github.com/imputnet/helium-linux/releases/download/${version}/helium-${version}-x86_64.AppImage";
sha256 = "sha256-OgS8HkLBseFrEhNFJxMwp1bg0gzPdfY1VaySAAp7vq0=";
sha256 = hash;
};
appimageContents = appimageTools.extract {inherit pname version src;};
@@ -0,0 +1,40 @@
{
lib,
appimageTools,
fetchurl,
}: let
pname = "logseq";
version = "0.10.15";
hash = "sha256-i5EQUvSW1ix+8NT8nCs6mGH2B9xF7G4mB7vBhDJ7JdE=";
src = fetchurl {
url = "https://github.com/logseq/logseq/releases/download/${version}/Logseq-linux-x64-${version}.AppImage";
sha256 = hash;
};
appimageContents = appimageTools.extract {inherit pname version src;};
iconSize = "512x512";
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/${iconSize}/apps/${pname}.png \
$out/share/icons/hicolor/${iconSize}/apps/${pname}.png
substituteInPlace $out/share/applications/${pname}.desktop \
--replace-fail 'Exec=AppRun' 'Exec=${pname}'
'';
meta = with lib; {
description = "Logseq";
homepage = "https://github.com/logseq/logseq";
license = licenses.gpl3;
platforms = ["x86_64-linux"];
sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
maintainers = with lib.maintainers; [garand_plg];
};
}
# https://github.com/logseq/logseq/releases/download/0.10.15/Logseq-linux-x64-0.10.15.AppImage
@@ -0,0 +1,40 @@
{
lib,
appimageTools,
fetchurl,
}: let
pname = "losslesscut";
version = "3.69.0";
hash = "sha256-F56q4nv/viWmVJpKcUR0EmtXwojO/DBwRvycYxOhJnY=";
src = fetchurl {
url = "https://github.com/mifi/lossless-cut/releases/download/v${version}/LosslessCut-linux-x86_64.AppImage";
sha256 = hash;
};
appimageContents = appimageTools.extract {inherit pname version src;};
iconSize = "512x512";
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/${iconSize}/apps/${pname}.png \
$out/share/icons/hicolor/${iconSize}/apps/${pname}.png
substituteInPlace $out/share/applications/${pname}.desktop \
--replace-fail 'Exec=AppRun' 'Exec=${pname}'
'';
meta = with lib; {
description = "Lossless cut";
homepage = "https://github.com/mifi/lossless-cut";
license = licenses.gpl2Only;
platforms = ["x86_64-linux"];
sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
maintainers = with lib.maintainers; [garand_plg];
};
}
# https://github.com/mifi/lossless-cut/releases/download/v3.68.0/LosslessCut-linux-x86_64.AppImage
+4 -3
View File
@@ -19,12 +19,11 @@
gnomeCalculator = gnome-calculator;
gedit = gedit;
iotas = iotas;
logseq = logseq;
# logseq = logseq;
mattermost = mattermost-desktop;
slack = slack;
tutanota = tutanota-desktop;
exercism = exercism;
opencode = opencode;
jan = jan;
lazygit = lazygit;
prismlauncher = inputs.prismlauncher-cracked.packages.${system}.default;
@@ -32,7 +31,9 @@
ttySolitaire = tty-solitaire;
gimp = gimp;
eyeOfGnome = eog;
kdenlive = kdePackages.kdenlive.overrideAttrs (old: {
kdenlive =
kdePackages.kdenlive.overrideAttrs
(old: {
postInstall =
(old.postInstall or "")
+ ''
+13 -2
View File
@@ -1,19 +1,30 @@
_: {
{shell, ...}: {
programs = {
nano.enable = true;
hyprland = {
enable = true;
withUWSM = false;
};
fish.enable = true;
fish.enable =
if shell == "fish"
then true
else false;
dconf.enable = true;
seahorse.enable = true;
fuse.userAllowOther = true;
mtr.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
nix-ld = {
enable = true;
# libraries = with pkgs; [
+10 -8
View File
@@ -18,10 +18,10 @@
dedicatedServer.openFirewall = true;
gamescopeSession = lib.mkIf config.gamescope.enable {
enable = true;
args = [
"--rt"
"--expose-wayland"
];
# args = [
# "--rt"
# "--expose-wayland"
# ];
};
extraCompatPackages = [pkgs.proton-ge-bin];
};
@@ -29,10 +29,10 @@
gamescope = lib.mkIf config.gamescope.enable {
enable = true;
capSysNice = true;
args = [
"--rt"
"--expose-wayland"
];
# args = [
# # "--rt"
# # "--expose-wayland"
# ];
};
gamemode = lib.mkIf config.gamemode.enable {
@@ -41,3 +41,5 @@
};
};
}
# gamescope -W 1920 -H 1080 -r 144 --force-grab-cursor -f --mangoapp --rt --expose-wayland --
+8 -1
View File
@@ -34,7 +34,8 @@
popups = 12;
};
};
targets.limine = {
targets = {
limine = {
enable = true;
colors.enable = true;
image.enable = true;
@@ -43,5 +44,11 @@
override = "tile";
};
};
kmscon = {
enable = false;
colors.enable = true;
fonts.enable = true;
};
};
};
}
+8 -2
View File
@@ -12,8 +12,14 @@
"nix-command"
"flakes"
];
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
substituters = [
"https://hyprland.cachix.org"
"https://noctalia.cachix.org"
];
trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"noctalia.cachix.org-1:pCOR47nnMEo5thcxNDtzWpOxNFQsBRglJzxWPp3dkU4="
];
};
};
time.timeZone = "Europe/Warsaw";
+4 -1
View File
@@ -43,7 +43,10 @@
username = "${username}";
homeDirectory = "/home/${username}";
stateVersion = "25.11";
shell.enableFishIntegration = true;
shell.enableFishIntegration =
if shell == "fish"
then true
else false;
};
};
};
+8 -1
View File
@@ -12,6 +12,13 @@
package = pkgs.anki;
language = "pl_PL";
style = "native";
profiles."${username}".sync.username = username;
profiles."${username}" = {
default = true;
sync = {
username = username;
url = "https://ass.garandplg.com/";
autoSync = true;
};
};
};
}
+3 -2
View File
@@ -9,6 +9,7 @@
upd = "nh os switch -H ${host} -d always";
upg = "nh os switch -H ${host} --update -d always";
upf = "sudo nix flake update --flake /home/${username}/garandos";
upf-gh = "nix flake update --option access-tokens \"github.com=$(gh auth token)\" --flake /home/${username}/garandos";
upf-undo = "git -C /home/${username}/garandos restore /home/${username}/garandos/flake.lock";
upd-bt = "nh os boot -H ${host} -d always";
upd-ts = "nh os test -H ${host} -d always";
@@ -140,8 +141,8 @@
# Network aliases
kssh-server = "kssh hp-t640-homeserver";
kssh-server-ts = "kssh hp-t640-homeserver-tailscale";
kssh-server-hs = "kssh hp-t640-homeserver-headscale";
ssh-server = "ssh hp-t640-homeserver";
ssh-server-ts = "ssh hp-t640-homeserver-tailscale";
ssh-server-hs = "ssh hp-t640-homeserver-headscale";
};
}
+5
View File
@@ -8,6 +8,7 @@ _: {
./kitty
./librewolf
./noctalia
./obsidian
./scripts
./vscodium
./xdg
@@ -19,13 +20,17 @@ _: {
./easyeffects.nix
./eza.nix
./fzf.nix
./gh.nix
./git.nix
./gtk.nix
./kdeConnect.nix
./lutris.nix
./mangohud.nix
./nextcloud.nix
./obs-studio.nix
./ollama.nix
./onlyoffice.nix
./opencode.nix
./qt.nix
./ssh.nix
./starship.nix
+9 -4
View File
@@ -1,10 +1,15 @@
# Eza is a ls replacement
{
{shell, ...}: {
programs.eza = {
enable = true;
icons = "auto";
enableFishIntegration = true;
enableBashIntegration = true;
enableFishIntegration =
if shell == "fish"
then true
else false;
enableBashIntegration =
if shell == "bash"
then true
else false;
git = true;
extraOptions = [
+2 -6
View File
@@ -122,9 +122,7 @@ _: {
{
type = "command";
key = " IN";
text =
#bash
''
text = ''
birth_install=$(stat -c %W /)
if [ "$birth_install" -gt 0 ]; then
echo "Installed $(date -d @"$birth_install" +"%Y-%m-%d")"
@@ -136,9 +134,7 @@ _: {
{
type = "command";
key = " ";
text =
#bash
''
text = ''
birth_install=$(stat -c %W /)
current=$(date +%s)
delta=$((current - birth_install))
+3 -2
View File
@@ -9,6 +9,7 @@
upd = "nh os switch -H ${host} -d always";
upg = "nh os switch -H ${host} --update -d always";
upf = "sudo nix flake update --flake /home/${username}/garandos";
upf-gh = "nix flake update --option access-tokens \"github.com=$(gh auth token)\" --flake /home/${username}/garandos";
upf-undo = "git -C /home/${username}/garandos restore /home/${username}/garandos/flake.lock";
upd-bt = "nh os boot -H ${host} -d always";
upd-ts = "nh os test -H ${host} -d always";
@@ -133,8 +134,8 @@
# Network aliases
kssh-server = "kssh hp-t640-homeserver";
kssh-server-ts = "kssh hp-t640-homeserver-tailscale";
kssh-server-hs = "kssh hp-t640-homeserver-headscale";
ssh-server = "ssh hp-t640-homeserver";
ssh-server-ts = "ssh hp-t640-homeserver-tailscale";
ssh-server-hs = "ssh hp-t640-homeserver-headscale";
};
}
+4 -1
View File
@@ -20,7 +20,10 @@
nix-your-shell = {
enable = true;
package = pkgs.nix-your-shell;
enableFishIntegration = true;
enableFishIntegration =
if shell == "fish"
then true
else false;
nix-output-monitor = {
enable = true;
package = pkgs.nix-output-monitor;
+9 -3
View File
@@ -1,8 +1,14 @@
_: {
{shell, ...}: {
programs.fzf = {
enable = true;
enableFishIntegration = true;
enableBashIntegration = true;
enableFishIntegration =
if shell == "fish"
then true
else false;
enableBashIntegration =
if shell == "bash"
then true
else false;
defaultOptions = [
"--margin=1"
"--layout=reverse"
+21
View File
@@ -0,0 +1,21 @@
{
pkgs,
gitUsername,
...
}: {
programs.gh = {
enable = true;
package = pkgs.gh;
hosts."github.com" = {
git_protocol = "https";
users = [
"${gitUsername}"
];
user = "${gitUsername}";
};
settings = {
git_protocol = "https";
version = "1";
};
};
}
+1 -6
View File
@@ -5,11 +5,6 @@
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
gtk4 = {
theme = null;
extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
};
}
+9 -2
View File
@@ -1,8 +1,15 @@
{pkgs, ...}: {
{
pkgs,
shell,
...
}: {
programs.kitty = {
enable = true;
package = pkgs.kitty;
shellIntegration.enableFishIntegration = true;
shellIntegration.enableFishIntegration =
if shell == "fish"
then true
else false;
};
imports = [
+72
View File
@@ -0,0 +1,72 @@
{
pkgs,
lib,
config,
...
}: {
options.mangohud.enable = lib.mkEnableOption "MangoHud";
config = lib.mkIf config.mangohud.enable {
programs.mangohud = {
enable = true;
package = pkgs.mangohud;
settings = lib.mkForce {
position = "top-right";
background_alpha = 0.4;
font_size = 18;
round_corners = 8;
no_display = 0;
gpu_color = "2e9ef4";
cpu_color = "39d353";
vram_color = "ad3aff";
ram_color = "c0c0c0";
engine_color = "eb5454";
frametime_color = "e8c446";
text_color = "ffffff";
background_color = "020202";
media_player_color = "ffffff";
fps_color_change = 1;
fps_color = "39d353,e8c446,eb5454";
fps_value = "60,30";
fps = 1;
fps_only = 0;
gpu_stats = 1;
gpu_load_change = 1;
gpu_load_value = "60,90";
gpu_load_color = "39d353,e8c446,eb5454";
gpu_temp = 1;
gpu_core_clock = 1;
gpu_mem_clock = 0;
gpu_power = 1;
gpu_name = 1;
vram = 1;
cpu_stats = 1;
cpu_load_change = 1;
cpu_load_value = "60,90";
cpu_load_color = "39d353,e8c446,eb5454";
cpu_temp = 1;
cpu_mhz = 1;
core_load = 0;
ram = 1;
frametime = 1;
frame_timing = 1;
histogram = 0;
engine_version = 1;
vulkan_driver = 1;
arch = 0;
fps_limit = 0;
toggle_hud = "Shift_R+F12";
toggle_fps_limit = "Shift_L+F1";
};
};
};
}
+45 -9
View File
@@ -1,7 +1,22 @@
{lib, ...}: let
{
lib,
config,
...
}: let
sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins";
in {
programs.noctalia-shell = lib.mkForce {
options.nooctalia-plugins = {
mini-docker.enable = lib.mkEnableOption "Mini docker plugin";
timer.enable = lib.mkEnableOption "Timer plugin";
keybind-cheatsheet.enable = lib.mkEnableOption "Keybind cheatsheet plugin";
kde-connect.enable = lib.mkEnableOption "KDE Connect plugin";
screen-recorder.enable = lib.mkEnableOption "Screen-recorder plugin";
screenshot.enable = lib.mkEnableOption "Screenshot plugin";
ntfy-notifications.enable = lib.mkEnableOption "ntfy notifications plugin";
tailscale.enable = lib.mkEnableOption "Tailscale plugin";
};
config.programs.noctalia-shell = lib.mkForce {
plugins = {
sources = [
{
@@ -11,31 +26,35 @@ in {
}
];
states = {
mini-docker = {
mini-docker = lib.mkIf config.nooctalia-plugins.mini-docker.enable {
enabled = true;
sourceUrl = sourceUrl;
};
timer = {
timer = lib.mkIf config.nooctalia-plugins.timer.enable {
enabled = true;
sourceUrl = sourceUrl;
};
keybind-cheatsheet = {
keybind-cheatsheet = lib.mkIf config.nooctalia-plugins.keybind-cheatsheet.enable {
enabled = true;
sourceUrl = sourceUrl;
};
kde-connect = {
kde-connect = lib.mkIf config.nooctalia-plugins.kde-connect.enable {
enabled = true;
sourceUrl = sourceUrl;
};
screen-recorder = {
screen-recorder = lib.mkIf config.nooctalia-plugins.screen-recorder.enable {
enabled = true;
sourceUrl = sourceUrl;
};
screenshot = {
screenshot = lib.mkIf config.nooctalia-plugins.screenshot.enable {
enabled = true;
sourceUrl = sourceUrl;
};
ntfy-notifications = {
ntfy-notifications = lib.mkIf config.nooctalia-plugins.ntfy-notifications.enable {
enabled = true;
sourceUrl = sourceUrl;
};
tailscale = lib.mkIf config.nooctalia-plugins.tailscale.enable {
enabled = true;
sourceUrl = sourceUrl;
};
@@ -92,6 +111,23 @@ in {
# maxMessages = 100;
# readMessageIds = [];
# };
tailscale = {
refreshInterval = 5000;
compactMode = true;
showIpAddress = false;
showPeerCount = false;
hideDisconnected = false;
hideMullvadExitNodes = true;
showSearchBar = false;
terminalCommand = "kitty";
sshUsername = "";
pingCount = 5;
defaultPeerAction = "copy-ip";
taildropEnabled = true;
taildropDownloadDir = "~/Downloads";
taildropReceiveMode = "operator";
loginServer = "https://hs.garandplg.com";
};
};
};
}
@@ -11,6 +11,9 @@
hidePassive = false;
pinned = [];
}
{
id = "plugin:tailscale";
}
{
id = "plugin:keybind-cheatsheet";
}
@@ -0,0 +1 @@
_: {}
+19
View File
@@ -0,0 +1,19 @@
{
pkgs,
lib,
config,
...
}: {
options.obsidian.enable = lib.mkEnableOption "Obsidian";
config.programs.obsidian = lib.mkIf config.obsidian.enable {
enable = true;
package = pkgs.obsidian;
cli.enable = true;
};
imports = [
# ./default-settings
./vaults
];
}
+12
View File
@@ -0,0 +1,12 @@
{
lib,
config,
...
}: {
options.obsidian.vaults."BoM".enable = lib.mkEnableOption "Obsidian BoM vault";
config.programs.obsidian.vaults."BoM" = lib.mkIf config.obsidian.vaults."BoM".enable {
enable = true;
target = "Obsidian/BoM";
};
}
+5
View File
@@ -0,0 +1,5 @@
_: {
imports = [
./BoM.nix
];
}
+20
View File
@@ -0,0 +1,20 @@
{
pkgs,
lib,
config,
profile,
...
}: {
options.ollama.enable = lib.mkEnableOption "Ollama";
config.services.ollama = lib.mkIf config.ollama.enable {
enable = true;
package = pkgs.ollama;
acceleration =
if profile == "nvidia"
then "cuda"
else if profile == "amd"
then "rocm"
else null;
};
}
+13
View File
@@ -0,0 +1,13 @@
{
pkgs,
lib,
config,
...
}: {
options.opencode.enable = lib.mkEnableOption "Opencode";
config.programs.opencode = lib.mkIf config.opencode.enable {
enable = true;
package = pkgs.opencode;
};
}
+2 -2
View File
@@ -9,8 +9,8 @@
port = 22;
identityFile = "~/.ssh/hp-t640-homeserver";
};
"hp-t640-homeserver-tailscale" = {
hostname = "100.106.225.106";
"hp-t640-homeserver-headscale" = {
hostname = "100.64.0.2";
user = "${username}";
port = 22;
identityFile = "~/.ssh/hp-t640-homeserver";
+9 -2
View File
@@ -1,7 +1,14 @@
{lib, ...}: {
{
lib,
shell,
...
}: {
programs.starship = {
enable = true;
enableFishIntegration = true;
enableFishIntegration =
if shell == "fish"
then true
else false;
settings = {
add_newline = true;
format = lib.concatStrings [
+38 -3
View File
@@ -1,6 +1,16 @@
{host, ...}: {
{
host,
shell,
...
}: {
stylix.targets = {
librewolf.profileNames = ["${host}"];
librewolf = {
profileNames = ["${host}"];
enable = true;
firefoxGnomeTheme.enable = true;
fonts.enable = true;
inputs.enable = true;
};
hyprland = {
enable = true;
@@ -21,13 +31,23 @@
noctalia-shell.enable = true;
gtk = {
enable = true;
colors.enable = true;
flatpakSupport.enable = true;
fonts.enable = true;
};
qt = {
enable = true;
platform = "qtct";
};
fish = {
enable = true;
enable =
if shell == "fish"
then true
else false;
colors.enable = true;
inputs.enable = true;
};
@@ -66,5 +86,20 @@
opacity.enable = true;
variant256Colors = true;
};
opencode = {
enable = true;
colors.enable = true;
};
obsidian = {
enable = true;
colors.enable = true;
fonts.enable = true;
polarity.enable = true;
vaultNames = [
"BoM"
];
};
};
}
+1
View File
@@ -20,5 +20,6 @@ _: {
"biome"
"opencode"
"fish"
"tera"
];
}
+1
View File
@@ -8,5 +8,6 @@
uv
python314
ruff
deputy
];
}
+10
View File
@@ -15,6 +15,16 @@
# ];
# };
# };
deputy = {
binary = {
path = lib.getExe pkgs.deputy;
arguments = [
"serve"
"--github-token"
"$(gh auth token)"
];
};
};
rust-analyzer = {
binary = {
path = lib.getExe pkgs.bash;
+9 -3
View File
@@ -1,8 +1,14 @@
_: {
{shell, ...}: {
programs.zoxide = {
enable = true;
enableFishIntegration = true;
enableBashIntegration = true;
enableFishIntegration =
if shell == "fish"
then true
else false;
enableBashIntegration =
if shell == "bash"
then true
else false;
options = [
"--cmd cd"
];