64 Commits

Author SHA1 Message Date
dff9e94470 Add Garand-Desktop flake with core boot module
Introduce a new flake for the Garand-Desktop host, including:
- top‑level flake.nix with inputs and outputs
- host config (default.nix) and modules:
  - hardware
  - home
  - system
  - packages
  - variables
- core boot module defining kernel and Limine loader styling
  with appimage support and plymouth enabled
2026-03-24 22:11:51 +01:00
92dba21fd8 cleanup 2026-03-24 21:07:14 +01:00
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
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
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
7f01bed179 Enable Affinity graphics suite on Garand-Desktop 2026-03-04 00:39:30 +01:00
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
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
7da6280a1e Update flake.lock to latest revisions 2026-02-18 00:00:55 +01:00
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
f2628ed320 Add new Django bash aliases 2026-02-15 20:51:35 +01:00
c3517a0f7f Add ZRAM module and enable it in core defaults 2026-02-14 13:43:14 +01:00
380b774ee3 Update flake.lock revisions and hashes 2026-02-14 01:22:56 +01:00
cfc4e49f16 Disable Python format on save 2026-02-12 23:01:49 +01:00
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
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
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
c78292ac67 Remove extraneous spaces from Starship icon definitions 2026-02-11 18:11:38 +01:00
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
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
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
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
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
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
e32b7ce0a5 fix 2026-02-04 10:17:43 +01:00
62160ebcf0 fix 2026-02-03 06:38:57 +01:00
276d64816b fix 2026-02-03 06:31:00 +01:00
743bec0bae fix 2026-02-03 06:02:52 +01:00
881faf7aac fix 2026-02-02 21:37:34 +01:00
cb8eacf322 minor fixes 2026-02-02 21:32:46 +01:00
1a756d60e8 Merge pull request 'noctilia-experiment' (#1) from noctilia-experiment into main
Reviewed-on: #1
2026-02-02 20:25:04 +00:00
e5b5d68808 pełna konfiguracja noctalia i czystka waybar, swaync, wlogout i skryptów 2026-02-02 21:23:05 +01:00
80d7fc08cc Update settings shortcut and force mimeapps.list
- Replace Super+Shift+, with Super+Alt+P to toggle settings
- Force mimeapps.list in XDG config
2026-02-02 02:20:37 +01:00
8ccb9205bf Add Noctalia shell with Quickshell overview
- Add `noctalia` input to flake and lock it in `flake.lock`.
- Include `noctalia` and `quickshell` modules in `flake.nix`.
- Extend core packages to accept `inputs` and `system`; add
  `quickshell.nix`
  with required Qt6 packages and environment variables.
- Enable `upower` service for battery handling.
- Add home modules `noctalia.nix` and `overview.nix` (QML UI, README,
  assets, widgets, services) to provide a workspace overview.
- Comment out unused rofi and web‑search binds; update `exec‑once` to
  start
  the overview daemon and `noctalia-shell`.
- Provide `restart.noctalia` script and its Nix wrapper.
- Enable `noctalia-shell` in `stylix` configuration.
2026-02-02 01:57:56 +01:00
51ad90dc9c Update flake.lock with latest revisions 2026-02-02 00:38:36 +01:00
248b2f1dbb Enable VirtualBox and add development aliases 2026-01-31 16:48:35 +01:00
c258681d10 Add VirtualBox support with disabled default 2026-01-30 14:15:28 +01:00
5314aba270 update 2026-01-29 01:55:42 +01:00
0f00938787 Enable Winboat remote desktop module 2026-01-27 19:43:17 +01:00
6cbbd0110d Tile mpv windows instead of floating 2026-01-21 23:43:01 +01:00
01cc53fff1 Add tailscale SSH host and use username variable
- Simplify server aliases and add tailscale‑specific aliases
- Make SSH module accept a username argument
- Add match block for Tailscale host with port 22 and identity file
2026-01-19 11:14:41 +01:00
7501159100 Add Logisim Evolution support
- Include logisim‑evolution in the core packages list.
- Add `logisim-evolution.enable` option to system modules (enabled on
  desktop).
- Bind `SUPER SHIFT F` to toggle floating windows.
- Add tiling rule for Logisim windows.
- Update `upf` alias to specify the flake path.
- Refresh flake.lock revisions for firefox‑addons and wrappers.
2026-01-18 02:12:59 +01:00
727462ffd3 Update flake.lock with latest revisions 2026-01-17 13:57:47 +01:00
7446d8c239 Enable Tailscale and Prism Launcher in Garand-Laptop config 2026-01-15 08:30:32 +01:00
085e02f539 Update flake.lock and add game window rules
- Bump all flake.lock entries to their latest revisions (updated
  lastModified, narHash, and rev values).
- Add Hyprland rule to tag Minecraft windows as games.
- Tag PrismLauncher windows as gamestore.
- Apply reduced opacity for the gamestore tag.
2026-01-12 05:52:55 +01:00
9d9ed0f04b Add Teams, disable Ferdium, refactor Hyprland
Enable teams-for-linux and disable ferdium in system modules; add both
to core packages. Simplify Hyprland configuration by using direct
settings for animations, window rules, env, exec‑once and hypridle.
Remove unused Microsoft Teams PWA entry.
2026-01-07 19:49:21 +01:00
28daa28c6b Replace $modifier with SUPER and update defaults 2026-01-06 21:46:12 +01:00
b8a7ead4be Add Tailscale module 2026-01-04 13:49:01 +01:00
2881d84c16 Add Peaclock home module and wrappers input
Enable Peaclock in the user’s home configuration and add a new
`wrappers` input to the flake. System‑level Peaclock references are
commented out, and default and digital config files for Peaclock are
included.
2026-01-03 18:00:23 +01:00
591e42fe61 aktualizacja 2025-12-29 01:14:13 +01:00
f21640749a Disable Opencode; update flake.lock and librewolf
- Opencode module disabled in desktop, laptop, and default host configs
- Updated flake.lock revisions for firefox‑addons, home‑manager, nixpkgs
  and stylix
- Librewolf now uses pkgs.librewolf (source) instead of the binary
  package
2025-12-23 06:05:45 +01:00
0b9623241a Add Bottles and Heroic
Update flake.lock revisions for firefox‑addons, home‑manager and nixpkgs
to reflect the inclusion of the new Bottles and Heroic packages.
2025-12-20 14:36:34 +01:00
7a6e3916f5 Add p7zip to essential packages 2025-12-17 16:30:45 +01:00
43c657523e Enable peaclock and bump locked revisions
Add peaclock to the core packages list and enable the peaclock module in
all system configurations. Update the flake.lock entries for several
packages with newer revisions and nar hashes.
2025-12-16 23:31:30 +01:00
594accfe8d Update flake.lock and force wallpaper style
Bump locked revisions for firefox‑addons, home‑manager, nixpkgs and
stylix in flake.lock, updating their lastModified timestamps, narHash
values and rev identifiers.

Change wallpaperStyle in boot.nix from lib.mkDefault to lib.mkForce to
ensure the centered style is always applied.
2025-12-15 15:55:39 +01:00
86c5e8ad5b Add Pixieditor module 2025-12-10 15:54:42 +01:00
f7fe35b3be update 2025-12-10 01:50:19 +01:00
629e7b6a9e Add enable XDG PWA entries and enable Signal 2025-12-08 21:43:17 +01:00
29c62adbd1 dodanie garandos-tui 2025-12-07 00:00:33 +01:00
5747e449b2 Update flake.lock with latest revisions 2025-12-04 10:47:39 +01:00
087ffd4194 Refactor Zed/Flatpak options and add C++ & clangd settings
- Switch Zed remote server and Flatpak packages to use `enable`
suboption - Update host modules to match the new option hierarchy - Add
default C++ settings (format on save, tab size) to Zed user settings -
Introduce clangd LSP configuration with inlay hints and fallback command
2025-12-01 13:28:43 +01:00
7a2382cb3c zmiana logo 2025-11-30 22:01:42 +01:00
be74b351e8 Restructure system-modules and bump flake.lock
- Consolidate enable flags into a `packages` attribute in all host
system-modules.nix files. - Rename package option paths to
`config.packages.<name>.enable` in modules/core/packages/packages.nix. -
Update locked revisions (lastModified, narHash, rev) for firefox‑addons
and stylix in flake.lock.
2025-11-30 14:05:19 +01:00
8d3fd7dbe2 Add Jan UI and selective Flatpak options
- Expose Jan as a core package and add a Hyprland shortcut (Mod + J). -
Refactor Flatpak module to provide per‑package enable options; default
package list is now empty. - Update librewolf search template to use a
single‑parameter URL. - Minor comment formatting changes across host
module files.
2025-11-30 13:26:51 +01:00
188 changed files with 408 additions and 11651 deletions

34
GarandOS.svg Normal file
View File

@@ -0,0 +1,34 @@
<svg version="1.1" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
<g opacity="1" id="Nowy folder">
<g opacity="1" id="Nowy folder">
<g opacity="1" id="Nowy folder">
<path d="M204.958 225.203L88.751 427.776L61.6218 381.485L92.9365 327.23L30.7418 327.069L17.485 303.936L31.0226 280.277L119.554 280.558L151.369 225.346L204.958 225.203ZM213.875 387.14L446.27 387.151L420.006 433.946L357.665 433.773L388.622 488.074L375.35 511.194L348.228 511.225L304.199 433.912L240.789 433.781L213.875 387.14ZM349.136 298.374L232.949 95.7897L286.345 95.2858L317.364 149.713L348.602 95.5781L375.134 95.5858L388.722 119.218L344.212 196.251L375.808 251.594L349.136 298.374Z" fill-rule="nonzero" transform="matrix(1, 0, 0, 1, 0, 0)" fill="#f87c0e" fill-opacity="1" stroke="#ffffff" stroke-width="0" stroke-linecap="butt" stroke-linejoin="round" opacity="1" id="Ścieżka" />
</g>
<g opacity="1" id="Nowy folder">
<path d="M163.021 308.653L279.209 511.237L225.812 511.741L194.794 457.313L163.556 511.448L137.023 511.441L123.436 487.808L167.946 410.776L136.35 355.433L163.021 308.653ZM297.975 219.375L65.5804 219.364L91.8478 172.572L154.185 172.745L123.228 118.445L136.5 95.3242L163.625 95.2858L207.651 172.599L271.065 172.73L297.979 219.371L297.975 219.375ZM307.042 381.781L423.249 179.205L450.378 225.5L419.06 279.75L481.258 279.916L494.515 303.048L480.977 326.707L392.446 326.426L360.631 381.638L307.042 381.781Z" fill-rule="nonzero" transform="matrix(1, 0, 0, 1, 0, 0)" fill="#d31411" fill-opacity="1" stroke="#ffffff" stroke-width="0" stroke-linecap="butt" stroke-linejoin="round" opacity="1" id="Ścieżka" />
</g>
</g>
</g>
<g opacity="1" id="Nowy folder">
<g opacity="1" id="Nowy folder">
<g opacity="1" id="Nowy folder">
<path d="M2450 3260C2088 3214 2045 3204 1575 3048L1180 2917L928 2604C701 2323 658 2256 500 1940L324 1589L214 935L261 647C302 397 315 355 354 329C379 313 421 286 447 269C493 240 499 243 629 364C827 548 853 562 898 503C996 373 2188 395 3060 543C3524 622 4487 845 4562 891C4572 897 4752 924 4963 950C5340 997 5415 1021 5377 1085C5375 1088 5394 1128 5418 1175C5481 1300 5446 1823 5362 2010C5332 2076 5276 2200 5239 2285C5144 2500 4859 2805 4595 2974C4143 3264 3340 3371 2450 3260Z" fill-rule="nonzero" transform="matrix(0.07236655, 0.03395807, 0.03395807, -0.07236655, 1.3727798, 172.38365)" fill="url(#radialGradient0)" stroke="#ffffff" stroke-width="0" stroke-linecap="butt" stroke-linejoin="round" opacity="1" id="Ścieżka" />
</g>
<g opacity="1" id="Nowy folder">
<g opacity="1" id="sex">
<path d="M817.655 463.605C817.655 463.605 854.451 461.794 890.298 462.854C920.592 463.75 999.455 459.842 999.455 459.842C999.455 459.842 1003.91 465.764 998.44 470.501C991.48 476.524 965.783 477.134 965.783 477.134C965.783 477.134 887.398 481.385 847.948 482.786C831.474 483.371 827.044 484.107 827.044 484.107C749.409 511.416 382.407 556.101 132.027 514.61C89.434 507.552 75.311 501.175 75.311 501.175C75.311 501.175 69.701 498.783 67.055 497.251C61.505 494.037 59.627 487.436 55.064 485.302C97.102 484.629 200.019 503.974 231.976 506.06C434.227 519.263 787.431 470.57 817.655 463.605Z" fill-rule="nonzero" transform="matrix(0.36220634, 0.1296544, -0.1296544, 0.36220634, 124.92382, -19.742592)" fill="#66403a" fill-opacity="1" stroke="#ffffff" stroke-width="0" stroke-linecap="butt" stroke-linejoin="round" opacity="1" id="Ścieżka" />
</g>
</g>
<g opacity="1" id="Nowy folder">
<path d="M673.187 -57.558C673.187 -57.558 612.481 82.106 627.658 249.732C640.891 395.9 728.739 515.282 728.739 515.282C479.26 696.823 247.039 715.481 -25.318 512.668C-25.318 512.668 28.205 384.383 19.217 255.062C10.52 129.933 -83.313 -14.958 -83.313 -14.958C39.333 -197.304 437.51 -263.061 673.187 -57.558Z" fill-rule="nonzero" transform="matrix(0.10106731, 0.015680183, -0.017484369, 0.11269537, 243.86673, 125.96185)" fill="#d5a12b" fill-opacity="1" stroke="#ffffff" stroke-width="0" stroke-linecap="butt" stroke-linejoin="round" opacity="1" id="Ścieżka" />
</g>
</g>
</g>
<defs>
<radialGradient gradientTransform="matrix(-2850.1318, 2233.969, 2233.969, 2850.1318, 3820.5884, 481.4537)" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" id="radialGradient0">
<stop stop-color="#8b2928" offset="0%" stop-opacity="1" />
<stop stop-color="#842929" offset="54%" stop-opacity="1" />
<stop stop-color="#6d272e" offset="100%" stop-opacity="1" />
</radialGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -1,3 +1,7 @@
![GarandOS Logo](./GarandOS.svg)
---
# **GarandOS** # **GarandOS**
Disclaimer: This configuration is a fork of [ZaneyOS](https://gitlab.com/Zaney/zaneyos), a wonderful configuration I had the pleasure of ~~stealing~~ forking almost a year ago for my laptop (version 2.2). Now that I've installed NIxOS on my main computer, I've installed the latest version (2.4), connected my repository, and am customizing it to suit my needs. My configuration won't be synchronized with the main project, as it serves as the foundation upon which I'm building my custom system. The original has been stripped of many unnecessary features, so I highly recommend checking out the original project and, like me, adapting it to your needs. If you like my configuration, fork it too and manage it yourself, as the project won't accept external pull requests. Disclaimer: This configuration is a fork of [ZaneyOS](https://gitlab.com/Zaney/zaneyos), a wonderful configuration I had the pleasure of ~~stealing~~ forking almost a year ago for my laptop (version 2.2). Now that I've installed NIxOS on my main computer, I've installed the latest version (2.4), connected my repository, and am customizing it to suit my needs. My configuration won't be synchronized with the main project, as it serves as the foundation upon which I'm building my custom system. The original has been stripped of many unnecessary features, so I highly recommend checking out the original project and, like me, adapting it to your needs. If you like my configuration, fork it too and manage it yourself, as the project won't accept external pull requests.
@@ -183,15 +187,14 @@ git add .
- `profile` - graphics card profile, choose the one most suitable for your hardware. - `profile` - graphics card profile, choose the one most suitable for your hardware.
- `gitUsername` and `gitEmail` - required for proper git usage. - `gitUsername` and `gitEmail` - required for proper git usage.
- `extraMonitorSettings` - specify your monitor (cable, resolution, refresh rate. You can leave the other two options). - `extraMonitorSettings` - specify your monitor (cable, resolution, refresh rate. You can leave the other two options).
- `clock24h` - whether you want 24 or 12 hour clock.
- `browser` - browser package name opened with shortcut **SUPER + W**.
- `terminal` - terminal package name opened with shortcut **SUPER + Enter**
- `keyboardLayout` and `consoleKeyMap` - keyboard layout (special characters ą,ę, etc.). - `keyboardLayout` and `consoleKeyMap` - keyboard layout (special characters ą,ę, etc.).
- `location` - your location.
- `stylixImage` - default system wallpaper, based on which the graphical theme (stylix) will be generated. You can browse them in the `wallpapers` folder. - `stylixImage` - default system wallpaper, based on which the graphical theme (stylix) will be generated. You can browse them in the `wallpapers` folder.
- `waybarChoice` - system top bar style.
- `animChoice` - system animation style.
### 5. Review module activation options ### 5. Review module activation options
Also check my new project - [GarandOS TUI](https://gitea.garandplg.com/GarandPLG/garandos-tui)! It's an automated way of tweaking this settings. You can use it later *(simply type `tui` into the terminal)*, after the setup, or use it right now by cloning the repo.
Open the module files for your host and adjust the `enable` options for the services you need: Open the module files for your host and adjust the `enable` options for the services you need:
```bash ```bash

658
flake.lock generated
View File

@@ -1,658 +0,0 @@
{
"nodes": {
"affinity-nix": {
"inputs": {
"elemental-wine-source": "elemental-wine-source",
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"git-hooks": "git-hooks",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-wine": "nixpkgs-wine",
"on-linux": "on-linux",
"plugin-loader": "plugin-loader",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1764195413,
"narHash": "sha256-YNehE1Vq7Gntrpl6FYwfHU+8U/5v5OaS/KtiB35AWfE=",
"owner": "mrshmllow",
"repo": "affinity-nix",
"rev": "5312de0bb4808e256a346c58ab3607bd7ffc924b",
"type": "github"
},
"original": {
"owner": "mrshmllow",
"repo": "affinity-nix",
"type": "github"
}
},
"auto-cpufreq": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1763546214,
"narHash": "sha256-vc9seqvw2ElF8jPetsCoCQ5lo9P3fmgiTle3HlOMezk=",
"owner": "AdnanHodzic",
"repo": "auto-cpufreq",
"rev": "76ccb66f8e4875671fd746fb6b50931454ab8cd8",
"type": "github"
},
"original": {
"owner": "AdnanHodzic",
"repo": "auto-cpufreq",
"type": "github"
}
},
"base16": {
"inputs": {
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1755819240,
"narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "base16.nix",
"type": "github"
}
},
"base16-fish": {
"flake": false,
"locked": {
"lastModified": 1754405784,
"narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"type": "github"
},
"original": {
"owner": "tomyun",
"repo": "base16-fish",
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"type": "github"
}
},
"base16-helix": {
"flake": false,
"locked": {
"lastModified": 1752979451,
"narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "27cf1e66e50abc622fb76a3019012dc07c678fac",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-helix",
"type": "github"
}
},
"base16-vim": {
"flake": false,
"locked": {
"lastModified": 1732806396,
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
"type": "github"
}
},
"elemental-wine-source": {
"flake": false,
"locked": {
"host": "gitlab.winehq.org",
"lastModified": 1722747031,
"narHash": "sha256-XVhz9p2kgFBoJ376vg8OaFXxcMEjAe9AK1hk0I1rb1Q=",
"owner": "ElementalWarrior",
"repo": "wine",
"rev": "a7c9b19e1a26cf49c63a7c19189a3e2bbe2c6ac2",
"type": "gitlab"
},
"original": {
"host": "gitlab.winehq.org",
"owner": "ElementalWarrior",
"ref": "affinity-photo3-wine9.13-part3",
"repo": "wine",
"type": "gitlab"
}
},
"firefox-addons": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"dir": "pkgs/firefox-addons",
"lastModified": 1764389080,
"narHash": "sha256-BEn1Z9Uv20u2DS6wzLKdzx5kAzynM3wMQ9JnGf3VJvI=",
"owner": "rycee",
"repo": "nur-expressions",
"rev": "897437c09bf22ce59efb3370f0783d0c662dba31",
"type": "gitlab"
},
"original": {
"dir": "pkgs/firefox-addons",
"owner": "rycee",
"repo": "nur-expressions",
"type": "gitlab"
}
},
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1758112371,
"narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d",
"type": "github"
},
"original": {
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"type": "github"
}
},
"flake-compat": {
"locked": {
"lastModified": 1751685974,
"narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=",
"rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/flake-compat/archive/549f2762aebeff29a2e5ece7a7dc0f955281a1d1.tar.gz?rev=549f2762aebeff29a2e5ece7a7dc0f955281a1d1"
},
"original": {
"type": "tarball",
"url": "https://git.lix.systems/lix-project/flake-compat/archive/main.tar.gz"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1762980239,
"narHash": "sha256-8oNVE8TrD19ulHinjaqONf9QWCKK+w4url56cdStMpM=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "52a2caecc898d0b46b2b905f058ccc5081f842da",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1756770412,
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"fromYaml": {
"flake": false,
"locked": {
"lastModified": 1731966426,
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
"owner": "SenchoPens",
"repo": "fromYaml",
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "fromYaml",
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat_2",
"gitignore": "gitignore",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1763319842,
"narHash": "sha256-YG19IyrTdnVn0l3DvcUYm85u3PaqBt6tI6VvolcuHnA=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "7275fa67fbbb75891c16d9dee7d88e58aea2d761",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gnome-shell": {
"flake": false,
"locked": {
"host": "gitlab.gnome.org",
"lastModified": 1762869044,
"narHash": "sha256-nwm/GJ2Syigf7VccLAZ66mFC8mZJFqpJmIxSGKl7+Ds=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "680e3d195a92203f28d4bf8c6e8bb537cc3ed4ad",
"type": "gitlab"
},
"original": {
"host": "gitlab.gnome.org",
"owner": "GNOME",
"ref": "gnome-49",
"repo": "gnome-shell",
"type": "gitlab"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1764361670,
"narHash": "sha256-jgWzgpIaHbL3USIq0gihZeuy1lLf2YSfwvWEwnfAJUw=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "780be8ef503a28939cf9dc7996b48ffb1a3e04c6",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "master",
"repo": "home-manager",
"type": "github"
}
},
"libnbtplusplus": {
"flake": false,
"locked": {
"lastModified": 1699286814,
"narHash": "sha256-yy0q+bky80LtK1GWzz7qpM+aAGrOqLuewbid8WT1ilk=",
"owner": "PrismLauncher",
"repo": "libnbtplusplus",
"rev": "23b955121b8217c1c348a9ed2483167a6f3ff4ad",
"type": "github"
},
"original": {
"owner": "PrismLauncher",
"repo": "libnbtplusplus",
"type": "github"
}
},
"nix-flatpak": {
"locked": {
"lastModified": 1739444422,
"narHash": "sha256-iAVVHi7X3kWORftY+LVbRiStRnQEob2TULWyjMS6dWg=",
"owner": "gmodena",
"repo": "nix-flatpak",
"rev": "5e54c3ca05a7c7d968ae1ddeabe01d2a9bc1e177",
"type": "github"
},
"original": {
"owner": "gmodena",
"ref": "latest",
"repo": "nix-flatpak",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1764242076,
"narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1761765539,
"narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "719359f4562934ae99f5443f20aa06c2ffff91fc",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-wine": {
"locked": {
"lastModified": 1735834308,
"narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "6df24922a1400241dae323af55f30e4318a6ca65",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"rev": "6df24922a1400241dae323af55f30e4318a6ca65",
"type": "github"
}
},
"nur": {
"inputs": {
"flake-parts": [
"stylix",
"flake-parts"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1758998580,
"narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=",
"owner": "nix-community",
"repo": "NUR",
"rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"on-linux": {
"flake": false,
"locked": {
"lastModified": 1763514293,
"narHash": "sha256-x766SlDqS6DoOQyW4u1zV3iZbrEKoy4P9K6XDjZ4fGU=",
"owner": "seapear",
"repo": "AffinityOnLinux",
"rev": "2eacfdf625bfafa3099d411f8e2d5afec565fcd6",
"type": "github"
},
"original": {
"owner": "seapear",
"repo": "AffinityOnLinux",
"type": "github"
}
},
"plugin-loader": {
"flake": false,
"locked": {
"narHash": "sha256-mixBa/xIfSIrSS3+bGqznXxSE6h8s7e2xoJM2g4eXhg=",
"type": "file",
"url": "https://github.com/noahc3/AffinityPluginLoader/releases/download/v0.2.0/affinitypluginloader-plus-winefix.tar.xz"
},
"original": {
"type": "file",
"url": "https://github.com/noahc3/AffinityPluginLoader/releases/download/v0.2.0/affinitypluginloader-plus-winefix.tar.xz"
}
},
"prismlauncher-cracked": {
"inputs": {
"libnbtplusplus": "libnbtplusplus",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1747683146,
"narHash": "sha256-zZS//xyNYQHvD4fUMoWx86uVUwPk+p5FjZLTTu0pelQ=",
"owner": "Diegiwg",
"repo": "PrismLauncher-Cracked",
"rev": "0612187254ef41a1087f3107e927e0dd59c9b29d",
"type": "github"
},
"original": {
"owner": "Diegiwg",
"repo": "PrismLauncher-Cracked",
"type": "github"
}
},
"root": {
"inputs": {
"affinity-nix": "affinity-nix",
"auto-cpufreq": "auto-cpufreq",
"firefox-addons": "firefox-addons",
"home-manager": "home-manager",
"nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs",
"prismlauncher-cracked": "prismlauncher-cracked",
"stylix": "stylix"
}
},
"stylix": {
"inputs": {
"base16": "base16",
"base16-fish": "base16-fish",
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_2",
"gnome-shell": "gnome-shell",
"nixpkgs": [
"nixpkgs"
],
"nur": "nur",
"systems": "systems",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1764254063,
"narHash": "sha256-V22JzkaTLF/GAL2LgqvOsJhAr8JbJsKaD8hnHjGwXfE=",
"owner": "danth",
"repo": "stylix",
"rev": "a1451bc40413870f0c7b576b751c1ca92055e323",
"type": "github"
},
"original": {
"owner": "danth",
"repo": "stylix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-foot": {
"flake": false,
"locked": {
"lastModified": 1726913040,
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
}
},
"tinted-kitty": {
"flake": false,
"locked": {
"lastModified": 1735730497,
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-kitty",
"type": "github"
}
},
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1757716333,
"narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "317a5e10c35825a6c905d912e480dfe8e71c7559",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "schemes",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1757811970,
"narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-tmux",
"type": "github"
}
},
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1757811247,
"narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-zed",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1762938485,
"narHash": "sha256-AlEObg0syDl+Spi4LsZIBrjw+snSVU4T8MOeuZJUJjM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

View File

@@ -1,89 +1,15 @@
{ {
description = "GarandOS"; description = "GarandOS flake";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
home-manager = { flake-parts.url = "github:hercules-ci/flake-parts";
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = { import-tree.url = "github:vic/import-tree";
url = "github:danth/stylix";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs";
nur.inputs = {
nixpkgs.follows = "nixpkgs";
flake-parts.follows = "stylix/flake-parts";
};
};
};
auto-cpufreq = {
url = "github:AdnanHodzic/auto-cpufreq";
inputs.nixpkgs.follows = "nixpkgs";
};
firefox-addons = {
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
inputs.nixpkgs.follows = "nixpkgs";
};
prismlauncher-cracked = {
url = "github:Diegiwg/PrismLauncher-Cracked";
inputs.nixpkgs.follows = "nixpkgs";
};
affinity-nix = {
url = "github:mrshmllow/affinity-nix";
inputs = {
nixpkgs.follows = "nixpkgs";
treefmt-nix.inputs.nixpkgs.follows = "nixpkgs";
git-hooks.inputs = {
nixpkgs.follows = "nixpkgs";
gitignore.inputs.nixpkgs.follows = "nixpkgs";
};
};
};
nix-flatpak.url = "github:gmodena/nix-flatpak?ref=latest";
}; };
outputs = { outputs = inputs: inputs.flake-parts.lib.mkFlake {
nixpkgs, inherit inputs;
nix-flatpak, } (inputs.import-tree ./src);
auto-cpufreq,
...
} @ inputs: let
hostDirs = builtins.attrNames (builtins.readDir ./hosts);
mkHost = hostName: let
inherit
(import ./hosts/${hostName}/variables.nix)
host
username
profile
system
;
in
nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inherit inputs;
inherit username;
inherit host;
inherit profile;
inherit system;
};
modules = [
./profiles/${profile}
nix-flatpak.nixosModules.nix-flatpak
auto-cpufreq.nixosModules.default
];
};
in {
nixosConfigurations = nixpkgs.lib.genAttrs hostDirs mkHost;
};
} }

View File

@@ -1,7 +0,0 @@
_: {
imports = [
./hardware.nix
./host-packages.nix
./system-modules.nix
];
}

View File

@@ -1,70 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{
config,
lib,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot = {
initrd = {
availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"usbhid"
"usb_storage"
"sd_mod"
];
kernelModules = ["dm-snapshot"];
luks.devices = {
cryptroot = {
device = "/dev/disk/by-uuid/7c018698-d35c-4ee6-92a8-5e4edf914065";
preLVM = true;
};
};
};
kernelModules = ["kvm-amd"];
extraModulePackages = [];
};
fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/e3ac1df3-ce8f-44cd-901f-a8cd3f6955b7";
fsType = "ext4";
};
"/home" = {
device = "/dev/disk/by-uuid/0713b82c-bf8c-424f-96e1-5d883e50b451";
fsType = "ext4";
};
"/boot" = {
device = "/dev/disk/by-uuid/783D-A507";
fsType = "vfat";
options = [
"fmask=0022"
"dmask=0022"
];
};
};
swapDevices = lib.mkForce [
{
device = "/dev/disk/by-uuid/8e8cc3dc-5754-4757-a2d7-53e6a2c3b5a4";
}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp5s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@@ -1,66 +0,0 @@
_: {
/*
Development editors and IDEs
*/
# VSCodium: a free and open-source "demicrosofted" VSCode
vscodium.enable = false;
# Zed Editor: a modern, highperformance code editor
zed-editor = {
# Enable Zed Editor
enable = true;
# Remote Server: enable remote editing capabilities
remote-server = true;
};
/*
Web browsers
*/
# Librewolf: a privacy-focused Firefox fork
librewolf.enable = true;
# Ungoogled Chromium: a privacy-focused Chromium fork
ungoogled-chromium.enable = true;
/*
System utilities
*/
# Btop: a resource monitor for the terminal
btop.enable = true;
# Cava: terminal audio visualizer
cava.enable = false;
# Fastfetch: a fast system information tool
fastfetch.enable = true;
/*
Communication and synchronization
*/
# KDE Connect: integrate your phone and desktop
kdeconnect.enable = false;
# Nextcloud Client: sync files with a Nextcloud server
nextcloud-client.enable = true;
# Vesktop: a communitydriven Discord client
vesktop.enable = true;
/*
Gaming
*/
# Lutris: an open gaming platform
lutris.enable = false;
/*
Media recording and streaming
*/
# OBS Studio: streaming and recording software
obs-studio.enable = false;
/*
Office suite
*/
# OnlyOffice: an office suite compatible with Microsoft formats
onlyoffice.enable = true;
/*
Learning tools
*/
# Anki: spacedrepetition flashcard program
anki.enable = true;
}

View File

@@ -1,5 +0,0 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
# audacity
];
}

View File

@@ -1,87 +0,0 @@
_: {
/*
Container & Packaging
*/
# Docker: container runtime and management
docker.enable = true;
# Distrobox: containerized development environments
distrobox.enable = false;
# Flatpak: universal packaging system for Linux
flatpak.enable = true;
# Lazydocker: simple TUI for Docker
lazydocker.enable = false;
/*
Gaming
*/
# GameMode: optimizes system performance for gaming
gamemode.enable = true;
# Gamescope: micro-compositor for games
gamescope.enable = false;
# Prism Launcher: Minecraft modded launcher
prismlauncher.enable = false;
# Steam: platform for buying and playing games
steam.enable = true;
# SpaceCadet Pinball: classic pinball game
spaceCadetPinball.enable = true;
# TTY Solitaire: terminal based solitaire game
ttySolitaire.enable = true;
/*
Development Tools
*/
# Exercism: coding practice platform
exercism.enable = true;
# Gedit: GNOME text editor
gedit.enable = false;
# Lazygit: simple TUI for git
lazygit.enable = false;
# OpenCode: tools for coding and development
opencode.enable = true;
/*
Communication & Collaboration
*/
# Mattermost: open-source Slack alternative
mattermost.enable = true;
# Slack: team communication and collaboration tool
slack.enable = true;
# Tutanota: secure email client
tutanota.enable = true;
/*
Productivity / Knowledge Management
*/
# Bitwarden: password manager (desktop)
bitwarden.enable = false;
# Iotas: lightweight notes manager
iotas.enable = true;
# Logseq: knowledge base and outliner
logseq.enable = false;
/*
Media & Graphics
*/
# Affinity: professional graphics suite
affinity.enable = false;
# Eye of GNOME: image viewer
eyeOfGnome.enable = true;
# FreeTube: privacyfriendly YouTube client
freetube.enable = false;
# GIMP: gnu image manipulation program
gimp.enable = false;
# Kdenlive: video editing software
kdenlive.enable = false;
# Plex: media player and server client
plex.enable = true;
/*
Utilities / Misc
*/
# Eddie AirVPN: VPN client
eddieAirVPN.enable = true;
# Galculator: simple calculator
galculator.enable = true;
# Winboat: Windows remote desktop via RDP
winboat.enable = false;
}

View File

@@ -1,98 +0,0 @@
{
# CPU Architecture
# Available options: "x86_64-linux", "aarch64-linux", etc.
system = "x86_64-linux";
# Host Configuration
host = "Garand-Desktop";
username = "garand_plg";
# GPU Profile
# Available options: "amd", "nvidia", "nvidia-laptop", "intel", "vm"
profile = "nvidia";
# Git Configuration ( For Pulling Software Repos )
gitUsername = "GarandPLG";
gitEmail = "garandplg@garandplg.com";
# Hyprland Settings
# Examples:
# extraMonitorSettings = "monitor = Virtual-1,1920x1080@60,auto,1";
# extraMonitorSettings = "monitor = HDMI-A-1,1920x1080@60,auto,1";
# You can configure multiple monitors.
# Inside the quotes, create a new line for each monitor.
extraMonitorSettings = "monitor = DP-1,1920x1080@144,auto,1";
# Waybar Settings
clock24h = true;
# Program Options
# Set Default Browser (google-chrome-stable for google-chrome)
# This does NOT install your browser
# You need to install it by adding it to the `packages.nix`
# or as a flatpak
browser = "librewolf";
# Setting it here does not enable it. Kitty is installed by default
terminal = "kitty"; # Set Default System Terminal
keyboardLayout = "pl";
consoleKeyMap = "pl";
# For Nvidia Prime support
intelID = "PCI:1:0:0";
nvidiaID = "PCI:0:2:0";
# Enable NFS
enableNFS = true;
# Enable Printing Support
printEnable = true;
# Set Stylix Image
# This will set your color palette
# Default background
# Add new images to ~/garandos/wallpapers
stylixImage = ../../wallpapers/attack-on-titan-mikasa-ackerman.jpg;
#stylixImage = ../../wallpapers/DW_Pacts.jpg;
#stylixImage = ../../wallpapers/edward-elric-fullmetal-alchemist.jpg;
#stylixImage = ../../wallpapers/fire-nation.jpg;
#stylixImage = ../../wallpapers/four-elements.jpg;
#stylixImage = ../../wallpapers/fullmetal-alchemist-5120x2880-10399.png;
#stylixImage = ../../wallpapers/Grounded_Wallpaper_4K.jpg;
#stylixImage = ../../wallpapers/jablon.jpg;
#stylixImage = ../../wallpapers/rammstein-log-two.jpg;
#stylixImage = ../../wallpapers/rammstein-logo-one.jpg;
#stylixImage = ../../wallpapers/rammstein-logo-three.jpg;
#stylixImage = ../../wallpapers/rammstein-one.jpg;
#stylixImage = ../../wallpapers/1346530.jpeg;
# Set Waybar
# Available Options:
waybarChoice = ../../modules/home/waybar/waybar-curved.nix;
#waybarChoice = ../../modules/home/waybar/waybar-ddubs.nix;
#waybarChoice = ../../modules/home/waybar/waybar-ddubs-2.nix;
#waybarChoice = ../../modules/home/waybar/waybar-simple.nix;
# Throwback to GarandOS v1.0
#waybarChoice = ../../modules/home/waybar/waybar-jerry.nix;
# Very colorful and bright colors
#waybarChoice = ../../modules/home/waybar/waybar-nekodyke.nix;
# DWM styled waybars from Matt at TheLinuxCast
#waybarChoice = ../../modules/home/waybar/waybar-dwm.nix;
#waybarChoice = ../../modules/home/waybar/waybar-dwm-2.nix;
# Set Animation style
# Available options are:
# animations-def.nix (default)
# animations-end4.nix (end-4 project very fluid)
# animations-dynamic.nix (ml4w project)
# animations-moving.nix (ml4w project)
# animChoice = ../../modules/home/hyprland/animations-def.nix;
animChoice = ../../modules/home/hyprland/animations-end4.nix;
#animChoice = ../../modules/home/hyprland/animations-dynamic.nix;
#animChoice = ../../modules/home/hyprland/animations-moving.nix;
# Set network hostId if required (needed for zfs)
# Otherwise leave as-is
hostId = "5ab03f50";
}

View File

@@ -1,7 +0,0 @@
_: {
imports = [
./hardware.nix
./host-packages.nix
./system-modules.nix
];
}

View File

@@ -1,65 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{
config,
lib,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot = {
initrd = {
availableKernelModules = [
"nvme"
"xhci_pci"
"usb_storage"
"sd_mod"
];
kernelModules = ["dm-snapshot"];
luks.devices.cryptroot = {
device = "/dev/disk/by-uuid/6abc2228-823e-42b0-94c7-48fda757732c";
preLVM = true;
};
};
kernelModules = ["kvm-amd"];
extraModulePackages = [];
};
fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/d30939d0-53ed-4728-9190-6a5b9dec8fb4";
fsType = "ext4";
};
"/home" = {
device = "/dev/disk/by-uuid/3df34a25-7e42-433d-b723-be80f1738ba5";
fsType = "ext4";
};
"/boot" = {
device = "/dev/disk/by-uuid/0E68-9A34";
fsType = "vfat";
options = [
"fmask=0022"
"dmask=0022"
];
};
};
swapDevices = [
{device = "/dev/disk/by-uuid/5da7c845-7dd3-4882-93af-2d679cdb5e7a";}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@@ -1,66 +0,0 @@
_: {
/*
Development editors and IDEs
*/
# VSCodium: a free and open-source "demicrosofted" VSCode
vscodium.enable = false;
# Zed Editor: a modern, highperformance code editor
zed-editor = {
# Enable Zed Editor
enable = true;
# Remote Server: enable remote editing capabilities
remote-server = true;
};
/*
Web browsers
*/
# Librewolf: a privacy-focused Firefox fork
librewolf.enable = true;
# Ungoogled Chromium: a privacy-focused Chromium fork
ungoogled-chromium.enable = true;
/*
System utilities
*/
# Btop: a resource monitor for the terminal
btop.enable = true;
# Cava: terminal audio visualizer
cava.enable = false;
# Fastfetch: a fast system information tool
fastfetch.enable = true;
/*
Communication and synchronization
*/
# KDE Connect: integrate your phone and desktop
kdeconnect.enable = false;
# Nextcloud Client: sync files with a Nextcloud server
nextcloud-client.enable = true;
# Vesktop: a communitydriven Discord client
vesktop.enable = true;
/*
Gaming
*/
# Lutris: an open gaming platform
lutris.enable = false;
/*
Media recording and streaming
*/
# OBS Studio: streaming and recording software
obs-studio.enable = false;
/*
Office suite
*/
# OnlyOffice: an office suite compatible with Microsoft formats
onlyoffice.enable = true;
/*
Learning tools
*/
# Anki: spacedrepetition flashcard program
anki.enable = true;
}

View File

@@ -1,5 +0,0 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
# audacity
];
}

View File

@@ -1,87 +0,0 @@
_: {
/*
Container & Packaging
*/
# Docker: container runtime and management
docker.enable = true;
# Distrobox: containerized development environments
distrobox.enable = false;
# Flatpak: universal packaging system for Linux
flatpak.enable = true;
# Lazydocker: simple TUI for Docker
lazydocker.enable = false;
/*
Gaming
*/
# GameMode: optimizes system performance for gaming
gamemode.enable = true;
# Gamescope: micro-compositor for games
gamescope.enable = false;
# Prism Launcher: Minecraft modded launcher
prismlauncher.enable = false;
# Steam: platform for buying and playing games
steam.enable = true;
# SpaceCadet Pinball: classic pinball game
spaceCadetPinball.enable = true;
# TTY Solitaire: terminal based solitaire game
ttySolitaire.enable = true;
/*
Development Tools
*/
# Exercism: coding practice platform
exercism.enable = true;
# Gedit: GNOME text editor
gedit.enable = false;
# Lazygit: simple TUI for git
lazygit.enable = false;
# OpenCode: tools for coding and development
opencode.enable = true;
/*
Communication & Collaboration
*/
# Mattermost: open-source Slack alternative
mattermost.enable = true;
# Slack: team communication and collaboration tool
slack.enable = true;
# Tutanota: secure email client
tutanota.enable = true;
/*
Productivity / Knowledge Management
*/
# Bitwarden: password manager (desktop)
bitwarden.enable = false;
# Iotas: lightweight notes manager
iotas.enable = true;
# Logseq: knowledge base and outliner
logseq.enable = false;
/*
Media & Graphics
*/
# Affinity: professional graphics suite
affinity.enable = false;
# Eye of GNOME: image viewer
eyeOfGnome.enable = true;
# FreeTube: privacyfriendly YouTube client
freetube.enable = false;
# GIMP: gnu image manipulation program
gimp.enable = false;
# Kdenlive: video editing software
kdenlive.enable = false;
# Plex: media player and server client
plex.enable = true;
/*
Utilities / Misc
*/
# Eddie AirVPN: VPN client
eddieAirVPN.enable = true;
# Galculator: simple calculator
galculator.enable = true;
# Winboat: Windows remote desktop via RDP
winboat.enable = false;
}

View File

@@ -1,101 +0,0 @@
{
# CPU Architecture
# Available options: "x86_64-linux", "aarch64-linux", etc.
system = "x86_64-linux";
# Host Configuration
host = "Garand-Laptop";
username = "garand_plg";
# GPU Profile
# Available options: "amd", "nvidia", "nvidia-laptop", "intel", "vm"
profile = "amd";
# Git Configuration ( For Pulling Software Repos )
gitUsername = "GarandPLG";
gitEmail = "garandplg@garandplg.com";
# Hyprland Settings
# Examples:
# extraMonitorSettings = "monitor = Virtual-1,1920x1080@60,auto,1";
# extraMonitorSettings = "monitor = HDMI-A-1,1920x1080@60,auto,1";
# You can configure multiple monitors.
# Inside the quotes, create a new line for each monitor.
extraMonitorSettings = "monitor = eDP-1,1920x1080@60,auto,1";
# Waybar Settings
clock24h = true;
# Program Options
# Set Default Browser (google-chrome-stable for google-chrome)
# This does NOT install your browser
# You need to install it by adding it to the `packages.nix`
# or as a flatpak
browser = "librewolf";
# Setting it here does not enable it. Kitty is installed by default
terminal = "kitty"; # Set Default System Terminal
keyboardLayout = "pl";
consoleKeyMap = "pl";
# For Nvidia Prime support
intelID = "PCI:1:0:0";
nvidiaID = "PCI:0:2:0";
# Enable NFS
enableNFS = true;
# Enable Printing Support
printEnable = false;
# Themes, waybar and animation.
# Only uncomment your selection
# The others much be commented out.
# Set Stylix Image
# This will set your color palette
# Default background
# Add new images to ~/garandos/wallpapers
stylixImage = ../../wallpapers/attack-on-titan-mikasa-ackerman.jpg;
#stylixImage = ../../wallpapers/DW_Pacts.jpg;
#stylixImage = ../../wallpapers/edward-elric-fullmetal-alchemist.jpg;
#stylixImage = ../../wallpapers/fire-nation.jpg;
#stylixImage = ../../wallpapers/four-elements.jpg;
#stylixImage = ../../wallpapers/fullmetal-alchemist-5120x2880-10399.png;
#stylixImage = ../../wallpapers/Grounded_Wallpaper_4K.jpg;
#stylixImage = ../../wallpapers/jablon.jpg;
#stylixImage = ../../wallpapers/rammstein-log-two.jpg;
#stylixImage = ../../wallpapers/rammstein-logo-one.jpg;
#stylixImage = ../../wallpapers/rammstein-logo-three.jpg;
#stylixImage = ../../wallpapers/rammstein-one.jpg;
#stylixImage = ../../wallpapers/1346530.jpeg;
# Set Waybar
# Available Options:
waybarChoice = ../../modules/home/waybar/waybar-curved.nix;
#waybarChoice = ../../modules/home/waybar/waybar-ddubs.nix;
#waybarChoice = ../../modules/home/waybar/waybar-ddubs-2.nix;
#waybarChoice = ../../modules/home/waybar/waybar-simple.nix;
#waybarChoice = ../../modules/home/waybar/waybar-jerry.nix;
# Very colorful and bright colors
#waybarChoice = ../../modules/home/waybar/waybar-nekodyke.nix;
# DWM styled waybars from Matt at TheLinuxCast
#waybarChoice = ../../modules/home/waybar/waybar-dwm.nix;
#waybarChoice = ../../modules/home/waybar/waybar-dwm-2.nix;
# Set Animation style
# Available options are:
# animations-def.nix (default)
# animations-end4.nix (end-4 project very fluid)
# animations-dynamic.nix (ml4w project)
# animations-moving.nix (ml4w project)
# animChoice = ../../modules/home/hyprland/animations-def.nix;
animChoice = ../../modules/home/hyprland/animations-end4.nix;
#animChoice = ../../modules/home/hyprland/animations-dynamic.nix;
#animChoice = ../../modules/home/hyprland/animations-moving.nix;
# Set network hostId if required (needed for zfs)
# Otherwise leave as-is
hostId = "7bc04e61";
}

View File

@@ -1,7 +0,0 @@
_: {
imports = [
./hardware.nix
./host-packages.nix
./system-modules.nix
];
}

View File

@@ -1,57 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{
config,
lib,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"nvme"
"usbhid"
];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" = {
device = "/dev/disk/by-uuid/dd005850-6230-40c4-9d70-8c8cf443658d";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-b7565781-148e-4c94-9c76-36c84dd93dc8".device = "/dev/disk/by-uuid/b7565781-148e-4c94-9c76-36c84dd93dc8";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/C2A6-DF56";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = lib.mkForce [
{
device = "/dev/vg0/swap";
}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.docker0.useDHCP = lib.mkDefault true;
# networking.interfaces.eno2.useDHCP = lib.mkDefault true;
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@@ -1,66 +0,0 @@
_: {
/*
Development editors and IDEs
*/
# VSCodium: a free and open-source "demicrosofted" VSCode
vscodium.enable = false;
# Zed Editor: a modern, highperformance code editor
zed-editor = {
# Enable Zed Editor
enable = true;
# Remote Server: enable remote editing capabilities
remote-server = true;
};
/*
Web browsers
*/
# Librewolf: a privacy-focused Firefox fork
librewolf.enable = true;
# Ungoogled Chromium: a privacy-focused Chromium fork
ungoogled-chromium.enable = true;
/*
System utilities
*/
# Btop: a resource monitor for the terminal
btop.enable = true;
# Cava: terminal audio visualizer
cava.enable = false;
# Fastfetch: a fast system information tool
fastfetch.enable = true;
/*
Communication and synchronization
*/
# KDE Connect: integrate your phone and desktop
kdeconnect.enable = false;
# Nextcloud Client: sync files with a Nextcloud server
nextcloud-client.enable = true;
# Vesktop: a communitydriven Discord client
vesktop.enable = true;
/*
Gaming
*/
# Lutris: an open gaming platform
lutris.enable = false;
/*
Media recording and streaming
*/
# OBS Studio: streaming and recording software
obs-studio.enable = false;
/*
Office suite
*/
# OnlyOffice: an office suite compatible with Microsoft formats
onlyoffice.enable = true;
/*
Learning tools
*/
# Anki: spacedrepetition flashcard program
anki.enable = true;
}

View File

@@ -1,5 +0,0 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
# audacity
];
}

View File

@@ -1,87 +0,0 @@
_: {
/*
Container & Packaging
*/
# Docker: container runtime and management
docker.enable = true;
# Distrobox: containerized development environments
distrobox.enable = false;
# Flatpak: universal packaging system for Linux
flatpak.enable = true;
# Lazydocker: simple TUI for Docker
lazydocker.enable = false;
/*
Gaming
*/
# GameMode: optimizes system performance for gaming
gamemode.enable = true;
# Gamescope: micro-compositor for games
gamescope.enable = false;
# Prism Launcher: Minecraft modded launcher
prismlauncher.enable = false;
# Steam: platform for buying and playing games
steam.enable = true;
# SpaceCadet Pinball: classic pinball game
spaceCadetPinball.enable = true;
# TTY Solitaire: terminal based solitaire game
ttySolitaire.enable = true;
/*
Development Tools
*/
# Exercism: coding practice platform
exercism.enable = true;
# Gedit: GNOME text editor
gedit.enable = false;
# Lazygit: simple TUI for git
lazygit.enable = false;
# OpenCode: tools for coding and development
opencode.enable = true;
/*
Communication & Collaboration
*/
# Mattermost: open-source Slack alternative
mattermost.enable = true;
# Slack: team communication and collaboration tool
slack.enable = true;
# Tutanota: secure email client
tutanota.enable = true;
/*
Productivity / Knowledge Management
*/
# Bitwarden: password manager (desktop)
bitwarden.enable = false;
# Iotas: lightweight notes manager
iotas.enable = true;
# Logseq: knowledge base and outliner
logseq.enable = false;
/*
Media & Graphics
*/
# Affinity: professional graphics suite
affinity.enable = false;
# Eye of GNOME: image viewer
eyeOfGnome.enable = true;
# FreeTube: privacyfriendly YouTube client
freetube.enable = false;
# GIMP: gnu image manipulation program
gimp.enable = false;
# Kdenlive: video editing software
kdenlive.enable = false;
# Plex: media player and server client
plex.enable = true;
/*
Utilities / Misc
*/
# Eddie AirVPN: VPN client
eddieAirVPN.enable = true;
# Galculator: simple calculator
galculator.enable = true;
# Winboat: Windows remote desktop via RDP
winboat.enable = false;
}

View File

@@ -1,104 +0,0 @@
{
# CPU Architecture
# Available options: "x86_64-linux", "aarch64-linux", etc.
system = "x86_64-linux";
# Host Configuration
host = "My-Desktop";
username = "my_username";
# GPU Profile
# Available options: "amd", "nvidia", "nvidia-laptop", "intel", "vm"
profile = "nvidia";
# Git Configuration ( For Pulling Software Repos )
gitUsername = "GarandPLG";
gitEmail = "my@email.com";
# Hyprland Settings
# Examples:
# extraMonitorSettings = "monitor = Virtual-1,1920x1080@60,auto,1";
# extraMonitorSettings = "monitor = HDMI-A-1,1920x1080@60,auto,1";
# You can configure multiple monitors.
# Inside the quotes, create a new line for each monitor.
extraMonitorSettings = "
";
# Waybar Settings
clock24h = true;
# Program Options
# Set Default Browser (google-chrome-stable for google-chrome)
# This does NOT install your browser
# You need to install it by adding it to the `packages.nix`
# or as a flatpak
browser = "librewolf";
# Setting it here does not enable it. Kitty is installed by default
terminal = "kitty"; # Set Default System Terminal
keyboardLayout = "pl";
consoleKeyMap = "pl";
# For Nvidia Prime support
intelID = "PCI:1:0:0";
nvidiaID = "PCI:0:2:0";
# Enable NFS
enableNFS = true;
# Enable Printing Support
printEnable = false;
# Themes, waybar and animation.
# Only uncomment your selection
# The others much be commented out.
# Set Stylix Image
# This will set your color palette
# Default background
# Add new images to ~/garandos/wallpapers
stylixImage = ../../wallpapers/attack-on-titan-mikasa-ackerman.jpg;
#stylixImage = ../../wallpapers/DW_Pacts.jpg;
#stylixImage = ../../wallpapers/edward-elric-fullmetal-alchemist.jpg;
#stylixImage = ../../wallpapers/fire-nation.jpg;
#stylixImage = ../../wallpapers/four-elements.jpg;
#stylixImage = ../../wallpapers/fullmetal-alchemist-5120x2880-10399.png;
#stylixImage = ../../wallpapers/Grounded_Wallpaper_4K.jpg;
#stylixImage = ../../wallpapers/jablon.jpg;
#stylixImage = ../../wallpapers/rammstein-log-two.jpg;
#stylixImage = ../../wallpapers/rammstein-logo-one.jpg;
#stylixImage = ../../wallpapers/rammstein-logo-three.jpg;
#stylixImage = ../../wallpapers/rammstein-one.jpg;
#stylixImage = ../../wallpapers/1346530.jpeg;
# Set Waybar
# Available Options:
waybarChoice = ../../modules/home/waybar/waybar-curved.nix;
#waybarChoice = ../../modules/home/waybar/waybar-ddubs.nix;
#waybarChoice = ../../modules/home/waybar/waybar-ddubs-2.nix;
#waybarChoice = ../../modules/home/waybar/waybar-simple.nix;
# Throwback to GarandOS v1.0
#waybarChoice = ../../modules/home/waybar/waybar-jerry.nix;
# Very colorful and bright colors
#waybarChoice = ../../modules/home/waybar/waybar-nekodyke.nix;
# DWM styled waybars from Matt at TheLinuxCast
#waybarChoice = ../../modules/home/waybar/waybar-dwm.nix;
#waybarChoice = ../../modules/home/waybar/waybar-dwm-2.nix;
# Set Animation style
# Available options are:
# animations-def.nix (default)
# animations-end4.nix (end-4 project very fluid)
# animations-dynamic.nix (ml4w project)
# animations-moving.nix (ml4w project)
animChoice = ../../modules/home/hyprland/animations-def.nix;
#animChoice = ../../modules/home/hyprland/animations-end4.nix;
#animChoice = ../../modules/home/hyprland/animations-dynamic.nix;
#animChoice = ../../modules/home/hyprland/animations-moving.nix;
# Set network hostId if required (needed for zfs)
# Otherwise leave as-is
hostId = "5ab03f50";
}

View File

@@ -1,16 +0,0 @@
_: {
programs.auto-cpufreq = {
enable = true;
settings = {
charger = {
governor = "performance";
turbo = "auto";
};
battery = {
governor = "powersave";
turbo = "auto";
};
};
};
}

View File

@@ -1,42 +0,0 @@
{
pkgs,
config,
lib,
...
}: {
boot = {
kernelPackages = pkgs.linuxPackages_zen;
kernelModules = ["v4l2loopback"];
extraModulePackages = [config.boot.kernelPackages.v4l2loopback];
kernel.sysctl = {
"vm.max_map_count" = 2147483642;
};
loader = {
efi.canTouchEfiVariables = true;
limine = {
enable = true;
style = {
wallpapers = [
./../../wallpapers/attack-on-titan-mikasa-ackerman.jpg
];
wallpaperStyle = lib.mkDefault "centered";
backdrop = "${config.stylix.base16Scheme.base00}";
interface = {
branding = "GarandOS Bootloader";
resolution = "1920x1080";
};
};
};
};
# Appimage Support
binfmt.registrations.appimage = {
wrapInterpreterInShell = false;
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
recognitionType = "magic";
offset = 0;
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
magicOrExtension = ''\x7fELF....AI\x02'';
};
plymouth.enable = true;
};
}

View File

@@ -1,27 +0,0 @@
{inputs, ...}: {
imports = [
./packages
./auto-cpufreq.nix
./boot.nix
./docker.nix
./flatpak.nix
./fonts.nix
./hardware.nix
./network.nix
./nfs.nix
./nh.nix
./printing.nix
./greetd.nix
./security.nix
./services.nix
./steam.nix
./stylix.nix
./syncthing.nix
./system.nix
./thunar.nix
./user.nix
./xdg.nix
./xserver.nix
inputs.stylix.nixosModules.stylix
];
}

View File

@@ -1,14 +0,0 @@
{
pkgs,
lib,
config,
...
}: {
options.docker.enable = lib.mkEnableOption "Docker";
config.virtualisation.docker = lib.mkIf config.docker.enable {
enable = true;
package = pkgs.docker;
daemon.settings.dns = ["9.9.9.11" "149.112.112.11"];
};
}

View File

@@ -1,17 +0,0 @@
{
lib,
config,
...
}: {
options.flatpak.enable = lib.mkEnableOption "Flatpak";
config.services.flatpak = lib.mkIf config.flatpak.enable {
enable = true;
update.onActivation = true;
packages = [
# "org.vinegarhq.Sober"
"io.github.flattool.Warehouse"
"com.github.tchx84.Flatseal"
];
};
}

View File

@@ -1,29 +0,0 @@
{pkgs, ...}: {
fonts = {
packages = with pkgs; [
dejavu_fonts
fira-code
fira-code-symbols
font-awesome
hackgen-nf-font
ibm-plex
inter
jetbrains-mono
material-icons
maple-mono.NF
minecraftia
nerd-fonts.im-writing
nerd-fonts.blex-mono
noto-fonts
noto-fonts-color-emoji
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-monochrome-emoji
powerline-fonts
roboto
roboto-mono
#symbola
terminus_font
];
};
}

View File

@@ -1,16 +0,0 @@
{
pkgs,
username,
...
}: {
services.greetd = {
enable = true;
#vt = 3;
settings = {
default_session = {
user = username;
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager
};
};
};
}

View File

@@ -1,21 +0,0 @@
{pkgs, ...}: {
hardware = {
sane = {
enable = true;
extraBackends = [pkgs.sane-airscan];
disabledDefaultBackends = ["escl"];
};
logitech.wireless = {
enable = false;
enableGraphical = false;
};
graphics.enable = true;
enableRedistributableFirmware = true;
keyboard.qmk.enable = true;
bluetooth = {
enable = true;
powerOnBoot = false;
};
};
local.hardware-clock.enable = false;
}

View File

@@ -1,37 +0,0 @@
{
host,
options,
...
}: let
inherit (import ../../hosts/${host}/variables.nix) hostId;
in {
# Defensive assertion for hostname validity (clearer message at eval time)
assertions = [
{
assertion = builtins.match "^[[:alnum:]]([[:alnum:]_-]{0,61}[[:alnum:]])?$" host != null;
message = "Invalid hostname '${host}'. Must be 1-63 chars, start/end alphanumeric; allowed middle chars: letters, digits, '-' or '_'.";
}
];
networking = {
hostName = "${host}";
hostId = hostId;
networkmanager.enable = true;
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
firewall = {
enable = true;
allowedTCPPorts = [
22
80
443
59010
59011
8080
];
allowedUDPPorts = [
59010
59011
];
};
};
}

View File

@@ -1,8 +0,0 @@
{host, ...}: let
inherit (import ../../hosts/${host}/variables.nix) enableNFS;
in {
services = {
rpcbind.enable = enableNFS;
nfs.server.enable = enableNFS;
};
}

View File

@@ -1,10 +0,0 @@
{username, ...}: {
programs.nh = {
enable = true;
clean = {
enable = true;
extraArgs = "--keep-since 7d --keep 5";
};
flake = "/home/${username}/garandos";
};
}

View File

@@ -1,8 +0,0 @@
_: {
nixpkgs.config.allowUnfree = true;
imports = [
./essentials.nix
./packages.nix
./programs.nix
];
}

View File

@@ -1,56 +0,0 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
mpv
pavucontrol
playerctl
cmatrix
cowsay
sl
fortune
# File management
trash-cli
file-roller
unrar
unzip
# System monitoring & info
inxi
lm_sensors
lshw
pciutils
usbutils
mesa-demos
nix-output-monitor
nvd
onefetch
# Disk utilities
duf
dysk
ncdu
# Network & system utilities
ripgrep
wget
socat
ookla-speedtest
brightnessctl
killall
dex
# Desktop environment
networkmanagerapplet
tuigreet
nwg-displays
waypaper
uwsm
hyprpicker
cliphist
# Development utilities
pkg-config
appimage-run
libnotify
v4l-utils
tasktimer
# Language dicts for Iotas
hunspell
hunspellDicts.pl_PL
hunspellDicts.en_US
];
}

View File

@@ -1,47 +0,0 @@
{
pkgs,
lib,
config,
inputs,
system,
...
}: let
mkPackage = name: pkgsOrList: {
options.${name}.enable = lib.mkEnableOption name;
config.environment.systemPackages =
lib.mkIf config.${name}.enable
(lib.toList pkgsOrList);
};
packages = with pkgs; {
bitwarden = bitwarden-desktop;
eddieAirVPN = eddie;
galculator = galculator;
gedit = gedit;
iotas = iotas;
logseq = logseq;
mattermost = mattermost-desktop;
slack = slack;
tutanota = tutanota-desktop;
exercism = exercism;
opencode = opencode;
lazygit = lazygit;
prismlauncher = inputs.prismlauncher-cracked.packages.${system}.default;
spaceCadetPinball = space-cadet-pinball;
ttySolitaire = tty-solitaire;
gimp = gimp;
affinity = inputs.affinity-nix.packages.${system}.v3;
eyeOfGnome = eog;
kdenlive = kdePackages.kdenlive;
plex = [
(plex-desktop.override {extraEnv = {QT_QPA_PLATFORM = "xcb";};})
plexamp
];
freetube = freetube;
lazydocker = lazydocker;
distrobox = [distrobox pkgs.boxbuddy];
winboat = [winboat freerdp];
};
in {
imports = builtins.attrValues (builtins.mapAttrs mkPackage packages);
}

View File

@@ -1,29 +0,0 @@
# {
# pkgs
# ...
# }
_: {
programs = {
nano.enable = true;
hyprland = {
enable = true;
withUWSM = false;
};
dconf.enable = true;
seahorse.enable = true;
fuse.userAllowOther = true;
mtr.enable = true;
adb.enable = true;
hyprlock.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
nix-ld = {
enable = true;
# libraries = with pkgs; [
# biome
# ];
};
};
}

View File

@@ -1,18 +0,0 @@
{host, ...}: let
inherit (import ../../hosts/${host}/variables.nix) printEnable;
in {
services = {
printing = {
enable = printEnable;
drivers = [
# pkgs.hplipWithPlugin
];
};
avahi = {
enable = printEnable;
nssmdns4 = true;
openFirewall = true;
};
ipp-usb.enable = printEnable;
};
}

View File

@@ -1,28 +0,0 @@
_: {
security = {
rtkit.enable = true;
polkit = {
enable = true;
extraConfig = ''
polkit.addRule(function(action, subject) {
if ( subject.isInGroup("users") && (
action.id == "org.freedesktop.login1.reboot" ||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
action.id == "org.freedesktop.login1.power-off" ||
action.id == "org.freedesktop.login1.power-off-multiple-sessions"
))
{ return polkit.Result.YES; }
})
'';
};
pam.services.swaylock = {
text = ''auth include login '';
};
sudo = {
enable = true;
extraConfig = ''
Defaults pwfeedback
'';
};
};
}

View File

@@ -1,57 +0,0 @@
{profile, ...}: {
# Services to start
services = {
libinput.enable = true; # Input Handling
fstrim.enable = true; # SSD Optimizer
gvfs.enable = true; # For Mounting USB & More
openssh = {
enable = true; # Enable SSH
settings = {
PermitRootLogin = "no"; # Prevent root from SSH login
PasswordAuthentication = true; # Users can SSH using kb and password
KbdInteractiveAuthentication = true;
};
ports = [22];
};
blueman.enable = true; # Bluetooth Support
tumbler.enable = true; # Image/video preview
gnome.gnome-keyring.enable = true;
smartd = {
enable =
if profile == "vm"
then false
else true;
autodetect = true;
};
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
extraConfig.pipewire."92-low-latency" = {
"context.properties" = {
"default.clock.rate" = 48000;
"default.clock.quantum" = 256;
"default.clock.min-quantum" = 256;
"default.clock.max-quantum" = 256;
};
};
extraConfig.pipewire-pulse."92-low-latency" = {
context.modules = [
{
name = "libpipewire-module-protocol-pulse";
args = {
pulse.min.req = "256/48000";
pulse.default.req = "256/48000";
pulse.max.req = "256/48000";
pulse.min.quantum = "256/48000";
pulse.max.quantum = "256/48000";
};
}
];
};
};
};
}

View File

@@ -1,43 +0,0 @@
{
pkgs,
lib,
config,
...
}: {
options = {
steam.enable = lib.mkEnableOption "Steam";
gamescope.enable = lib.mkEnableOption "Gamescope";
gamemode.enable = lib.mkEnableOption "Gamemode";
};
config.programs = {
steam = lib.mkIf config.steam.enable {
enable = true;
package = pkgs.steam;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
gamescopeSession = lib.mkIf config.gamescope.enable {
enable = true;
args = [
"--rt"
"--expose-wayland"
];
};
extraCompatPackages = [pkgs.proton-ge-bin];
};
gamescope = lib.mkIf config.gamescope.enable {
enable = true;
capSysNice = true;
args = [
"--rt"
"--expose-wayland"
];
};
gamemode = lib.mkIf config.gamemode.enable {
enable = true;
enableRenice = true;
};
};
}

View File

@@ -1,58 +0,0 @@
{
pkgs,
host,
...
}: let
inherit (import ../../hosts/${host}/variables.nix) stylixImage;
in {
# Styling Options
stylix = {
enable = true;
image = stylixImage;
# base16Scheme = {
# base00 = "282936";
# base01 = "3a3c4e";
# base02 = "4d4f68";
# base03 = "626483";
# base04 = "62d6e8";
# base05 = "e9e9f4";
# base06 = "f1f2f8";
# base07 = "f7f7fb";
# base08 = "ea51b2";
# base09 = "b45bcf";
# base0A = "00f769";
# base0B = "ebff87";
# base0C = "a1efe4";
# base0D = "62d6e8";
# base0E = "b45bcf";
# base0F = "00f769";
# };
polarity = "dark";
opacity.terminal = 1.0;
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 24;
};
fonts = {
monospace = {
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrains Mono";
};
sansSerif = {
package = pkgs.montserrat;
name = "Montserrat";
};
serif = {
package = pkgs.montserrat;
name = "Montserrat";
};
sizes = {
applications = 12;
terminal = 15;
desktop = 11;
popups = 12;
};
};
};
}

View File

@@ -1,8 +0,0 @@
{username, ...}: {
services.syncthing = {
enable = false;
user = "${username}";
dataDir = "/home/${username}";
configDir = "/home/${username}/.config/syncthing";
};
}

View File

@@ -1,43 +0,0 @@
{
host,
inputs,
...
}: let
inherit (import ../../hosts/${host}/variables.nix) consoleKeyMap;
in {
nix = {
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
settings = {
download-buffer-size = 200000000;
auto-optimise-store = true;
experimental-features = [
"nix-command"
"flakes"
];
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
};
time.timeZone = "Europe/Warsaw";
i18n = {
defaultLocale = "pl_PL.UTF-8";
extraLocaleSettings = {
LC_ADDRESS = "pl_PL.UTF-8";
LC_IDENTIFICATION = "pl_PL.UTF-8";
LC_MEASUREMENT = "pl_PL.UTF-8";
LC_MONETARY = "pl_PL.UTF-8";
LC_NAME = "pl_PL.UTF-8";
LC_NUMERIC = "pl_PL.UTF-8";
LC_PAPER = "pl_PL.UTF-8";
LC_TELEPHONE = "pl_PL.UTF-8";
LC_TIME = "pl_PL.UTF-8";
};
};
environment.variables = {
NIXOS_OZONE_WL = "1";
GARANDOS_VERSION = "1.0";
GARANDOS = "true";
};
console.keyMap = "${consoleKeyMap}";
system.stateVersion = "23.11"; # Do not change!
}

View File

@@ -1,9 +0,0 @@
{pkgs, ...}: {
programs.thunar = {
enable = true;
plugins = with pkgs.xfce; [
thunar-archive-plugin
thunar-volman
];
};
}

View File

@@ -1,57 +0,0 @@
{
pkgs,
inputs,
username,
host,
profile,
system,
...
}: let
inherit (import ../../hosts/${host}/variables.nix) gitUsername;
in {
imports = [inputs.home-manager.nixosModules.home-manager];
home-manager = {
useUserPackages = true;
useGlobalPkgs = false;
backupFileExtension = "backup-nixos";
extraSpecialArgs = {
inherit
inputs
username
host
profile
system
;
};
users.${username} = {
imports = [./../home ../../hosts/${host}/home-modules.nix];
home = {
username = "${username}";
homeDirectory = "/home/${username}";
stateVersion = "25.11";
};
};
};
users = {
mutableUsers = true;
users.${username} = {
isNormalUser = true;
description = "${gitUsername}";
extraGroups = [
"adbusers"
"docker" # access to docker as non-root
"libvirtd" # Virt manager/QEMU access
"lp"
"networkmanager"
"scanner"
"wheel" # sudo access
"vboxusers" # Virtual Box
"gamemode"
];
shell = pkgs.bash;
ignoreShellProgramCheck = true;
linger = true;
};
};
nix.settings.allowed-users = ["${username}"];
}

View File

@@ -1,12 +0,0 @@
{pkgs, ...}: {
xdg.portal = {
enable = true;
wlr.enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-hyprland
xdg-desktop-portal-gtk
];
configPackages = [pkgs.hyprland];
xdgOpenUsePortal = true;
};
}

View File

@@ -1,11 +0,0 @@
{host, ...}: let
inherit (import ../../hosts/${host}/variables.nix) keyboardLayout;
in {
services.xserver = {
enable = true;
xkb = {
layout = "${keyboardLayout}";
variant = "";
};
};
}

View File

@@ -1,19 +0,0 @@
{
lib,
pkgs,
config,
...
}:
with lib; let
cfg = config.drivers.amdgpu;
in {
options.drivers.amdgpu = {
enable = mkEnableOption "Enable AMD Drivers";
};
config = mkIf cfg.enable {
systemd.tmpfiles.rules = ["L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"];
services.xserver.videoDrivers = ["amdgpu"];
environment.systemPackages = with pkgs; [rocmPackages.rocm-smi];
};
}

View File

@@ -1,10 +0,0 @@
{...}: {
imports = [
./amd-drivers.nix
./intel-drivers.nix
./local-hardware-clock.nix
./nvidia-drivers.nix
./nvidia-prime-drivers.nix
./vm-guest-services.nix
];
}

View File

@@ -1,25 +0,0 @@
{
lib,
pkgs,
config,
...
}:
with lib; let
cfg = config.drivers.intel;
in {
options.drivers.intel = {
enable = mkEnableOption "Enable Intel Graphics Drivers";
};
config = mkIf cfg.enable {
# OpenGL
hardware.graphics = {
extraPackages = with pkgs; [
intel-media-driver
vaapiIntel
vaapiVdpau
libvdpau-va-gl
];
};
};
}

View File

@@ -1,15 +0,0 @@
{
lib,
pkgs,
config,
...
}:
with lib; let
cfg = config.local.hardware-clock;
in {
options.local.hardware-clock = {
enable = mkEnableOption "Change Hardware Clock To Local Time";
};
config = mkIf cfg.enable {time.hardwareClockInLocalTime = true;};
}

View File

@@ -1,59 +0,0 @@
{
lib,
config,
pkgs,
...
}:
with lib; let
cfg = config.drivers.nvidia;
in {
options.drivers.nvidia = {
enable = mkEnableOption "Enable Nvidia Drivers";
};
config = mkIf cfg.enable {
services.xserver.videoDrivers = ["nvidia"];
environment.systemPackages = with pkgs; [nvidia-docker];
hardware = {
nvidia-container-toolkit.enable = true;
nvidia = {
# Modesetting is required.
modesetting.enable = true;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
powerManagement.enable = true;
# Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
powerManagement.finegrained = false;
# Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
# Currently alpha-quality/buggy, so false is currently the recommended setting.
open = false;
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
nvidiaSettings = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.beta;
};
};
};
}
# Making nvidia docker toolkit work:
#
# sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
#
# sudo nvidia-ctk cdi list
#
# sudo tee /etc/docker/daemon.json > /dev/null <<EOF
# {
# "features": {
# "cdi": true
# }
# }
# EOF
#
# docker run --device nvidia.com/gpu=all

View File

@@ -1,35 +0,0 @@
{
lib,
pkgs,
config,
...
}:
with lib; let
cfg = config.drivers.nvidia-prime;
in {
options.drivers.nvidia-prime = {
enable = mkEnableOption "Enable Nvidia Prime Hybrid GPU Offload";
intelBusID = mkOption {
type = types.str;
default = "PCI:1:0:0";
};
nvidiaBusID = mkOption {
type = types.str;
default = "PCI:0:2:0";
};
};
config = mkIf cfg.enable {
hardware.nvidia = {
prime = {
offload = {
enable = true;
enableOffloadCmd = true;
};
# Make sure to use the correct Bus ID values for your system!
intelBusId = "${cfg.intelBusID}";
nvidiaBusId = "${cfg.nvidiaBusID}";
};
};
};
}

View File

@@ -1,19 +0,0 @@
{
lib,
pkgs,
config,
...
}:
with lib; let
cfg = config.vm.guest-services;
in {
options.vm.guest-services = {
enable = mkEnableOption "Enable Virtual Machine Guest Services";
};
config = mkIf cfg.enable {
services.qemuGuest.enable = true;
services.spice-vdagentd.enable = true;
services.spice-webdavd.enable = false; # Causes navfs2 build failure invalid neon version 9-12-25
};
}

View File

@@ -1,17 +0,0 @@
{
pkgs,
username,
lib,
config,
...
}: {
options.anki.enable = lib.mkEnableOption "Anki";
config.programs.anki = lib.mkIf config.anki.enable {
enable = true;
package = pkgs.anki;
language = "pl_PL";
style = "native";
sync.username = username;
};
}

View File

@@ -1,128 +0,0 @@
{
username,
host,
...
}: {
programs.bash.shellAliases = {
# GarandOS aliases
pullos = "git -C /home/${username}/garandos pull";
upd = "nh os switch --hostname ${host}";
upg = "nh os switch --hostname ${host} --update";
upf = "sudo nix flake update";
upd-bt = "nh os boot --hostname ${host}";
upd-ts = "nh os test --hostname ${host}";
upd-bd = "nh os build --hostname ${host}";
ncg = "nh clean all";
# Development aliases
srvenv = "source .venv/bin/activate";
"..srvenv" = "source ../.venv/bin/activate";
pm = "uv run manage.py";
f8 = "uv run flake8 .";
bbr = "bun --bun run";
mkgidf = "git add . --intent-to-add . && git diff > git-diff.txt";
zed = "MANGOHUD=0 /home/${username}/.local/bin/zed";
# Development aliases for nix flake
nd = "nix develop";
nb = "nix build";
nr = "nix run";
nbr = "nix build && nix run";
nbd = "nix build .#develop";
nrd = "nix run .#develop";
nbrd = "nix build .#develop && nix run .#develop";
# System aliases
# flush-codium = "sudo killall codium && sudo rm -rf ~/.config/VSCodium/Cache && sudo rm -rf ~/.config/VSCodium/CachedData";
kys = "shutdown now";
ookla = "speedtest";
hypr-cli = "hyprctl clients";
# Navigation aliases
"~" = "cd ~";
".." = "cd ..";
"..." = "cd ../..";
"...." = "cd ../../..";
"....." = "cd ../../../..";
# Modifies commands
cat = "bat";
cp = "cp -i";
mv = "mv -i";
rm = "trash -v";
mkdir = "mkdir -p";
ps = "ps auxf";
ping = "ping -c 10";
less = "less -R";
cls = "clear";
multitail = "multitail --no-repeat -c";
freshclam = "sudo freshclam";
# Alias"s for multiple directory listing commands
la = "eza -alh --icons"; # show hidden files
ls = "eza -aF --icons --color=always"; # add colors and file type extensions
lx = "eza -lh --icons --sort=extension"; # sort by extension
lk = "eza -lh --icons --sort=size --reverse"; # sort by size
lc = "eza -lh --icons --sort=changed"; # sort by change time
lu = "eza -lh --icons --sort=accessed"; # sort by access time
lr = "eza -lh --icons --recurse"; # recursive ls
lt = "eza -lh --icons --sort=modified"; # sort by date
lm = "eza -alh --icons | more"; # pipe through "more"
lw = "eza -xh --icons"; # wide listing format
ll = "eza -lh --icons"; # long listing format
labc = "eza -lah --icons --sort=name"; # alphabetical sort
lf = "eza -lh --icons | grep -v '^d'"; # files only (przybliżenie)
ldir = "eza -lh --icons --only-dirs"; # directories only
lla = "eza -alh --icons"; # List and Hidden Files
las = "eza -a --icons"; # Hidden Files
lls = "eza -lh --icons"; # List
# chmod commands
mx = "chmod a+x";
"000" = "chmod -R 000";
"644" = "chmod -R 644";
"666" = "chmod -R 666";
"755" = "chmod -R 755";
"777" = "chmod -R 777";
# Search command line history
h = "history | grep ";
# Search running processes
p = "ps aux | grep ";
topcpu = "/bin/ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10";
# Search files in the current folder
f = "find . | grep ";
# Count all files (recursively) in the current folder
countfiles = "for t in files links directories; do echo \`find . -type \${t:0:1} | wc -l\` \$t; done 2> /dev/null";
# Alias"s to show disk space and space used in a folder
diskspace = "du -S | sort -n -r |more";
folders = "du -h --max-depth=1";
folderssort = "find . -maxdepth 1 -type d -print0 | xargs -0 du -sk | sort -rn";
tree = "tree -CAhF --dirsfirst";
treed = "tree -CAFd";
mountedinfo = "df -hT";
# Show all logs in /var/log
logs = "sudo find /var/log -type f -exec file {} \; | grep 'text' | cut -d' ' -f1 | sed -e's/:$//g' | grep -v '[0-9]$' | xargs tail -f";
# fix kitty ssh connection
kssh = "kitty +kitten ssh";
docker-clean = "docker container prune -f ; docker image prune -f ; docker network prune -f ; docker volume prune -f";
# Remove a directory and all files
rmd = "/bin/rm --recursive --force --verbose ";
# Fun aliases
pasjans = "ttysolitaire -p 10 --no-background-color";
fc = "fortune | cowsay";
# Network aliases
kssh-server = "kssh garand_plg@192.168.1.156 -i ~/.ssh/hp-t640-homeserver";
ssh-server = "ssh garand_plg@192.168.1.156 -i ~/.ssh/hp-t640-homeserver";
};
}

View File

@@ -1,13 +0,0 @@
_: {
programs.bash = {
enable = true;
enableCompletion = true;
# initExtra = ''
# fastfetch
# '';
};
imports = [
./aliases.nix
./functions.nix
];
}

View File

@@ -1,144 +0,0 @@
_: {
programs.bash.bashrcExtra = ''
# Quick directory creation and navigation
mkcd() {
mkdir -p "$1" && cd "$1"
}
# Extract various archive formats
extract() {
for archive in "$@"; do
if [ -f "$archive" ]; then
case "$archive" in
*.tar.bz2) tar xvjf "$archive" ;;
*.tar.gz) tar xvzf "$archive" ;;
*.bz2) bunzip2 "$archive" ;;
*.rar) unrar x "$archive" ;;
*.gz) gunzip "$archive" ;;
*.tar) tar xvf "$archive" ;;
*.tbz2) tar xvjf "$archive" ;;
*.tgz) tar xvzf "$archive" ;;
*.zip) unzip "$archive" ;;
*.Z) uncompress "$archive" ;;
*.7z) 7z x "$archive" ;;
*) echo "don't know how to extract '$archive'..." ;;
esac
else
echo "'$archive' is not a valid file!"
fi
done
}
# Find files quickly
ff() {
find . -name "*$1*" -type f
}
# Find directories quickly
fd() {
find . -name "*$1*" -type d
}
# IP address lookup
alias whatismyip="whatsmyip"
function whatsmyip () {
# Internal IP Lookup.
if command -v ip &> /dev/null; then
echo -n "Internal IP: "
ip addr show wlan0 | grep "inet " | awk '{print $2}' | cut -d/ -f1
else
echo -n "Internal IP: "
ifconfig wlan0 | grep "inet " | awk '{print $2}'
fi
# External IP Lookup
echo -n "External IP: "
curl -4 ifconfig.me
}
# Searches for text in all files in the current folder
ftext() {
# -i case-insensitive
# -I ignore binary files
# -H causes filename to be printed
# -r recursive search
# -n causes line number to be printed
# optional: -F treat search term as a literal, not a regular expression
# optional: -l only print filenames and not the matching lines ex. grep -irl "$1" *
grep -iIHrn --color=always "$1" . | less -r
}
# Copy file with a progress bar
cpp() {
set -e
strace -q -ewrite cp -- "$1" "$2" 2>&1 |
awk '{
count += $NF
if (count % 10 == 0) {
percent = count / total_size * 100
printf "%3d%% [", percent
for (i=0;i<=percent;i++)
printf "="
printf ">"
for (i=percent;i<100;i++)
printf " "
printf "]\r"
}
}
END { print "" }' total_size="$(stat -c '%s' "$1")" count=0
}
# Copy and go to the directory
cpg() {
if [ -d "$2" ]; then
cp "$1" "$2" && cd "$2"
else
cp "$1" "$2"
fi
}
# Move and go to the directory
mvg() {
if [ -d "$2" ]; then
mv "$1" "$2" && cd "$2"
else
mv "$1" "$2"
fi
}
# Create and go to the directory
mkdirg() {
mkdir -p "$1"
cd "$1"
}
# Goes up a specified number of directories (i.e. up 4)
up() {
local d=""
limit=$1
for ((i = 1; i <= limit; i++)); do
d=$d/..
done
d=$(echo $d | sed 's/^\///')
if [ -z "$d" ]; then
d=..
fi
cd $d
}
# Automatically do an ls after each cd, z, or zoxide
cd ()
{
if [ -n "$1" ]; then
builtin cd "$@" && ls
else
builtin cd ~ && ls
fi
}
# Returns the last 2 fields of the working directory
pwdtail() {
pwd | awk -F/ '{nlast = NF -1;print $nlast"/"$NF}'
}
'';
}

View File

@@ -1,23 +0,0 @@
{
pkgs,
lib,
...
}: {
programs.bat = {
enable = true;
config = {
pager = "less -FR";
style = "full";
theme = lib.mkForce "base16";
};
extraPackages = with pkgs.bat-extras; [
batman
batpipe
batgrep
];
};
home.sessionVariables = {
MANPAGER = "sh -c 'col -bx | bat -l man -p'";
MANROFFOPT = "-c";
};
}

View File

@@ -1,28 +0,0 @@
{
pkgs,
lib,
config,
...
}: {
options.btop.enable = lib.mkEnableOption "Btop";
config.programs.btop = lib.mkIf config.btop.enable {
enable = true;
package = pkgs.btop.override {
rocmSupport = true;
cudaSupport = true;
};
settings = {
rounded_corners = true;
proc_tree = true;
show_gpu_info = "on";
show_uptime = true;
show_coretemp = true;
cpu_sensor = "auto";
show_disks = true;
only_physical = true;
io_mode = true;
io_graph_combined = false;
};
};
}

View File

@@ -1,18 +0,0 @@
{
lib,
config,
...
}: {
options.cava.enable = lib.mkEnableOption "Cava";
config.programs.cava = lib.mkIf config.cava.enable {
enable = true;
settings = {
general = {
bar_spacing = 1;
bar_width = 2;
frame_rate = 144;
};
};
};
}

View File

@@ -1,22 +0,0 @@
{
pkgs,
lib,
config,
...
}: {
options.ungoogled-chromium.enable = lib.mkEnableOption "Ungoogled Chromium";
config.programs.chromium = lib.mkIf config.ungoogled-chromium.enable {
enable = true;
package = pkgs.ungoogled-chromium;
# commandLineArgs = [ ];
dictionaries = with pkgs; [
hunspellDictsChromium.en_US
# hunspellDictsChromium.pl_PL Jeśli się taka pojawi
];
};
imports = [
./extensions.nix
];
}

View File

@@ -1,25 +0,0 @@
_: {
programs.chromium.extensions = [
{
id = "ocaahdebbfolfmndjeplogmgcagdmblk"; # Chromium Web Store
}
{
id = "eimadpbcbfnmbkopoojfekhnkhdbieeh"; # Dark Reader
}
{
id = "fnaicdffflnofjppbagibeoednhnbjhg"; # floccus bookmarks sync
}
{
id = "amknoiejhlmhancpahfcfcfhllgkpbld"; # Hoppscotch Browser Extension
}
{
id = "nngceckbapebfimnlniiiahkandclblb"; # Menedżer haseł Bitwarden
}
{
id = "fdaphilojaklgkoocegabckfanjoacjg"; # mtab
}
{
id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; # uBlock Origin
}
];
}

View File

@@ -1,43 +0,0 @@
{host, ...}: let
inherit (import ../../hosts/${host}/variables.nix) waybarChoice;
in {
imports = [
./bash
./chromium
./fastfetch
./hyprland
./kitty
./librewolf
./rofi
./scripts
./swaync
./vscodium
waybarChoice
./wlogout
./xdg
./zed
./anki.nix
./bat.nix
./btop.nix
./cava.nix
./emoji.nix
./eza.nix
./fzf.nix
./git.nix
./gtk.nix
./kdeConnect.nix
./lutris.nix
./nextcloud.nix
./obs-studio.nix
./onlyoffice.nix
./qt.nix
./ssh.nix
./starship.nix
./stylix.nix
./swappy.nix
./tealdeer.nix
./vesktop.nix
./virtmanager.nix
./zoxide.nix
];
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,20 +0,0 @@
# Eza is a ls replacement
{
programs.eza = {
enable = true;
icons = "auto";
enableBashIntegration = true;
git = true;
extraOptions = [
"--group-directories-first"
"--no-quotes"
"--header" # Show header row
"--git-ignore"
"--icons=always"
# "--time-style=long-iso" # ISO 8601 extended format for time
"--classify" # append indicator (/, *, =, @, |)
"--hyperlink" # make paths clickable in some terminals
];
};
}

View File

@@ -1,17 +0,0 @@
{
pkgs,
lib,
config,
...
}: {
options.fastfetch.enable = lib.mkEnableOption "FastFetch";
config.programs.fastfetch = lib.mkIf config.fastfetch.enable {
enable = true;
package = pkgs.fastfetch;
};
imports = [
./settings
];
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

View File

@@ -1,7 +0,0 @@
_: {
imports = [
./display.nix
./logo.nix
./modules.nix
];
}

View File

@@ -1,9 +0,0 @@
_: {
programs.fastfetch.settings.display = {
color = {
keys = "35";
output = "90";
};
separator = " ";
};
}

View File

@@ -1,12 +0,0 @@
_: {
programs.fastfetch.settings.logo = {
source = ../garandos.png;
type = "kitty-direct";
height = 15;
width = 30;
padding = {
top = 3;
left = 3;
};
};
}

View File

@@ -1,159 +0,0 @@
_: {
programs.fastfetch.settings.modules = [
"break"
{
type = "custom";
format = "Hardware";
}
{
type = "host";
format = "{5} {1} Type {2}";
key = " PC";
keyColor = "33";
}
{
type = "cpu";
format = "{1} ({3}) @ {7} GHz";
key = " ";
keyColor = "33";
}
{
type = "gpu";
format = "{1} {2} @ {12} GHz";
key = " ";
keyColor = "33";
}
{
type = "memory";
key = " 󰑭 ";
keyColor = "33";
}
{
type = "swap";
key = " ";
keyColor = "33";
}
{
type = "disk";
key = " 󰋊 ";
keyColor = "33";
}
{
type = "monitor";
key = " ";
keyColor = "33";
}
{
type = "custom";
format = "";
}
"break"
{
type = "custom";
format = "Software";
}
{
type = "os";
key = " OS";
keyColor = "31";
}
{
type = "command";
key = " ";
keyColor = "31";
text = "echo GarandOS v$" + "{GARANDOS_VERSION}";
}
{
type = "kernel";
key = " ";
keyColor = "31";
}
{
type = "packages";
key = " 󰏖 ";
keyColor = "31";
}
{
type = "shell";
key = " ";
keyColor = "31";
}
{
type = "wm";
key = " WM";
keyColor = "32";
}
{
type = "wmtheme";
key = " 󰉼 ";
keyColor = "32";
}
{
type = "icons";
key = " 󰀻 ";
keyColor = "32";
}
{
type = "cursor";
key = " ";
keyColor = "32";
}
{
type = "terminal";
key = " ";
keyColor = "32";
}
{
type = "terminalfont";
key = " ";
keyColor = "32";
}
{
type = "custom";
format = "";
}
"break"
{
type = "custom";
format = "Age / Uptime";
}
{
type = "command";
key = " IN";
text =
#bash
''
birth_install=$(stat -c %W /)
if [ "$birth_install" -gt 0 ]; then
echo "Installed $(date -d @"$birth_install" +"%Y-%m-%d")"
else
echo "Installation date unknown"
fi
'';
}
{
type = "command";
key = " ";
text =
#bash
''
birth_install=$(stat -c %W /)
current=$(date +%s)
delta=$((current - birth_install))
delta_days=$((delta / 86400))
echo $delta_days days
'';
}
{
type = "uptime";
key = " ";
}
{
type = "custom";
format = "";
}
"break"
];
}

View File

@@ -1,36 +0,0 @@
# Fzf is a general-purpose command-line fuzzy finder.
{
config,
lib,
...
}: let
accent = "#" + config.lib.stylix.colors.base0D;
foreground = "#" + config.lib.stylix.colors.base05;
muted = "#" + config.lib.stylix.colors.base03;
in {
programs.fzf = {
enable = true;
enableBashIntegration = true;
colors = lib.mkForce {
"fg+" = accent;
"bg+" = "-1";
"fg" = foreground;
"bg" = "-1";
"prompt" = muted;
"pointer" = accent;
};
defaultOptions = [
"--margin=1"
"--layout=reverse"
"--border=none"
"--info='hidden'"
"--header=''"
"--prompt='/ '"
"-i"
"--no-bold"
"--bind='enter:execute(nano {})'"
"--preview='bat --style=numbers --color=always --line-range :500 {}'"
"--preview-window=right:60%:wrap"
];
};
}

View File

@@ -1,21 +0,0 @@
{host, ...}: let
inherit (import ../../hosts/${host}/variables.nix) gitUsername gitEmail;
in {
programs.git = {
enable = true;
settings = {
user = {
name = "${gitUsername}";
email = "${gitEmail}";
};
push.default = "simple";
credential.helper = "cache --timeout=7200";
init.defaultBranch = "main";
log = {
decorate = "full";
date = "iso";
};
merge.conflictStyle = "diff3";
};
};
}

View File

@@ -1,14 +0,0 @@
{pkgs, ...}: {
gtk = {
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
}

View File

@@ -1,22 +0,0 @@
_: {
wayland.windowManager.hyprland.settings = {
animations = {
enabled = true;
bezier = [
"wind, -1.05, 0.9, 0.1, 1.05"
"winIn, -1.1, 1.1, 0.1, 1.1"
"winOut, -1.3, -0.3, 0, 1"
"liner, 0, 1, 1, 1"
];
animation = [
"windows, 0, 6, wind, slide"
"windowsIn, 0, 6, winIn, slide"
"windowsOut, 0, 5, winOut, slide"
"windowsMove, 0, 5, wind, slide"
"border, 0, 1, liner"
"fade, 0, 10, default"
"workspaces, 0, 5, wind"
];
};
};
}

View File

@@ -1,25 +0,0 @@
_: {
wayland.windowManager.hyprland.settings = {
# name "Dynamic"
# credit https://github.com/mylinuxforwork/dotfiles
animations = {
enabled = true;
bezier = [
"wind, 0.05, 0.9, 0.1, 1.05"
"winIn, 0.1, 1.1, 0.1, 1.1"
"winOut, 0.3, -0.3, 0, 1"
"liner, 1, 1, 1, 1"
];
animation = [
"windows, 1, 6, wind, slide"
"windowsIn, 1, 6, winIn, slide"
"windowsOut, 1, 5, winOut, slide"
"windowsMove, 1, 5, wind, slide"
"border, 1, 1, liner"
"borderangle, 1, 30, liner, loop"
"fade, 1, 10, default"
"workspaces, 1, 5, wind"
];
};
};
}

View File

@@ -1,37 +0,0 @@
_: {
wayland.windowManager.hyprland.settings = {
# Name: END-4
# Credit: END-4 project https://github.com/end-4/dots-hyprland
animations = {
enabled = true;
bezier = [
"linear, 0, 0, 1, 1"
"md3_standard, 0.2, 0, 0, 1"
"md3_decel, 0.05, 0.7, 0.1, 1"
"md3_accel, 0.3, 0, 0.8, 0.15"
"overshot, 0.05, 0.9, 0.1, 1.1"
"crazyshot, 0.1, 1.5, 0.76, 0.92 "
"hyprnostretch, 0.05, 0.9, 0.1, 1.0"
"menu_decel, 0.1, 1, 0, 1"
"menu_accel, 0.38, 0.04, 1, 0.07"
"easeInOutCirc, 0.85, 0, 0.15, 1"
"easeOutCirc, 0, 0.55, 0.45, 1"
"easeOutExpo, 0.16, 1, 0.3, 1"
"softAcDecel, 0.26, 0.26, 0.15, 1"
"md2, 0.4, 0, 0.2, 1 # use with .2s duration"
];
animation = [
"windows, 1, 3, md3_decel, popin 60%"
"windowsIn, 1, 3, md3_decel, popin 60%"
"windowsOut, 1, 3, md3_accel, popin 60%"
"border, 1, 10, default"
"fade, 1, 3, md3_decel"
"layersIn, 1, 3, menu_decel, slide"
"layersOut, 1, 1.6, menu_accel"
"fadeLayersIn, 1, 2, menu_decel"
"fadeLayersOut, 1, 4.5, menu_accel"
"workspaces, 1, 7, menu_decel, slide"
];
};
};
}

View File

@@ -1,24 +0,0 @@
_: {
wayland.windowManager.hyprland.settings = {
# name "moving"
# credit https://github.com/mylinuxforwork/dotfiles
animations = {
enabled = true;
bezier = [
"overshot, 0.05, 0.9, 0.1, 1.05"
"smoothOut, 0.5, 0, 0.99, 0.99"
"smoothIn, 0.5, -0.5, 0.68, 1.5"
];
animation = [
"windows, 1, 5, overshot, slide"
"windowsOut, 1, 3, smoothOut"
"windowsIn, 1, 3, smoothOut"
"windowsMove, 1, 4, smoothIn, slide"
"border, 1, 5, default"
"fade, 1, 5, smoothIn"
"fadeDim, 1, 5, smoothIn"
"workspaces, 1, 6, default"
];
};
};
}

View File

@@ -1,167 +0,0 @@
{
host,
username,
...
}: let
inherit (import ../../../hosts/${host}/variables.nix) browser terminal;
desktopEntriesPath = "/home/${username}/.local/state/home-manager/gcroots/current-home/home-path/share/applications/";
in {
wayland.windowManager.hyprland.settings = {
bind = [
# =============================================================================
# APLIKACJE - GŁÓWNE
# =============================================================================
"$modifier, A, exec, anki"
"$modifier, B, exec, bitwarden"
"$modifier, C, exec, chromium"
"$modifier, D, exec, vesktop"
"$modifier, G, exec, affinity-v3"
"$modifier, I, exec, iotas"
"$modifier, L, exec, logseq"
"$modifier, M, exec, plexamp"
"$modifier, N, exec, dex ${desktopEntriesPath}/garandcloud.desktop"
"$modifier, O, exec, obs"
"$modifier, P, exec, plex-desktop"
"$modifier, Return, exec, ${terminal}"
"$modifier, S, exec, steam"
"$modifier, T, exec, thunar"
"$modifier, V, exec, codium"
"$modifier, W, exec, ${browser}"
"$modifier, Z, exec, zeditor"
# =============================================================================
# APLIKACJE - Z SHIFT
# =============================================================================
"$modifier SHIFT, B, exec, blueman-manager"
"$modifier SHIFT, C, exec, dex ${desktopEntriesPath}/claude.desktop"
"$modifier SHIFT, G, exec, dex ${desktopEntriesPath}/chatgpt.desktop"
"$modifier SHIFT, M, exec, dex ${desktopEntriesPath}/messenger.desktop"
"$modifier SHIFT, N, exec, nextcloud"
"$modifier SHIFT, O, exec, onlyoffice-desktopeditors"
"$modifier SHIFT, Return, exec, rofi-launcher"
"$modifier SHIFT, T, exec, tutanota-desktop"
"$modifier SHIFT, W, exec, web-search"
# =============================================================================
# APLIKACJE - Z ALT
# =============================================================================
"$modifier ALT, G, exec, dex ${desktopEntriesPath}/glance.desktop"
"$modifier ALT, M, exec, dex ${desktopEntriesPath}/mastodon.desktop"
"$modifier ALT, S, exec, slack"
"$modifier ALT, T, exec, gedit"
# =============================================================================
# APLIKACJE - Z CONTROL
# =============================================================================
"$modifier CONTROL, G, exec, gimp"
"$modifier CONTROL, M, exec, mattermost-desktop"
# =============================================================================
# NARZĘDZIA SYSTEMOWE
# =============================================================================
"$modifier, E, exec, emopicker9000"
"$modifier, K, exec, galculator"
"$modifier ALT, W, exec, wallsetter"
"$modifier CONTROL, P, exec, hyprpicker -a"
"$modifier SHIFT, K, exec, list-keybinds"
"$modifier SHIFT, P, exec, pavucontrol"
"$modifier SHIFT, S, exec, screenshootin"
# =============================================================================
# ZARZĄDZANIE OKNAMI
# =============================================================================
"$modifier, Escape, exec, hyprlock"
"$modifier, F, fullscreen,"
"$modifier, Q, killactive,"
"$modifier CONTROL, Escape, exec, wlogout"
"$modifier SHIFT, Escape, exit,"
"$modifier SHIFT, I, togglesplit,"
# =============================================================================
# FOKUS OKIEN
# =============================================================================
"$modifier, down, movefocus, d"
"$modifier, left, movefocus, l"
"$modifier, right, movefocus, r"
"$modifier, up, movefocus, u"
# =============================================================================
# PRZEMIESZCZANIE OKIEN
# =============================================================================
"$modifier SHIFT, down, movewindow, d"
"$modifier SHIFT, left, movewindow, l"
"$modifier SHIFT, right, movewindow, r"
"$modifier SHIFT, up, movewindow, u"
# =============================================================================
# ZAMIANA OKIEN
# =============================================================================
"$modifier ALT, down, swapwindow, d"
"$modifier ALT, left, swapwindow, l"
"$modifier ALT, right, swapwindow, r"
"$modifier ALT, up, swapwindow, u"
# =============================================================================
# WORKSPACES - PRZEŁĄCZANIE
# =============================================================================
"$modifier, 0, workspace, 10"
"$modifier, 1, workspace, 1"
"$modifier, 2, workspace, 2"
"$modifier, 3, workspace, 3"
"$modifier, 4, workspace, 4"
"$modifier, 5, workspace, 5"
"$modifier, 6, workspace, 6"
"$modifier, 7, workspace, 7"
"$modifier, 8, workspace, 8"
"$modifier, 9, workspace, 9"
"$modifier CONTROL, left, workspace, e-1"
"$modifier CONTROL, right, workspace, e+1"
"$modifier, mouse_down, workspace, e+1"
"$modifier, mouse_up, workspace, e-1"
# =============================================================================
# WORKSPACES - PRZENOSZENIE OKIEN
# =============================================================================
"$modifier SHIFT, 0, movetoworkspace, 10"
"$modifier SHIFT, 1, movetoworkspace, 1"
"$modifier SHIFT, 2, movetoworkspace, 2"
"$modifier SHIFT, 3, movetoworkspace, 3"
"$modifier SHIFT, 4, movetoworkspace, 4"
"$modifier SHIFT, 5, movetoworkspace, 5"
"$modifier SHIFT, 6, movetoworkspace, 6"
"$modifier SHIFT, 7, movetoworkspace, 7"
"$modifier SHIFT, 8, movetoworkspace, 8"
"$modifier SHIFT, 9, movetoworkspace, 9"
# =============================================================================
# MEDIA I KONTROLKI SYSTEMOWE
# =============================================================================
",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
",XF86AudioNext, exec, playerctl next"
",XF86AudioPause, exec, playerctl play-pause"
",XF86AudioPlay, exec, playerctl play-pause"
",XF86AudioPrev, exec, playerctl previous"
",XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
",XF86MonBrightnessDown, exec, brightnessctl set 5%-"
",XF86MonBrightnessUp, exec, brightnessctl set +5%"
# =============================================================================
# NIEUŻYWANE KEYBINDY
# =============================================================================
# "$modifier SHIFT, N, exec, swaync-client -rs"
# "$modifier, P, pseudo,"
# "$modifier SHIFT,F, togglefloating,"
# "$modifier ALT,F, workspaceopt, allfloat"
# "$modifier SHIFT, SPACE, movetoworkspace, special"
# "$modifier, SPACE, togglespecialworkspace"
# "ALT,Tab,cyclenext"
# "ALT,Tab,bringactivetotop"
];
bindm = [
"$modifier, mouse:272, movewindow"
"$modifier, mouse:273, resizewindow"
];
};
}

View File

@@ -1,15 +0,0 @@
{host, ...}: let
inherit (import ../../../hosts/${host}/variables.nix) animChoice;
in {
imports = [
animChoice
./binds.nix
./env.nix
./exec-once.nix
./hypridle.nix
./hyprland.nix
./hyprlock.nix
./pyprland.nix
./windowrules.nix
];
}

View File

@@ -1,36 +0,0 @@
_: {
wayland.windowManager.hyprland = {
settings = {
env = [
"NIXOS_OZONE_WL, 1"
"NIXPKGS_ALLOW_UNFREE, 1"
"XDG_CURRENT_DESKTOP, Hyprland"
"XDG_SESSION_TYPE, wayland"
"XDG_SESSION_DESKTOP, Hyprland"
"GDK_BACKEND, wayland, x11"
"CLUTTER_BACKEND, wayland"
"QT_QPA_PLATFORM=wayland;xcb"
"QT_WAYLAND_DISABLE_WINDOWDECORATION, 1"
"QT_AUTO_SCREEN_SCALE_FACTOR, 1"
"SDL_VIDEODRIVER, x11"
"MOZ_ENABLE_WAYLAND, 1"
# This is to make electron apps start in wayland
"ELECTRON_OZONE_PLATFORM_HINT,wayland"
# Disabling this by default as it can result in inop cfg
# Added card2 in case this gets enabled. For better coverage
# This is mostly needed by Hybrid laptops.
# but if you have multiple discrete GPUs this will set order
#"AQ_DRM_DEVICES,/dev/dri/card0:/dev/dri/card1:/dev/card2"
"GDK_SCALE,1"
"QT_SCALE_FACTOR,1"
"EDITOR,nano"
# Set terminal and xdg_terminal_emulator to kitty
# To provent yazi from starting xterm when run from rofi menu
# You can set to your preferred terminal if you you like
# ToDo: Pull default terminal from config
"TERMINAL,kitty"
"XDG_TERMINAL_EMULATOR,kitty"
];
};
};
}

View File

@@ -1,24 +0,0 @@
{host, ...}: let
inherit
(import ../../../hosts/${host}/variables.nix)
stylixImage
;
in {
wayland.windowManager.hyprland.settings = {
exec-once = [
"wl-paste --type text --watch cliphist store" # Saves text
"wl-paste --type image --watch cliphist store" # Saves images
"dbus-update-activation-environment --all --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
"systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
"systemctl --user start hyprpolkitagent"
"killall -q swww;sleep .5 && swww-daemon"
"killall -q waybar;sleep .5 && waybar"
"killall -q swaync;sleep .5 && swaync"
"#wallsetter &"
"pypr &"
"nm-applet --indicator"
"sleep 1.0 && swww img ${stylixImage}"
];
};
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -1,25 +0,0 @@
_: {
services = {
hypridle = {
enable = true;
settings = {
general = {
after_sleep_cmd = "hyprctl dispatch dpms on";
ignore_dbus_inhibit = false;
lock_cmd = "hyprlock";
};
listener = [
{
timeout = 900;
on-timeout = "hyprlock";
}
{
timeout = 1200;
on-timeout = "hyprctl dispatch dpms off";
on-resume = "hyprctl dispatch dpms on";
}
];
};
};
};
}

View File

@@ -1,160 +0,0 @@
{
host,
config,
pkgs,
...
}: let
inherit (import ../../../hosts/${host}/variables.nix) extraMonitorSettings keyboardLayout;
in {
systemd.user.targets.hyprland-session.Unit.Wants = [
"xdg-desktop-autostart.target"
];
# Place Files Inside Home Directory
home.file = {
"Pictures/Wallpapers" = {
source = ../../../wallpapers;
recursive = true;
};
".face.icon".source = ./face.jpg;
".config/face.jpg".source = ./face.jpg;
};
wayland.windowManager.hyprland = {
enable = true;
package = pkgs.hyprland;
systemd = {
enable = true;
enableXdgAutostart = true;
variables = ["--all"];
};
xwayland = {
enable = true;
};
settings = {
input = {
kb_layout = "${keyboardLayout}";
kb_options = [
"grp:alt_caps_toggle"
"caps:super"
];
numlock_by_default = true;
repeat_delay = 300;
follow_mouse = 1;
float_switch_override_focus = 0;
sensitivity = 0;
touchpad = {
natural_scroll = true;
disable_while_typing = true;
scroll_factor = 0.8;
};
};
gestures = {
# workspace_swipe = 1;
# workspace_swipe_fingers = 3;
workspace_swipe_distance = 500;
workspace_swipe_invert = 1;
workspace_swipe_min_speed_to_force = 30;
workspace_swipe_cancel_ratio = 0.5;
workspace_swipe_create_new = 1;
workspace_swipe_forever = 1;
};
general = {
"$modifier" = "SUPER";
layout = "dwindle";
gaps_in = 6;
gaps_out = 8;
border_size = 2;
resize_on_border = true;
"col.active_border" = "rgb(${config.lib.stylix.colors.base08}) rgb(${config.lib.stylix.colors.base0C}) 45deg";
"col.inactive_border" = "rgb(${config.lib.stylix.colors.base01})";
};
misc = {
layers_hog_keyboard_focus = true;
initial_workspace_tracking = 0;
mouse_move_enables_dpms = true;
key_press_enables_dpms = false;
disable_hyprland_logo = true;
disable_splash_rendering = true;
enable_swallow = true;
swallow_regex = "^(kitty)$";
vfr = true; # Variable Frame Rate
vrr = 2; # Variable Refresh Rate Might need to set to 0 for NVIDIA/AQ_DRM_DEVICES
# Screen flashing to black momentarily or going black when app is fullscreen
# Try setting vrr to 0
# Application not responding (ANR) settings
enable_anr_dialog = true;
anr_missed_pings = 15;
};
dwindle = {
pseudotile = true;
preserve_split = true;
force_split = 2;
};
decoration = {
rounding = 10;
blur = {
enabled = true;
size = 5;
passes = 3;
ignore_opacity = false;
new_optimizations = true;
};
shadow = {
enabled = true;
range = 4;
render_power = 3;
color = "rgba(1a1a1aee)";
};
};
ecosystem = {
no_donation_nag = true;
no_update_news = false;
};
cursor = {
sync_gsettings_theme = true;
no_hardware_cursors = 2; # change to 1 if want to disable
enable_hyprcursor = false;
warp_on_change_workspace = 2;
no_warps = true;
};
render = {
# Disabling as no longer supported
#explicit_sync = 1; # Change to 1 to disable
#explicit_sync_kms = 1;
direct_scanout = 0;
};
debug = {
full_cm_proto = true;
};
master = {
new_status = "master";
new_on_top = 1;
mfact = 0.5;
};
# Ensure Xwayland windows render at integer scale; compositor scales them
xwayland = {
force_zero_scaling = true;
};
};
extraConfig = "
monitor=,preferred,auto,auto
monitor=Virtual-1,1920x1080@60,auto,1
${extraMonitorSettings}
# To enable blur on waybar uncomment the line below
# Thanks to SchotjeChrisman
#layerrule = blur,waybar
";
};
}

View File

@@ -1,47 +0,0 @@
{username, ...}: {
programs.hyprlock = {
enable = true;
settings = {
general = {
disable_loading_bar = true;
grace = 10;
hide_cursor = true;
no_fade_in = false;
};
background = [
{
path = "/home/${username}/Pictures/Wallpapers/four-elements.jpg";
blur_passes = 3;
blur_size = 8;
}
];
image = [
{
path = "/home/${username}/.config/face.jpg";
size = 150;
border_size = 4;
border_color = "rgb(0C96F9)";
rounding = -1; # Negative means circle
position = "0, 200";
halign = "center";
valign = "center";
}
];
input-field = [
{
size = "200, 50";
position = "0, -80";
monitor = "";
dots_center = true;
fade_on_empty = false;
font_color = "rgb(CFE6F4)";
inner_color = "rgb(657DC2)";
outer_color = "rgb(0D0E15)";
outline_thickness = 5;
placeholder_text = "Password...";
shadow_passes = 2;
}
];
};
};
}

View File

@@ -1,16 +0,0 @@
_: {
home.file.".config/hypr/pyprland.toml".text = ''
[pyprland]
plugins = [
"scratchpads",
]
[scratchpads.term]
animation = "fromTop"
command = "kitty --class kitty-dropterm"
class = "kitty-dropterm"
size = "70% 70%"
max_size = "1920px 100%"
position = "150px 150px"
'';
}

View File

@@ -1,101 +0,0 @@
_: {
wayland.windowManager.hyprland = {
settings = {
windowrule = [
# XWayland specific rules
#"noblur, xwayland:1" # Helps prevent odd borders/shadows for xwayland apps
# downside it can impact other xwayland apps
# This rule is a template for a more targeted approach
"noblur, class:^(\bresolve\b)$, xwayland:1" # Window rule for just resolve
# Application tags
"tag +file-manager, class:^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$"
"tag +terminal, class:^(com.mitchellh.ghostty|org.wezfurlong.wezterm|Alacritty|kitty|kitty-dropterm)$"
"tag +browser, class:^(Brave-browser(-beta|-dev|-unstable)?)$"
"tag +browser, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr)$"
"tag +browser, class:^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$"
"tag +browser, class:^([Tt]horium-browser|[Cc]achy-browser)$"
"tag +projects, class:^(codium|codium-url-handler|VSCodium)$"
"tag +projects, class:^(VSCode|code-url-handler)$"
"tag +im, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$"
"tag +im, class:^([Ff]erdium)$"
"tag +im, class:^([Ww]hatsapp-for-linux)$"
"tag +im, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$"
"tag +im, class:^(teams-for-linux)$"
"tag +games, class:^(gamescope)$"
"tag +games, class:^(steam_app_\d+)$"
"tag +gamestore, class:^([Ss]team)$"
"tag +gamestore, title:^([Ll]utris)$"
"tag +gamestore, class:^(com.heroicgameslauncher.hgl)$"
"tag +settings, class:^(gnome-disks|wihotspot(-gui)?)$"
"tag +settings, class:^([Rr]ofi)$"
"tag +settings, class:^(file-roller|org.gnome.FileRoller)$"
"tag +settings, class:^(nm-applet|nm-connection-editor|blueman-manager)$"
"tag +settings, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$"
"tag +settings, class:^(nwg-look|qt5ct|qt6ct|[Yy]ad)$"
"tag +settings, class:(xdg-desktop-portal-gtk)"
"tag +settings, class:(.blueman-manager-wrapped)"
"tag +settings, class:(nwg-displays)"
# Position and movement rules
"move 72% 7%,title:^(Picture-in-Picture)$"
"center, class:^([Ff]erdium)$"
"center, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$"
"center, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)"
"center, title:^(Authentication Required)$"
# Idle inhibit rules
"idleinhibit fullscreen, class:^(*)$"
"idleinhibit fullscreen, title:^(*)$"
"idleinhibit fullscreen, fullscreen:1"
# Float rules
"float, class:^([Ww]aypaper)$"
"float, tag:settings*"
"float, class:^([Ff]erdium)$"
"float, title:^(Picture-in-Picture)$"
"float, class:^(mpv)$"
"float, title:^(Authentication Required)$"
"float, title:^(War in Tunnels)$"
"float, class:(codium|codium-url-handler|VSCodium), title:negative:(.*codium.*|.*VSCodium.*)"
"float, class:^(com.heroicgameslauncher.hgl)$, title:negative:(Heroic Games Launcher)"
"float, class:^([Ss]team)$, title:negative:^([Ss]team)$"
"float, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)"
"float, class:^(galculator)$"
"float, initialTitle:(Add Folder to Workspace)"
"float, initialTitle:(Open Files)"
"float, initialTitle:(wants to save)"
# Size rules
"size 70% 60%, initialTitle:(Open Files)"
"size 70% 60%, initialTitle:(Add Folder to Workspace)"
"size 70% 70%, tag:settings*"
"size 60% 70%, class:^([Ff]erdium)$"
"size 70% 70%, class:^(mpv)$"
# Tile rules
"tile, class:^(affinity.exe)$"
"tile, class:^(dev.zed.Zed)$"
# Opacity rules
"opacity 1.0 1.0, tag:browser*"
"opacity 0.9 0.8, tag:projects*"
"opacity 0.94 0.86, tag:im*"
"opacity 0.9 0.8, tag:file-manager*"
"opacity 0.8 0.7, tag:terminal*"
"opacity 0.8 0.7, tag:settings*"
"opacity 0.8 0.7, class:^(gedit|org.gnome.TextEditor|mousepad)$"
"opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui"
"opacity 0.95 0.75, title:^(Picture-in-Picture)$"
# Picture-in-Picture specific rules
"pin, title:^(Picture-in-Picture)$"
"keepaspectratio, title:^(Picture-in-Picture)$"
# Games specific rules
"noblur, tag:games*"
"fullscreen, tag:games*"
];
};
};
}

View File

@@ -1,14 +0,0 @@
{
pkgs,
lib,
config,
...
}: {
options.kdeconnect.enable = lib.mkEnableOption "KDE Connect";
config.services.kdeconnect = lib.mkIf config.kdeconnect.enable {
enable = true;
indicator = true;
package = pkgs.kdePackages.kdeconnect-kde;
};
}

View File

@@ -1,11 +0,0 @@
{pkgs, ...}: {
programs.kitty = {
enable = true;
package = pkgs.kitty;
};
imports = [
./extra-config.nix
./settings.nix
];
}

View File

@@ -1,52 +0,0 @@
_: {
programs.kitty.extraConfig = ''
# Clipboard
map ctrl+shift+v paste_from_selection
map shift+insert paste_from_selection
# Scrolling
map ctrl+shift+up scroll_line_up
map ctrl+shift+down scroll_line_down
map ctrl+shift+k scroll_line_up
map ctrl+shift+j scroll_line_down
map ctrl+shift+page_up scroll_page_up
map ctrl+shift+page_down scroll_page_down
map ctrl+shift+home scroll_home
map ctrl+shift+end scroll_end
map ctrl+shift+h show_scrollback
# Window management
map alt+n new_window_with_cwd #open in current dir
#map alt+n new_os_window #opens term in $HOME
map alt+w close_window
map ctrl+shift+enter launch --location=hsplit
map ctrl+shift+s launch --location=vsplit
map ctrl+shift+] next_window
map ctrl+shift+[ previous_window
map ctrl+shift+f move_window_forward
map ctrl+shift+b move_window_backward
map ctrl+shift+` move_window_to_top
map ctrl+shift+1 first_window
map ctrl+shift+2 second_window
map ctrl+shift+3 third_window
map ctrl+shift+4 fourth_window
map ctrl+shift+5 fifth_window
map ctrl+shift+6 sixth_window
map ctrl+shift+7 seventh_window
map ctrl+shift+8 eighth_window
map ctrl+shift+9 ninth_window # Tab management
map ctrl+shift+0 tenth_window
map ctrl+shift+right next_tab
map ctrl+shift+left previous_tab
map ctrl+shift+t new_tab
map ctrl+shift+q close_tab
map ctrl+shift+l next_layout
map ctrl+shift+. move_tab_forward
map ctrl+shift+, move_tab_backward
# Miscellaneous
map ctrl+shift+up increase_font_size
map ctrl+shift+down decrease_font_size
map ctrl+shift+backspace restore_font_size
'';
}

View File

@@ -1,20 +0,0 @@
_: {
programs.kitty.settings = {
font_size = 12;
wheel_scroll_min_lines = 1;
window_padding_width = 4;
confirm_os_window_close = 0;
scrollback_lines = 10000;
enable_audio_bell = false;
mouse_hide_wait = 60;
cursor_trail = 1;
tab_fade = 1;
active_tab_font_style = "bold";
inactive_tab_font_style = "bold";
tab_bar_edge = "top";
tab_bar_margin_width = 0;
tab_bar_style = "powerline";
#tab_bar_style = "fade";
enabled_layouts = "splits";
};
}

View File

@@ -1,31 +0,0 @@
{
pkgs,
lib,
config,
...
}: {
options.librewolf.enable = lib.mkEnableOption "LibreWolf";
config.programs.librewolf = lib.mkIf config.librewolf.enable {
enable = true;
package = pkgs.librewolf-bin;
# nativeMessagingHosts = [pkgs.firefoxpwa];
languagePacks = [
"pl"
"en-US"
];
settings = {
# LibreWolf settings
"network.http.referer.XOriginPolicy" = 2;
"privacy.resistFingerprinting.letterboxing" = true;
"privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts" = true;
};
policies = {
# Policies (about:policies#documentation)
};
};
imports = [
./profiles
];
}

View File

@@ -1,13 +0,0 @@
{host, ...}: {
programs.librewolf.profiles."${host}" = {
id = 0;
isDefault = true;
name = "${host}";
};
imports = [
./extensions.nix
./search.nix
./settings.nix
];
}

View File

@@ -1,22 +0,0 @@
{
inputs,
system,
host,
...
}: {
# about:debugging#/runtime/this-firefox Przydatne do wyszukiwania ID rozszerzenia
# programs.librewolf.profiles."${host}".extensions.force = true;
programs.librewolf.profiles."${host}".extensions.packages = with inputs.firefox-addons.packages.${system}; [
bitwarden
floccus
ublock-origin
sponsorblock
darkreader
# flagfox
hoppscotch
return-youtube-dislikes
sponsorblock
# pwas-for-firefox
mtab
];
}

View File

@@ -1,216 +0,0 @@
{
pkgs,
host,
...
}: {
programs.librewolf.profiles."${host}".search = {
default = "garand's-search";
privateDefault = "garand's-search";
force = true;
engines = {
"garand's-search" = {
definedAliases = ["@g"];
urls = [{template = "https://search.garandplg.com/search?q={searchTerms}";}];
# suggestUrl = "https://search.garandplg.com/autocompleter?q={searchTerms}"; Not implemented in home-manager ☹️
};
"youtube" = {
definedAliases = ["@yt"];
urls = [
{
template = "https://www.youtube.com/results";
params = [
{
name = "search_query";
value = "{searchTerms}";
}
];
}
];
};
"wikipedia-pl" = {
definedAliases = ["@w"];
urls = [
{
template = "https://pl.wikipedia.org/w/index.php";
params = [
{
name = "search";
value = "{searchTerms}";
}
];
}
];
};
"stackoverflow" = {
definedAliases = ["@so"];
urls = [
{
template = "https://stackoverflow.com/search";
params = [
{
name = "q";
value = "{searchTerms}";
}
];
}
];
};
"nix-packages" = {
definedAliases = ["@np"];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
urls = [
{
template = "https://search.nixos.org/packages?channel=unstable";
params = [
{
name = "query";
value = "{searchTerms}";
}
];
}
];
};
"nix-options" = {
definedAliases = ["@no"];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
urls = [
{
template = "https://search.nixos.org/options";
params = [
{
name = "query";
value = "{searchTerms}";
}
];
}
];
};
"nix-wiki" = {
definedAliases = ["@nw"];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
urls = [
{
template = "https://wiki.nixos.org/w/index.php";
params = [
{
name = "search";
value = "{searchTerms}";
}
];
}
];
};
"home-manager-option" = {
definedAliases = ["@hmo"];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
urls = [
{
template = "https://home-manager-options.extranix.com/?query={searchTerms}&release=master";
}
];
};
"eneba" = {
definedAliases = ["@en"];
icon = "https://static.eneba.games/branding/v2/logoFull.svg";
urls = [
{
template = "https://www.eneba.com/pl/store/all";
params = [
{
name = "text";
value = "{searchTerms}";
}
];
}
];
};
"kinguin" = {
definedAliases = ["@ki"];
icon = "https://static.kinguin.net/media/images/other/kinguin-mobile-logo.svg";
urls = [
{
template = "https://www.kinguin.net/listing?active=1&hideUnavailable=0&type=kinguin";
params = [
{
name = "phrase";
value = "{searchTerms}";
}
];
}
];
};
"instant-gaming" = {
definedAliases = ["@ig"];
icon = "https://asset.brandfetch.io/idCbLj4uOg/idGS61T0FV.jpeg";
urls = [
{
template = "https://www.instant-gaming.com/pl/search/";
params = [
{
name = "q";
value = "{searchTerms}";
}
];
}
];
};
"morele" = {
definedAliases = ["@mo"];
icon = "https://www.morele.net/static/img/shop/logo/image-logo-morele.svg";
urls = [
{
template = "https://www.morele.net/wyszukiwarka/";
params = [
{
name = "q";
value = "{searchTerms}";
}
];
}
];
};
"x-kom" = {
definedAliases = ["@xk"];
icon = "https://assets.x-kom.pl/public-spa/xkom/75062cb4b48a8510.svg";
urls = [
{
template = "https://www.x-kom.pl/szukaj";
params = [
{
name = "q";
value = "{searchTerms}";
}
];
}
];
};
"komputronik" = {
definedAliases = ["@kp"];
icon = "https://front.komputronik.pl/front-static/komputronik.Ceqagame-a.svg";
urls = [
{
template = "https://www.komputronik.pl/search/category/1";
params = [
{
name = "query";
value = "{searchTerms}";
}
];
}
];
};
"google".metaData.hidden = true;
"bing".metaData.hidden = true;
"perplexity".metaData.hidden = true;
"wolnelektury-pl".metaData.hidden = true;
"policy-DuckDuckGo Lite".metaData.hidden = true;
"policy-MetaGer".metaData.hidden = true;
"policy-Mojeek".metaData.hidden = true;
"policy-SearXNG - searx.be".metaData.hidden = true;
"policy-StartPage".metaData.hidden = true;
"allegro-pl".metaData.alias = "@al";
};
};
}

View File

@@ -1,42 +0,0 @@
{
lib,
host,
...
}: {
programs.librewolf.profiles."${host}".settings = lib.mkForce {
# Preferences (about:config)
"general.useragent.locale" = "pl";
"intl.locale.requested" = "pl,en-US";
"intl.accept_languages" = "pl,en-US";
"extensions.autoDisableScopes" = 0;
"font.default.x-western" = "FiraCode Nerd Font";
"font.name.monospace.x-western" = "FiraCode Nerd Font Mono";
"font.name.sans-serif.x-western" = "FiraCode Nerd Font Propo";
"font.name.serif.x-western" = "FiraCode Nerd Font";
"layout.css.prefers-color-scheme.content-override" = 0;
"layout.css.font-visibility" = 1;
"browser.tabs.insertRelatedAfterCurrent" = true;
"browser.sessionstore.resume_from_crash" = true;
"browser.sessionstore.resume_session_once" = true;
"browser.toolbars.bookmarks.visibility" = "never";
"browser.search.update" = true;
"sidebar.main.tools" = "history,bookmarks";
"sidebar.revamp" = true;
"sidebar.verticalTabs" = true;
"browser.eme.ui.enabled" = true;
"media.eme.enabled" = true;
"privacy.donottrackheader.enabled" = true;
"privacy.clearOnShutdown.history" = true;
"network.trr.mode" = 3;
"network.trr.uri" = "https://dns.mullvad.net/dns-query";
};
}

View File

@@ -1,17 +0,0 @@
{
pkgs,
lib,
config,
...
}: {
options.lutris.enable = lib.mkEnableOption "Lutris";
config.programs.lutris = lib.mkIf config.lutris.enable {
enable = true;
package = pkgs.lutris;
protonPackages = [pkgs.proton-ge-bin];
winePackages = [pkgs.wineWowPackages.waylandFull];
defaultWinePackage = pkgs.wineWowPackages.waylandFull;
steamPackage = pkgs.steam;
};
}

Some files were not shown because too many files have changed in this diff Show More