diff --git a/.github/workflows/sync-main.yml b/.github/workflows/sync-main.yml index d92f97f..8b95eba 100644 --- a/.github/workflows/sync-main.yml +++ b/.github/workflows/sync-main.yml @@ -2,11 +2,18 @@ name: Sync branches into main on: schedule: - - cron: "0 14 * * 1" - - - cron: "0 14 * * 3" + - cron: "0 14 * * 1" # Monday + - cron: "0 14 * * 3" # Wednesday workflow_dispatch: + inputs: + source: + description: Branch to sync into main + required: true + type: choice + options: + - laptop + - desktop permissions: contents: write @@ -17,42 +24,82 @@ jobs: runs-on: ubuntu-latest steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Determine source branch id: branch run: | - DOW=$(date -u +%u) - - if [ "$DOW" = "1" ]; then - echo "source=laptop" >> "$GITHUB_OUTPUT" - elif [ "$DOW" = "3" ]; then - echo "source=desktop" >> "$GITHUB_OUTPUT" - else - echo "Not a scheduled sync day" - exit 1 + if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then + echo "source=${{ inputs.source }}" >> "$GITHUB_OUTPUT" + exit 0 fi - - name: Create pull request - id: cpr - uses: peter-evans/create-pull-request@v7 - with: - token: ${{ secrets.GITHUB_TOKEN }} - base: main - branch: ${{ steps.branch.outputs.source }} - title: "Weekly sync: ${{ steps.branch.outputs.source }} → main" - body: | - This pull request was created automatically by GitHub Actions. + DOW=$(date -u +%u) - If the branch can be merged cleanly, auto-merge will merge it automatically. + case "$DOW" in + 1) + echo "source=laptop" >> "$GITHUB_OUTPUT" + ;; + 3) + echo "source=desktop" >> "$GITHUB_OUTPUT" + ;; + *) + echo "No sync scheduled today." + exit 1 + ;; + esac - If there are merge conflicts, this PR will remain open until they are resolved. - draft: false + - name: Check for existing PR + id: existing + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + PR_NUMBER=$(gh pr list \ + --base main \ + --head "${{ steps.branch.outputs.source }}" \ + --state open \ + --json number \ + --jq '.[0].number // empty') + + echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT" + + - name: Create PR + id: create + if: steps.existing.outputs.number == '' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh pr create \ + --base main \ + --head "${{ steps.branch.outputs.source }}" \ + --title "Weekly sync: ${{ steps.branch.outputs.source }} → main" \ + --body "This pull request was created automatically by GitHub Actions." + + PR_NUMBER=$(gh pr list \ + --base main \ + --head "${{ steps.branch.outputs.source }}" \ + --state open \ + --json number \ + --jq '.[0].number') + + echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT" + + - name: Determine PR number + id: pr + run: | + if [ -n "${{ steps.existing.outputs.number }}" ]; then + echo "number=${{ steps.existing.outputs.number }}" >> "$GITHUB_OUTPUT" + else + echo "number=${{ steps.create.outputs.number }}" >> "$GITHUB_OUTPUT" + fi - name: Enable auto-merge - if: steps.cpr.outputs.pull-request-number + if: steps.pr.outputs.number != '' env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | gh pr merge \ - ${{ steps.cpr.outputs.pull-request-number }} \ + "${{ steps.pr.outputs.number }}" \ --auto \ --merge diff --git a/flake.lock b/flake.lock index 7fc496e..f68edf3 100644 --- a/flake.lock +++ b/flake.lock @@ -34,11 +34,11 @@ "quickshell": "quickshell" }, "locked": { - "lastModified": 1780996864, - "narHash": "sha256-OIDk3FiSKjYLV4Dvfv6fMeVcV3Dk9+MBBKTORNqMsUg=", + "lastModified": 1781178648, + "narHash": "sha256-z6V1T7MHShM7TfFIMCDp94Bi1Wk9LJfK96vm8YFGY5M=", "owner": "caelestia-dots", "repo": "shell", - "rev": "c46593d438a75fce42f28529662b678b79d94693", + "rev": "a16c957a8bd13e0cfd09928ca0a22fecd3681e44", "type": "github" }, "original": { @@ -54,11 +54,11 @@ ] }, "locked": { - "lastModified": 1780894562, - "narHash": "sha256-c3430xwxwhHipl3jigUGMMBfpaMylDqytW/kdmB3ZGs=", + "lastModified": 1781152676, + "narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=", "owner": "nix-community", "repo": "disko", - "rev": "24fed06cac83bcc44ac8efbb57cab1a82fa0bedc", + "rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1", "type": "github" }, "original": { @@ -74,15 +74,14 @@ "locked": { "lastModified": 1778716662, "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", - "owner": "hercules-ci", - "repo": "flake-parts", "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", - "type": "github" + "revCount": 475, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/hercules-ci/flake-parts/0.1.475%2Brev-f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb/019e2533-0324-7e90-93eb-29b02e1a61cd/source.tar.gz" }, "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" + "type": "tarball", + "url": "https://flakehub.com/f/hercules-ci/flake-parts/%2A" } }, "flake-utils": { @@ -92,15 +91,14 @@ "locked": { "lastModified": 1731533236, "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" + "revCount": 102, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/numtide/flake-utils/0.1.102%2Brev-11707dc2f618dd54ca8739b309ec4fc024de578b/0193276d-5b8f-7dbc-acf1-41cb7b54ad2e/source.tar.gz" }, "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" + "type": "tarball", + "url": "https://flakehub.com/f/numtide/flake-utils/%2A" } }, "home-manager": { @@ -110,11 +108,11 @@ ] }, "locked": { - "lastModified": 1780883961, - "narHash": "sha256-WU6SUrESuPiEXEUvX4D51AgWrXRJty+sLJBwBaDBGqE=", + "lastModified": 1781319724, + "narHash": "sha256-ZGuxexEMo4Xv28KJ0dX/m/PHN4oZIOnxHZpNTyrvx4M=", "owner": "nix-community", "repo": "home-manager", - "rev": "4eb4fec41674d5b059aa2eedf0f98453890546fa", + "rev": "8355f0a16b2dbb06a97959a918af5b239bbe05ae", "type": "github" }, "original": { @@ -142,36 +140,20 @@ "m3shapes": { "flake": false, "locked": { - "lastModified": 1777812556, - "narHash": "sha256-E5nqOucRQBWKuT31AMekmfgMywRdHgSbU86R7t4BKKA=", + "lastModified": 1781017666, + "narHash": "sha256-kfHyzZaPHgqZML48OA+5JwBOsLdQJ2ci/aGPShvUB4Y=", "owner": "soramanew", "repo": "m3shapes", - "rev": "356825d31f16052a782735cce264331cba0cb71b", + "rev": "bdc327b29f95394a732baf3c9b19658ba23755b6", "type": "github" }, "original": { "owner": "soramanew", "repo": "m3shapes", - "rev": "356825d31f16052a782735cce264331cba0cb71b", + "rev": "bdc327b29f95394a732baf3c9b19658ba23755b6", "type": "github" } }, - "microPlugins-vivify": { - "flake": false, - "locked": { - "lastModified": 1770382657, - "narHash": "sha256-yWmIgT90mC9PhzyH/itDbRMmRTiZiwW+Yo0dsHW7ni8=", - "ref": "refs/heads/main", - "rev": "3c5cb25facf3fc4143bfea9323a60eda65ef8485", - "revCount": 8, - "type": "git", - "url": "https://codeberg.org/gibbert/micro-vivify" - }, - "original": { - "type": "git", - "url": "https://codeberg.org/gibbert/micro-vivify" - } - }, "nix-git-cherry-picker": { "inputs": { "flake-utils": [ @@ -195,36 +177,18 @@ "type": "github" } }, - "nixos-grub-themes": { - "inputs": { - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1769794759, - "narHash": "sha256-1doG74WkbtUpawduk9f8szyzWsw3Liblrh2z+2jQnw4=", - "owner": "jeslie0", - "repo": "nixos-grub-themes", - "rev": "5e75f9b3ea9061dca6c53d34e166e08bf9ebc7c7", - "type": "github" - }, - "original": { - "owner": "jeslie0", - "repo": "nixos-grub-themes", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1702151865, - "narHash": "sha256-9VAt19t6yQa7pHZLDbil/QctAgVsA66DLnzdRGqDisg=", + "lastModified": 1780902259, + "narHash": "sha256-q8yYEC5f1mFlQO9RGna4LTc9QrcvWunX6FYp83munkQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "666fc80e7b2afb570462423cb0e1cf1a3a34fedd", + "rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "nixos-26.05", "repo": "nixpkgs", "type": "github" } @@ -244,22 +208,6 @@ "type": "github" } }, - "nixpkgs-master": { - "locked": { - "lastModified": 1780997039, - "narHash": "sha256-8pPXOCZkrySE3zwtix2MYxm9NzzHT/XQr0mHJsf3lis=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "872eb0174d0d5a1bc37388ff84eea2bca44b1065", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "master", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-notifier": { "inputs": { "flake-utils": [ @@ -270,11 +218,11 @@ ] }, "locked": { - "lastModified": 1780489272, - "narHash": "sha256-hMWKTal0SqG2OdtT/wB6wj9jLaES40yJlUQAjtbjTpA=", + "lastModified": 1781273662, + "narHash": "sha256-50dd7Cs1mUHq1srw7UojdzCYOB4TfrIXMv7XHHPU9zw=", "owner": "tomasriveral", "repo": "nixpkgs-notifier", - "rev": "276b61aecaf9c2700e7c3cb7310bac5c6a9e5b5a", + "rev": "12183f26e8b196d9906f82dc05f9672793c61038", "type": "github" }, "original": { @@ -285,11 +233,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1780930886, - "narHash": "sha256-rppURzHviaQN131F+nLiLdGfcb0uCd9gGP0E5+iw9MI=", + "lastModified": 1781268102, + "narHash": "sha256-Zn5KTggEmUB3lXn/ccERNcBdddE6IaOFber9dWViWDg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8c3cede7ddc26bd659d2d383b5610efbd2c7a16e", + "rev": "49a4bd0573c376468dd7996ddb6f9fa31d8c4d97", "type": "github" }, "original": { @@ -299,22 +247,6 @@ "type": "github" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1780902259, - "narHash": "sha256-q8yYEC5f1mFlQO9RGna4LTc9QrcvWunX6FYp83munkQ=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-26.05", - "repo": "nixpkgs", - "type": "github" - } - }, "notewrapper": { "inputs": { "flake-utils": [ @@ -349,11 +281,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1780942898, - "narHash": "sha256-cP4gUX4YE1kFe+15Zd1CbqL08XytPm1UXZuaXjYLG94=", + "lastModified": 1781158593, + "narHash": "sha256-zxlheX4o1MK00dkYzoXm7Srj5SD9iOCSp4N7f1iShr0=", "owner": "r14dd", "repo": "patent", - "rev": "bbad654b6b65264d2ba267b5c87e8be0bd89b78e", + "rev": "68772d068088d62a030619090959165af5e71ed1", "type": "github" }, "original": { @@ -391,11 +323,11 @@ "flake-utils": "flake-utils", "home-manager": "home-manager", "import-tree": "import-tree", - "microPlugins-vivify": "microPlugins-vivify", "nix-git-cherry-picker": "nix-git-cherry-picker", - "nixos-grub-themes": "nixos-grub-themes", - "nixpkgs": "nixpkgs_2", - "nixpkgs-master": "nixpkgs-master", + "nixpkgs": "nixpkgs", + "nixpkgs-master": [ + "nixpkgs-unstable" + ], "nixpkgs-notifier": "nixpkgs-notifier", "nixpkgs-unstable": "nixpkgs-unstable", "notewrapper": "notewrapper", diff --git a/flake.nix b/flake.nix index 363ea8a..ffcc356 100644 --- a/flake.nix +++ b/flake.nix @@ -4,8 +4,10 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; # used for some packages - nixos-grub-themes.url = "github:jeslie0/nixos-grub-themes"; - nixpkgs-master.url = "github:nixos/nixpkgs/master"; # used with precaution as they are untested and not cached + + # Only uncomment when needed. This uses a lot of space and compute ressources for sometimes not that much. If not used, make it follow unstable + nixpkgs-master.follows = "nixpkgs-unstable"; + #nixpkgs-master.url = "github:nixos/nixpkgs/master"; # used with precaution as they are untested and not cached # This one is only used when testing some packaging. You must change the path to the correct nixpkgs clone #nixpkgs-local.url = "path:/home/tomasr/devel/fugit2-gpgme"; @@ -14,7 +16,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; flake-utils = { - url = "github:numtide/flake-utils"; + url = "https://flakehub.com/f/numtide/flake-utils/*"; # flakehub caches results }; notewrapper = { url = "github:tomasriveral/notewrapper"; @@ -45,12 +47,14 @@ url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; - /*microPlugins-vivify = { + /* + microPlugins-vivify = { url = "git+https://codeberg.org/gibbert/micro-vivify"; flake = false; - };*/ + }; + */ flake-parts = { - url = "github:hercules-ci/flake-parts"; + url = "https://flakehub.com/f/hercules-ci/flake-parts/*"; # flakehub caches results }; import-tree.url = "github:vic/import-tree"; # imports ./modules recursively }; diff --git a/modules/applications/browser.nix b/modules/applications/browser.nix index 8cad7d4..db75d9f 100644 --- a/modules/applications/browser.nix +++ b/modules/applications/browser.nix @@ -386,6 +386,18 @@ keyword = "nix reference manual"; url = "https://nix.dev/manual/nix/2.34/nix-2.34.html"; } + { + name = "Disposable temporary email"; + tags = ["privacy" "email" "temporary"]; + keyword = "disposable temporary email"; + url = "https://temp-mail.org"; + } + { + name = "nix-update-script Rryan-tm logs"; + tags = ["nixpkgs" "nix" "log" "rryan-tm"]; + keyword = "rryan-tm logs"; + url = "https://nixpkgs-update-logs.nix-community.org"; + } ]; }; search = { @@ -622,6 +634,23 @@ # }; #}; }; + bookmarks = { + force = true; + settings = [ + { + name = "Disposable temporary email"; + tags = ["privacy" "email" "temporary"]; + keyword = "disposable temporary email"; + url = "https://temp-mail.org"; + } + { + name = "r/Piracy megathread"; + tags = ["piracy" "megathread" "reddit"]; + keyword = "piracy megathread"; + url = "https://old.reddit.com/r/Piracy/wiki/megathread"; + } + ]; + }; search = { force = true; default = "quant"; diff --git a/modules/applications/git.nix b/modules/applications/git.nix index 02a2c6e..4d12f77 100644 --- a/modules/applications/git.nix +++ b/modules/applications/git.nix @@ -2,9 +2,11 @@ _: { flake.homeModules.git = _: { programs.git = { enable = true; - /*settings = { + /* + settings = { init.defaultBranch = "main"; - };*/ + }; + */ }; programs.gh = { enable = true; diff --git a/modules/applications/kdrive.nix b/modules/applications/kdrive.nix index e7cac9a..d432f13 100644 --- a/modules/applications/kdrive.nix +++ b/modules/applications/kdrive.nix @@ -25,22 +25,24 @@ systemd.user.services.kdrive-sync = { serviceConfig = { ExecStart = "${self.packages.${pkgs.system}.custom-synckdrive-desktop}/bin/custom-synckdrive"; - - Nice = 19; # lowest CPU scheduling priority + + Nice = 19; # lowest CPU scheduling priority IOSchedulingClass = "idle"; IOSchedulingPriority = 7; - + # Optional: - CPUWeight = 1; # minimum relative CPU share + CPUWeight = 1; # minimum relative CPU share }; }; - /*systemd.user.timers.kdrive-sync = { + /* + systemd.user.timers.kdrive-sync = { wantedBy = [ "timers.target" ]; timerConfig = { OnBootSec = "1m"; OnUnitActiveSec = "5m"; }; - };*/ + }; + */ }; perSystem = {pkgs, ...}: { packages.custom-checkKdrive = pkgs.writeShellApplication { diff --git a/modules/applications/zsh.nix b/modules/applications/zsh.nix index 59525d7..c58545b 100644 --- a/modules/applications/zsh.nix +++ b/modules/applications/zsh.nix @@ -33,7 +33,7 @@ _: { command cat "$@" fi } - + custom-eza() { # behaves differently if we just call it or if we pipe initContent if [[ -t 1 ]]; then eza -hlF -aa --color=always --hyperlink --group-directories-first --show-symlinks --icons=always --git --no-permissions "$@" diff --git a/modules/hardware/bootloader.nix b/modules/hardware/bootloader.nix index cd6ad2a..10720b3 100644 --- a/modules/hardware/bootloader.nix +++ b/modules/hardware/bootloader.nix @@ -1,30 +1,31 @@ -_: { - flake.nixosModules.bootloader-laptop = { - inputs, - pkgs, - ... - }: { - # grub theme - boot.loader.grub = { - theme = inputs.nixos-grub-themes.packages.${pkgs.system}.nixos; # if you want to use nixos grub theme +_: let + wallpaper1 = ../../assets/wallpaper1.jpg; + wallpaper2 = ../../assets/wallpaper2.jpg; + wallpaper3 = ../../assets/wallpaper3.jpg; + wallpaper4 = ../../assets/wallpaper4.jpg; + wallpaper5 = ../../assets/wallpaper5.jpg; +in { + flake.nixosModules.bootloader = _: { + # disable other bootloaders + boot.loader.systemd-boot.enable = false; + boot.loader.grub.enable = false; + + boot.loader.limine = { + enable = true; + efiSupport = true; + maxGenerations = 128; + style = { + wallpaperStyle = "centered"; + wallpapers = [ + wallpaper1 + wallpaper2 + wallpaper3 + wallpaper4 + wallpaper5 + ]; + }; }; - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - }; - flake.nixosModules.bootloader-desktop = { - inputs, - pkgs, - ... - }: { - # grub theme - boot.loader.grub = { - theme = inputs.nixos-grub-themes.packages.${pkgs.system}.nixos; # if you want to use nixos grub theme - }; - - # Bootloader. - boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; }; } diff --git a/modules/hardware/disko/disko-config.nix b/modules/hardware/disko/disko-config.nix index 53cee37..f78d8dd 100644 --- a/modules/hardware/disko/disko-config.nix +++ b/modules/hardware/disko/disko-config.nix @@ -30,7 +30,7 @@ _: { content = { type = "btrfs"; - extraArgs = [ "-f" ]; + extraArgs = ["-f"]; subvolumes = { "@root" = { diff --git a/modules/hardware/hardware-configuration.nix b/modules/hardware/hardware-configuration.nix index 1cbe592..9087fa0 100644 --- a/modules/hardware/hardware-configuration.nix +++ b/modules/hardware/hardware-configuration.nix @@ -33,49 +33,53 @@ _: { nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; }; -flake.nixosModules.hardware-configuration-desktop = # Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: + flake.nixosModules.hardware-configuration-desktop = + # Do not modify this file! It was generated by ‘nixos-generate-config’ + # and may be overwritten by future invocations. Please make changes + # to /etc/nixos/configuration.nix instead. + { + config, + lib, + modulesPath, + ... + }: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + boot.initrd.availableKernelModules = ["vmd" "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-intel"]; + boot.extraModulePackages = []; - boot.initrd.availableKernelModules = [ "vmd" "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; + fileSystems."/" = { + device = "/dev/disk/by-uuid/14bcd132-b4a3-46f2-ac35-3497340de4b2"; + fsType = "btrfs"; + }; - fileSystems."/" = - { device = "/dev/disk/by-uuid/14bcd132-b4a3-46f2-ac35-3497340de4b2"; - fsType = "btrfs"; + fileSystems."/home" = { + device = "/dev/disk/by-uuid/14bcd132-b4a3-46f2-ac35-3497340de4b2"; + fsType = "btrfs"; + options = ["subvol=home"]; + }; + + fileSystems."/nix" = { + device = "/dev/disk/by-uuid/14bcd132-b4a3-46f2-ac35-3497340de4b2"; + fsType = "btrfs"; + options = ["subvol=nix"]; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/BAB4-34F6"; + fsType = "vfat"; + options = ["fmask=0077" "dmask=0077"]; + }; + + swapDevices = [ + {device = "/dev/disk/by-uuid/ce6f9a68-0517-4f8a-b375-66f2173efe59";} + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; }; - - fileSystems."/home" = - { device = "/dev/disk/by-uuid/14bcd132-b4a3-46f2-ac35-3497340de4b2"; - fsType = "btrfs"; - options = [ "subvol=home" ]; - }; - - fileSystems."/nix" = - { device = "/dev/disk/by-uuid/14bcd132-b4a3-46f2-ac35-3497340de4b2"; - fsType = "btrfs"; - options = [ "subvol=nix" ]; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/BAB4-34F6"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; - - swapDevices = - [ { device = "/dev/disk/by-uuid/ce6f9a68-0517-4f8a-b375-66f2173efe59"; } - ]; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -}; } diff --git a/modules/hardware/nvidia.nix b/modules/hardware/nvidia.nix index 911c8d5..adb4a80 100644 --- a/modules/hardware/nvidia.nix +++ b/modules/hardware/nvidia.nix @@ -1,7 +1,7 @@ _: { flake.nixosModules.nvidia = _: { hardware.graphics.enable = true; - services.xserver.videoDrivers = [ "nvidia" ]; + services.xserver.videoDrivers = ["nvidia"]; hardware.nvidia.open = true; }; } diff --git a/modules/hosts/desktop.nix b/modules/hosts/desktop.nix index fa83317..b56cb9d 100644 --- a/modules/hosts/desktop.nix +++ b/modules/hosts/desktop.nix @@ -20,7 +20,7 @@ autoCleanup-desktop autoUpdate-desktop bluetooth - bootloader-desktop + bootloader browsers caelestia development @@ -38,6 +38,7 @@ mathematics mullvad networking + nixUtils notifications nvidia office diff --git a/modules/hosts/laptop.nix b/modules/hosts/laptop.nix index 85fe064..13553ba 100644 --- a/modules/hosts/laptop.nix +++ b/modules/hosts/laptop.nix @@ -20,7 +20,7 @@ autoUpdate-laptop #battery-laptop bluetooth - bootloader-laptop + bootloader browsers caelestia development @@ -39,6 +39,8 @@ mathematics mullvad networking + nixUtils-laptop + nixUtils notifications office #ollama @@ -67,7 +69,7 @@ librewolf mullvad neovim - nixGitCherryPicker-laptop + nix-git-cherry-picker-laptop notewrapper oh-my-zsh ripgrep diff --git a/modules/utilities/development.nix b/modules/utilities/development.nix index 49f46ce..a851b63 100644 --- a/modules/utilities/development.nix +++ b/modules/utilities/development.nix @@ -24,7 +24,8 @@ gnumake go direnv - git gh + git + gh cling # c interpreter used for coding # lsp clang-tools diff --git a/modules/utilities/nixGitCherryPicker.nix b/modules/utilities/nixGitCherryPicker.nix index 8059f04..bd649ce 100644 --- a/modules/utilities/nixGitCherryPicker.nix +++ b/modules/utilities/nixGitCherryPicker.nix @@ -1,5 +1,4 @@ {inputs, ...}: { -<<<<<<< desktop flake.homeModules.nix-git-cherry-picker-laptop = {pkgs, ...}: { home.packages = [ inputs.nix-git-cherry-picker.packages.${pkgs.system}.default @@ -17,9 +16,6 @@ }; }; flake.homeModules.nix-git-cherry-picker-desktop = {pkgs, ...}: { -======= - flake.homeModules.nixGitCherryPicker-laptop = {pkgs, ...}: { ->>>>>>> main home.packages = [ inputs.nix-git-cherry-picker.packages.${pkgs.system}.default ]; @@ -27,28 +23,12 @@ enable = true; text = '' { - "localBranch": "laptop", - "remoteBranch": "desktop", + "localBranch": "desktop", + "remoteBranch": "laptop", "nixConfigPath": "/home/tomasr/nixos/" } ''; force = true; }; }; - flake.homeModules.nix-git-cherry-picker-desktop = {pkgs, ...}: { - home.packages = [ - inputs.nix-git-cherry-picker.packages.${pkgs.system}.default - ]; - }; - home.file-".config/nix-git-cherry-picker/config.json" = { - enable = true; - text = '' - { - "localBranch": "desktop", - "remoteBranch": "laptop", - "nixConfigPath": "/home/tomasr/nixos/" - } - ''; - force = true; - }; -} \ No newline at end of file +} diff --git a/modules/utilities/nixUtils.nix b/modules/utilities/nixUtils.nix index a7c4531..36964b6 100644 --- a/modules/utilities/nixUtils.nix +++ b/modules/utilities/nixUtils.nix @@ -1,4 +1,4 @@ -{inputs, ...}: { +{inputs, self, ...}: { flake.nixosModules.nixUtils-laptop = _: { # nixpkgs-review crashed my laptop multiple times. We must reduce how much ressources it can take. # for reference, my laptop is a 12 core ryzen 7 @@ -10,7 +10,7 @@ nix.optimise = { automatic = true; persistent = true; - randomDelaySec = "30min"; + randomizedDelaySec = "30min"; dates = "Thu *-*-* 16:00:00"; }; # Garbage collector of generations @@ -40,6 +40,7 @@ vimPluginsUpdater # used for building plugins nix-index statix + self.packages.${pkgs-unstable.system}.custom-trimmer ]; }; perSystem = {pkgs, ...}: {