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 #16 from lpchaim/develop

chore: Merge branch 'develop' into main

authored by

Luna Perroni and committed by
GitHub
6bc469e9 c95f3430

+434 -193
+27 -6
.github/actions/nix-setup/action.yml
··· 1 1 name: Setup build environment 2 - description: Installs nix and optionally qemu, sets up caches 2 + description: Installs nix, sets up caches 3 3 4 4 inputs: 5 5 system: ··· 7 7 default: 'x86_64-linux' 8 8 cachixAuthToken: 9 9 description: 'The token to use to authenticate with cachix' 10 + makeSpace: 11 + description: 'Whether or not to try to reclaim some space' 12 + default: false 10 13 runs: 11 14 using: "composite" 12 15 steps: 13 - - uses: wimpysworld/nothing-but-nix@main 16 + - uses: samueldr/more-space-action@v2025-01-24.pre 17 + if: ${{ inputs.makeSpace == 'true' }} 18 + with: 19 + enable-lvm-span: true 20 + lvm-span-mountpoint: /nix 14 21 - uses: samueldr/lix-gha-installer-action@v2025-10-27 15 22 with: 16 23 extra_nix_config: | 17 24 extra-experimental-features = flakes nix-command pipe-operator 18 25 system = ${{ inputs.system }} 19 - - uses: DeterminateSystems/magic-nix-cache-action@v8 20 - with: 21 - upstream-cache: https://lpchaim.cachix.org 22 - - uses: cachix/cachix-action@v15 26 + - name: Override nix-daemon build directory 27 + if: ${{ inputs.makeSpace == 'true' }} 28 + shell: bash 29 + run: | 30 + ( 31 + PS4=" $ " 32 + set -eux -o pipefail 33 + sudo mkdir -p /nix/tmp 34 + sudo chmod ug=rwx,o=rwxt /nix/tmp 35 + sudo mkdir -p /etc/systemd/system/nix-daemon.service.d 36 + sudo tee /etc/systemd/system/nix-daemon.service.d/override.conf >/dev/null <<EOF 37 + [Service] 38 + Environment=TMPDIR=/nix/tmp 39 + EOF 40 + sudo systemctl daemon-reload 41 + sudo systemctl restart nix-daemon 42 + ) 43 + - uses: cachix/cachix-action@v16 23 44 with: 24 45 name: lpchaim 25 46 authToken: ${{ inputs.cachixAuthToken }}
+5
.github/workflows/build.yml
··· 5 5 push: 6 6 branches: 7 7 - main 8 + - develop 8 9 paths: 10 + - '.github/actions/**' 11 + - '.github/workflows/**' 9 12 - 'assets/**' 10 13 - 'flake.nix' 11 14 - 'flake.lock' ··· 96 99 with: 97 100 cachixAuthToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 98 101 system: ${{ matrix.system }} 102 + makeSpace: true 99 103 - run: | 100 104 nix build ${{ matrix.derivation }} 101 105 ··· 108 112 with: 109 113 cachixAuthToken: ${{ secrets.CACHIX_AUTH_TOKEN }} 110 114 system: aarch64-linux 115 + makeSpace: true 111 116 - run: | 112 117 nix build .#nixosConfigurations.raspberrypi.config.system.build.toplevel
+2
.github/workflows/check.yml
··· 7 7 - main 8 8 - develop 9 9 paths: 10 + - '.github/actions/**' 11 + - '.github/workflows/**' 10 12 - 'assets/**' 11 13 - 'flake.nix' 12 14 - 'flake.lock'
+148 -45
README.md
··· 53 53 my = { 54 54 gaming.enable = true; 55 55 networking.tailscale.trusted = true; 56 - security.secureboot.enable = false; 57 56 profiles = { 58 57 formfactor.desktop = true; 58 + hardware.gpu.nvidia = true; 59 + hardware.rgb = true; 59 60 de.gnome = true; 60 61 de.hyprland = true; 61 - hardware.gpu.nvidia = true; 62 - hardware.rgb = true; 63 62 }; 64 63 }; 65 64 ··· 112 111 │ └── modules 113 112 ├── overlays 114 113 │ ├── default.nix 114 + │ ├── lix.nix 115 115 │ ├── nixpkgsVersions.nix 116 116 │ ├── nuInterpreterStdin.nix 117 117 │ └── python.nix ··· 154 154 git+file:///home/lpchaim/.config/nixos 155 155 ├───apps 156 156 │ ├───aarch64-linux 157 - │ │ ├───generate-assets: app: Creates README.md assets 158 - │ │ ├───generate-ci-matrix: app: Generates a GitHub Actions build matrix 159 - │ │ └───render-readme: app: Renders README.md 157 + │ │ ├───generate-assets: app 158 + │ │ ├───generate-ci-matrix: app 159 + │ │ └───render-readme: app 160 160 │ └───x86_64-linux 161 - │ ├───generate-assets: app: Creates README.md assets 162 - │ ├───generate-ci-matrix: app: Generates a GitHub Actions build matrix 163 - │ └───render-readme: app: Renders README.md 161 + │ ├───generate-assets: app 162 + │ ├───generate-ci-matrix: app 163 + │ └───render-readme: app 164 164 ├───checks 165 165 │ ├───aarch64-linux 166 - │ │ ├───deploy-shell: derivation 'nix-shell' 167 - │ │ ├───minimal-shell: derivation 'nix-shell' 168 - │ │ ├───nix-shell: derivation 'nix-shell' 169 - │ │ ├───pre-commit: derivation 'pre-commit-run' 170 - │ │ └───rust-shell: derivation 'nix-shell' 166 + │ │ ├───deploy-shell: CI test [nix-shell] 167 + │ │ ├───minimal-shell: CI test [nix-shell] 168 + │ │ ├───nix-shell: CI test [nix-shell] 169 + │ │ ├───pre-commit: CI test [pre-commit-run] 170 + │ │ └───rust-shell: CI test [nix-shell] 171 171 │ └───x86_64-linux 172 - │ ├───deploy-shell: derivation 'nix-shell' 173 - │ ├───minimal-shell: derivation 'nix-shell' 174 - │ ├───nix-shell: derivation 'nix-shell' 175 - │ ├───pre-commit: derivation 'pre-commit-run' 176 - │ └───rust-shell: derivation 'nix-shell' 177 - ├───darwinConfigurations: unknown 178 - ├───darwinModules: unknown 172 + │ ├───deploy-shell: CI test [nix-shell] 173 + │ ├───minimal-shell: CI test [nix-shell] 174 + │ ├───nix-shell: CI test [nix-shell] 175 + │ ├───pre-commit: CI test [pre-commit-run] 176 + │ └───rust-shell: CI test [nix-shell] 177 + ├───darwinConfigurations 178 + ├───darwinModules 179 179 ├───devShells 180 180 │ ├───aarch64-linux 181 - │ │ ├───default: development environment 'nix-shell' 182 - │ │ ├───deploy: development environment 'deploy-shell' 183 - │ │ ├───minimal: development environment 'minimal-shell' 184 - │ │ ├───nix: development environment 'nix-shell' 185 - │ │ └───rust: development environment 'rust-shell' 181 + │ │ ├───default: development environment [nix-shell] 182 + │ │ ├───deploy: development environment [deploy-shell] 183 + │ │ ├───minimal: development environment [minimal-shell] 184 + │ │ ├───nix: development environment [nix-shell] 185 + │ │ └───rust: development environment [rust-shell] 186 186 │ └───x86_64-linux 187 - │ ├───default: development environment 'nix-shell' 188 - │ ├───deploy: development environment 'deploy-shell' 189 - │ ├───minimal: development environment 'minimal-shell' 190 - │ ├───nix: development environment 'nix-shell' 191 - │ └───rust: development environment 'rust-shell' 187 + │ ├───default: development environment [nix-shell] 188 + │ ├───deploy: development environment [deploy-shell] 189 + │ ├───minimal: development environment [minimal-shell] 190 + │ ├───nix: development environment [nix-shell] 191 + │ └───rust: development environment [rust-shell] 192 192 ├───formatter 193 - │ ├───aarch64-linux: package 'alejandra-4.0.0' 194 - │ └───x86_64-linux: package 'alejandra-4.0.0' 195 - ├───homeConfigurations: unknown 196 - ├───homeModules: unknown 193 + │ ├───aarch64-linux: formatter [alejandra-4.0.0] 194 + │ └───x86_64-linux: formatter [alejandra-4.0.0] 195 + ├───homeConfigurations 196 + │ ├───"cheina@pc082": Home Manager configuration [home-manager-generation] 197 + │ ├───"lpchaim@desktop": Home Manager configuration [home-manager-generation] 198 + │ ├───"lpchaim@laptop": Home Manager configuration [home-manager-generation] 199 + │ ├───"lpchaim@raspberrypi": Home Manager configuration [home-manager-generation] 200 + │ └───"lpchaim@steamdeck": Home Manager configuration [home-manager-generation] 201 + ├───homeModules 202 + │ ├───bars: Home Manager module 203 + │ ├───cli: Home Manager module 204 + │ ├───de: Home Manager module 205 + │ ├───default: Home Manager module 206 + │ ├───gui: Home Manager module 207 + │ ├───misc: Home Manager module 208 + │ ├───nix: Home Manager module 209 + │ ├───profiles: Home Manager module 210 + │ ├───scripts: Home Manager module 211 + │ ├───security: Home Manager module 212 + │ ├───syncthing: Home Manager module 213 + │ └───theming: Home Manager module 197 214 ├───legacyPackages 198 - │ ├───aarch64-linux omitted (use '--legacy' to show) 199 - │ └───x86_64-linux omitted (use '--legacy' to show) 200 - ├───lib: unknown 215 + │ └───(skipped; use '--legacy' to show) 216 + ├───lib 217 + │ ├───config 218 + │ │ ├───email 219 + │ │ │ └───main: configuration constant 220 + │ │ ├───flake 221 + │ │ │ └───path: configuration constant 222 + │ │ ├───kb 223 + │ │ │ ├───br 224 + │ │ │ │ ├───layout: configuration constant 225 + │ │ │ │ ├───options: configuration constant 226 + │ │ │ │ └───variant: configuration constant 227 + │ │ │ ├───default 228 + │ │ │ │ ├───layout: configuration constant 229 + │ │ │ │ ├───options: configuration constant 230 + │ │ │ │ └───variant: configuration constant 231 + │ │ │ └───us 232 + │ │ │ ├───layout: configuration constant 233 + │ │ │ ├───options: configuration constant 234 + │ │ │ └───variant: configuration constant 235 + │ │ ├───name 236 + │ │ │ ├───full: configuration constant 237 + │ │ │ └───user: configuration constant 238 + │ │ ├───nix 239 + │ │ │ ├───pkgs 240 + │ │ │ │ └───config 241 + │ │ │ │ ├───allowUnfree: configuration constant 242 + │ │ │ │ └───permittedInsecurePackages: configuration constant 243 + │ │ │ └───settings 244 + │ │ │ ├───accept-flake-config: configuration constant 245 + │ │ │ ├───auto-optimise-store: configuration constant 246 + │ │ │ ├───builders-use-substitutes: configuration constant 247 + │ │ │ ├───extra-experimental-features: configuration constant 248 + │ │ │ ├───extra-substituters: configuration constant 249 + │ │ │ ├───extra-trusted-public-keys: configuration constant 250 + │ │ │ ├───keep-derivations: configuration constant 251 + │ │ │ ├───keep-outputs: configuration constant 252 + │ │ │ └───max-jobs: configuration constant 253 + │ │ ├───profilePicture: configuration constant 254 + │ │ ├───repo 255 + │ │ │ └───main: configuration constant 256 + │ │ ├───shell: configuration constant 257 + │ │ └───wallpaper: configuration constant 258 + │ ├───isNvidia: library function 259 + │ ├───loaders 260 + │ │ ├───callPackageDefault: library function 261 + │ │ ├───callPackageNonDefault: library function 262 + │ │ ├───importDefault: library function 263 + │ │ ├───importNonDefault: library function 264 + │ │ ├───list: library function 265 + │ │ ├───listDefault: library function 266 + │ │ ├───listDefaultRecursive: library function 267 + │ │ ├───listNonDefault: library function 268 + │ │ ├───listNonDefaultRecursive: library function 269 + │ │ ├───load: library function 270 + │ │ ├───loadDefault: library function 271 + │ │ ├───loadNonDefault: library function 272 + │ │ └───read: library function 273 + │ ├───mkPkgs: library function 274 + │ ├───storage 275 + │ │ ├───btrfs 276 + │ │ │ ├───mkSecondaryStorage: library function 277 + │ │ │ └───mkStorage: library function 278 + │ │ ├───mkSafePath: library function 279 + │ │ └───ntfs 280 + │ │ └───mkSecondaryStorage: library function 281 + │ └───strings 282 + │ └───replaceUsing: library function 201 283 ├───nixosConfigurations 202 - │ ├───desktop: NixOS configuration 203 - │ ├───laptop: NixOS configuration 204 - │ ├───raspberrypi: NixOS configuration 205 - │ └───steamdeck: NixOS configuration 284 + │ ├───desktop: NixOS configuration [nixos-system-desktop-26.05.20260126.bfc1b8a] 285 + │ ├───laptop: NixOS configuration [nixos-system-laptop-26.05.20260126.bfc1b8a] 286 + │ ├───raspberrypi: NixOS configuration [nixos-system-raspberrypi-26.05.20260126.bfc1b8a] 287 + │ └───steamdeck: NixOS configuration [nixos-system-steamdeck-26.05.20260126.bfc1b8a] 206 288 ├───nixosModules 207 289 │ ├───boot: NixOS module 208 290 │ ├───default: NixOS module ··· 227 309 │ └───zram: NixOS module 228 310 ├───overlays 229 311 │ ├───external: Nixpkgs overlay 312 + │ ├───lix: Nixpkgs overlay 230 313 │ ├───nixpkgsVersions: Nixpkgs overlay 231 314 │ ├───nuInterpreterStdin: Nixpkgs overlay 232 315 │ └───python: Nixpkgs overlay 233 316 ├───packages 234 317 │ ├───aarch64-linux 235 - │ │ └───lichen: package 'lichen-0.22.0-unstable' 318 + │ │ └───lichen: package [lichen-0.22.0-unstable] 236 319 │ └───x86_64-linux 237 - │ └───lichen: package 'lichen-0.22.0-unstable' 238 - └───schemas: unknown 320 + │ └───lichen: package [lichen-0.22.0-unstable] 321 + └───schemas 322 + ├───apps: flake schema 323 + ├───bundlers: flake schema 324 + ├───checks: flake schema 325 + ├───darwinConfigurations: flake schema 326 + ├───darwinModules: flake schema 327 + ├───devShells: flake schema 328 + ├───dockerImages: flake schema 329 + ├───formatter: flake schema 330 + ├───homeConfigurations: flake schema 331 + ├───homeModules: flake schema 332 + ├───hydraJobs: flake schema 333 + ├───legacyPackages: flake schema 334 + ├───lib: flake schema 335 + ├───nixosConfigurations: flake schema 336 + ├───nixosModules: flake schema 337 + ├───overlays: flake schema 338 + ├───packages: flake schema 339 + ├───pkgs: flake schema 340 + ├───schemas: flake schema 341 + └───templates: flake schema 239 342 ``` 240 343 </details>
+1
assets/readme/filestructure.txt
··· 22 22 │ └── modules 23 23 ├── overlays 24 24 │ ├── default.nix 25 + │ ├── lix.nix 25 26 │ ├── nixpkgsVersions.nix 26 27 │ ├── nuInterpreterStdin.nix 27 28 │ └── python.nix
+145 -42
assets/readme/outputs.txt
··· 1 1 git+file:///home/lpchaim/.config/nixos 2 2 ├───apps 3 3 │ ├───aarch64-linux 4 - │ │ ├───generate-assets: app: Creates README.md assets 5 - │ │ ├───generate-ci-matrix: app: Generates a GitHub Actions build matrix 6 - │ │ └───render-readme: app: Renders README.md 4 + │ │ ├───generate-assets: app 5 + │ │ ├───generate-ci-matrix: app 6 + │ │ └───render-readme: app 7 7 │ └───x86_64-linux 8 - │ ├───generate-assets: app: Creates README.md assets 9 - │ ├───generate-ci-matrix: app: Generates a GitHub Actions build matrix 10 - │ └───render-readme: app: Renders README.md 8 + │ ├───generate-assets: app 9 + │ ├───generate-ci-matrix: app 10 + │ └───render-readme: app 11 11 ├───checks 12 12 │ ├───aarch64-linux 13 - │ │ ├───deploy-shell: derivation 'nix-shell' 14 - │ │ ├───minimal-shell: derivation 'nix-shell' 15 - │ │ ├───nix-shell: derivation 'nix-shell' 16 - │ │ ├───pre-commit: derivation 'pre-commit-run' 17 - │ │ └───rust-shell: derivation 'nix-shell' 13 + │ │ ├───deploy-shell: CI test [nix-shell] 14 + │ │ ├───minimal-shell: CI test [nix-shell] 15 + │ │ ├───nix-shell: CI test [nix-shell] 16 + │ │ ├───pre-commit: CI test [pre-commit-run] 17 + │ │ └───rust-shell: CI test [nix-shell] 18 18 │ └───x86_64-linux 19 - │ ├───deploy-shell: derivation 'nix-shell' 20 - │ ├───minimal-shell: derivation 'nix-shell' 21 - │ ├───nix-shell: derivation 'nix-shell' 22 - │ ├───pre-commit: derivation 'pre-commit-run' 23 - │ └───rust-shell: derivation 'nix-shell' 24 - ├───darwinConfigurations: unknown 25 - ├───darwinModules: unknown 19 + │ ├───deploy-shell: CI test [nix-shell] 20 + │ ├───minimal-shell: CI test [nix-shell] 21 + │ ├───nix-shell: CI test [nix-shell] 22 + │ ├───pre-commit: CI test [pre-commit-run] 23 + │ └───rust-shell: CI test [nix-shell] 24 + ├───darwinConfigurations 25 + ├───darwinModules 26 26 ├───devShells 27 27 │ ├───aarch64-linux 28 - │ │ ├───default: development environment 'nix-shell' 29 - │ │ ├───deploy: development environment 'deploy-shell' 30 - │ │ ├───minimal: development environment 'minimal-shell' 31 - │ │ ├───nix: development environment 'nix-shell' 32 - │ │ └───rust: development environment 'rust-shell' 28 + │ │ ├───default: development environment [nix-shell] 29 + │ │ ├───deploy: development environment [deploy-shell] 30 + │ │ ├───minimal: development environment [minimal-shell] 31 + │ │ ├───nix: development environment [nix-shell] 32 + │ │ └───rust: development environment [rust-shell] 33 33 │ └───x86_64-linux 34 - │ ├───default: development environment 'nix-shell' 35 - │ ├───deploy: development environment 'deploy-shell' 36 - │ ├───minimal: development environment 'minimal-shell' 37 - │ ├───nix: development environment 'nix-shell' 38 - │ └───rust: development environment 'rust-shell' 34 + │ ├───default: development environment [nix-shell] 35 + │ ├───deploy: development environment [deploy-shell] 36 + │ ├───minimal: development environment [minimal-shell] 37 + │ ├───nix: development environment [nix-shell] 38 + │ └───rust: development environment [rust-shell] 39 39 ├───formatter 40 - │ ├───aarch64-linux: package 'alejandra-4.0.0' 41 - │ └───x86_64-linux: package 'alejandra-4.0.0' 42 - ├───homeConfigurations: unknown 43 - ├───homeModules: unknown 40 + │ ├───aarch64-linux: formatter [alejandra-4.0.0] 41 + │ └───x86_64-linux: formatter [alejandra-4.0.0] 42 + ├───homeConfigurations 43 + │ ├───"cheina@pc082": Home Manager configuration [home-manager-generation] 44 + │ ├───"lpchaim@desktop": Home Manager configuration [home-manager-generation] 45 + │ ├───"lpchaim@laptop": Home Manager configuration [home-manager-generation] 46 + │ ├───"lpchaim@raspberrypi": Home Manager configuration [home-manager-generation] 47 + │ └───"lpchaim@steamdeck": Home Manager configuration [home-manager-generation] 48 + ├───homeModules 49 + │ ├───bars: Home Manager module 50 + │ ├───cli: Home Manager module 51 + │ ├───de: Home Manager module 52 + │ ├───default: Home Manager module 53 + │ ├───gui: Home Manager module 54 + │ ├───misc: Home Manager module 55 + │ ├───nix: Home Manager module 56 + │ ├───profiles: Home Manager module 57 + │ ├───scripts: Home Manager module 58 + │ ├───security: Home Manager module 59 + │ ├───syncthing: Home Manager module 60 + │ └───theming: Home Manager module 44 61 ├───legacyPackages 45 - │ ├───aarch64-linux omitted (use '--legacy' to show) 46 - │ └───x86_64-linux omitted (use '--legacy' to show) 47 - ├───lib: unknown 62 + │ └───(skipped; use '--legacy' to show) 63 + ├───lib 64 + │ ├───config 65 + │ │ ├───email 66 + │ │ │ └───main: configuration constant 67 + │ │ ├───flake 68 + │ │ │ └───path: configuration constant 69 + │ │ ├───kb 70 + │ │ │ ├───br 71 + │ │ │ │ ├───layout: configuration constant 72 + │ │ │ │ ├───options: configuration constant 73 + │ │ │ │ └───variant: configuration constant 74 + │ │ │ ├───default 75 + │ │ │ │ ├───layout: configuration constant 76 + │ │ │ │ ├───options: configuration constant 77 + │ │ │ │ └───variant: configuration constant 78 + │ │ │ └───us 79 + │ │ │ ├───layout: configuration constant 80 + │ │ │ ├───options: configuration constant 81 + │ │ │ └───variant: configuration constant 82 + │ │ ├───name 83 + │ │ │ ├───full: configuration constant 84 + │ │ │ └───user: configuration constant 85 + │ │ ├───nix 86 + │ │ │ ├───pkgs 87 + │ │ │ │ └───config 88 + │ │ │ │ ├───allowUnfree: configuration constant 89 + │ │ │ │ └───permittedInsecurePackages: configuration constant 90 + │ │ │ └───settings 91 + │ │ │ ├───accept-flake-config: configuration constant 92 + │ │ │ ├───auto-optimise-store: configuration constant 93 + │ │ │ ├───builders-use-substitutes: configuration constant 94 + │ │ │ ├───extra-experimental-features: configuration constant 95 + │ │ │ ├───extra-substituters: configuration constant 96 + │ │ │ ├───extra-trusted-public-keys: configuration constant 97 + │ │ │ ├───keep-derivations: configuration constant 98 + │ │ │ ├───keep-outputs: configuration constant 99 + │ │ │ └───max-jobs: configuration constant 100 + │ │ ├───profilePicture: configuration constant 101 + │ │ ├───repo 102 + │ │ │ └───main: configuration constant 103 + │ │ ├───shell: configuration constant 104 + │ │ └───wallpaper: configuration constant 105 + │ ├───isNvidia: library function 106 + │ ├───loaders 107 + │ │ ├───callPackageDefault: library function 108 + │ │ ├───callPackageNonDefault: library function 109 + │ │ ├───importDefault: library function 110 + │ │ ├───importNonDefault: library function 111 + │ │ ├───list: library function 112 + │ │ ├───listDefault: library function 113 + │ │ ├───listDefaultRecursive: library function 114 + │ │ ├───listNonDefault: library function 115 + │ │ ├───listNonDefaultRecursive: library function 116 + │ │ ├───load: library function 117 + │ │ ├───loadDefault: library function 118 + │ │ ├───loadNonDefault: library function 119 + │ │ └───read: library function 120 + │ ├───mkPkgs: library function 121 + │ ├───storage 122 + │ │ ├───btrfs 123 + │ │ │ ├───mkSecondaryStorage: library function 124 + │ │ │ └───mkStorage: library function 125 + │ │ ├───mkSafePath: library function 126 + │ │ └───ntfs 127 + │ │ └───mkSecondaryStorage: library function 128 + │ └───strings 129 + │ └───replaceUsing: library function 48 130 ├───nixosConfigurations 49 - │ ├───desktop: NixOS configuration 50 - │ ├───laptop: NixOS configuration 51 - │ ├───raspberrypi: NixOS configuration 52 - │ └───steamdeck: NixOS configuration 131 + │ ├───desktop: NixOS configuration [nixos-system-desktop-26.05.20260126.bfc1b8a] 132 + │ ├───laptop: NixOS configuration [nixos-system-laptop-26.05.20260126.bfc1b8a] 133 + │ ├───raspberrypi: NixOS configuration [nixos-system-raspberrypi-26.05.20260126.bfc1b8a] 134 + │ └───steamdeck: NixOS configuration [nixos-system-steamdeck-26.05.20260126.bfc1b8a] 53 135 ├───nixosModules 54 136 │ ├───boot: NixOS module 55 137 │ ├───default: NixOS module ··· 74 156 │ └───zram: NixOS module 75 157 ├───overlays 76 158 │ ├───external: Nixpkgs overlay 159 + │ ├───lix: Nixpkgs overlay 77 160 │ ├───nixpkgsVersions: Nixpkgs overlay 78 161 │ ├───nuInterpreterStdin: Nixpkgs overlay 79 162 │ └───python: Nixpkgs overlay 80 163 ├───packages 81 164 │ ├───aarch64-linux 82 - │ │ └───lichen: package 'lichen-0.22.0-unstable' 165 + │ │ └───lichen: package [lichen-0.22.0-unstable] 83 166 │ └───x86_64-linux 84 - │ └───lichen: package 'lichen-0.22.0-unstable' 85 - └───schemas: unknown 167 + │ └───lichen: package [lichen-0.22.0-unstable] 168 + └───schemas 169 + ├───apps: flake schema 170 + ├───bundlers: flake schema 171 + ├───checks: flake schema 172 + ├───darwinConfigurations: flake schema 173 + ├───darwinModules: flake schema 174 + ├───devShells: flake schema 175 + ├───dockerImages: flake schema 176 + ├───formatter: flake schema 177 + ├───homeConfigurations: flake schema 178 + ├───homeModules: flake schema 179 + ├───hydraJobs: flake schema 180 + ├───legacyPackages: flake schema 181 + ├───lib: flake schema 182 + ├───nixosConfigurations: flake schema 183 + ├───nixosModules: flake schema 184 + ├───overlays: flake schema 185 + ├───packages: flake schema 186 + ├───pkgs: flake schema 187 + ├───schemas: flake schema 188 + └───templates: flake schema
assets/readme/screenshot.png

This is a binary file and will not be displayed.

+8 -5
nix/apps/assets.nix
··· 16 16 generate-assets = { 17 17 meta.description = "Creates README.md assets"; 18 18 program = pkgs.writeShellScriptBin "generate-assets" '' 19 + set -e 20 + 19 21 ${lib.getExe pkgs.eza} --tree --level 2 ./nix \ 20 - 2>/dev/null \ 21 - | tee /dev/tty > '${assetsRoot}/filestructure.txt' 22 + | tee /dev/tty \ 23 + > '${assetsRoot}/filestructure.txt' 22 24 23 25 ${lib.getExe nix} flake show --all-systems . \ 24 - 2>/dev/null \ 25 - | ${lib.getExe pkgs.ansifilter} \ 26 - | tee /dev/tty > '${assetsRoot}/outputs.txt' 26 + --experimental-features 'flakes nix-command pipe-operators' \ 27 + | ${lib.getExe pkgs.ansifilter} \ 28 + | tee /dev/tty \ 29 + > '${assetsRoot}/outputs.txt' 27 30 ''; 28 31 }; 29 32 render-readme = {
+6 -2
nix/home/modules/bars/dank-material-shell/default.nix
··· 8 8 inherit (inputs.self.lib) isNvidia; 9 9 inherit (inputs.self.lib.config) wallpaper; 10 10 cfg = config.my.bars.dank-material-shell; 11 + isNvidia' = isNvidia osConfig; 11 12 in { 12 13 options.my.bars.dank-material-shell.enable = lib.mkEnableOption "Dank material shell"; 13 14 ··· 28 29 session = 29 30 (import ./session.nix) 30 31 // { 32 + doNotDisturb = false; 33 + isLightMode = false; 34 + nightModeEnabled = false; 31 35 wallpaperPath = wallpaper; 32 - nvidiaGpuTempEnabled = isNvidia osConfig; 33 - nonNvidiaGpuTempEnabled = !(isNvidia osConfig); 36 + nvidiaGpuTempEnabled = isNvidia'; 37 + nonNvidiaGpuTempEnabled = !isNvidia'; 34 38 }; 35 39 36 40 clipboardSettings = {
-2
nix/home/modules/bars/dank-material-shell/session.nix
··· 50 50 "brightnessUserSetValues": {}, 51 51 "brightnessExponentValues": {}, 52 52 "selectedGpuIndex": 0, 53 - "nvidiaGpuTempEnabled": true, 54 - "nonNvidiaGpuTempEnabled": false, 55 53 "enabledGpuPciIds": [], 56 54 "wifiDeviceOverride": "", 57 55 "weatherHourlyDetailed": false,
+72 -76
nix/home/modules/bars/dank-material-shell/settings.nix
··· 51 51 "controlCenterShowNetworkIcon": true, 52 52 "controlCenterShowBluetoothIcon": true, 53 53 "controlCenterShowAudioIcon": true, 54 - "controlCenterShowAudioPercent": false, 54 + "controlCenterShowAudioPercent": true, 55 55 "controlCenterShowVpnIcon": true, 56 56 "controlCenterShowBrightnessIcon": false, 57 - "controlCenterShowBrightnessPercent": false, 57 + "controlCenterShowBrightnessPercent": true, 58 58 "controlCenterShowMicIcon": false, 59 - "controlCenterShowMicPercent": false, 59 + "controlCenterShowMicPercent": true, 60 60 "controlCenterShowBatteryIcon": false, 61 61 "controlCenterShowPrinterIcon": false, 62 62 "controlCenterShowScreenSharingIcon": true, ··· 66 66 "privacyShowScreenShareIcon": false, 67 67 "controlCenterWidgets": [ 68 68 { 69 - "id": "volumeSlider", 70 69 "enabled": true, 70 + "id": "volumeSlider", 71 71 "width": 50 72 72 }, 73 73 { 74 - "id": "brightnessSlider", 75 74 "enabled": true, 75 + "id": "brightnessSlider", 76 76 "width": 50 77 77 }, 78 78 { 79 - "id": "wifi", 80 79 "enabled": true, 80 + "id": "wifi", 81 81 "width": 50 82 82 }, 83 83 { 84 + "enabled": true, 84 85 "id": "bluetooth", 85 - "enabled": true, 86 86 "width": 50 87 87 }, 88 88 { 89 + "enabled": true, 89 90 "id": "audioOutput", 90 - "enabled": true, 91 91 "width": 50 92 92 }, 93 93 { 94 - "id": "audioInput", 95 94 "enabled": true, 95 + "id": "audioInput", 96 96 "width": 50 97 97 }, 98 98 { 99 + "enabled": true, 99 100 "id": "nightMode", 100 - "enabled": true, 101 101 "width": 50 102 102 }, 103 103 { 104 - "id": "darkMode", 105 104 "enabled": true, 105 + "id": "darkMode", 106 106 "width": 50 107 107 }, 108 108 { 109 + "enabled": true, 109 110 "id": "idleInhibitor", 110 - "enabled": true, 111 111 "width": 50 112 112 }, 113 113 { 114 - "id": "doNotDisturb", 115 114 "enabled": true, 115 + "id": "doNotDisturb", 116 116 "width": 50 117 117 } 118 118 ], ··· 175 175 "clockDateFormat": "dd/MM", 176 176 "lockDateFormat": "dd/MM", 177 177 "mediaSize": 1, 178 - "appLauncherViewMode": "list", 178 + "appLauncherViewMode": "grid", 179 179 "spotlightModalViewMode": "list", 180 180 "sortAppsAlphabetically": false, 181 - "appLauncherGridColumns": 4, 181 + "appLauncherGridColumns": 6, 182 182 "spotlightCloseNiriOverview": true, 183 183 "niriOverviewOverlayEnabled": true, 184 184 "useAutoLocation": true, ··· 187 187 "vpnLastConnected": "", 188 188 "iconTheme": "System Default", 189 189 "cursorSettings": { 190 - "theme": "System Default", 191 - "size": 24, 192 - "niri": { 193 - "hideWhenTyping": false, 194 - "hideAfterInactiveMs": 0 190 + "dwl": { 191 + "cursorHideTimeout": 0 195 192 }, 196 193 "hyprland": { 197 194 "hideOnKeyPress": false, 198 195 "hideOnTouch": false, 199 196 "inactiveTimeout": 0 200 197 }, 201 - "dwl": { 202 - "cursorHideTimeout": 0 203 - } 198 + "niri": { 199 + "hideAfterInactiveMs": 0, 200 + "hideWhenTyping": false 201 + }, 202 + "size": 24, 203 + "theme": "System Default" 204 204 }, 205 - "launcherLogoMode": "apps", 205 + "launcherLogoMode": "os", 206 206 "launcherLogoCustomPath": "", 207 - "launcherLogoColorOverride": "", 207 + "launcherLogoColorOverride": "primary", 208 208 "launcherLogoColorInvertOnMode": false, 209 209 "launcherLogoBrightness": 0.5, 210 210 "launcherLogoContrast": 1, 211 - "launcherLogoSizeOffset": 0, 211 + "launcherLogoSizeOffset": -4, 212 212 "fontFamily": "Inter Variable", 213 213 "monoFontFamily": "JetBrainsMono Nerd Font", 214 214 "fontWeight": 700, ··· 235 235 "batterySuspendBehavior": 0, 236 236 "batteryProfileName": "", 237 237 "batteryChargeLimit": 100, 238 - "lockBeforeSuspend": false, 238 + "lockBeforeSuspend": true, 239 239 "loginctlLockIntegration": true, 240 240 "fadeToLockEnabled": true, 241 241 "fadeToLockGracePeriod": 5, ··· 312 312 "notificationHistorySaveLow": true, 313 313 "notificationHistorySaveNormal": true, 314 314 "notificationHistorySaveCritical": true, 315 - "osdAlwaysShowValue": false, 315 + "osdAlwaysShowValue": true, 316 316 "osdPosition": 7, 317 317 "osdVolumeEnabled": true, 318 318 "osdMediaVolumeEnabled": true, ··· 352 352 "hyprlandOutputSettings": {}, 353 353 "barConfigs": [ 354 354 { 355 - "id": "default", 356 - "name": "Main Bar", 357 - "enabled": true, 358 - "position": 0, 359 - "screenPreferences": [ 360 - "all" 355 + "autoHide": false, 356 + "autoHideDelay": 250, 357 + "borderColor": "surfaceText", 358 + "borderEnabled": false, 359 + "borderOpacity": 1, 360 + "borderThickness": 1, 361 + "bottomGap": 0, 362 + "centerWidgets": [ 363 + { 364 + "enabled": true, 365 + "id": "workspaceSwitcher" 366 + } 361 367 ], 362 - "showOnLastDisplay": true, 368 + "enabled": true, 369 + "fontScale": 1, 370 + "gothCornerRadiusOverride": false, 371 + "gothCornerRadiusValue": 12, 372 + "gothCornersEnabled": false, 373 + "id": "default", 374 + "innerPadding": 5, 363 375 "leftWidgets": [ 364 376 { 365 377 "id": "clock", ··· 375 387 "enabled": true 376 388 } 377 389 ], 378 - "centerWidgets": [ 379 - { 380 - "id": "workspaceSwitcher", 381 - "enabled": true 382 - } 383 - ], 390 + "maximizeDetection": true, 391 + "name": "Main Bar", 392 + "noBackground": false, 393 + "openOnOverview": false, 394 + "popupGapsAuto": true, 395 + "popupGapsManual": 4, 396 + "position": 0, 384 397 "rightWidgets": [ 385 398 { 386 - "id": "systemTray", 387 - "enabled": true 399 + "enabled": true, 400 + "id": "systemTray" 388 401 }, 389 402 { 390 - "id": "clipboard", 391 - "enabled": true 403 + "enabled": true, 404 + "id": "clipboard" 392 405 }, 393 406 { 407 + "enabled": true, 394 408 "id": "cpuUsage", 395 - "enabled": true, 396 409 "minimumWidth": false 397 410 }, 398 411 { 399 - "id": "notificationButton", 400 - "enabled": true 401 - }, 402 - { 403 - "id": "battery", 404 - "enabled": true 412 + "enabled": true, 413 + "id": "notificationButton" 405 414 }, 406 415 { 407 - "id": "idleInhibitor", 408 - "enabled": true 416 + "enabled": true, 417 + "id": "battery" 409 418 }, 410 419 { 420 + "enabled": true, 411 421 "id": "controlCenterButton", 412 - "enabled": true, 413 422 "showAudioPercent": false, 414 423 "showBrightnessIcon": false, 415 424 "showBrightnessPercent": false 416 425 } 417 426 ], 427 + "screenPreferences": [ 428 + "all" 429 + ], 430 + "shadowIntensity": 0, 431 + "showOnLastDisplay": true, 418 432 "spacing": 4, 419 - "innerPadding": 4, 420 - "bottomGap": 0, 433 + "squareCorners": false, 421 434 "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 435 "visible": true, 437 - "popupGapsAuto": true, 438 - "popupGapsManual": 4, 439 - "shadowIntensity": 0, 436 + "widgetOutlineColor": "primary", 440 437 "widgetOutlineEnabled": false, 441 - "widgetOutlineColor": "primary", 442 - "maximizeDetection": true 438 + "widgetTransparency": 1 443 439 } 444 440 ], 445 441 "desktopClockEnabled": false,
+1 -1
nix/home/modules/cli/essentials/default.nix
··· 100 100 }; 101 101 nh = { 102 102 enable = lib.mkDefault true; 103 - flake = flake.path; 103 + flake = builtins.replaceStrings ["~"] [config.home.homeDirectory] flake.path; 104 104 }; 105 105 nix-index.enable = true; 106 106 nix-index-database.comma.enable = true;
+1 -1
nix/home/modules/gui/default.nix
··· 51 51 indicator = true; 52 52 }; 53 53 nextcloud-client = { 54 - enable = true; 54 + enable = false; 55 55 startInBackground = true; 56 56 }; 57 57 trayscale = {
+1 -1
nix/home/modules/nix/default.nix
··· 19 19 dates = "daily"; 20 20 options = "--delete-older-than 7d"; 21 21 }; 22 - package = lib.mkForce (osConfig.nix.package or pkgs.nix); 22 + package = lib.mkForce (osConfig.nix.package or pkgs.lixPackageSets.stable.lix); 23 23 } 24 24 // (lib.optionalAttrs (osConfig != {}) { 25 25 inherit (osConfig.nix) extraOptions;
+2
nix/home/modules/profiles/apps/media.nix
··· 18 18 enable = true; 19 19 enabledExtensions = with spicePkgs.extensions; [ 20 20 adblock 21 + aiBandBlocker 22 + groupSession 21 23 popupLyrics 22 24 shuffle # shuffle+ (special characters are sanitized out of extension names) 23 25 ];
+4
nix/home/modules/profiles/wayland.nix
··· 2 2 config, 3 3 lib, 4 4 osConfig ? {}, 5 + pkgs, 5 6 ... 6 7 }: let 7 8 cfg = config.my.profiles.wayland; ··· 10 11 lib.mkEnableOption "wayland profile" 11 12 // {default = osConfig.my.profiles.wayland or false;}; 12 13 config = lib.mkIf cfg { 14 + home.packages = [pkgs.wl-clipboard]; 15 + home.sessionVariables.NIXOS_OZONE_WL = "1"; 16 + 13 17 services.cliphist = { 14 18 enable = true; 15 19 allowImages = true;
+3 -3
nix/lib/config.nix
··· 7 7 |> builtins.attrNames 8 8 |> builtins.head 9 9 |> (x: assets + /${x}); 10 - in rec { 10 + in { 11 11 name.user = "lpchaim"; 12 12 name.full = "Luna Perroni"; 13 13 email.main = "lpchaim@proton.me"; 14 - flake.path = "/home/${name.user}/.config/nixos"; 15 - repo.main = "https://github.lpcha.im"; 14 + flake.path = "~/.config/nixos"; 15 + repo.main = "https://github.com/lpchaim/nixos"; 16 16 shell = "fish"; 17 17 wallpaper = assetWithPrefix "wallpaper"; 18 18 profilePicture = assetWithPrefix "profile-picture";
+2 -1
nix/nixos/modules/profiles/de/gnome.nix
··· 24 24 gnome-tour # GNOME Shell detects the .desktop file on first log-in. 25 25 ]; 26 26 environment.systemPackages = with pkgs; [ 27 - gnome-photos 27 + gnome-system-monitor 28 + loupe 28 29 nautilus 29 30 ]; 30 31 };
-2
nix/nixos/modules/profiles/wayland.nix
··· 15 15 services.displayManager.gdm.wayland = true; 16 16 programs.xwayland.enable = true; 17 17 18 - environment.sessionVariables.NIXOS_OZONE_WL = "1"; 19 18 environment.systemPackages = with pkgs; [ 20 - wl-clipboard 21 19 nur.repos.ataraxiasjel.waydroid-script 22 20 ]; 23 21
+1 -1
nix/schemas/default.nix
··· 1 1 args: { 2 - lib = import ./lib.nix; 2 + lib = import ./lib.nix args; 3 3 pkgs = import ./pkgs.nix args; 4 4 }
+5 -5
nix/schemas/lib.nix
··· 1 - { 1 + {inputs, ...}: let 2 + inherit (inputs.nixpkgs) lib; 3 + in { 2 4 version = 1; 3 5 doc = '' 4 6 The `lib` flake output defines Nix functions, namespaces and configuration constants. ··· 7 9 recurse = attrs: { 8 10 children = builtins.mapAttrs (attrName: attr: 9 11 if builtins.isAttrs attr 10 - then { 11 - what = "library namespace"; 12 - } 12 + then recurse attr 13 13 else if builtins.isFunction attr 14 14 then { 15 15 what = "library function"; 16 - evalChecks.camelCase = builtins.match "^[a-z][a-zA-Z]*$" attrName == []; 16 + evalChecks.camelCase = (lib.strings.toCamelCase attrName) == attrName; 17 17 } 18 18 else { 19 19 what = "configuration constant";