Personal Nix flake
nixos home-manager nix
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore: Merge pull request #13 from lpchaim/develop

chore: Merge branch 'develop' into main

authored by

Luna Perroni and committed by
GitHub
b2373642 0a1a3f4d

+954 -315
+12 -10
README.md
··· 50 50 ./storage.nix 51 51 ]; 52 52 53 - my.profiles = { 54 - formfactor.desktop = true; 55 - de.gnome = true; 56 - de.hyprland = true; 57 - hardware.gpu.nvidia = true; 58 - hardware.rgb = true; 53 + my = { 54 + gaming.enable = true; 55 + networking.tailscale.trusted = true; 56 + security.secureboot.enable = false; 57 + profiles = { 58 + formfactor.desktop = true; 59 + de.gnome = true; 60 + de.hyprland = true; 61 + hardware.gpu.nvidia = true; 62 + hardware.rgb = true; 63 + }; 59 64 }; 60 - my.gaming.enable = true; 61 - my.networking.tailscale.trusted = true; 62 - my.security.secureboot.enable = false; 63 65 64 66 networking.interfaces.enp6s0.wakeOnLan.enable = true; 65 67 ··· 82 84 - `schemas` for my custom [flake-schemas] definitions 83 85 - `shared` for configuration and modules useful to both and NixOS and Home Manager 84 86 85 - <details open> 87 + <details> 86 88 <summary>Tree view of the directory structure</summary> 87 89 88 90 ```sh
+1 -1
assets/README.md
··· 59 59 - `schemas` for my custom [flake-schemas] definitions 60 60 - `shared` for configuration and modules useful to both and NixOS and Home Manager 61 61 62 - <details open> 62 + <details> 63 63 <summary>Tree view of the directory structure</summary> 64 64 65 65 ```sh
+66 -108
flake.lock
··· 147 147 "type": "github" 148 148 } 149 149 }, 150 - "chaotic": { 151 - "inputs": { 152 - "flake-schemas": "flake-schemas", 153 - "home-manager": "home-manager", 154 - "jovian": "jovian", 155 - "nixpkgs": "nixpkgs", 156 - "rust-overlay": "rust-overlay" 157 - }, 158 - "locked": { 159 - "lastModified": 1765204341, 160 - "narHash": "sha256-7xd45skcuLCu2DHxVvU+W/z+7CUOjyv+QPtT4PLZaIU=", 161 - "owner": "chaotic-cx", 162 - "repo": "nyx", 163 - "rev": "aacb796ccd42be1555196c20013b9b674b71df75", 164 - "type": "github" 165 - }, 166 - "original": { 167 - "owner": "chaotic-cx", 168 - "ref": "nyxpkgs-unstable", 169 - "repo": "nyx", 170 - "type": "github" 171 - } 172 - }, 173 150 "crane": { 174 151 "locked": { 175 152 "lastModified": 1769287525, ··· 205 182 "type": "github" 206 183 } 207 184 }, 185 + "dms": { 186 + "inputs": { 187 + "nixpkgs": [ 188 + "nixpkgs" 189 + ], 190 + "quickshell": "quickshell_2" 191 + }, 192 + "locked": { 193 + "lastModified": 1768575133, 194 + "narHash": "sha256-P//moH3z9r4PXirTzXVsccQINsK5AIlF9RWOBwK3vLc=", 195 + "owner": "AvengeMedia", 196 + "repo": "DankMaterialShell", 197 + "rev": "a7cdb39b0b89b9af86160ad4e847a7d14ea44512", 198 + "type": "github" 199 + }, 200 + "original": { 201 + "owner": "AvengeMedia", 202 + "ref": "stable", 203 + "repo": "DankMaterialShell", 204 + "type": "github" 205 + } 206 + }, 208 207 "ez-configs": { 209 208 "inputs": { 210 209 "flake-parts": [ ··· 464 463 }, 465 464 "flake-schemas": { 466 465 "locked": { 467 - "lastModified": 1721999734, 468 - "narHash": "sha256-G5CxYeJVm4lcEtaO87LKzOsVnWeTcHGKbKxNamNWgOw=", 469 - "rev": "0a5c42297d870156d9c57d8f99e476b738dcd982", 470 - "revCount": 75, 471 - "type": "tarball", 472 - "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.5/0190ef2f-61e0-794b-ba14-e82f225e55e6/source.tar.gz" 473 - }, 474 - "original": { 475 - "type": "tarball", 476 - "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.5.tar.gz" 477 - } 478 - }, 479 - "flake-schemas_2": { 480 - "locked": { 481 466 "lastModified": 1765542151, 482 467 "narHash": "sha256-rzv+NVnOcr9pzd8RnvTscwAHAZmD8FLgxEEmHP1xGTA=", 483 468 "owner": "DeterminateSystems", ··· 529 514 "inputs": { 530 515 "flake-compat": "flake-compat", 531 516 "gitignore": "gitignore", 532 - "nixpkgs": "nixpkgs_2" 517 + "nixpkgs": "nixpkgs" 533 518 }, 534 519 "locked": { 535 520 "lastModified": 1769069492, ··· 684 669 "home-manager": { 685 670 "inputs": { 686 671 "nixpkgs": [ 687 - "chaotic", 688 - "nixpkgs" 689 - ] 690 - }, 691 - "locked": { 692 - "lastModified": 1764998300, 693 - "narHash": "sha256-fZatn/KLfHLDXnF0wy7JxXqGaZmGDTVufT4o/AOlj44=", 694 - "owner": "nix-community", 695 - "repo": "home-manager", 696 - "rev": "27a6182347ccae90a88231ae0dc5dfa7d15815bb", 697 - "type": "github" 698 - }, 699 - "original": { 700 - "owner": "nix-community", 701 - "repo": "home-manager", 702 - "type": "github" 703 - } 704 - }, 705 - "home-manager_2": { 706 - "inputs": { 707 - "nixpkgs": [ 708 672 "nixpkgs" 709 673 ] 710 674 }, ··· 791 755 "hyprutils": "hyprutils", 792 756 "hyprwayland-scanner": "hyprwayland-scanner", 793 757 "hyprwire": "hyprwire", 794 - "nixpkgs": "nixpkgs_3", 758 + "nixpkgs": "nixpkgs_2", 795 759 "pre-commit-hooks": "pre-commit-hooks", 796 760 "systems": "systems", 797 761 "xdph": "xdph" ··· 1097 1061 "jovian": { 1098 1062 "inputs": { 1099 1063 "nix-github-actions": "nix-github-actions", 1100 - "nixpkgs": [ 1101 - "chaotic", 1102 - "nixpkgs" 1103 - ] 1064 + "nixpkgs": "nixpkgs_3" 1104 1065 }, 1105 1066 "locked": { 1106 - "lastModified": 1764922999, 1107 - "narHash": "sha256-LSvUxKm6S6ZAd/otQSkAHd3+8KJhi8OwGJGSe0K//B8=", 1067 + "lastModified": 1769857393, 1068 + "narHash": "sha256-3sgdsShDEyA/Jd+VKS8cI2GYHfkS482zH80QcXBF77E=", 1108 1069 "owner": "Jovian-Experiments", 1109 1070 "repo": "Jovian-NixOS", 1110 - "rev": "9b9ead1b5591b68f4048e7205ba1397bc85ce6c4", 1071 + "rev": "91d6a007c918d3e862ec2418babfe271a4f7bfaa", 1111 1072 "type": "github" 1112 1073 }, 1113 1074 "original": { ··· 1123 1084 "nixpkgs" 1124 1085 ], 1125 1086 "pre-commit": "pre-commit", 1126 - "rust-overlay": "rust-overlay_2" 1087 + "rust-overlay": "rust-overlay" 1127 1088 }, 1128 1089 "locked": { 1129 1090 "lastModified": 1769417433, ··· 1194 1155 "nix-github-actions": { 1195 1156 "inputs": { 1196 1157 "nixpkgs": [ 1197 - "chaotic", 1198 1158 "jovian", 1199 1159 "nixpkgs" 1200 1160 ] ··· 1295 1255 }, 1296 1256 "nixpkgs": { 1297 1257 "locked": { 1298 - "lastModified": 1764950072, 1299 - "narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=", 1258 + "lastModified": 1764947035, 1259 + "narHash": "sha256-EYHSjVM4Ox4lvCXUMiKKs2vETUSL5mx+J2FfutM7T9w=", 1300 1260 "owner": "NixOS", 1301 1261 "repo": "nixpkgs", 1302 - "rev": "f61125a668a320878494449750330ca58b78c557", 1262 + "rev": "a672be65651c80d3f592a89b3945466584a22069", 1303 1263 "type": "github" 1304 1264 }, 1305 1265 "original": { 1306 1266 "owner": "NixOS", 1307 - "ref": "nixos-unstable", 1267 + "ref": "nixpkgs-unstable", 1308 1268 "repo": "nixpkgs", 1309 1269 "type": "github" 1310 1270 } ··· 1428 1388 }, 1429 1389 "nixpkgs_2": { 1430 1390 "locked": { 1431 - "lastModified": 1764947035, 1432 - "narHash": "sha256-EYHSjVM4Ox4lvCXUMiKKs2vETUSL5mx+J2FfutM7T9w=", 1391 + "lastModified": 1769461804, 1392 + "narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=", 1433 1393 "owner": "NixOS", 1434 1394 "repo": "nixpkgs", 1435 - "rev": "a672be65651c80d3f592a89b3945466584a22069", 1395 + "rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d", 1436 1396 "type": "github" 1437 1397 }, 1438 1398 "original": { 1439 1399 "owner": "NixOS", 1440 - "ref": "nixpkgs-unstable", 1400 + "ref": "nixos-unstable", 1441 1401 "repo": "nixpkgs", 1442 1402 "type": "github" 1443 1403 } 1444 1404 }, 1445 1405 "nixpkgs_3": { 1446 1406 "locked": { 1447 - "lastModified": 1769461804, 1448 - "narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=", 1407 + "lastModified": 1769018530, 1408 + "narHash": "sha256-MJ27Cy2NtBEV5tsK+YraYr2g851f3Fl1LpNHDzDX15c=", 1449 1409 "owner": "NixOS", 1450 1410 "repo": "nixpkgs", 1451 - "rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d", 1411 + "rev": "88d3861acdd3d2f0e361767018218e51810df8a1", 1452 1412 "type": "github" 1453 1413 }, 1454 1414 "original": { ··· 1665 1625 "url": "https://git.outfoxxed.me/outfoxxed/quickshell" 1666 1626 } 1667 1627 }, 1628 + "quickshell_2": { 1629 + "inputs": { 1630 + "nixpkgs": [ 1631 + "dms", 1632 + "nixpkgs" 1633 + ] 1634 + }, 1635 + "locked": { 1636 + "lastModified": 1766725085, 1637 + "narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=", 1638 + "ref": "refs/heads/master", 1639 + "rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff", 1640 + "revCount": 715, 1641 + "type": "git", 1642 + "url": "https://git.outfoxxed.me/quickshell/quickshell" 1643 + }, 1644 + "original": { 1645 + "rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff", 1646 + "type": "git", 1647 + "url": "https://git.outfoxxed.me/quickshell/quickshell" 1648 + } 1649 + }, 1668 1650 "root": { 1669 1651 "inputs": { 1670 1652 "caelestia": "caelestia", 1671 - "chaotic": "chaotic", 1672 1653 "disko": "disko", 1654 + "dms": "dms", 1673 1655 "ez-configs": "ez-configs", 1674 1656 "flake-parts": "flake-parts", 1675 - "flake-schemas": "flake-schemas_2", 1657 + "flake-schemas": "flake-schemas", 1676 1658 "git-hooks-nix": "git-hooks-nix", 1677 1659 "haumea": "haumea", 1678 - "home-manager": "home-manager_2", 1660 + "home-manager": "home-manager", 1679 1661 "hyprland": "hyprland", 1680 1662 "hyprland-hyprspace": "hyprland-hyprspace", 1681 1663 "hyprland-plugins": "hyprland-plugins", 1682 - "jovian": [ 1683 - "chaotic", 1684 - "jovian" 1685 - ], 1664 + "jovian": "jovian", 1686 1665 "lanzaboote": "lanzaboote", 1687 1666 "make-shell": "make-shell", 1688 1667 "nix-flatpak": "nix-flatpak", ··· 1706 1685 } 1707 1686 }, 1708 1687 "rust-overlay": { 1709 - "inputs": { 1710 - "nixpkgs": [ 1711 - "chaotic", 1712 - "nixpkgs" 1713 - ] 1714 - }, 1715 - "locked": { 1716 - "lastModified": 1765075567, 1717 - "narHash": "sha256-KFDCdQcHJ0hE3Nt5Gm5enRIhmtEifAjpxgUQ3mzSJpA=", 1718 - "owner": "oxalica", 1719 - "repo": "rust-overlay", 1720 - "rev": "769156779b41e8787a46ca3d7d76443aaf68be6f", 1721 - "type": "github" 1722 - }, 1723 - "original": { 1724 - "owner": "oxalica", 1725 - "repo": "rust-overlay", 1726 - "type": "github" 1727 - } 1728 - }, 1729 - "rust-overlay_2": { 1730 1688 "inputs": { 1731 1689 "nixpkgs": [ 1732 1690 "lanzaboote",
+5 -2
flake.nix
··· 61 61 }; 62 62 63 63 # Hyprland 64 + dms = { 65 + url = "github:AvengeMedia/DankMaterialShell/stable"; 66 + inputs.nixpkgs.follows = "nixpkgs"; 67 + }; 64 68 caelestia = { 65 69 url = "github:caelestia-dots/shell"; 66 70 inputs.nixpkgs.follows = "nixpkgs"; ··· 76 80 }; 77 81 78 82 # Misc 79 - chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; 80 83 disko = { 81 84 url = "github:nix-community/disko"; 82 85 inputs.nixpkgs.follows = "nixpkgs"; ··· 93 96 url = "github:nix-community/haumea/v0.2.2"; 94 97 inputs.nixpkgs.follows = "nixpkgs"; 95 98 }; 96 - jovian.follows = "chaotic/jovian"; # Needed for binary cache 99 + jovian.url = "github:Jovian-Experiments/Jovian-NixOS"; 97 100 lanzaboote = { 98 101 url = "github:nix-community/lanzaboote"; 99 102 inputs.nixpkgs.follows = "nixpkgs";
+5 -4
nix/home/configs/cheina@pc082.nix
··· 10 10 stateVersion = "23.05"; 11 11 }; 12 12 13 - my.modules = { 13 + my = { 14 14 cli.enable = true; 15 15 cli.git.enable = true; 16 16 cli.hishtory.enable = false; 17 17 de.gnome.theming.enableGnomeShellTheme = false; 18 + profiles = { 19 + standalone = true; 20 + }; 18 21 }; 19 - my.profiles.standalone = true; 20 22 21 - home.packages = with pkgs; [ 22 - nodePackages.clipboard-cli 23 + home.packages = [ 23 24 (pkgs.writeShellScriptBin "dev2beta" '' 24 25 git checkout dev && git pull && git checkout beta && git pull 25 26 git branch -D bugfix#dev2beta >/dev/null 2>&1
+51
nix/home/modules/bars/dank-material-shell/default.nix
··· 1 + { 2 + config, 3 + inputs, 4 + lib, 5 + osConfig ? {}, 6 + ... 7 + }: let 8 + inherit (inputs.self.lib) isNvidia; 9 + inherit (inputs.self.lib.config) wallpaper; 10 + cfg = config.my.bars.dank-material-shell; 11 + in { 12 + options.my.bars.dank-material-shell.enable = lib.mkEnableOption "Dank material shell"; 13 + 14 + config = lib.mkIf (cfg.enable) { 15 + programs.dank-material-shell = { 16 + enable = true; 17 + enableAudioWavelength = true; 18 + enableCalendarEvents = false; 19 + enableClipboardPaste = true; 20 + enableDynamicTheming = true; 21 + enableSystemMonitoring = true; 22 + enableVPN = false; 23 + 24 + # See https://raw.githubusercontent.com/AvengeMedia/DankMaterialShell/refs/heads/master/quickshell/Common/settings/SettingsSpec.js 25 + settings = import ./settings.nix; 26 + 27 + # See https://raw.githubusercontent.com/AvengeMedia/DankMaterialShell/refs/heads/master/quickshell/Common/settings/SessionSpec.js 28 + session = 29 + (import ./session.nix) 30 + // { 31 + wallpaperPath = wallpaper; 32 + nvidiaGpuTempEnabled = isNvidia osConfig; 33 + nonNvidiaGpuTempEnabled = !(isNvidia osConfig); 34 + }; 35 + 36 + clipboardSettings = { 37 + maxHistory = 50; 38 + }; 39 + 40 + systemd = { 41 + enable = true; 42 + restartIfChanged = true; 43 + }; 44 + }; 45 + 46 + my.de.hyprland = { 47 + hyprlock.enable = false; 48 + hypridle.lockCmd = "[[ $(dms ipc call lock isLocked) != 'false' ]] || dms ipc call lock lock"; 49 + }; 50 + }; 51 + }
+60
nix/home/modules/bars/dank-material-shell/session.nix
··· 1 + builtins.fromJSON '' 2 + { 3 + "isLightMode": false, 4 + "doNotDisturb": false, 5 + "perMonitorWallpaper": false, 6 + "monitorWallpapers": {}, 7 + "perModeWallpaper": false, 8 + "wallpaperPathLight": "", 9 + "wallpaperPathDark": "", 10 + "monitorWallpapersLight": {}, 11 + "monitorWallpapersDark": {}, 12 + "wallpaperTransition": "fade", 13 + "includedTransitions": [ 14 + "fade", 15 + "wipe", 16 + "disc", 17 + "stripes", 18 + "iris bloom", 19 + "pixelate", 20 + "portal" 21 + ], 22 + "wallpaperCyclingEnabled": false, 23 + "wallpaperCyclingMode": "interval", 24 + "wallpaperCyclingInterval": 300, 25 + "wallpaperCyclingTime": "06:00", 26 + "monitorCyclingSettings": {}, 27 + "nightModeEnabled": false, 28 + "nightModeTemperature": 4500, 29 + "nightModeHighTemperature": 6500, 30 + "nightModeAutoEnabled": false, 31 + "nightModeAutoMode": "time", 32 + "nightModeStartHour": 18, 33 + "nightModeStartMinute": 0, 34 + "nightModeEndHour": 6, 35 + "nightModeEndMinute": 0, 36 + "latitude": 0, 37 + "longitude": 0, 38 + "nightModeUseIPLocation": false, 39 + "nightModeLocationProvider": "", 40 + "pinnedApps": [], 41 + "hiddenTrayIds": [ 42 + "steam", 43 + "KDE Connect Indicator" 44 + ], 45 + "recentColors": [], 46 + "showThirdPartyPlugins": false, 47 + "launchPrefix": "", 48 + "lastBrightnessDevice": "", 49 + "brightnessExponentialDevices": {}, 50 + "brightnessUserSetValues": {}, 51 + "brightnessExponentValues": {}, 52 + "selectedGpuIndex": 0, 53 + "nvidiaGpuTempEnabled": true, 54 + "nonNvidiaGpuTempEnabled": false, 55 + "enabledGpuPciIds": [], 56 + "wifiDeviceOverride": "", 57 + "weatherHourlyDetailed": false, 58 + "configVersion": 2 59 + } 60 + ''
+523
nix/home/modules/bars/dank-material-shell/settings.nix
··· 1 + builtins.fromJSON '' 2 + { 3 + "currentThemeName": "purple", 4 + "currentThemeCategory": "generic", 5 + "customThemeFile": "", 6 + "registryThemeVariants": {}, 7 + "matugenScheme": "scheme-vibrant", 8 + "runUserMatugenTemplates": true, 9 + "matugenTargetMonitor": "", 10 + "popupTransparency": 1, 11 + "dockTransparency": 1, 12 + "widgetBackgroundColor": "sth", 13 + "widgetColorMode": "colorful", 14 + "cornerRadius": 10, 15 + "niriLayoutGapsOverride": -1, 16 + "niriLayoutRadiusOverride": -1, 17 + "niriLayoutBorderSize": -1, 18 + "hyprlandLayoutGapsOverride": -1, 19 + "hyprlandLayoutRadiusOverride": -1, 20 + "hyprlandLayoutBorderSize": -1, 21 + "mangoLayoutGapsOverride": -1, 22 + "mangoLayoutRadiusOverride": -1, 23 + "mangoLayoutBorderSize": -1, 24 + "use24HourClock": true, 25 + "showSeconds": false, 26 + "useFahrenheit": false, 27 + "nightModeEnabled": false, 28 + "animationSpeed": 1, 29 + "customAnimationDuration": 500, 30 + "wallpaperFillMode": "Fit", 31 + "blurredWallpaperLayer": false, 32 + "blurWallpaperOnOverview": false, 33 + "showLauncherButton": true, 34 + "showWorkspaceSwitcher": true, 35 + "showFocusedWindow": true, 36 + "showWeather": true, 37 + "showMusic": true, 38 + "showClipboard": true, 39 + "showCpuUsage": true, 40 + "showMemUsage": true, 41 + "showCpuTemp": true, 42 + "showGpuTemp": true, 43 + "selectedGpuIndex": 0, 44 + "enabledGpuPciIds": [], 45 + "showSystemTray": true, 46 + "showClock": true, 47 + "showNotificationButton": true, 48 + "showBattery": true, 49 + "showControlCenterButton": true, 50 + "showCapsLockIndicator": true, 51 + "controlCenterShowNetworkIcon": true, 52 + "controlCenterShowBluetoothIcon": true, 53 + "controlCenterShowAudioIcon": true, 54 + "controlCenterShowAudioPercent": false, 55 + "controlCenterShowVpnIcon": true, 56 + "controlCenterShowBrightnessIcon": false, 57 + "controlCenterShowBrightnessPercent": false, 58 + "controlCenterShowMicIcon": false, 59 + "controlCenterShowMicPercent": false, 60 + "controlCenterShowBatteryIcon": false, 61 + "controlCenterShowPrinterIcon": false, 62 + "controlCenterShowScreenSharingIcon": true, 63 + "showPrivacyButton": true, 64 + "privacyShowMicIcon": false, 65 + "privacyShowCameraIcon": false, 66 + "privacyShowScreenShareIcon": false, 67 + "controlCenterWidgets": [ 68 + { 69 + "id": "volumeSlider", 70 + "enabled": true, 71 + "width": 50 72 + }, 73 + { 74 + "id": "brightnessSlider", 75 + "enabled": true, 76 + "width": 50 77 + }, 78 + { 79 + "id": "wifi", 80 + "enabled": true, 81 + "width": 50 82 + }, 83 + { 84 + "id": "bluetooth", 85 + "enabled": true, 86 + "width": 50 87 + }, 88 + { 89 + "id": "audioOutput", 90 + "enabled": true, 91 + "width": 50 92 + }, 93 + { 94 + "id": "audioInput", 95 + "enabled": true, 96 + "width": 50 97 + }, 98 + { 99 + "id": "nightMode", 100 + "enabled": true, 101 + "width": 50 102 + }, 103 + { 104 + "id": "darkMode", 105 + "enabled": true, 106 + "width": 50 107 + }, 108 + { 109 + "id": "idleInhibitor", 110 + "enabled": true, 111 + "width": 50 112 + }, 113 + { 114 + "id": "doNotDisturb", 115 + "enabled": true, 116 + "width": 50 117 + } 118 + ], 119 + "showWorkspaceIndex": true, 120 + "showWorkspaceName": false, 121 + "showWorkspacePadding": false, 122 + "workspaceScrolling": false, 123 + "showWorkspaceApps": true, 124 + "maxWorkspaceIcons": 4, 125 + "groupWorkspaceApps": true, 126 + "workspaceFollowFocus": false, 127 + "showOccupiedWorkspacesOnly": true, 128 + "reverseScrolling": false, 129 + "dwlShowAllTags": false, 130 + "workspaceColorMode": "default", 131 + "workspaceUnfocusedColorMode": "default", 132 + "workspaceUrgentColorMode": "default", 133 + "workspaceFocusedBorderEnabled": false, 134 + "workspaceFocusedBorderColor": "primary", 135 + "workspaceFocusedBorderThickness": 2, 136 + "workspaceNameIcons": {}, 137 + "waveProgressEnabled": true, 138 + "scrollTitleEnabled": true, 139 + "audioVisualizerEnabled": true, 140 + "audioScrollMode": "volume", 141 + "clockCompactMode": false, 142 + "focusedWindowCompactMode": false, 143 + "runningAppsCompactMode": true, 144 + "keyboardLayoutNameCompactMode": false, 145 + "runningAppsCurrentWorkspace": false, 146 + "runningAppsGroupByApp": true, 147 + "appIdSubstitutions": [ 148 + { 149 + "pattern": "Spotify", 150 + "replacement": "spotify", 151 + "type": "exact" 152 + }, 153 + { 154 + "pattern": "beepertexts", 155 + "replacement": "beeper", 156 + "type": "exact" 157 + }, 158 + { 159 + "pattern": "home assistant desktop", 160 + "replacement": "homeassistant-desktop", 161 + "type": "exact" 162 + }, 163 + { 164 + "pattern": "com.transmissionbt.transmission", 165 + "replacement": "transmission-gtk", 166 + "type": "contains" 167 + }, 168 + { 169 + "pattern": "^steam_app_(\\d+)$", 170 + "replacement": "steam_icon_$1", 171 + "type": "regex" 172 + } 173 + ], 174 + "centeringMode": "geometric", 175 + "clockDateFormat": "dd/MM", 176 + "lockDateFormat": "dd/MM", 177 + "mediaSize": 1, 178 + "appLauncherViewMode": "list", 179 + "spotlightModalViewMode": "list", 180 + "sortAppsAlphabetically": false, 181 + "appLauncherGridColumns": 4, 182 + "spotlightCloseNiriOverview": true, 183 + "niriOverviewOverlayEnabled": true, 184 + "useAutoLocation": true, 185 + "weatherEnabled": true, 186 + "networkPreference": "auto", 187 + "vpnLastConnected": "", 188 + "iconTheme": "System Default", 189 + "cursorSettings": { 190 + "theme": "System Default", 191 + "size": 24, 192 + "niri": { 193 + "hideWhenTyping": false, 194 + "hideAfterInactiveMs": 0 195 + }, 196 + "hyprland": { 197 + "hideOnKeyPress": false, 198 + "hideOnTouch": false, 199 + "inactiveTimeout": 0 200 + }, 201 + "dwl": { 202 + "cursorHideTimeout": 0 203 + } 204 + }, 205 + "launcherLogoMode": "apps", 206 + "launcherLogoCustomPath": "", 207 + "launcherLogoColorOverride": "", 208 + "launcherLogoColorInvertOnMode": false, 209 + "launcherLogoBrightness": 0.5, 210 + "launcherLogoContrast": 1, 211 + "launcherLogoSizeOffset": 0, 212 + "fontFamily": "Inter Variable", 213 + "monoFontFamily": "JetBrainsMono Nerd Font", 214 + "fontWeight": 700, 215 + "fontScale": 1.05, 216 + "notepadUseMonospace": true, 217 + "notepadFontFamily": "", 218 + "notepadFontSize": 14, 219 + "notepadShowLineNumbers": false, 220 + "notepadTransparencyOverride": -1, 221 + "notepadLastCustomTransparency": 0.7, 222 + "soundsEnabled": true, 223 + "useSystemSoundTheme": false, 224 + "soundNewNotification": true, 225 + "soundVolumeChanged": true, 226 + "soundPluggedIn": true, 227 + "acMonitorTimeout": 0, 228 + "acLockTimeout": 0, 229 + "acSuspendTimeout": 0, 230 + "acSuspendBehavior": 0, 231 + "acProfileName": "", 232 + "batteryMonitorTimeout": 0, 233 + "batteryLockTimeout": 0, 234 + "batterySuspendTimeout": 0, 235 + "batterySuspendBehavior": 0, 236 + "batteryProfileName": "", 237 + "batteryChargeLimit": 100, 238 + "lockBeforeSuspend": false, 239 + "loginctlLockIntegration": true, 240 + "fadeToLockEnabled": true, 241 + "fadeToLockGracePeriod": 5, 242 + "fadeToDpmsEnabled": true, 243 + "fadeToDpmsGracePeriod": 5, 244 + "launchPrefix": "", 245 + "brightnessDevicePins": {}, 246 + "wifiNetworkPins": {}, 247 + "bluetoothDevicePins": {}, 248 + "audioInputDevicePins": {}, 249 + "audioOutputDevicePins": {}, 250 + "gtkThemingEnabled": false, 251 + "qtThemingEnabled": false, 252 + "syncModeWithPortal": true, 253 + "terminalsAlwaysDark": false, 254 + "runDmsMatugenTemplates": true, 255 + "matugenTemplateGtk": true, 256 + "matugenTemplateNiri": true, 257 + "matugenTemplateHyprland": true, 258 + "matugenTemplateMangowc": true, 259 + "matugenTemplateQt5ct": true, 260 + "matugenTemplateQt6ct": true, 261 + "matugenTemplateFirefox": true, 262 + "matugenTemplatePywalfox": true, 263 + "matugenTemplateZenBrowser": true, 264 + "matugenTemplateVesktop": true, 265 + "matugenTemplateEquibop": true, 266 + "matugenTemplateGhostty": true, 267 + "matugenTemplateKitty": true, 268 + "matugenTemplateFoot": true, 269 + "matugenTemplateAlacritty": true, 270 + "matugenTemplateNeovim": true, 271 + "matugenTemplateWezterm": true, 272 + "matugenTemplateDgop": true, 273 + "matugenTemplateKcolorscheme": true, 274 + "matugenTemplateVscode": true, 275 + "showDock": false, 276 + "dockAutoHide": false, 277 + "dockGroupByApp": false, 278 + "dockOpenOnOverview": false, 279 + "dockPosition": 1, 280 + "dockSpacing": 4, 281 + "dockBottomGap": 0, 282 + "dockMargin": 0, 283 + "dockIconSize": 40, 284 + "dockIndicatorStyle": "circle", 285 + "dockBorderEnabled": false, 286 + "dockBorderColor": "surfaceText", 287 + "dockBorderOpacity": 1, 288 + "dockBorderThickness": 1, 289 + "dockIsolateDisplays": false, 290 + "notificationOverlayEnabled": true, 291 + "modalDarkenBackground": true, 292 + "lockScreenShowPowerActions": true, 293 + "lockScreenShowSystemIcons": true, 294 + "lockScreenShowTime": true, 295 + "lockScreenShowDate": true, 296 + "lockScreenShowProfileImage": true, 297 + "lockScreenShowPasswordField": true, 298 + "enableFprint": false, 299 + "maxFprintTries": 15, 300 + "lockScreenActiveMonitor": "all", 301 + "lockScreenInactiveColor": "#000000", 302 + "lockScreenNotificationMode": 0, 303 + "hideBrightnessSlider": false, 304 + "notificationTimeoutLow": 3000, 305 + "notificationTimeoutNormal": 5000, 306 + "notificationTimeoutCritical": 0, 307 + "notificationCompactMode": false, 308 + "notificationPopupPosition": 0, 309 + "notificationHistoryEnabled": true, 310 + "notificationHistoryMaxCount": 50, 311 + "notificationHistoryMaxAgeDays": 7, 312 + "notificationHistorySaveLow": true, 313 + "notificationHistorySaveNormal": true, 314 + "notificationHistorySaveCritical": true, 315 + "osdAlwaysShowValue": false, 316 + "osdPosition": 7, 317 + "osdVolumeEnabled": true, 318 + "osdMediaVolumeEnabled": true, 319 + "osdBrightnessEnabled": true, 320 + "osdIdleInhibitorEnabled": true, 321 + "osdMicMuteEnabled": true, 322 + "osdCapsLockEnabled": true, 323 + "osdPowerProfileEnabled": false, 324 + "osdAudioOutputEnabled": true, 325 + "powerActionConfirm": true, 326 + "powerActionHoldDuration": 1, 327 + "powerMenuActions": [ 328 + "reboot", 329 + "logout", 330 + "poweroff", 331 + "lock", 332 + "suspend", 333 + "restart", 334 + "hibernate" 335 + ], 336 + "powerMenuDefaultAction": "logout", 337 + "powerMenuGridLayout": false, 338 + "customPowerActionLock": "", 339 + "customPowerActionLogout": "", 340 + "customPowerActionSuspend": "", 341 + "customPowerActionHibernate": "", 342 + "customPowerActionReboot": "", 343 + "customPowerActionPowerOff": "", 344 + "updaterHideWidget": false, 345 + "updaterUseCustomCommand": false, 346 + "updaterCustomCommand": "", 347 + "updaterTerminalAdditionalParams": "", 348 + "displayNameMode": "system", 349 + "screenPreferences": {}, 350 + "showOnLastDisplay": {}, 351 + "niriOutputSettings": {}, 352 + "hyprlandOutputSettings": {}, 353 + "barConfigs": [ 354 + { 355 + "id": "default", 356 + "name": "Main Bar", 357 + "enabled": true, 358 + "position": 0, 359 + "screenPreferences": [ 360 + "all" 361 + ], 362 + "showOnLastDisplay": true, 363 + "leftWidgets": [ 364 + { 365 + "id": "clock", 366 + "enabled": true, 367 + "clockCompactMode": false 368 + }, 369 + { 370 + "id": "weather", 371 + "enabled": true 372 + }, 373 + { 374 + "id": "focusedWindow", 375 + "enabled": true 376 + } 377 + ], 378 + "centerWidgets": [ 379 + { 380 + "id": "workspaceSwitcher", 381 + "enabled": true 382 + } 383 + ], 384 + "rightWidgets": [ 385 + { 386 + "id": "systemTray", 387 + "enabled": true 388 + }, 389 + { 390 + "id": "clipboard", 391 + "enabled": true 392 + }, 393 + { 394 + "id": "cpuUsage", 395 + "enabled": true, 396 + "minimumWidth": false 397 + }, 398 + { 399 + "id": "notificationButton", 400 + "enabled": true 401 + }, 402 + { 403 + "id": "battery", 404 + "enabled": true 405 + }, 406 + { 407 + "id": "idleInhibitor", 408 + "enabled": true 409 + }, 410 + { 411 + "id": "controlCenterButton", 412 + "enabled": true, 413 + "showAudioPercent": false, 414 + "showBrightnessIcon": false, 415 + "showBrightnessPercent": false 416 + } 417 + ], 418 + "spacing": 4, 419 + "innerPadding": 4, 420 + "bottomGap": 0, 421 + "transparency": 1, 422 + "widgetTransparency": 1, 423 + "squareCorners": false, 424 + "noBackground": false, 425 + "gothCornersEnabled": false, 426 + "gothCornerRadiusOverride": false, 427 + "gothCornerRadiusValue": 12, 428 + "borderEnabled": false, 429 + "borderColor": "surfaceText", 430 + "borderOpacity": 1, 431 + "borderThickness": 1, 432 + "fontScale": 1, 433 + "autoHide": false, 434 + "autoHideDelay": 250, 435 + "openOnOverview": false, 436 + "visible": true, 437 + "popupGapsAuto": true, 438 + "popupGapsManual": 4, 439 + "shadowIntensity": 0, 440 + "widgetOutlineEnabled": false, 441 + "widgetOutlineColor": "primary", 442 + "maximizeDetection": true 443 + } 444 + ], 445 + "desktopClockEnabled": false, 446 + "desktopClockStyle": "analog", 447 + "desktopClockTransparency": 0.8, 448 + "desktopClockColorMode": "primary", 449 + "desktopClockCustomColor": { 450 + "r": 1, 451 + "g": 1, 452 + "b": 1, 453 + "a": 1, 454 + "hsvHue": -1, 455 + "hsvSaturation": 0, 456 + "hsvValue": 1, 457 + "hslHue": -1, 458 + "hslSaturation": 0, 459 + "hslLightness": 1, 460 + "valid": true 461 + }, 462 + "desktopClockShowDate": true, 463 + "desktopClockShowAnalogNumbers": false, 464 + "desktopClockShowAnalogSeconds": true, 465 + "desktopClockX": -1, 466 + "desktopClockY": -1, 467 + "desktopClockWidth": 280, 468 + "desktopClockHeight": 180, 469 + "desktopClockDisplayPreferences": [ 470 + "all" 471 + ], 472 + "systemMonitorEnabled": false, 473 + "systemMonitorShowHeader": true, 474 + "systemMonitorTransparency": 0.8, 475 + "systemMonitorColorMode": "primary", 476 + "systemMonitorCustomColor": { 477 + "r": 1, 478 + "g": 1, 479 + "b": 1, 480 + "a": 1, 481 + "hsvHue": -1, 482 + "hsvSaturation": 0, 483 + "hsvValue": 1, 484 + "hslHue": -1, 485 + "hslSaturation": 0, 486 + "hslLightness": 1, 487 + "valid": true 488 + }, 489 + "systemMonitorShowCpu": true, 490 + "systemMonitorShowCpuGraph": true, 491 + "systemMonitorShowCpuTemp": true, 492 + "systemMonitorShowGpuTemp": false, 493 + "systemMonitorGpuPciId": "", 494 + "systemMonitorShowMemory": true, 495 + "systemMonitorShowMemoryGraph": true, 496 + "systemMonitorShowNetwork": true, 497 + "systemMonitorShowNetworkGraph": true, 498 + "systemMonitorShowDisk": true, 499 + "systemMonitorShowTopProcesses": false, 500 + "systemMonitorTopProcessCount": 3, 501 + "systemMonitorTopProcessSortBy": "cpu", 502 + "systemMonitorGraphInterval": 60, 503 + "systemMonitorLayoutMode": "auto", 504 + "systemMonitorX": -1, 505 + "systemMonitorY": -1, 506 + "systemMonitorWidth": 320, 507 + "systemMonitorHeight": 480, 508 + "systemMonitorDisplayPreferences": [ 509 + "all" 510 + ], 511 + "systemMonitorVariants": [], 512 + "desktopWidgetPositions": {}, 513 + "desktopWidgetGridSettings": {}, 514 + "desktopWidgetInstances": [], 515 + "desktopWidgetGroups": [], 516 + "builtInPluginSettings": { 517 + "dms_settings_search": { 518 + "trigger": "?" 519 + } 520 + }, 521 + "configVersion": 5 522 + } 523 + ''
+3 -3
nix/home/modules/cli/atuin/default.nix
··· 5 5 pkgs, 6 6 ... 7 7 }: let 8 - cfg = config.my.modules.cli.atuin; 8 + cfg = config.my.cli.atuin; 9 9 in { 10 - options.my.modules.cli.atuin.enable = 10 + options.my.cli.atuin.enable = 11 11 lib.mkEnableOption "atuin" 12 - // {default = config.my.modules.cli.enable;}; 12 + // {default = config.my.cli.enable;}; 13 13 config = lib.mkIf cfg.enable { 14 14 programs.mcfly.enable = lib.mkForce false; 15 15 programs.atuin = {
+3 -3
nix/home/modules/cli/default.nix
··· 4 4 ... 5 5 }: let 6 6 inherit (lib) mkDefault mkEnableOption mkIf; 7 - cfg = config.my.modules.cli; 7 + cfg = config.my.cli; 8 8 in { 9 9 imports = [ 10 10 ./atuin ··· 21 21 ./zsh 22 22 ]; 23 23 24 - options.my.modules.cli.enable = mkEnableOption "cli modules"; 24 + options.my.cli.enable = mkEnableOption "cli modules"; 25 25 26 - config.my.modules.cli = mkIf cfg.enable { 26 + config.my.cli = mkIf cfg.enable { 27 27 editors.enable = mkDefault true; 28 28 essentials.enable = mkDefault true; 29 29 fish.enable = mkDefault true;
+3 -3
nix/home/modules/cli/editors/default.nix
··· 3 3 lib, 4 4 ... 5 5 }: let 6 - cfg = config.my.modules.cli.editors; 6 + cfg = config.my.cli.editors; 7 7 inherit (cfg) enable; 8 8 in { 9 9 imports = [ ··· 11 11 ./neovim 12 12 ]; 13 13 14 - options.my.modules.cli.editors = { 15 - enable = lib.mkEnableOption "editors" // {default = config.my.modules.cli.enable;}; 14 + options.my.cli.editors = { 15 + enable = lib.mkEnableOption "editors" // {default = config.my.cli.enable;}; 16 16 kakoune.enable = lib.mkEnableOption "kakoune" // {default = enable;}; 17 17 vim.enable = lib.mkEnableOption "vim" // {default = enable;}; 18 18 };
+3 -3
nix/home/modules/cli/editors/helix/default.nix
··· 3 3 lib, 4 4 ... 5 5 }: let 6 - cfg = config.my.modules.cli.editors.helix; 6 + cfg = config.my.cli.editors.helix; 7 7 in { 8 - options.my.modules.cli.editors.helix.enable = 8 + options.my.cli.editors.helix.enable = 9 9 lib.mkEnableOption "helix" 10 - // {default = config.my.modules.cli.editors.enable;}; 10 + // {default = config.my.cli.editors.enable;}; 11 11 config = lib.mkIf cfg.enable { 12 12 programs.helix = { 13 13 enable = true;
+3 -3
nix/home/modules/cli/editors/neovim/default.nix
··· 3 3 lib, 4 4 ... 5 5 }: let 6 - cfg = config.my.modules.cli.editors.neovim; 6 + cfg = config.my.cli.editors.neovim; 7 7 in { 8 8 imports = [ 9 9 ./treesitter.nix 10 10 ]; 11 11 12 - options.my.modules.cli.editors.neovim.enable = 12 + options.my.cli.editors.neovim.enable = 13 13 lib.mkEnableOption "neovim" 14 - // {default = config.my.modules.cli.editors.enable;}; 14 + // {default = config.my.cli.editors.enable;}; 15 15 16 16 config = lib.mkIf cfg.enable { 17 17 programs.nixvim = {
+2 -2
nix/home/modules/cli/editors/neovim/treesitter.nix
··· 4 4 pkgs, 5 5 ... 6 6 }: let 7 - cfg = config.my.modules.cli.editors.neovim.treesitter; 7 + cfg = config.my.cli.editors.neovim.treesitter; 8 8 in { 9 - options.my.modules.cli.editors.neovim.treesitter.enable = lib.mkEnableOption "treesitter"; 9 + options.my.cli.editors.neovim.treesitter.enable = lib.mkEnableOption "treesitter"; 10 10 11 11 config = lib.mkIf cfg.enable { 12 12 programs.nixvim = {
+2 -2
nix/home/modules/cli/essentials/default.nix
··· 6 6 ... 7 7 }: let 8 8 inherit (inputs.self.lib.config) flake shell; 9 - cfg = config.my.modules.cli.essentials; 9 + cfg = config.my.cli.essentials; 10 10 in { 11 - options.my.modules.cli.essentials.enable = lib.mkEnableOption "essentials"; 11 + options.my.cli.essentials.enable = lib.mkEnableOption "essentials"; 12 12 13 13 config = lib.mkIf cfg.enable { 14 14 home = {
+2 -2
nix/home/modules/cli/fish/default.nix
··· 4 4 pkgs, 5 5 ... 6 6 }: let 7 - cfg = config.my.modules.cli.fish; 7 + cfg = config.my.cli.fish; 8 8 in { 9 - options.my.modules.cli.fish.enable = lib.mkEnableOption "fish shell"; 9 + options.my.cli.fish.enable = lib.mkEnableOption "fish shell"; 10 10 config = lib.mkIf cfg.enable { 11 11 programs.fish = { 12 12 inherit (config.home) shellAliases;
+2 -2
nix/home/modules/cli/git/default.nix
··· 5 5 ... 6 6 }: let 7 7 inherit (inputs.self.lib.config) email name; 8 - cfg = config.my.modules.cli.git; 8 + cfg = config.my.cli.git; 9 9 in { 10 - options.my.modules.cli.git = { 10 + options.my.cli.git = { 11 11 enable = lib.mkEnableOption "git"; 12 12 lazygit.enable = lib.mkEnableOption "lazygit" // {default = cfg.enable;}; 13 13 };
+2 -2
nix/home/modules/cli/hishtory/default.nix
··· 5 5 ... 6 6 }: let 7 7 inherit (lib) mkEnableOption mkIf; 8 - cfg = config.my.modules.cli.hishtory; 8 + cfg = config.my.cli.hishtory; 9 9 in { 10 - options.my.modules.cli.hishtory.enable = mkEnableOption "hishtory"; 10 + options.my.cli.hishtory.enable = mkEnableOption "hishtory"; 11 11 12 12 config = mkIf cfg.enable { 13 13 home = {
+2 -2
nix/home/modules/cli/nushell/default.nix
··· 4 4 pkgs, 5 5 ... 6 6 }: let 7 - cfg = config.my.modules.cli.nushell; 7 + cfg = config.my.cli.nushell; 8 8 nuScripts = pkgs.nu_scripts + /share/nu_scripts; 9 9 in { 10 - options.my.modules.cli.nushell.enable = lib.mkEnableOption "nushell"; 10 + options.my.cli.nushell.enable = lib.mkEnableOption "nushell"; 11 11 12 12 config = lib.mkIf cfg.enable { 13 13 home.packages = with pkgs; [fzf];
+2 -2
nix/home/modules/cli/starship/default.nix
··· 4 4 pkgs, 5 5 ... 6 6 }: let 7 - cfg = config.my.modules.cli.starship; 7 + cfg = config.my.cli.starship; 8 8 in { 9 - options.my.modules.cli.starship.enable = lib.mkEnableOption "starship"; 9 + options.my.cli.starship.enable = lib.mkEnableOption "starship"; 10 10 11 11 config = lib.mkIf cfg.enable { 12 12 programs.starship = {
+2 -2
nix/home/modules/cli/tealdeer/default.nix
··· 4 4 pkgs, 5 5 ... 6 6 }: let 7 - cfg = config.my.modules.cli.tealdeer; 7 + cfg = config.my.cli.tealdeer; 8 8 in { 9 - options.my.modules.cli.tealdeer.enable = lib.mkEnableOption "nushell"; 9 + options.my.cli.tealdeer.enable = lib.mkEnableOption "nushell"; 10 10 11 11 config = lib.mkIf cfg.enable { 12 12 home.packages = [pkgs.tealdeer];
+2 -2
nix/home/modules/cli/tmux/catppuccin/default.nix
··· 5 5 lib, 6 6 ... 7 7 }: let 8 - cfg = config.my.modules.cli.tmux.catppuccin; 8 + cfg = config.my.cli.tmux.catppuccin; 9 9 in { 10 - options.my.modules.cli.tmux.catppuccin = { 10 + options.my.cli.tmux.catppuccin = { 11 11 enable = lib.mkOption { 12 12 description = "Whether to enable catppuccin."; 13 13 type = lib.types.bool;
+3 -3
nix/home/modules/cli/tmux/default.nix
··· 4 4 lib, 5 5 ... 6 6 }: let 7 - cfg = config.my.modules.cli.tmux; 7 + cfg = config.my.cli.tmux; 8 8 defaultClipboard = "clipboard"; # clipboard, primary, secondary 9 9 termBasic = "screen-256color"; 10 10 termFull = "xterm-256color"; ··· 14 14 ./catppuccin 15 15 ]; 16 16 17 - options.my.modules.cli.tmux = { 17 + options.my.cli.tmux = { 18 18 enable = lib.mkEnableOption "tmux"; 19 19 theme = lib.mkOption { 20 20 description = "Which theme to use."; ··· 25 25 26 26 config = lib.mkIf cfg.enable (lib.mkMerge [ 27 27 { 28 - my.modules.cli.tmux = { 28 + my.cli.tmux = { 29 29 catppuccin.enable = cfg.theme == "catppuccin"; 30 30 tmux-powerline.enable = cfg.theme == "tmux-powerline"; 31 31 };
+2 -2
nix/home/modules/cli/tmux/tmux-powerline/default.nix
··· 4 4 lib, 5 5 ... 6 6 }: let 7 - cfg = config.my.modules.cli.tmux.tmux-powerline; 7 + cfg = config.my.cli.tmux.tmux-powerline; 8 8 in { 9 - options.my.modules.cli.tmux.tmux-powerline.enable = lib.mkEnableOption "tmux-powerline."; 9 + options.my.cli.tmux.tmux-powerline.enable = lib.mkEnableOption "tmux-powerline."; 10 10 11 11 config = lib.mkIf cfg.enable { 12 12 programs.tmux.plugins = with pkgs.tmuxPlugins; [
+2 -2
nix/home/modules/cli/zellij/default.nix
··· 6 6 }: let 7 7 inherit (lib) mkEnableOption mkForce; 8 8 inherit (inputs.home-manager.lib.hm.generators) toKDL; 9 - cfg = config.my.modules.cli.zellij; 9 + cfg = config.my.cli.zellij; 10 10 in { 11 - options.my.modules.cli.zellij.enable = mkEnableOption "zellij"; 11 + options.my.cli.zellij.enable = mkEnableOption "zellij"; 12 12 13 13 config = lib.mkIf cfg.enable { 14 14 programs = {
+2 -2
nix/home/modules/cli/zsh/default.nix
··· 4 4 pkgs, 5 5 ... 6 6 }: let 7 - cfg = config.my.modules.cli.zsh; 7 + cfg = config.my.cli.zsh; 8 8 in { 9 - options.my.modules.cli.zsh.enable = lib.mkEnableOption "zsh"; 9 + options.my.cli.zsh.enable = lib.mkEnableOption "zsh"; 10 10 11 11 config = lib.mkIf cfg.enable { 12 12 programs.zsh = {
+3 -3
nix/home/modules/de/gnome/default.nix
··· 3 3 lib, 4 4 ... 5 5 }: let 6 - cfg = config.my.modules.de.gnome; 6 + cfg = config.my.de.gnome; 7 7 in { 8 8 imports = [ 9 9 ./extensions 10 10 ./theming 11 11 ]; 12 12 13 - options.my.modules.de.gnome.enable = lib.mkEnableOption "GTK/GNOME Shell customizations"; 13 + options.my.de.gnome.enable = lib.mkEnableOption "GTK/GNOME Shell customizations"; 14 14 15 15 config = lib.mkIf cfg.enable (lib.mkMerge [ 16 16 { 17 - my.modules.de.gnome = { 17 + my.de.gnome = { 18 18 extensions = { 19 19 enable = lib.mkDefault true; 20 20 dash-to-panel.enable = lib.mkDefault true;
+2 -2
nix/home/modules/de/gnome/extensions/dash-to-panel.nix
··· 4 4 pkgs, 5 5 ... 6 6 }: let 7 - cfg = config.my.modules.de.gnome.extensions.dash-to-panel; 7 + cfg = config.my.de.gnome.extensions.dash-to-panel; 8 8 in { 9 - options.my.modules.de.gnome.extensions.dash-to-panel.enable = lib.mkEnableOption "Dash to Panel."; 9 + options.my.de.gnome.extensions.dash-to-panel.enable = lib.mkEnableOption "Dash to Panel."; 10 10 11 11 config = lib.mkIf cfg.enable { 12 12 home.packages = with pkgs.gnomeExtensions; [
+2 -2
nix/home/modules/de/gnome/extensions/default.nix
··· 4 4 pkgs, 5 5 ... 6 6 }: let 7 - cfg = config.my.modules.de.gnome.extensions; 7 + cfg = config.my.de.gnome.extensions; 8 8 in { 9 9 imports = [ 10 10 ./dash-to-panel.nix 11 11 ]; 12 12 13 - options.my.modules.de.gnome.extensions.enable = lib.mkEnableOption "GNOME Shell extensions"; 13 + options.my.de.gnome.extensions.enable = lib.mkEnableOption "GNOME Shell extensions"; 14 14 15 15 config = lib.mkIf cfg.enable { 16 16 home.packages =
+2 -2
nix/home/modules/de/gnome/theming/default.nix
··· 6 6 ... 7 7 }: let 8 8 inherit (inputs.self.lib.config) profilePicture wallpaper; 9 - cfg = config.my.modules.de.gnome.theming; 9 + cfg = config.my.de.gnome.theming; 10 10 in { 11 - options.my.modules.de.gnome.theming = { 11 + options.my.de.gnome.theming = { 12 12 enable = lib.mkEnableOption "theming tweaks"; 13 13 enableGtkTheme = lib.mkEnableOption "custom GTK theme"; 14 14 enableGnomeShellTheme = lib.mkEnableOption "custom GNOME Shell theme";
+2 -2
nix/home/modules/de/hyprland/bars/caelestia/default.nix nix/home/modules/bars/caelestia/default.nix
··· 6 6 ... 7 7 }: let 8 8 inherit (inputs.self.lib) isNvidia; 9 - cfg = config.my.modules.de.hyprland.bars.caelestia; 9 + cfg = config.my.bars.caelestia; 10 10 in { 11 - options.my.modules.de.hyprland.bars.caelestia.enable = lib.mkEnableOption "Caelestia"; 11 + options.my.bars.caelestia.enable = lib.mkEnableOption "Caelestia"; 12 12 13 13 config = lib.mkIf cfg.enable { 14 14 programs.caelestia = {
+1
nix/home/modules/de/hyprland/bars/default.nix nix/home/modules/bars/default.nix
··· 1 1 { 2 2 imports = [ 3 3 ./caelestia 4 + ./dank-material-shell 4 5 ]; 5 6 }
+3 -3
nix/home/modules/de/hyprland/binds/default.nix
··· 15 15 range 16 16 ; 17 17 18 - cfg = config.my.modules.de.hyprland.binds; 18 + cfg = config.my.de.hyprland.binds; 19 19 20 20 makeDirectional = { 21 21 cmd, ··· 46 46 in "${trigger}, ${getKey i}, ${cmd}, ${getWorkspace i}") 47 47 (range 1 10); 48 48 in { 49 - options.my.modules.de.hyprland.binds = { 49 + options.my.de.hyprland.binds = { 50 50 enable = mkEnableOption "bindings"; 51 51 enableFnKeys = lib.mkEnableOption "function key bindings"; 52 52 }; ··· 62 62 "$mod ALT, T, exec, wezterm" 63 63 "$mod, B, exec, firefox" 64 64 "$mod, E, exec, nautilus" 65 - "CTRL ALT, L, exec, pidof hyprlock || hyprlock" 65 + "CTRL ALT, L, exec, ${config.services.hypridle.settings.general.lock_cmd}" 66 66 "$mod, F11, exec, pidof grimblast || grimblast copy output --notify" 67 67 "$mod ALT, F11, exec, pidof grimblast || grimblast copy active --notify" 68 68 "$mod SHIFT, F11, exec, pidof grimblast || ${pkgs.writeShellScript "grimblast-freeze" ''
+6 -6
nix/home/modules/de/hyprland/default.nix
··· 6 6 ... 7 7 }: let 8 8 inherit (inputs.self.lib.config) kb; 9 - cfg = config.my.modules.de.hyprland; 9 + cfg = config.my.de.hyprland; 10 10 in { 11 11 imports = [ 12 - ./bars 13 12 ./binds 14 13 ./hypridle 15 14 ./hyprlock ··· 18 17 ./plugins 19 18 ]; 20 19 21 - options.my.modules.de.hyprland.enable = lib.mkEnableOption "Hyprland customizations"; 20 + options.my.de.hyprland.enable = lib.mkEnableOption "Hyprland customizations"; 22 21 23 22 config = lib.mkIf cfg.enable (lib.mkMerge [ 24 23 { 25 - my.modules.de.hyprland = { 26 - bars.caelestia.enable = lib.mkDefault cfg.enable; 27 - binds.enableFnKeys = lib.mkDefault cfg.bars.caelestia.enable; 24 + my.de.hyprland = { 25 + binds.enableFnKeys = lib.mkDefault cfg.enable; 28 26 binds.enable = lib.mkDefault cfg.enable; 27 + hypridle.enable = lib.mkDefault cfg.enable; 28 + hyprlock.enable = lib.mkDefault cfg.enable; 29 29 launchers.rofi.enable = lib.mkDefault cfg.enable; 30 30 osd.swayosd.enable = lib.mkDefault false; 31 31 plugins.enable = lib.mkDefault false;
+19 -6
nix/home/modules/de/hyprland/hypridle/default.nix
··· 4 4 pkgs, 5 5 ... 6 6 }: let 7 - cfg = config.my.modules.de.hyprland; 8 - in 9 - lib.mkIf cfg.enable { 7 + cfg = config.my.de.hyprland.hypridle; 8 + in { 9 + options.my.de.hyprland.hypridle = { 10 + enable = lib.mkEnableOption "Hypridle"; 11 + lockCmd = lib.mkOption { 12 + description = "Command to lock the screen"; 13 + type = lib.types.nullOr lib.types.str; 14 + default = null; 15 + }; 16 + }; 17 + 18 + config = lib.mkIf cfg.enable { 10 19 services.hypridle = { 11 - enable = true; 20 + enable = 21 + if (cfg.lockCmd == null) 22 + then (throw "config.services.hypridle.settings.general.lock_cmd must be set") 23 + else true; 12 24 settings = { 13 25 general = { 14 - lock_cmd = "pidof hyprlock || hyprlock"; 26 + lock_cmd = cfg.lockCmd; 15 27 before_sleep_cmd = "loginctl lock-session"; 16 28 after_sleep_cmd = "hyprctl dispatch dpms on"; 17 29 }; ··· 33 45 ]; 34 46 }; 35 47 }; 36 - } 48 + }; 49 + }
+10 -6
nix/home/modules/de/hyprland/hyprlock/default.nix
··· 3 3 lib, 4 4 ... 5 5 }: let 6 - inherit (lib) mkIf; 7 - cfg = config.my.modules.de.hyprland; 8 - in 9 - mkIf cfg.enable { 6 + cfg = config.my.de.hyprland.hyprlock; 7 + in { 8 + options.my.de.hyprland.hyprlock.enable = lib.mkEnableOption "Hyprlock"; 9 + 10 + config = lib.mkIf cfg.enable { 10 11 stylix.targets.hyprlock.enable = false; 11 12 programs.hyprlock = { 12 - enable = true; 13 + enable = lib.mkDefault true; 13 14 settings = let 14 15 inherit (config.lib.stylix) colors; 15 16 in { ··· 54 55 ]; 55 56 }; 56 57 }; 57 - } 58 + 59 + my.de.hyprland.hypridle.lockCmd = "pidof hyprlock || hyprlock"; 60 + }; 61 + }
+2 -2
nix/home/modules/de/hyprland/launchers/rofi/default.nix
··· 4 4 pkgs, 5 5 ... 6 6 }: let 7 - cfg = config.my.modules.de.hyprland.launchers.rofi; 7 + cfg = config.my.de.hyprland.launchers.rofi; 8 8 in { 9 - options.my.modules.de.hyprland.launchers.rofi.enable = lib.mkEnableOption "rofi"; 9 + options.my.de.hyprland.launchers.rofi.enable = lib.mkEnableOption "rofi"; 10 10 11 11 config = lib.mkIf cfg.enable { 12 12 wayland.windowManager.hyprland.settings.bindr = [
+3 -3
nix/home/modules/de/hyprland/osd/swayosd/default.nix
··· 4 4 pkgs, 5 5 ... 6 6 }: let 7 - cfg = config.my.modules.de.hyprland.osd.swayosd; 7 + cfg = config.my.de.hyprland.osd.swayosd; 8 8 in { 9 - options.my.modules.de.hyprland.osd.swayosd.enable = lib.mkEnableOption "sway-osd"; 9 + options.my.de.hyprland.osd.swayosd.enable = lib.mkEnableOption "sway-osd"; 10 10 11 11 config = lib.mkIf cfg.enable { 12 - my.modules.de.hyprland.binds.enableFnKeys = lib.mkForce false; 12 + my.de.hyprland.binds.enableFnKeys = lib.mkForce false; 13 13 home.packages = [pkgs.swayosd]; 14 14 wayland.windowManager.hyprland.settings = { 15 15 exec-once = lib.mkBefore ["${pkgs.swayosd}/bin/swayosd-server"];
+2 -2
nix/home/modules/de/hyprland/plugins/default.nix
··· 5 5 pkgs, 6 6 ... 7 7 }: let 8 - cfg = config.my.modules.de.hyprland.plugins; 8 + cfg = config.my.de.hyprland.plugins; 9 9 in { 10 - options.my.modules.de.hyprland.plugins.enable = lib.mkEnableOption "Hyprland plugins"; 10 + options.my.de.hyprland.plugins.enable = lib.mkEnableOption "Hyprland plugins"; 11 11 12 12 config = lib.mkIf cfg.enable { 13 13 wayland.windowManager.hyprland.settings = {
+3 -2
nix/home/modules/default.nix
··· 9 9 imports = 10 10 (with inputs; [ 11 11 caelestia.homeManagerModules.default 12 - chaotic.homeManagerModules.default 12 + dms.homeModules.dank-material-shell 13 13 nix-index-database.homeModules.nix-index 14 14 nix-flatpak.homeManagerModules.nix-flatpak 15 15 nixvim.homeModules.nixvim ··· 20 20 ]) 21 21 ++ [ 22 22 "${self}/nix/shared" 23 + ./bars 23 24 ./cli 24 25 ./de 25 26 ./gui ··· 32 33 ./theming 33 34 ]; 34 35 35 - my.modules = { 36 + my = { 36 37 cli.enable = mkDefault true; 37 38 nix.enable = mkDefault true; 38 39 scripts.enable = mkDefault true;
+3 -3
nix/home/modules/gui/chromium.nix
··· 8 8 }: let 9 9 inherit (inputs.home-manager.lib) hm; 10 10 inherit (inputs.self.lib) isNvidia; 11 - cfg = config.my.modules.gui.chromium; 11 + cfg = config.my.gui.chromium; 12 12 in { 13 - options.my.modules.gui.chromium.enable = 13 + options.my.gui.chromium.enable = 14 14 lib.mkEnableOption "custom chromium" 15 - // {default = config.my.modules.gui.enable;}; 15 + // {default = config.my.gui.enable;}; 16 16 17 17 config = lib.mkIf cfg.enable { 18 18 programs.chromium = {
+2 -2
nix/home/modules/gui/default.nix
··· 6 6 osConfig ? {}, 7 7 ... 8 8 }: let 9 - cfg = config.my.modules.gui; 9 + cfg = config.my.gui; 10 10 in { 11 11 imports = [ 12 12 ./chromium.nix ··· 14 14 ./mangohud.nix 15 15 ]; 16 16 17 - options.my.modules.gui.enable = lib.mkEnableOption "gui apps"; 17 + options.my.gui.enable = lib.mkEnableOption "gui apps"; 18 18 19 19 config = lib.mkIf cfg.enable (lib.mkMerge [ 20 20 {
+6 -6
nix/home/modules/gui/firefox.nix
··· 4 4 pkgs, 5 5 ... 6 6 }: let 7 - cfg = config.my.modules.gui.firefox; 7 + cfg = config.my.gui.firefox; 8 8 in { 9 - options.my.modules.gui.firefox.enable = 9 + options.my.gui.firefox.enable = 10 10 lib.mkEnableOption "custom firefox" 11 - // {default = config.my.modules.gui.enable;}; 11 + // {default = config.my.gui.enable;}; 12 12 13 13 config = lib.mkIf cfg.enable { 14 14 programs.firefox = { 15 15 enable = true; 16 16 package = pkgs.firefox-bin.override { 17 17 cfg = { 18 - enableGnomeExtensions = config.my.modules.de.gnome.enable or false; 19 - enablePlasmaBrowserIntegration = config.my.modules.de.plasma.enable or false; 18 + enableGnomeExtensions = config.my.de.gnome.enable or false; 19 + enablePlasmaBrowserIntegration = config.my.de.plasma.enable or false; 20 20 }; 21 21 nativeMessagingHosts = [pkgs.gnomeExtensions.gsconnect]; 22 22 }; ··· 48 48 "mousewheel.default.delta_multiplier_x" = 20; 49 49 "mousewheel.default.delta_multiplier_y" = 20; 50 50 "widget.use-xdg-desktop-portal.file-picker" = 51 - if (config.my.modules.plasma.enable or false) 51 + if (config.my.de.plasma.enable or false) 52 52 then 1 53 53 else 0; 54 54 };
+3 -3
nix/home/modules/gui/mangohud.nix
··· 4 4 osConfig ? {}, 5 5 ... 6 6 }: let 7 - cfg = config.my.modules.gui.mangohud; 7 + cfg = config.my.gui.mangohud; 8 8 in { 9 - options.my.modules.gui.mangohud.enable = 9 + options.my.gui.mangohud.enable = 10 10 lib.mkEnableOption "gui apps" 11 11 // { 12 12 default = 13 - config.my.modules.gui.enable 13 + config.my.gui.enable 14 14 && ( 15 15 (osConfig == {}) 16 16 || !(osConfig ? jovian)
+2 -2
nix/home/modules/misc/llm/default.nix
··· 8 8 inherit (inputs.home-manager.lib) hm; 9 9 inherit (inputs.nix-std.lib) serde; 10 10 inherit (lib) mkIf mkEnableOption mkOption; 11 - cfg = config.my.modules.misc.llm; 11 + cfg = config.my.misc.llm; 12 12 defaultEnable = {default = cfg.enable;}; 13 13 in { 14 - options.my.modules.misc.llm = { 14 + options.my.misc.llm = { 15 15 enable = mkEnableOption "LLM tools"; 16 16 defaultModel = mkOption { 17 17 description = "Which model to use by default";
+2 -2
nix/home/modules/nix/default.nix
··· 7 7 ... 8 8 }: let 9 9 inherit (inputs.self.lib.config) nix; 10 - cfg = config.my.modules.nix; 10 + cfg = config.my.nix; 11 11 in { 12 - options.my.modules.nix.enable = lib.mkEnableOption "nix"; 12 + options.my.nix.enable = lib.mkEnableOption "nix"; 13 13 config = lib.mkIf (cfg.enable) { 14 14 nix = 15 15 {
+1 -1
nix/home/modules/profiles/apps/gui.nix
··· 7 7 in { 8 8 options.my.profiles.apps.gui = lib.mkEnableOption "GUI apps profile"; 9 9 config = lib.mkIf cfg { 10 - my.modules.gui.enable = true; 10 + my.gui.enable = true; 11 11 }; 12 12 }
+1 -2
nix/home/modules/profiles/de/gnome.nix
··· 10 10 lib.mkEnableOption "GNOME DE profile" 11 11 // {default = osConfig.my.profiles.de.gnome or false;}; 12 12 config = lib.mkIf cfg { 13 - my.profiles.apps.gui = true; 14 - my.profiles.apps.media = true; 13 + my.de.gnome.enable = true; 15 14 }; 16 15 }
+1 -1
nix/home/modules/profiles/de/hyprland.nix
··· 10 10 lib.mkEnableOption "Hyprland DE profile" 11 11 // {default = osConfig.my.profiles.de.hyprland or false;}; 12 12 config = lib.mkIf cfg { 13 - my.modules.de.hyprland.enable = true; 13 + my.de.hyprland.enable = true; 14 14 }; 15 15 }
+7 -1
nix/home/modules/profiles/graphical.nix
··· 10 10 lib.mkEnableOption "graphical profile" 11 11 // {default = osConfig.my.profiles.graphical or false;}; 12 12 config = lib.mkIf cfg { 13 - my.modules.de.gnome.enable = true; 13 + my = { 14 + bars.dank-material-shell.enable = true; 15 + profiles = { 16 + apps.gui = true; 17 + apps.media = true; 18 + }; 19 + }; 14 20 }; 15 21 }
+1 -1
nix/home/modules/profiles/llm/high.nix
··· 6 6 cfg = config.my.profiles.llm.high; 7 7 in { 8 8 options.my.profiles.llm.high = lib.mkEnableOption "High LLM preset profile"; 9 - config.my.modules.misc.llm = lib.mkIf cfg { 9 + config.my.misc.llm = lib.mkIf cfg { 10 10 enable = true; 11 11 defaultModel = "llama3"; 12 12 };
+1 -1
nix/home/modules/profiles/llm/low.nix
··· 6 6 cfg = config.my.profiles.llm.low; 7 7 in { 8 8 options.my.profiles.llm.low = lib.mkEnableOption "Low LLM preset profile"; 9 - config.my.modules.misc.llm = lib.mkIf cfg { 9 + config.my.misc.llm = lib.mkIf cfg { 10 10 enable = true; 11 11 defaultModel = "tinyllama"; 12 12 };
+1 -1
nix/home/modules/profiles/llm/mid.nix
··· 6 6 cfg = config.my.profiles.llm.mid; 7 7 in { 8 8 options.my.profiles.llm.mid = lib.mkEnableOption "Mid LLM preset profile"; 9 - config.my.modules.misc.llm = lib.mkIf cfg { 9 + config.my.misc.llm = lib.mkIf cfg { 10 10 enable = true; 11 11 defaultModel = "phi2"; 12 12 };
+5 -1
nix/home/modules/profiles/standalone.nix
··· 1 1 { 2 2 config, 3 3 lib, 4 + osConfig ? {}, 4 5 ... 5 6 }: let 6 7 cfg = config.my.profiles.standalone; 7 8 in { 8 - options.my.profiles.standalone = lib.mkEnableOption "standalone/non-NixOS profile"; 9 + options.my.profiles.standalone = 10 + lib.mkEnableOption "standalone/non-NixOS profile" 11 + // {default = osConfig == {};}; 12 + 9 13 config = lib.mkIf cfg { 10 14 targets.genericLinux.enable = true; 11 15
+2 -2
nix/home/modules/scripts/default.nix
··· 7 7 }: let 8 8 inherit (lib) getExe; 9 9 inherit (pkgs.stdenv.hostPlatform) system; 10 - cfg = config.my.modules.scripts; 10 + cfg = config.my.scripts; 11 11 in { 12 - options.my.modules.scripts = { 12 + options.my.scripts = { 13 13 enable = lib.mkEnableOption "scripts"; 14 14 byName = lib.mkOption { 15 15 default = inputs.self.legacyPackages.${system}.scripts;
+3 -3
nix/lib/config.nix
··· 8 8 builtins.head 9 9 (x: assets + /${x}) 10 10 ]; 11 - in { 11 + in rec { 12 12 name.user = "lpchaim"; 13 13 name.full = "Luna Perroni"; 14 14 email.main = "lpchaim@proton.me"; 15 - flake.path = "~/.config/nixos"; 15 + flake.path = "/home/${name.user}/.config/nixos"; 16 16 repo.main = "https://github.lpcha.im"; 17 17 shell = "fish"; 18 18 wallpaper = assetWithPrefix "wallpaper"; ··· 28 28 auto-optimise-store = true; 29 29 extra-experimental-features = "flakes nix-command"; 30 30 extra-substituters = [ 31 - # Nixos, nix-community and chaotic are set by default 31 + # The NixOS and nix-community ones are set by default 32 32 "https://lpchaim.cachix.org" 33 33 "https://hyprland.cachix.org" 34 34 "https://nix-gaming.cachix.org"
+10 -9
nix/nixos/configs/desktop/default.nix
··· 6 6 ./storage.nix 7 7 ]; 8 8 9 - my.profiles = { 10 - formfactor.desktop = true; 11 - de.gnome = true; 12 - de.hyprland = true; 13 - hardware.gpu.nvidia = true; 14 - hardware.rgb = true; 9 + my = { 10 + gaming.enable = true; 11 + networking.tailscale.trusted = true; 12 + profiles = { 13 + formfactor.desktop = true; 14 + hardware.gpu.nvidia = true; 15 + hardware.rgb = true; 16 + de.gnome = true; 17 + de.hyprland = true; 18 + }; 15 19 }; 16 - my.gaming.enable = true; 17 - my.networking.tailscale.trusted = true; 18 - my.security.secureboot.enable = false; 19 20 20 21 networking.interfaces.enp6s0.wakeOnLan.enable = true; 21 22
+9 -7
nix/nixos/configs/laptop/default.nix
··· 6 6 ./storage.nix 7 7 ]; 8 8 9 - my.profiles = { 10 - formfactor.laptop = true; 11 - de.gnome = true; 12 - de.hyprland = true; 9 + my = { 10 + gaming.steam.enable = true; 11 + networking.tailscale.trusted = true; 12 + profiles = { 13 + formfactor.laptop = true; 14 + hardware.cpu.intel = true; 15 + de.gnome = true; 16 + de.hyprland = true; 17 + }; 13 18 }; 14 - my.gaming.steam.enable = true; 15 - my.networking.tailscale.trusted = true; 16 - my.security.secureboot.enable = false; 17 19 18 20 system.stateVersion = "23.11"; 19 21 home-manager.users.${name.user}.home.stateVersion = "23.05";
+10 -7
nix/nixos/configs/steamdeck/default.nix
··· 6 6 inherit (inputs.self.lib.config) name; 7 7 in { 8 8 imports = [ 9 + inputs.jovian.nixosModules.default 9 10 ezModules.steamos 10 11 ./hardware-configuration.nix 11 12 ./storage.nix 12 13 ]; 13 14 14 - my.profiles = { 15 - de.gnome = true; 16 - kernel = false; 15 + my = { 16 + steamos.enable = true; 17 + gaming.enable = false; 18 + gaming.steam.enable = true; 19 + security.u2f.relaxed = true; 20 + profiles = { 21 + kernel = false; 22 + de.gnome = true; 23 + }; 17 24 }; 18 - my.gaming.enable = false; 19 - my.gaming.steam.enable = true; 20 - my.modules.steamos.enable = true; 21 - my.security.u2f.relaxed = true; 22 25 23 26 boot.loader = { 24 27 grub.configurationLimit = 2;
+10 -11
nix/nixos/modules/default.nix
··· 10 10 in { 11 11 imports = 12 12 (with inputs; [ 13 - chaotic.nixosModules.default 14 13 disko.nixosModules.disko 15 14 home-manager.nixosModules.home-manager 16 15 lanzaboote.nixosModules.lanzaboote ··· 43 42 ./zram 44 43 ]; 45 44 46 - my.profiles = { 47 - graphical = mkDefault true; 48 - wayland = mkDefault config.my.profiles.graphical; 49 - pipewire = mkDefault true; 50 - kernel = mkDefault true; 51 - users = mkDefault true; 52 - }; 53 - my.modules = { 45 + my = { 46 + networking.tailscale.enable = mkDefault true; 54 47 nix.enable = mkDefault true; 48 + security.enable = mkDefault true; 55 49 theming.enable = mkDefault true; 56 50 zram.enable = mkDefault true; 51 + profiles = { 52 + graphical = mkDefault true; 53 + wayland = mkDefault config.my.profiles.graphical; 54 + pipewire = mkDefault true; 55 + kernel = mkDefault true; 56 + users = mkDefault true; 57 + }; 57 58 }; 58 - my.networking.tailscale.enable = mkDefault true; 59 - my.security.enable = mkDefault true; 60 59 61 60 environment.systemPackages = with pkgs; [ 62 61 helix
-18
nix/nixos/modules/hardware/default.nix
··· 1 1 { 2 - config, 3 - lib, 4 - pkgs, 5 - ... 6 - }: { 7 2 hardware = { 8 3 bluetooth = { 9 4 enable = true; ··· 12 7 FastConnectable = true; 13 8 }; 14 9 }; 15 - }; 16 - graphics = let 17 - getExtraPackages = p: 18 - with p; 19 - lib.optionals pkgs.stdenv.isx86_64 [ 20 - intel-media-driver 21 - intel-vaapi-driver 22 - ]; 23 - in { 24 - enable = lib.mkDefault false; 25 - enable32Bit = config.hardware.graphics.enable && pkgs.stdenv.isx86_64; 26 - extraPackages = lib.mkIf config.hardware.graphics.enable (getExtraPackages pkgs); 27 - extraPackages32 = lib.mkIf config.hardware.graphics.enable (getExtraPackages pkgs.pkgsi686Linux); 28 10 }; 29 11 }; 30 12 }
+2 -2
nix/nixos/modules/nix/default.nix
··· 5 5 ... 6 6 }: let 7 7 inherit (inputs.self.lib.config) nix; 8 - cfg = config.my.modules.nix; 8 + cfg = config.my.nix; 9 9 in { 10 - options.my.modules.nix.enable = lib.mkEnableOption "nix"; 10 + options.my.nix.enable = lib.mkEnableOption "nix"; 11 11 config = lib.mkIf (cfg.enable) { 12 12 environment.sessionVariables = { 13 13 NIXPKGS_ALLOW_UNFREE = "1";
+9 -6
nix/nixos/modules/profiles/graphical.nix
··· 1 1 { 2 2 config, 3 3 lib, 4 - pkgs, 5 4 ... 6 5 }: let 7 6 cfg = config.my.profiles.graphical; 8 7 in { 9 8 options.my.profiles.graphical = lib.mkEnableOption "graphical profile"; 10 - config = { 9 + config = lib.mkIf cfg { 11 10 boot.plymouth.enable = true; 12 - services.flatpak.enable = true; 13 - services.xserver.enable = cfg; 11 + hardware = { 12 + graphics.enable = true; 13 + graphics.enable32Bit = true; 14 + }; 15 + services = { 16 + flatpak.enable = true; 17 + xserver.enable = lib.mkDefault true; 18 + }; 14 19 xdg.portal = { 15 20 enable = true; 16 - config.common.default = lib.mkDefault ["hyprland" "wlr" "gtk"]; 17 - extraPortals = lib.mkDefault [pkgs.xdg-desktop-portal-gtk]; 18 21 xdgOpenUsePortal = true; 19 22 }; 20 23 };
+5
nix/nixos/modules/profiles/hardware/cpu/default.nix
··· 1 + { 2 + imports = [ 3 + ./intel.nix 4 + ]; 5 + }
+24
nix/nixos/modules/profiles/hardware/cpu/intel.nix
··· 1 + { 2 + config, 3 + lib, 4 + pkgs, 5 + ... 6 + }: let 7 + cfg = config.my.profiles.hardware.cpu.intel; 8 + in { 9 + options.my.profiles.hardware.cpu.intel = lib.mkEnableOption "Intel CPU profile"; 10 + config = lib.mkIf cfg { 11 + hardware = { 12 + graphics = { 13 + extraPackages = with pkgs; [intel-media-driver intel-ocl intel-vaapi-driver]; 14 + extraPackages32 = with pkgs.pkgsi686Linux; [intel-media-driver intel-vaapi-driver]; 15 + }; 16 + intel-gpu-tools.enable = true; 17 + }; 18 + services = { 19 + iptsd.enable = true; 20 + jellyfin.transcoding.enableIntelLowPowerEncoding = true; 21 + throttled.enable = true; 22 + }; 23 + }; 24 + }
+1
nix/nixos/modules/profiles/hardware/default.nix
··· 1 1 { 2 2 imports = [ 3 + ./cpu 3 4 ./gpu 4 5 ./rgb.nix 5 6 ];
-1
nix/nixos/modules/profiles/virtualisation.nix
··· 1 1 { 2 2 config, 3 - inputs, 4 3 lib, 5 4 pkgs, 6 5 ...
-1
nix/nixos/modules/services/default.nix
··· 36 36 printing.enable = true; 37 37 udisks2.enable = true; 38 38 }; 39 - services.xserver.enable = lib.mkDefault true; 40 39 }
+2 -2
nix/nixos/modules/ssh/default.nix
··· 3 3 lib, 4 4 ... 5 5 }: let 6 - cfg = config.my.modules.ssh; 6 + cfg = config.my.ssh; 7 7 in { 8 - options.my.modules.ssh.enable = lib.mkEnableOption "SSH"; 8 + options.my.ssh.enable = lib.mkEnableOption "SSH"; 9 9 10 10 config = lib.mkIf (cfg.enable) { 11 11 services.openssh = {
+2 -6
nix/nixos/modules/steamos.nix
··· 5 5 ... 6 6 }: let 7 7 inherit (inputs.self.lib.config) name; 8 - cfg = config.my.modules.steamos; 8 + cfg = config.my.steamos; 9 9 in { 10 - imports = [ 11 - inputs.jovian.nixosModules.default 12 - ]; 13 - 14 - options.my.modules.steamos.enable = lib.mkEnableOption "SteamOS"; 10 + options.my.steamos.enable = lib.mkEnableOption "SteamOS"; 15 11 16 12 config = lib.mkIf (cfg.enable) { 17 13 jovian = {
+2 -2
nix/nixos/modules/theming/default.nix
··· 3 3 lib, 4 4 ... 5 5 }: let 6 - cfg = config.my.modules.theming; 6 + cfg = config.my.theming; 7 7 in { 8 - options.my.modules.theming.enable = lib.mkEnableOption "theming"; 8 + options.my.theming.enable = lib.mkEnableOption "theming"; 9 9 config = lib.mkIf (cfg.enable) { 10 10 stylix = { 11 11 homeManagerIntegration = {
+2 -2
nix/nixos/modules/zram/default.nix
··· 3 3 lib, 4 4 ... 5 5 }: let 6 - cfg = config.my.modules.zram; 6 + cfg = config.my.zram; 7 7 in { 8 - options.my.modules.zram.enable = lib.mkEnableOption "zram"; 8 + options.my.zram.enable = lib.mkEnableOption "zram"; 9 9 config = lib.mkIf (cfg.enable) { 10 10 zramSwap = { 11 11 enable = true;
-1
nix/overlays/default.nix
··· 6 6 (loadNonDefault ./. args) 7 7 // { 8 8 external = lib.composeManyExtensions [ 9 - inputs.chaotic.overlays.default 10 9 inputs.nix-gaming.overlays.default 11 10 inputs.nixneovimplugins.overlays.default 12 11 ];