dotfiles

My PC Dotfiles & Website
commit fde0990123b94ea01c0fd1e38e9c6a55d0979d57
parent 08446b10c3d6b176423bb01a9628eae7225152ba
Author: maydayv7 <maydayv7@gmail.com>
Date:   Mon, 22 Jun 2026 21:35:13 +0530

fix: Update CI

Diffstat:
M.github/workflows/build.yml | 21++++++++++++++-------
M.github/workflows/check.yml | 25++++++++++++++++++++++++-
M.github/workflows/shell.yml | 16++++++++++++----
Mfiles/hyprland/kebihelp.json | 14+++-----------
Mflake.lock | 24+++---------------------
Mflake.nix | 5-----
Mmodules/apps/vscode/default.nix | 2+-
Mmodules/desktop/gnome/_settings/apps.nix | 7+++----
Mmodules/desktop/gnome/_settings/main.nix | 7+++----
Mmodules/desktop/hyprland/_features/files.nix | 2+-
Mmodules/desktop/hyprland/_features/login.nix | 2+-
Mmodules/desktop/hyprland/_features/main.nix | 2+-
Mmodules/desktop/hyprland/_features/media.nix | 2+-
Mmodules/desktop/hyprland/_features/misc.nix | 2+-
Mmodules/desktop/hyprland/_features/shell.nix | 24++++++++++++++++++------
Mmodules/desktop/hyprland/_features/style.nix | 1+
Mmodules/desktop/hyprland/_features/terminal.nix | 2+-
Mmodules/desktop/hyprland/_features/text.nix | 2+-
Mmodules/desktop/hyprland/_features/utils.nix | 2+-
Mmodules/desktop/hyprland/_settings/keybinds.nix | 3---
Mmodules/desktop/hyprland/_settings/plugins.nix | 30++++--------------------------
Mmodules/games/minecraft.nix | 2+-
Mmodules/system/base-ext.nix | 2+-
Mpackages/_module.nix | 17+----------------
24 files changed, 97 insertions(+), 119 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml @@ -18,11 +18,6 @@ jobs: build: if: github.event.pull_request.draft == false runs-on: ubuntu-latest - strategy: - max-parallel: 1 - fail-fast: false - matrix: - device: [valkyrie, vortex, futura] steps: - name: Maximize Build Space run: | @@ -47,8 +42,20 @@ jobs: with: name: maydayv7-dotfiles authToken: "${{ secrets.CACHIX_TOKEN }}" - - name: Build Configuration + - name: Build Configurations run: | export LC_ALL=C.UTF-8 ulimit -n 2048 - nix build .#nixosConfigurations.${{ matrix.device }}.config.system.build.toplevel -L --show-trace + + hosts="$(nix eval --raw '.#nixosConfigurations' \ + --apply 'c: builtins.concatStringsSep " " (builtins.filter (h: h != "install") (builtins.attrNames c))')" + + status=0 + for host in ${hosts} + do + echo "::group::Building '${host}'" + nix build ".#nixosConfigurations.${host}.config.system.build.toplevel" \ + -L --show-trace || status=1 + echo "::endgroup::" + done + exit "${status}" diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml @@ -24,4 +24,27 @@ jobs: accept-flake-config = true access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} - name: Check Syntax - run: nix flake check --no-build --keep-going + run: | + set -euo pipefail + system="$(nix eval --raw --impure --expr builtins.currentSystem)" + + for host in $(nix eval --raw '.#nixosConfigurations' \ + --apply 'c: builtins.concatStringsSep " " (builtins.attrNames c)') + do + echo "::group::Evaluating configuration '${host}'" + nix eval --raw --show-trace \ + ".#nixosConfigurations.${host}.config.system.build.toplevel.drvPath" > /dev/null + echo "::endgroup::" + done + + for output in packages devShells + do + echo "::group::Evaluating '${output}'" + nix eval --show-trace ".#${output}.${system}" \ + --apply 'builtins.mapAttrs (_: v: v.drvPath)' > /dev/null + echo "::endgroup::" + done + + echo "::group::Evaluating 'formatter'" + nix eval --raw --show-trace ".#formatter.${system}.drvPath" > /dev/null + echo "::endgroup::" diff --git a/.github/workflows/shell.yml b/.github/workflows/shell.yml @@ -8,9 +8,6 @@ env: jobs: shell: runs-on: ubuntu-latest - strategy: - matrix: - shell: [android, cc, java, js, lua, python, rust, sql, video, website] steps: - name: Clone Repo uses: actions/checkout@v6 @@ -30,4 +27,15 @@ jobs: name: maydayv7-dotfiles authToken: "${{ secrets.CACHIX_TOKEN }}" - name: Check Shells - run: nix develop .#${{ matrix.shell }} + run: | + shells="$(nix eval --raw '.#devShells.x86_64-linux' \ + --apply 's: builtins.concatStringsSep " " (builtins.attrNames s)')" + + status=0 + for shell in ${shells} + do + echo "::group::Checking '${shell}'" + nix develop ".#${shell}" --command true || status=1 + echo "::endgroup::" + done + exit "${status}" diff --git a/files/hyprland/kebihelp.json b/files/hyprland/kebihelp.json @@ -166,10 +166,6 @@ "label": "Window Switcher" }, { - "value": "$mod `", - "label": "Toggle workspace overview" - }, - { "value": "ALT [SHIFT] Tab", "label": "Cycle [backwards] through open windows on current workspace" }, @@ -191,7 +187,7 @@ "label": "Move window to workspace 'NUM' {1 to 9}" }, { - "value": "$mod , or . (4F Swipe Left/Right)", + "value": "$mod , or .", "label": "Move across non-empty workspaces" }, { @@ -354,18 +350,14 @@ "label": "" }, { - "value": "3F Swipe (horizontal)", + "value": "3F Swipe", "label": "Scrolling: switch apps / columns" }, { - "value": "4F Swipe (horizontal)", + "value": "4F Swipe", "label": "Switch across workspaces" }, { - "value": "4F Swipe (vertical)", - "label": "Toggle workspace overview" - }, - { "value": "", "label": "" }, diff --git a/flake.lock b/flake.lock @@ -1235,23 +1235,6 @@ "type": "github" } }, - "hyprspace": { - "flake": false, - "locked": { - "lastModified": 1781077726, - "narHash": "sha256-0OOtLXQ/WEJ5nlR98WFvGBCTp1X/DstsOb75jZunVI0=", - "owner": "0xl30", - "repo": "Hyprspace", - "rev": "74213c87be6064ce14f9b1560121c270462f33af", - "type": "github" - }, - "original": { - "owner": "0xl30", - "repo": "Hyprspace", - "rev": "74213c87be6064ce14f9b1560121c270462f33af", - "type": "github" - } - }, "hyprsplit": { "inputs": { "hyprland": [ @@ -1646,11 +1629,11 @@ ] }, "locked": { - "lastModified": 1781974776, - "narHash": "sha256-u9F6J9eim/rwgPqNLVOV32kTHFRXNhO1XTM4lriKLqs=", + "lastModified": 1782135344, + "narHash": "sha256-JGxXmcTsHWSXvnveDLMT8xX3E9ldd+jumgtJUdGoR0M=", "owner": "noctalia-dev", "repo": "noctalia", - "rev": "77e2a32edfbea9c23484d5608b6b8ecc657c2270", + "rev": "c8d24dfa450f8b4eca21abcab397b3555e5bb890", "type": "github" }, "original": { @@ -1784,7 +1767,6 @@ "home-manager": "home-manager", "hyprcursors": "hyprcursors", "hyprland": "hyprland", - "hyprspace": "hyprspace", "hyprsplit": "hyprsplit", "impermanence": "impermanence", "import-tree": "import-tree", diff --git a/flake.nix b/flake.nix @@ -212,11 +212,6 @@ }; }; - hyprspace = { - url = "github:0xl30/Hyprspace/74213c87be6064ce14f9b1560121c270462f33af"; - flake = false; - }; - # Desktop Shell noctalia = { url = "github:noctalia-dev/noctalia"; diff --git a/modules/apps/vscode/default.nix b/modules/apps/vscode/default.nix @@ -10,7 +10,7 @@ in { osConfig ? {}, ... }: let - font = builtins.head config.fonts.fontconfig.defaultFonts.monospace; + font = config.stylix.fonts.monospace.name; isGnome = osConfig.services.desktopManager.gnome.enable or false; isHyprland = osConfig.programs.hyprland.enable or false; in { diff --git a/modules/desktop/gnome/_settings/apps.nix b/modules/desktop/gnome/_settings/apps.nix @@ -1,12 +1,11 @@ _: { + config, lib, osConfig ? null, ... }: lib.mkIf (osConfig != null) ( - with lib.hm.gvariant; let - fonts = osConfig.fonts.fontconfig.defaultFonts; - in { + with lib.hm.gvariant; { dconf.settings = { # GTK+ Apps "org/gnome/desktop/calendar".show-weekdate = true; @@ -78,7 +77,7 @@ lib.mkIf (osConfig != null) ( "com/github/hugolabe/Wike" = { custom-font = true; dark-mode = true; - font-family = builtins.head fonts.sansSerif; + font-family = config.stylix.fonts.sansSerif.name; }; # App Grid diff --git a/modules/desktop/gnome/_settings/main.nix b/modules/desktop/gnome/_settings/main.nix @@ -1,12 +1,11 @@ _: { + config, lib, osConfig ? null, ... }: lib.mkIf (osConfig != null) ( - with lib.hm.gvariant; let - fonts = osConfig.fonts.fontconfig.defaultFonts; - in { + with lib.hm.gvariant; { ## Dconf Keys ## # Generated via nix-community/dconf2nix # Use 'dconf watch /' to record changes @@ -115,7 +114,7 @@ lib.mkIf (osConfig != null) ( "org/gnome/desktop/wm/preferences" = { button-layout = "appmenu:minimize,maximize,close"; focus-mode = "click"; - titlebar-font = "${builtins.head fonts.sansSerif} Bold 11"; + titlebar-font = "${config.stylix.fonts.sansSerif.name} Bold 11"; visual-bell = false; }; diff --git a/modules/desktop/hyprland/_features/files.nix b/modules/desktop/hyprland/_features/files.nix @@ -1,4 +1,4 @@ -# File Manager +## File Manager { util ? null, files ? null, diff --git a/modules/desktop/hyprland/_features/login.nix b/modules/desktop/hyprland/_features/login.nix @@ -1,4 +1,4 @@ -# Login Greeter +## Login Greeter {inputs ? null, ...}: { nixos = {config, ...}: { imports = [inputs.noctalia-greeter.nixosModules.default]; diff --git a/modules/desktop/hyprland/_features/main.nix b/modules/desktop/hyprland/_features/main.nix @@ -1,4 +1,4 @@ -# Compositor +## Compositor _: { nixos = {pkgs, ...}: { # WM diff --git a/modules/desktop/hyprland/_features/media.nix b/modules/desktop/hyprland/_features/media.nix @@ -1,4 +1,4 @@ -# Media +## Media {util ? null, ...}: { nixos = {pkgs, ...}: { environment.systemPackages = with pkgs; [ diff --git a/modules/desktop/hyprland/_features/misc.nix b/modules/desktop/hyprland/_features/misc.nix @@ -1,4 +1,4 @@ -# Web Browser +## Miscellaneous _: { home = _: { # GTK Apps diff --git a/modules/desktop/hyprland/_features/shell.nix b/modules/desktop/hyprland/_features/shell.nix @@ -1,4 +1,4 @@ -# Noctalia Shell +## Noctalia Shell { inputs ? null, files ? null, @@ -55,8 +55,8 @@ # Bar bar.main = { position = "top"; - start = ["session" "workspaces" "group:g1"]; - center = ["media" "clock" "control-center"]; + start = ["session" "taskbar" "group:g1" "media"]; + center = ["launcher" "clock" "control-center"]; end = [ "group:g2" "clipboard" @@ -79,7 +79,6 @@ { id = "g1"; members = [ - "launcher" "minimize" "maydayv7/hyprland-layout:indicator" "maydayv7/hyprland-submap:indicator" @@ -103,12 +102,18 @@ widget = { clock.anchor = true; control-center.glyph = "menu"; - workspaces.display = "name"; network.show_label = false; media = { hide_when_no_media = true; title_scroll = "on_hover"; }; + taskbar = { + group_by_workspace = true; + inactive_opacity = 0.85; + scale = 1.1; + show_active_indicator = false; + workspace_label_placement = "inside"; + }; # Minimize Button minimize = { @@ -165,6 +170,7 @@ wallpaper = { enabled = true; fill_mode = "crop"; + transition_on_startup = true; default.path = osConfig.stylix.image or ""; }; @@ -217,12 +223,18 @@ timeout = 300; command = "noctalia:session lock"; }; - "screen-off" = { + screen-off = { enabled = true; timeout = 360; command = "noctalia:dpms-off"; resume_command = "noctalia:dpms-on"; }; + suspend = { + enabled = true; + timeout = 600; + action = "suspend"; + lock_before_suspend = true; + }; }; # Lock Screen diff --git a/modules/desktop/hyprland/_features/style.nix b/modules/desktop/hyprland/_features/style.nix @@ -1,3 +1,4 @@ +## Catppuccin Style { inputs, files ? null, diff --git a/modules/desktop/hyprland/_features/terminal.nix b/modules/desktop/hyprland/_features/terminal.nix @@ -1,4 +1,4 @@ -# Terminal Emulator +## Terminal Emulator _: { home = { pkgs, diff --git a/modules/desktop/hyprland/_features/text.nix b/modules/desktop/hyprland/_features/text.nix @@ -1,4 +1,4 @@ -# Text Editor +## Text Editor { util ? null, files ? null, diff --git a/modules/desktop/hyprland/_features/utils.nix b/modules/desktop/hyprland/_features/utils.nix @@ -1,4 +1,4 @@ -# Utilities +## Utilities { util ? null, files ? null, diff --git a/modules/desktop/hyprland/_settings/keybinds.nix b/modules/desktop/hyprland/_settings/keybinds.nix @@ -114,9 +114,6 @@ in { (bind (combo [mod "SHIFT"] "comma") ''hs.dsp.window.move({ workspace = "-1", follow = false })'') (bind (combo [mod "SHIFT"] "period") ''hs.dsp.window.move({ workspace = "+1", follow = false })'') - # Workspace Overview - (bind (combo [mod] "grave") ''function() if hl.plugin.Hyprspace then hl.plugin.Hyprspace.overview("toggle") end end'') - # Cycle Monitors (bind (combo [mod "ALT"] "comma") ''hl.dsp.focus({ monitor = "l" })'') (bind (combo [mod "ALT"] "period") ''hl.dsp.focus({ monitor = "r" })'') diff --git a/modules/desktop/hyprland/_settings/plugins.nix b/modules/desktop/hyprland/_settings/plugins.nix @@ -7,16 +7,13 @@ _: { }: lib.mkIf (osConfig != null) ( let - inherit (pkgs.hyprworld) hyprsplitlua hypr-dynamic-cursors Hyprspace; + inherit (pkgs.hyprworld) hyprsplitlua hypr-dynamic-cursors; lua = import ./_lib.nix lib; inherit (lua) inline; - inherit (osConfig.gui) fancy; - inherit (osConfig.lib.stylix.colors) base00 base0D; - cursorMode = - if fancy + if osConfig.gui.fancy then "tilt" else "none"; in { @@ -27,9 +24,9 @@ lib.mkIf (osConfig != null) ( _var = inline ''(function() local hs = require("hyprsplit"); hs.config({ num_workspaces = 9 }); return hs end)()''; }; - plugins = [hypr-dynamic-cursors Hyprspace]; + # Cursor Effects + plugins = [hypr-dynamic-cursors]; extraConfig = '' - -- Cursor Effects if hl.plugin.dynamic_cursors then hl.config({ plugin = { dynamic_cursors = { enabled = true, @@ -39,25 +36,6 @@ lib.mkIf (osConfig != null) ( tilt = { activation = "negative_quadratic" }, } } }) end - - -- Workspace Overview - if hl.plugin.Hyprspace then - hl.config({ plugin = { hyprspace = { - auto_drag = true, - drag_alpha = 0.4, - exit_on_click = true, - center_aligned = true, - hide_top_layers = true, - hide_overlay_layers = false, - show_new_workspace = false, - show_empty_workspace = true, - panel_border_width = 0, - workspace_margin = 10, - panel_color = "rgb(${base00})", - workspace_active_border = "rgb(${base0D})", - swipe_fingers = 4, - } } }) - end ''; }; } diff --git a/modules/games/minecraft.nix b/modules/games/minecraft.nix @@ -1,6 +1,6 @@ ## Minecraft ## _: { - flake.modules.homeManager.minecraft = {pkgs, ...}: { + flake.modules.homeManager.minecraft = _: { programs.prismlauncher.enable = true; home.persist.directories = [".local/share/PrismLauncher"]; }; diff --git a/modules/system/base-ext.nix b/modules/system/base-ext.nix @@ -19,7 +19,7 @@ _: { enable = true; hwRender = false; extraConfig = '' - font-name=${builtins.head config.fonts.fontconfig.defaultFonts.monospace} + font-name=${config.stylix.fonts.monospace.name} font-size=14 ''; }; diff --git a/packages/_module.nix b/packages/_module.nix @@ -39,22 +39,7 @@ in { wine = windows.packages."${system}"; winelib = windows.lib."${system}"; spicetify = spicetify.legacyPackages."${system}"; - hyprworld = let - hyprlandPkg = hyprland.packages."${system}".hyprland; - Hyprspace = final.gcc14Stdenv.mkDerivation { - pname = "Hyprspace"; - src = hyprspace; - inherit (hyprlandPkg) version nativeBuildInputs; - buildInputs = [hyprlandPkg] ++ hyprlandPkg.buildInputs; - dontUseCmakeConfigure = true; - installFlags = ["PREFIX=$(out)"]; - postInstall = "mv $out/lib/Hyprspace.so $out/lib/libHyprspace.so"; - }; - in - hyprland.packages."${system}" - // hyprsplit.packages."${system}" - // hyprcursors.packages."${system}" - // {inherit Hyprspace;}; + hyprworld = hyprland.packages."${system}" // hyprsplit.packages."${system}" // hyprcursors.packages."${system}"; }) minecraft.overlay vscode.overlays.default