My nixos configuration

Compare changes

Choose any two refs to compare.

Changed files
+164 -181
.github
home
configurations
modules
profiles
base
development
programs
openshift
wezterm
services
restic
nixos
configurations
packages
advcp
rofi-unicode
+6 -6
.github/workflows/flake-update.yml
··· 7 8 jobs: 9 generate_matrix: 10 - runs-on: ubuntu-20.04 11 outputs: 12 packages: ${{ steps.gen_packages.outputs.packages }} 13 checks: ${{ steps.gen_checks.outputs.checks }} ··· 39 printf "::set-output name=checks::%s" "$checks" 40 41 update_flake: 42 - runs-on: ubuntu-20.04 43 steps: 44 - name: Clone repository 45 uses: actions/checkout@v4 ··· 68 path: flake.lock 69 70 build_flake: 71 - runs-on: ubuntu-20.04 72 needs: [generate_matrix, update_flake] 73 strategy: 74 fail-fast: false ··· 114 run: nix build .#${{ matrix.package }} 115 116 build_checks: 117 - runs-on: ubuntu-20.04 118 needs: [generate_matrix, update_flake] 119 strategy: 120 fail-fast: false ··· 150 run: nix build .#checks.x86_64-linux.${{ matrix.check }} --no-link 151 152 check_flake: 153 - runs-on: ubuntu-20.04 154 needs: [update_flake] 155 continue-on-error: true 156 steps: ··· 177 nix flake check --keep-going 178 179 push_update: 180 - runs-on: ubuntu-20.04 181 permissions: write-all 182 needs: [update_flake, build_flake, build_checks, check_flake] 183 steps:
··· 7 8 jobs: 9 generate_matrix: 10 + runs-on: ubuntu-24.04 11 outputs: 12 packages: ${{ steps.gen_packages.outputs.packages }} 13 checks: ${{ steps.gen_checks.outputs.checks }} ··· 39 printf "::set-output name=checks::%s" "$checks" 40 41 update_flake: 42 + runs-on: ubuntu-24.04 43 steps: 44 - name: Clone repository 45 uses: actions/checkout@v4 ··· 68 path: flake.lock 69 70 build_flake: 71 + runs-on: ubuntu-24.04 72 needs: [generate_matrix, update_flake] 73 strategy: 74 fail-fast: false ··· 114 run: nix build .#${{ matrix.package }} 115 116 build_checks: 117 + runs-on: ubuntu-24.04 118 needs: [generate_matrix, update_flake] 119 strategy: 120 fail-fast: false ··· 150 run: nix build .#checks.x86_64-linux.${{ matrix.check }} --no-link 151 152 check_flake: 153 + runs-on: ubuntu-24.04 154 needs: [update_flake] 155 continue-on-error: true 156 steps: ··· 177 nix flake check --keep-going 178 179 push_update: 180 + runs-on: ubuntu-24.04 181 permissions: write-all 182 needs: [update_flake, build_flake, build_checks, check_flake] 183 steps:
+4 -4
.github/workflows/pull-check.yml
··· 5 6 jobs: 7 generate_matrix: 8 - runs-on: ubuntu-20.04 9 outputs: 10 packages: ${{ steps.gen_packages.outputs.packages }} 11 checks: ${{ steps.gen_checks.outputs.checks }} ··· 37 printf "checks=%s" "$checks" >> $GITHUB_OUTPUT 38 39 build_flake: 40 - runs-on: ubuntu-20.04 41 needs: [generate_matrix] 42 strategy: 43 fail-fast: false ··· 71 run: nix build .#${{ matrix.package }} 72 73 build_checks: 74 - runs-on: ubuntu-20.04 75 needs: [generate_matrix] 76 strategy: 77 fail-fast: false ··· 97 run: nix build .#checks.x86_64-linux.${{ matrix.check }} --no-link 98 99 check_flake: 100 - runs-on: ubuntu-20.04 101 continue-on-error: true 102 steps: 103 - name: Clone repository
··· 5 6 jobs: 7 generate_matrix: 8 + runs-on: ubuntu-24.04 9 outputs: 10 packages: ${{ steps.gen_packages.outputs.packages }} 11 checks: ${{ steps.gen_checks.outputs.checks }} ··· 37 printf "checks=%s" "$checks" >> $GITHUB_OUTPUT 38 39 build_flake: 40 + runs-on: ubuntu-24.04 41 needs: [generate_matrix] 42 strategy: 43 fail-fast: false ··· 71 run: nix build .#${{ matrix.package }} 72 73 build_checks: 74 + runs-on: ubuntu-24.04 75 needs: [generate_matrix] 76 strategy: 77 fail-fast: false ··· 97 run: nix build .#checks.x86_64-linux.${{ matrix.check }} --no-link 98 99 check_flake: 100 + runs-on: ubuntu-24.04 101 continue-on-error: true 102 steps: 103 - name: Clone repository
+100 -55
flake.lock
··· 3 "cargo2nix": { 4 "inputs": { 5 "flake-compat": "flake-compat_3", 6 - "flake-utils": "flake-utils_2", 7 "nixpkgs": [ 8 "switcher", 9 "nixpkgs" ··· 37 ] 38 }, 39 "locked": { 40 - "lastModified": 1742955228, 41 - "narHash": "sha256-YEypEIGUjupPKA4FLTcvWmA7L5fW7tb9FBKgvTD5FB0=", 42 "owner": "nix-community", 43 "repo": "emacs-overlay", 44 - "rev": "1dbdb57a8759ac9f32ad5ce8effa188bf43c70da", 45 "type": "github" 46 }, 47 "original": { ··· 99 } 100 }, 101 "flake-utils": { 102 "inputs": { 103 "systems": "systems" 104 }, ··· 116 "type": "github" 117 } 118 }, 119 - "flake-utils_2": { 120 "inputs": { 121 "systems": "systems_2" 122 }, ··· 247 ] 248 }, 249 "locked": { 250 - "lastModified": 1742957044, 251 - "narHash": "sha256-gwW0tBIA77g6qq45y220drTy0DmThF3fJMwVFUtYV9c=", 252 "owner": "nix-community", 253 "repo": "home-manager", 254 - "rev": "ce287a5cd3ef78203bc78021447f937a988d9f6f", 255 "type": "github" 256 }, 257 "original": { ··· 288 "nixpkgs-regression": "nixpkgs-regression" 289 }, 290 "locked": { 291 - "lastModified": 1742914467, 292 - "narHash": "sha256-EVf/jI88OBYFi7KO4k7OG7SRYsD/4dUawW6pr6g7hKk=", 293 "owner": "nixos", 294 "repo": "nix", 295 - "rev": "9b0f45560902ca12b37a303fcb1f5a60b3deae3f", 296 "type": "github" 297 }, 298 "original": { ··· 301 "type": "github" 302 } 303 }, 304 - "nixos-vscode-server": { 305 "inputs": { 306 "flake-utils": "flake-utils", 307 "nixpkgs": [ ··· 309 ] 310 }, 311 "locked": { 312 "lastModified": 1729422940, 313 "narHash": "sha256-DlvJv33ml5UTKgu4b0HauOfFIoDx6QXtbqUF3vWeRCY=", 314 "owner": "msteen", ··· 324 }, 325 "nixpkgs": { 326 "locked": { 327 - "lastModified": 1734359947, 328 - "narHash": "sha256-1Noao/H+N8nFB4Beoy8fgwrcOQLVm9o4zKW1ODaqK9E=", 329 "owner": "NixOS", 330 "repo": "nixpkgs", 331 - "rev": "48d12d5e70ee91fe8481378e540433a7303dbf6a", 332 "type": "github" 333 }, 334 "original": { 335 "owner": "NixOS", 336 - "ref": "release-24.11", 337 "repo": "nixpkgs", 338 "type": "github" 339 } ··· 420 }, 421 "nixpkgs_2": { 422 "locked": { 423 - "lastModified": 1742669843, 424 - "narHash": "sha256-G5n+FOXLXcRx+3hCJ6Rt6ZQyF1zqQ0DL0sWAMn2Nk0w=", 425 "owner": "nixos", 426 "repo": "nixpkgs", 427 - "rev": "1e5b653dff12029333a6546c11e108ede13052eb", 428 "type": "github" 429 }, 430 "original": { ··· 436 }, 437 "nixpkgs_3": { 438 "locked": { 439 - "lastModified": 1742272065, 440 - "narHash": "sha256-ud8vcSzJsZ/CK+r8/v0lyf4yUntVmDq6Z0A41ODfWbE=", 441 - "owner": "nixos", 442 - "repo": "nixpkgs", 443 - "rev": "3549532663732bfd89993204d40543e9edaec4f2", 444 - "type": "github" 445 - }, 446 - "original": { 447 - "owner": "nixos", 448 - "ref": "nixpkgs-unstable", 449 - "repo": "nixpkgs", 450 - "type": "github" 451 - } 452 - }, 453 - "nixpkgs_4": { 454 - "locked": { 455 - "lastModified": 1742578646, 456 - "narHash": "sha256-GiQ40ndXRnmmbDZvuv762vS+gew1uDpFwOfgJ8tLiEs=", 457 "owner": "NixOS", 458 "repo": "nixpkgs", 459 - "rev": "94c4dbe77c0740ebba36c173672ca15a7926c993", 460 "type": "github" 461 }, 462 "original": { ··· 466 "type": "github" 467 } 468 }, 469 - "nixpkgs_5": { 470 "locked": { 471 "lastModified": 1728538411, 472 "narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=", ··· 485 "nvim": { 486 "inputs": { 487 "gen-luarc": "gen-luarc", 488 - "nixpkgs": "nixpkgs_3", 489 "nixpkgs-emmy": "nixpkgs-emmy", 490 "parts": [ 491 "parts" 492 - ] 493 }, 494 "locked": { 495 - "lastModified": 1742975461, 496 - "narHash": "sha256-JpQOu5Q1LWoaUmerWR5RhegFatMdPUCKSS2wWw9WxIg=", 497 "owner": "nobbz", 498 "repo": "nobbz-vim", 499 - "rev": "0aa28b0f7012604b2edbfc2f9c129f46e80a9d0e", 500 "type": "github" 501 }, 502 "original": { ··· 512 ] 513 }, 514 "locked": { 515 - "lastModified": 1741352980, 516 - "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", 517 "owner": "hercules-ci", 518 "repo": "flake-parts", 519 - "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", 520 "type": "github" 521 }, 522 "original": { ··· 533 "utils": "utils" 534 }, 535 "locked": { 536 - "lastModified": 1742971573, 537 - "narHash": "sha256-TxCRq6M6FNapq2rBVHM5tMrJYyOTkWsxxW0E2IbitXc=", 538 "owner": "wamserma", 539 "repo": "flake-programs-sqlite", 540 - "rev": "6b42fdcc1593d85140aff0c3fc6f242d1d67287a", 541 "type": "github" 542 }, 543 "original": { ··· 551 "emacs": "emacs", 552 "home-manager": "home-manager", 553 "nix": "nix", 554 "nixos-vscode-server": "nixos-vscode-server", 555 "nixpkgs": "nixpkgs_2", 556 "nixpkgs-insync-v3": [ ··· 566 }, 567 "rust-overlay": { 568 "inputs": { 569 - "nixpkgs": "nixpkgs_5" 570 }, 571 "locked": { 572 "lastModified": 1734402816, ··· 584 }, 585 "sops-nix": { 586 "inputs": { 587 - "nixpkgs": "nixpkgs_4" 588 }, 589 "locked": { 590 - "lastModified": 1742700801, 591 - "narHash": "sha256-ZGlpUDsuBdeZeTNgoMv+aw0ByXT2J3wkYw9kJwkAS4M=", 592 "owner": "Mic92", 593 "repo": "sops-nix", 594 - "rev": "67566fe68a8bed2a7b1175fdfb0697ed22ae8852", 595 "type": "github" 596 }, 597 "original": { ··· 668 "original": { 669 "owner": "numtide", 670 "repo": "flake-utils", 671 "type": "github" 672 } 673 }
··· 3 "cargo2nix": { 4 "inputs": { 5 "flake-compat": "flake-compat_3", 6 + "flake-utils": "flake-utils_3", 7 "nixpkgs": [ 8 "switcher", 9 "nixpkgs" ··· 37 ] 38 }, 39 "locked": { 40 + "lastModified": 1749090069, 41 + "narHash": "sha256-uN3Mp+o7IfVT9H/OuwEtJ17NktCaF4t9Ond3TKt+BE4=", 42 "owner": "nix-community", 43 "repo": "emacs-overlay", 44 + "rev": "c17506666090e412a50b01c57944386ab81d2aa8", 45 "type": "github" 46 }, 47 "original": { ··· 99 } 100 }, 101 "flake-utils": { 102 + "locked": { 103 + "lastModified": 1659877975, 104 + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", 105 + "owner": "numtide", 106 + "repo": "flake-utils", 107 + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", 108 + "type": "github" 109 + }, 110 + "original": { 111 + "owner": "numtide", 112 + "repo": "flake-utils", 113 + "type": "github" 114 + } 115 + }, 116 + "flake-utils_2": { 117 "inputs": { 118 "systems": "systems" 119 }, ··· 131 "type": "github" 132 } 133 }, 134 + "flake-utils_3": { 135 "inputs": { 136 "systems": "systems_2" 137 }, ··· 262 ] 263 }, 264 "locked": { 265 + "lastModified": 1749062139, 266 + "narHash": "sha256-gGGLujmeWU+ZjFzfMvFMI0hp9xONsSbm88187wJr82Q=", 267 "owner": "nix-community", 268 "repo": "home-manager", 269 + "rev": "86b95fc1ed2b9b04a451a08ccf13d78fb421859c", 270 "type": "github" 271 }, 272 "original": { ··· 303 "nixpkgs-regression": "nixpkgs-regression" 304 }, 305 "locked": { 306 + "lastModified": 1749012568, 307 + "narHash": "sha256-7IltFTct/oe6pGkwB6f/1WhWA65hFnsBY6XaGjodf3k=", 308 "owner": "nixos", 309 "repo": "nix", 310 + "rev": "4751cbef6303d10479f3db1b13db69197d9c3446", 311 "type": "github" 312 }, 313 "original": { ··· 316 "type": "github" 317 } 318 }, 319 + "nix-gl": { 320 "inputs": { 321 "flake-utils": "flake-utils", 322 "nixpkgs": [ ··· 324 ] 325 }, 326 "locked": { 327 + "lastModified": 1713543440, 328 + "narHash": "sha256-lnzZQYG0+EXl/6NkGpyIz+FEOc/DSEG57AP1VsdeNrM=", 329 + "owner": "nix-community", 330 + "repo": "nixgl", 331 + "rev": "310f8e49a149e4c9ea52f1adf70cdc768ec53f8a", 332 + "type": "github" 333 + }, 334 + "original": { 335 + "owner": "nix-community", 336 + "repo": "nixgl", 337 + "type": "github" 338 + } 339 + }, 340 + "nixos-vscode-server": { 341 + "inputs": { 342 + "flake-utils": "flake-utils_2", 343 + "nixpkgs": [ 344 + "nixpkgs" 345 + ] 346 + }, 347 + "locked": { 348 "lastModified": 1729422940, 349 "narHash": "sha256-DlvJv33ml5UTKgu4b0HauOfFIoDx6QXtbqUF3vWeRCY=", 350 "owner": "msteen", ··· 360 }, 361 "nixpkgs": { 362 "locked": { 363 + "lastModified": 1747179050, 364 + "narHash": "sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY=", 365 "owner": "NixOS", 366 "repo": "nixpkgs", 367 + "rev": "adaa24fbf46737f3f1b5497bf64bae750f82942e", 368 "type": "github" 369 }, 370 "original": { 371 "owner": "NixOS", 372 + "ref": "nixos-unstable", 373 "repo": "nixpkgs", 374 "type": "github" 375 } ··· 456 }, 457 "nixpkgs_2": { 458 "locked": { 459 + "lastModified": 1748929857, 460 + "narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=", 461 "owner": "nixos", 462 "repo": "nixpkgs", 463 + "rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4", 464 "type": "github" 465 }, 466 "original": { ··· 472 }, 473 "nixpkgs_3": { 474 "locked": { 475 + "lastModified": 1744868846, 476 + "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", 477 "owner": "NixOS", 478 "repo": "nixpkgs", 479 + "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", 480 "type": "github" 481 }, 482 "original": { ··· 486 "type": "github" 487 } 488 }, 489 + "nixpkgs_4": { 490 "locked": { 491 "lastModified": 1728538411, 492 "narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=", ··· 505 "nvim": { 506 "inputs": { 507 "gen-luarc": "gen-luarc", 508 + "nixpkgs": [ 509 + "nixpkgs" 510 + ], 511 "nixpkgs-emmy": "nixpkgs-emmy", 512 "parts": [ 513 "parts" 514 + ], 515 + "wrapper-manager": "wrapper-manager" 516 }, 517 "locked": { 518 + "lastModified": 1748686149, 519 + "narHash": "sha256-RdLAPiha8lr1wQiL158p4DTFhLcWcjRv6ioCTd3athQ=", 520 "owner": "nobbz", 521 "repo": "nobbz-vim", 522 + "rev": "a22303075cac32d83edfd79ef79c0386a38b02ce", 523 "type": "github" 524 }, 525 "original": { ··· 535 ] 536 }, 537 "locked": { 538 + "lastModified": 1748821116, 539 + "narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=", 540 "owner": "hercules-ci", 541 "repo": "flake-parts", 542 + "rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1", 543 "type": "github" 544 }, 545 "original": { ··· 556 "utils": "utils" 557 }, 558 "locked": { 559 + "lastModified": 1749055058, 560 + "narHash": "sha256-OgCTSX0WXPpEi/ukjbBRrElSo+TR2/pzCCcY5yfou58=", 561 "owner": "wamserma", 562 "repo": "flake-programs-sqlite", 563 + "rev": "78d23d728abddce902528922f93967f0630f1cfe", 564 "type": "github" 565 }, 566 "original": { ··· 574 "emacs": "emacs", 575 "home-manager": "home-manager", 576 "nix": "nix", 577 + "nix-gl": "nix-gl", 578 "nixos-vscode-server": "nixos-vscode-server", 579 "nixpkgs": "nixpkgs_2", 580 "nixpkgs-insync-v3": [ ··· 590 }, 591 "rust-overlay": { 592 "inputs": { 593 + "nixpkgs": "nixpkgs_4" 594 }, 595 "locked": { 596 "lastModified": 1734402816, ··· 608 }, 609 "sops-nix": { 610 "inputs": { 611 + "nixpkgs": "nixpkgs_3" 612 }, 613 "locked": { 614 + "lastModified": 1747603214, 615 + "narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=", 616 "owner": "Mic92", 617 "repo": "sops-nix", 618 + "rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd", 619 "type": "github" 620 }, 621 "original": { ··· 692 "original": { 693 "owner": "numtide", 694 "repo": "flake-utils", 695 + "type": "github" 696 + } 697 + }, 698 + "wrapper-manager": { 699 + "inputs": { 700 + "nixpkgs": [ 701 + "nvim", 702 + "nixpkgs" 703 + ] 704 + }, 705 + "locked": { 706 + "lastModified": 1747562021, 707 + "narHash": "sha256-XfF+5zjoWbAcAiGNb++og6yDGJRwWYpADr9P6WuieQA=", 708 + "owner": "viperml", 709 + "repo": "wrapper-manager", 710 + "rev": "f2b0bec5140403cf24cae96f6764d97b5d59b0e2", 711 + "type": "github" 712 + }, 713 + "original": { 714 + "owner": "viperml", 715 + "repo": "wrapper-manager", 716 "type": "github" 717 } 718 }
+4
flake.nix
··· 36 37 nvim.url = "github:nobbz/nobbz-vim"; 38 nvim.inputs.parts.follows = "parts"; 39 40 switcher.url = "github:nobbz/nix-switcher?ref=main"; 41 switcher.inputs.nixpkgs.follows = "nixpkgs"; ··· 52 # a libgit2 in the current version fails to build with the nix provided patches. 53 # therefore using upstreams pin for now. 54 # nix.inputs.nixpkgs.follows = "nixpkgs"; 55 56 home-manager.url = "github:nix-community/home-manager"; 57 home-manager.inputs.nixpkgs.follows = "nixpkgs";
··· 36 37 nvim.url = "github:nobbz/nobbz-vim"; 38 nvim.inputs.parts.follows = "parts"; 39 + nvim.inputs.nixpkgs.follows = "nixpkgs"; 40 41 switcher.url = "github:nobbz/nix-switcher?ref=main"; 42 switcher.inputs.nixpkgs.follows = "nixpkgs"; ··· 53 # a libgit2 in the current version fails to build with the nix provided patches. 54 # therefore using upstreams pin for now. 55 # nix.inputs.nixpkgs.follows = "nixpkgs"; 56 + 57 + nix-gl.url = "github:nix-community/nixgl"; 58 + nix-gl.inputs.nixpkgs.follows = "nixpkgs"; 59 60 home-manager.url = "github:nix-community/home-manager"; 61 home-manager.inputs.nixpkgs.follows = "nixpkgs";
+2 -1
home/configurations/nmelzer_at_phoebe.nix
··· 14 in { 15 nixpkgs.allowedUnfree = ["google-chrome" "vscode" "discord" "obsidian" "slack"]; 16 nixpkgs.config.permittedInsecurePackages = ["electron-25.9.0"]; 17 18 nix.checkConfig = false; 19 nix.settings.extra-experimental-features = ["flakes" "nix-command"]; ··· 67 68 services.playerctld.enable = true; 69 70 - home.file."${config.gtk.gtk2.configLocation}".force = true; 71 72 programs.ssh.includes = [ 73 config.sops.secrets.ssh.path
··· 14 in { 15 nixpkgs.allowedUnfree = ["google-chrome" "vscode" "discord" "obsidian" "slack"]; 16 nixpkgs.config.permittedInsecurePackages = ["electron-25.9.0"]; 17 + profiles.base.needsGL = true; 18 19 nix.checkConfig = false; 20 nix.settings.extra-experimental-features = ["flakes" "nix-command"]; ··· 68 69 services.playerctld.enable = true; 70 71 + gtk.gtk2.force = true; 72 73 programs.ssh.includes = [ 74 config.sops.secrets.ssh.path
-2
home/modules/default.nix
··· 9 "programs/eza" = ./programs/eza; 10 "programs/ghostty" = ./programs/ghostty; 11 "programs/nixpkgs" = ./programs/nixpkgs; 12 - "programs/openshift" = ./programs/openshift; 13 "programs/p10k" = ./programs/p10k; 14 "programs/rbw" = ./programs/rbw; 15 "programs/wezterm" = ./programs/wezterm; 16 17 "services/insync" = ./services/insync; 18 - "services/restic" = ./services/restic; 19 "services/rustic" = ./services/rustic; 20 21 "misc/awesome" = ./misc/awesome;
··· 9 "programs/eza" = ./programs/eza; 10 "programs/ghostty" = ./programs/ghostty; 11 "programs/nixpkgs" = ./programs/nixpkgs; 12 "programs/p10k" = ./programs/p10k; 13 "programs/rbw" = ./programs/rbw; 14 "programs/wezterm" = ./programs/wezterm; 15 16 "services/insync" = ./services/insync; 17 "services/rustic" = ./services/rustic; 18 19 "misc/awesome" = ./misc/awesome;
+15 -2
home/modules/profiles/base/default.nix
··· 2 self, 3 nix, 4 nvim, 5 ... 6 }: { 7 config, ··· 49 in { 50 options.profiles.base = { 51 enable = lib.mkEnableOption "The base profile, should be always enabled"; 52 }; 53 54 config = lib.mkIf cfg.enable { ··· 98 | sed -E 's/([0-9])([A-Za-z])/\1 \2/')" \ 99 "$(numfmt --to=none --format="%'f" ''${saved})" 100 ''; 101 in 102 - [optisave pkgs.departure-mono pkgs.hydra-check nvim.packages.x86_64-linux.default] ++ lib.optionals pkgs.stdenv.isLinux [pkgs.dconf]; 103 104 # dconf.enable = lib.mkMerge [ 105 # (lib.mkIf pkgs.stdenv.isLinux true) ··· 238 } 239 ]; 240 241 - initExtra = '' 242 bindkey "^[[1;5D" backward-word 243 bindkey "^[[1;5C" forward-word 244
··· 2 self, 3 nix, 4 nvim, 5 + nix-gl, 6 ... 7 }: { 8 config, ··· 50 in { 51 options.profiles.base = { 52 enable = lib.mkEnableOption "The base profile, should be always enabled"; 53 + 54 + needsGL = lib.mkEnableOption "nix-gl wrappers"; 55 }; 56 57 config = lib.mkIf cfg.enable { ··· 101 | sed -E 's/([0-9])([A-Za-z])/\1 \2/')" \ 102 "$(numfmt --to=none --format="%'f" ''${saved})" 103 ''; 104 + neovide = 105 + if cfg.needsGL 106 + then 107 + pkgs.writeShellScriptBin nvim.packages.x86_64-linux.neovide.meta.mainProgram '' 108 + exec ${lib.getExe nix-gl.packages.x86_64-linux.nixGLIntel} ${lib.getExe nvim.packages.x86_64-linux.neovide} "$@" 109 + '' 110 + else nvim.packages.x86_64-linux.neovide; 111 in 112 + lib.mkMerge [ 113 + [optisave pkgs.departure-mono pkgs.hydra-check nvim.packages.x86_64-linux.neovim neovide] 114 + (lib.mkIf pkgs.stdenv.isLinux [pkgs.dconf]) 115 + ]; 116 117 # dconf.enable = lib.mkMerge [ 118 # (lib.mkIf pkgs.stdenv.isLinux true) ··· 251 } 252 ]; 253 254 + initContent = '' 255 bindkey "^[[1;5D" backward-word 256 bindkey "^[[1;5C" forward-word 257
+22 -3
home/modules/profiles/development/default.nix
··· 13 }; 14 15 config = lib.mkIf cfg.enable { 16 programs.gh.enable = true; 17 programs.git = { 18 enable = true; ··· 26 inputs = builtins.attrValues {inherit (pkgs) git fzf ripgrep;}; 27 interpreter = "${pkgs.bash}/bin/bash"; 28 execer = ["cannot:${pkgs.git}/bin/git" "cannot:${pkgs.fzf}/bin/fzf"]; 29 - } '' 30 git log --graph --color=always --format="%C(auto)%h%d %s0x09%C(white)%C(bold)%cr" "$@" | 31 fzf --ansi --no-sort --reverse --tiebreak=index \ 32 --bind=ctrl-s:toggle-sort \ ··· 39 inputs = builtins.attrValues {inherit (pkgs) git fzf coreutils gawk;}; 40 interpreter = "${pkgs.bash}/bin/bash"; 41 execer = ["cannot:${pkgs.git}/bin/git" "cannot:${pkgs.fzf}/bin/fzf"]; 42 - } '' 43 # Function to determine the ref type 44 function get_ref_type() { 45 local ref="$1" ··· 119 hopbase = ''!f() { set -o nounset; tag=$(git describe --abbrev=0 --tag "$1") && git rebase -i "''${tag}"; }; f''; 120 comfix = "!${mkFixupAlias "fixup"}"; 121 comreb = "!${mkFixupAlias "rebase"}"; 122 }; 123 124 extraConfig = { 125 init.defaultBranch = "main"; 126 pull.rebase = false; 127 rerere.enabled = true; 128 }; ··· 167 ]; 168 }; 169 170 - home.packages = [pkgs.ripgrep]; 171 }; 172 }
··· 13 }; 14 15 config = lib.mkIf cfg.enable { 16 + programs.jujutsu = { 17 + enable = true; 18 + settings = { 19 + user = { 20 + name = config.programs.git.userName; 21 + email = config.programs.git.userEmail; 22 + }; 23 + 24 + ui.diff.tool = [config.programs.git.extraConfig.diff.external "$left" "$right"]; 25 + }; 26 + }; 27 + 28 programs.gh.enable = true; 29 programs.git = { 30 enable = true; ··· 38 inputs = builtins.attrValues {inherit (pkgs) git fzf ripgrep;}; 39 interpreter = "${pkgs.bash}/bin/bash"; 40 execer = ["cannot:${pkgs.git}/bin/git" "cannot:${pkgs.fzf}/bin/fzf"]; 41 + } 42 + # bash 43 + '' 44 git log --graph --color=always --format="%C(auto)%h%d %s0x09%C(white)%C(bold)%cr" "$@" | 45 fzf --ansi --no-sort --reverse --tiebreak=index \ 46 --bind=ctrl-s:toggle-sort \ ··· 53 inputs = builtins.attrValues {inherit (pkgs) git fzf coreutils gawk;}; 54 interpreter = "${pkgs.bash}/bin/bash"; 55 execer = ["cannot:${pkgs.git}/bin/git" "cannot:${pkgs.fzf}/bin/fzf"]; 56 + } 57 + # bash 58 + '' 59 # Function to determine the ref type 60 function get_ref_type() { 61 local ref="$1" ··· 135 hopbase = ''!f() { set -o nounset; tag=$(git describe --abbrev=0 --tag "$1") && git rebase -i "''${tag}"; }; f''; 136 comfix = "!${mkFixupAlias "fixup"}"; 137 comreb = "!${mkFixupAlias "rebase"}"; 138 + show = "show --ext-diff"; 139 + lp = "log -p --ext-diff"; 140 }; 141 142 extraConfig = { 143 init.defaultBranch = "main"; 144 + diff.external = lib.getExe pkgs.difftastic; 145 pull.rebase = false; 146 rerere.enabled = true; 147 }; ··· 186 ]; 187 }; 188 189 + home.packages = [pkgs.ripgrep pkgs.difftastic]; 190 }; 191 }
-23
home/modules/programs/openshift/default.nix
··· 1 - _: { 2 - pkgs, 3 - lib, 4 - config, 5 - ... 6 - }: let 7 - cfg = config.programs.openshift; 8 - in { 9 - options.programs.openshift = { 10 - enable = lib.mkEnableOption "Tools to manage openshift instances"; 11 - }; 12 - 13 - config = lib.mkIf cfg.enable { 14 - home.packages = [pkgs.sops pkgs.openshift (lib.setPrio 0 pkgs.kubectl) pkgs.kubernetes-helm]; 15 - 16 - programs.zsh.initExtra = '' 17 - # Enable autocomplete for oc, kubectl and helm 18 - eval "$(${pkgs.openshift}/bin/oc completion zsh)" 19 - eval "$(${pkgs.kubectl}/bin/kubectl completion zsh)" 20 - eval "$(${pkgs.kubernetes-helm}/bin/helm completion zsh)" 21 - ''; 22 - }; 23 - }
···
+6
home/modules/programs/wezterm/default.nix
··· 34 -- For example, changing the color scheme: 35 config.color_scheme = "Catppuccin Mocha" 36 37 -- disable ligatures 38 config.harfbuzz_features = { 'calt=0', 'clig=0', 'liga=0' } 39
··· 34 -- For example, changing the color scheme: 35 config.color_scheme = "Catppuccin Mocha" 36 37 + -- show a scrollbar 38 + config.enable_scroll_bar = true 39 + 40 + -- forbid window size change on change of fontsize 41 + config.adjust_window_size_when_changing_font_size = false 42 + 43 -- disable ligatures 44 config.harfbuzz_features = { 'calt=0', 'clig=0', 'liga=0' } 45
-85
home/modules/services/restic/default.nix
··· 1 - {self, ...}: { 2 - config, 3 - lib, 4 - pkgs, 5 - self, 6 - ... 7 - }: let 8 - cfg = config.services.restic; 9 - 10 - bin = "${cfg.package}/bin/restic"; 11 - excludes = builtins.concatStringsSep " " (builtins.map (e: "--exclude=${e}") cfg.exclude); 12 - xFlags = lib.optionalString cfg.oneFileSystem "-x"; 13 - compressFlag = "--compression ${cfg.compression}"; 14 - flags = "${xFlags} ${compressFlag} ${excludes}"; 15 - 16 - command = "${bin} --tag home -vv backup ${flags} %h"; 17 - in { 18 - options.services.restic = { 19 - enable = lib.mkEnableOption "Restic Backup Tool"; 20 - 21 - package = lib.mkOption { 22 - type = lib.types.package; 23 - default = pkgs.restic; 24 - description = "Restic derivation to use"; 25 - }; 26 - 27 - exclude = lib.mkOption { 28 - type = lib.types.listOf lib.types.str; 29 - default = []; 30 - description = "Corresponds to `--exclude`. Use `%h` instead of `~`"; 31 - }; 32 - 33 - oneFileSystem = lib.mkOption { 34 - type = lib.types.bool; 35 - default = false; 36 - description = "If true, exclude other file systems, don't cross filesystem boundaries and subvolumes"; 37 - }; 38 - 39 - repo = lib.mkOption { 40 - type = lib.types.str; 41 - description = "Location of the repository"; 42 - }; 43 - 44 - compression = lib.mkOption { 45 - type = lib.types.enum ["off" "auto" "max"]; 46 - description = "The compression mode to use"; 47 - default = "auto"; 48 - }; 49 - 50 - # TODO: Add options for inlcude, password file, etc 51 - }; 52 - 53 - config = lib.mkIf cfg.enable { 54 - home.packages = [cfg.package]; 55 - 56 - systemd.user.services.restic-backup = { 57 - Unit = { 58 - Description = "Restic Backup Tool"; 59 - StartLimitIntervalSec = "25m"; 60 - StartLimitBurst = "4"; 61 - }; 62 - 63 - Service = { 64 - Environment = [ 65 - "PATH=${lib.makeBinPath [pkgs.openssh]}" 66 - "RESTIC_PASSWORD_FILE=%h/.config/restic/password" 67 - "RESTIC_REPOSITORY=${cfg.repo}" 68 - ]; 69 - Type = "oneshot"; 70 - ExecStart = command; 71 - Restart = "on-failure"; 72 - RestartSec = "2m"; 73 - }; 74 - }; 75 - 76 - systemd.user.timers.restic-backup = { 77 - Unit.Description = "Restic periodic backup"; 78 - Timer = { 79 - Unit = "restic-backup.service"; 80 - OnCalendar = "hourly"; 81 - }; 82 - Install.WantedBy = ["timers.target"]; 83 - }; 84 - }; 85 - }
···
+3
nixos/configurations/mimas.nix
··· 19 20 services.tailscale.enable = true; 21 22 sops.age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"]; 23 sops.defaultSopsFile = "${self}/secrets/mimas/default.yaml"; 24
··· 19 20 services.tailscale.enable = true; 21 22 + security.pam.services.i3lock.enable = true; 23 + security.pam.services.i3lock-color.enable = true; 24 + 25 sops.age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"]; 26 sops.defaultSopsFile = "${self}/secrets/mimas/default.yaml"; 27
+1
packages/advcp/default.nix
··· 7 stdenv.mkDerivation rec { 8 name = "advcp"; 9 version = "9.1"; 10 11 src = fetchurl { 12 name = "source-${name}-${version}.tar.xz";
··· 7 stdenv.mkDerivation rec { 8 name = "advcp"; 9 version = "9.1"; 10 + strictDeps = true; 11 12 src = fetchurl { 13 name = "source-${name}-${version}.tar.xz";
+1
packages/rofi-unicode/default.nix
··· 8 stdenvNoCC.mkDerivation (self: { 9 pname = "rofiemoji-rofiunicode"; 10 version = "${source.rev}"; 11 12 src = fetchgit { 13 inherit (source) rev url sha256;
··· 8 stdenvNoCC.mkDerivation (self: { 9 pname = "rofiemoji-rofiunicode"; 10 version = "${source.rev}"; 11 + strictDeps = true; 12 13 src = fetchgit { 14 inherit (source) rev url sha256;