From 9bc381a8bf2d0e5c54937d38cc21ab353371b280 Mon Sep 17 00:00:00 2001 From: zack Date: Sun, 12 Jan 2025 13:37:57 -0500 Subject: [PATCH] updates --- flake.lock | 104 +++--- homes/x86_64-linux/zoey@earth/default.nix | 46 ++- modules/home/apps/helpers/waybar/default.nix | 350 +++++++++++++++++- modules/home/apps/term/ghostty/default.nix | 37 ++ .../tools/neovim/config/lua/plugins/core.lua | 2 +- modules/home/rice/gtk/default.nix | 2 +- modules/home/wms/hyprland/default.nix | 9 +- modules/nixos/protocols/wayland/default.nix | 8 +- modules/nixos/ui/fonts/default.nix | 4 +- packages/nvidia-nsight/default.nix | 196 ++++++++++ packages/nvidia-nsight/headers.patch | 16 + systems/x86_64-linux/earth/default.nix | 49 ++- .../earth/hardware-configuration.nix | 14 + 13 files changed, 767 insertions(+), 70 deletions(-) create mode 100644 modules/home/apps/term/ghostty/default.nix create mode 100644 packages/nvidia-nsight/default.nix create mode 100644 packages/nvidia-nsight/headers.patch diff --git a/flake.lock b/flake.lock index a1c235e..40f754d 100644 --- a/flake.lock +++ b/flake.lock @@ -250,11 +250,11 @@ ] }, "locked": { - "lastModified": 1736437680, - "narHash": "sha256-9Sy17XguKdEU9M5peTrkWSlI/O5IAqjHzdzxbXnc30g=", + "lastModified": 1736591904, + "narHash": "sha256-LFO8pSrPKrH8OPq2HaAuBG5skk8/MNJ/9YmK3KsnSks=", "owner": "nix-community", "repo": "disko", - "rev": "4d5d07d37ff773338e40a92088f45f4f88e509c8", + "rev": "33827d2bd16bfe2e21b62956526c72d313595dfd", "type": "github" }, "original": { @@ -269,11 +269,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1736439709, - "narHash": "sha256-xqI6k20Km13wM3FLM9+609fTBjOvKG7qhzt8U+tMXqA=", + "lastModified": 1736615554, + "narHash": "sha256-R/YjqNsVVSzJT50zPRaxwr0foAMIGfeoqU2jOF4G5qk=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "aaf6d1443de5e2bf18231f4c1e435c5ff0cb667c", + "rev": "38789ef3dafe7a3a8927ccc874ddc90d0d5ef3b2", "type": "github" }, "original": { @@ -567,11 +567,11 @@ "nixpkgs-lib": "nixpkgs-lib_3" }, "locked": { - "lastModified": 1735774679, - "narHash": "sha256-soePLBazJk0qQdDVhdbM98vYdssfs3WFedcq+raipRI=", + "lastModified": 1736143030, + "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f2f7418ce0ab4a5309a4596161d154cfc877af66", + "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", "type": "github" }, "original": { @@ -862,11 +862,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1736436522, - "narHash": "sha256-9UHWb2T2VJRYN+72yEFjXgJcuFZqKQSHggj6oy9tzJs=", + "lastModified": 1736633944, + "narHash": "sha256-AQsDtTcYFN1ETxeETysvI0f79/5DHQ4ON4c9quB9vrg=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "12ce9f2e3b19cf1810746dcfe5b19f173004e256", + "rev": "bdbd0263a1c55e656408c772718370c92374bedb", "type": "github" }, "original": { @@ -1057,11 +1057,11 @@ ] }, "locked": { - "lastModified": 1736421950, - "narHash": "sha256-RyrX0WFXxFrYvzHNLTIyuk3NcNl3UBykuYru/P0zW5E=", + "lastModified": 1736508663, + "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", "owner": "nix-community", "repo": "home-manager", - "rev": "d4aebb947a301b8da8654a804979a738c5c5da50", + "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", "type": "github" }, "original": { @@ -1168,11 +1168,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1736421227, - "narHash": "sha256-7+KsJapwZ2pk9ETeoA3TkTh7nYu3BwiAo3NIIkaOFyE=", + "lastModified": 1736613484, + "narHash": "sha256-gYlminxNivqjOur5Zp6xDOh1U3VesO7/t+fNlV1WFH8=", "ref": "refs/heads/main", - "rev": "e66eab7b6a90514251439f661454c536afa3e5c8", - "revCount": 5652, + "rev": "2778aff08fba59a34b404751039d7acb6bfb3bdf", + "revCount": 5665, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -1531,11 +1531,11 @@ "treefmt-nix": "treefmt-nix_3" }, "locked": { - "lastModified": 1736381117, - "narHash": "sha256-eRiPgvGpaUrV4u2L/AKKr+G9PZX5YW3huIIdzbmniCg=", + "lastModified": 1736553940, + "narHash": "sha256-xicqHwvq2S/Y36DwcY+xGy6+4jdFT78bclBhwjs4KJY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "177f38b4172b316a48f9ec5b41907b0ad7e0909f", + "rev": "b2237869f288c278b6fd429445d460cb44a0e788", "type": "github" }, "original": { @@ -1547,11 +1547,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1736358981, - "narHash": "sha256-FqAUWN8GTlSLz4uiQZyH+DPaGShhC/GP3nwjEoaMXMY=", + "lastModified": 1736553525, + "narHash": "sha256-Kfx1r0yVTTa83EdP7Ta5ValnXy4ak3F10hHCymDAU7o=", "owner": "neovim", "repo": "neovim", - "rev": "c4b658fed8d96a4c4098ce59b01b228ef0bda62e", + "rev": "fbe546e25d21f3184814d696c329d23d146bd615", "type": "github" }, "original": { @@ -1598,11 +1598,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1736344531, - "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", + "lastModified": 1736523798, + "narHash": "sha256-Xb8mke6UCYjge9kPR9o4P1nVrhk7QBbKv3xQ9cj7h2s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", + "rev": "130595eba61081acde9001f43de3248d8888ac4a", "type": "github" }, "original": { @@ -1736,11 +1736,11 @@ }, "nixpkgs-stable_5": { "locked": { - "lastModified": 1736441030, - "narHash": "sha256-WKqLoutZ5SsKscm72RtUWKKlPPNXypeWbyHD0Ug8zv0=", + "lastModified": 1736634154, + "narHash": "sha256-7Qoh6wVDj2Tov7uV2szrsVV4mJruh295DPd4EcBkL9c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ad0b2d32fdee8f224961a4063dff959f5cf303d7", + "rev": "56571f191ac650bb336b1451253add751ef91b1a", "type": "github" }, "original": { @@ -1800,11 +1800,11 @@ }, "nixpkgs_12": { "locked": { - "lastModified": 1736241350, - "narHash": "sha256-CHd7yhaDigUuJyDeX0SADbTM9FXfiWaeNyY34FL1wQU=", + "lastModified": 1736320768, + "narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8c9fd3e564728e90829ee7dbac6edc972971cd0f", + "rev": "4bc9c909d9ac828a039f288cf872d16d38185db8", "type": "github" }, "original": { @@ -2203,11 +2203,11 @@ "systems": "systems_17" }, "locked": { - "lastModified": 1736428350, - "narHash": "sha256-rQlbWYRrJ9bqaPF1Bkv0pDkOhDaVupohWQjK1foAfyk=", + "lastModified": 1736531727, + "narHash": "sha256-OP1LAyC8RE/TuqHZ9sEfEWBRZnGlLNsmCRngI0608LY=", "owner": "raphamorim", "repo": "rio", - "rev": "a1731d60967d4b2dcab5d66ec714cc915e5d42d9", + "rev": "6239ed8df9ef6f922d34df3268aa2000cb1d8b32", "type": "github" }, "original": { @@ -2318,11 +2318,11 @@ "nixpkgs": "nixpkgs_16" }, "locked": { - "lastModified": 1735957590, - "narHash": "sha256-vbkoQTInunSjwx9DKebbCNBq9bim8CRj1VbS4eiABfg=", + "lastModified": 1736476219, + "narHash": "sha256-+qyv3QqdZCdZ3cSO/cbpEY6tntyYjfe1bB12mdpNFaY=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "d40e15e076bcedc5bf5498a0f8ff5f18de4bf8c3", + "rev": "de30cc5963da22e9742bbbbb9a3344570ed237b9", "type": "github" }, "original": { @@ -2338,11 +2338,11 @@ ] }, "locked": { - "lastModified": 1736438724, - "narHash": "sha256-m0CFbWVKtXsAr5OBgWNwR8Uam/jkPIjWgJkdH9DY46M=", + "lastModified": 1736632357, + "narHash": "sha256-o+XYHMxGi8oiJlQ7UkDv0lzUuED6iaxZwPzD3kY7R38=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "15897cf5835bb95aa002b42c22dc61079c28f7c8", + "rev": "09f2869b164f8b6d5e30f0bd7ed30d6eb8237058", "type": "github" }, "original": { @@ -2428,11 +2428,11 @@ ] }, "locked": { - "lastModified": 1736396171, - "narHash": "sha256-1Pr1csD6wVTI2M+Dld77cc+PY83eKoO7ItIrvySWcmU=", + "lastModified": 1736568948, + "narHash": "sha256-nnaMeMQPDg1GLQPBejn4nBtvQKSRVv64IIPZ7XmX5u0=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "511074b9bed99e5cd4ef84999518970fd21af243", + "rev": "3da50a44c6c47b3361e56231123797101892c565", "type": "github" }, "original": { @@ -2837,11 +2837,11 @@ ] }, "locked": { - "lastModified": 1736001503, - "narHash": "sha256-pE7ZjfeKSrz1X4JLWC0j1XX9lSlMTdpMtNe4frzuzIg=", + "lastModified": 1736498040, + "narHash": "sha256-fen7o+m7nVlRc1YEhxdWXZTZvcTYEy078nrccTulb7w=", "owner": "Alexays", "repo": "Waybar", - "rev": "9d9f1d6819f244af2e0bcae43c09ddcd2cf6d4ad", + "rev": "369c81d6f29e46287a961e8ef26dbf349021d4fb", "type": "github" }, "original": { @@ -2896,11 +2896,11 @@ "nixpkgs": "nixpkgs_17" }, "locked": { - "lastModified": 1736267677, - "narHash": "sha256-7FH/gFShKOzf46yKqA4VWAaWxuyHBRnXOdaffbTxVo4=", + "lastModified": 1736565714, + "narHash": "sha256-/OyRMWPzV7027/Zvi5Kwb7D8UM0mhRLqPkC0WRHre2I=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "c96c6a1ebf1bea782f9528dc316d986a6087ebc0", + "rev": "48a7f03cdc23ca81c668d0f09ea4ab2278f61162", "type": "github" }, "original": { diff --git a/homes/x86_64-linux/zoey@earth/default.nix b/homes/x86_64-linux/zoey@earth/default.nix index b0e193f..18de999 100644 --- a/homes/x86_64-linux/zoey@earth/default.nix +++ b/homes/x86_64-linux/zoey@earth/default.nix @@ -25,6 +25,7 @@ term.foot.enable = true; # term.rio.enable = true; term.alacritty.enable = true; + term.ghostty.enable = true; music.spotify.enable = true; @@ -64,6 +65,31 @@ "x-scheme-handler/https" = "zen_twilight.desktop"; "x-scheme-handler/about" = "zen_twilight.desktop"; "x-scheme-handler/unknown" = "zen_twilight.desktop"; + + "inode/directory" = ["org.gnome.Nautilus.desktop"]; + + "image/jpeg" = ["org.gnome.Loupe.desktop"]; + "image/png" = ["org.gnome.Loupe.desktop"]; + "image/gif" = ["org.gnome.Loupe.desktop"]; + "image/webp" = ["org.gnome.Loupe.desktop"]; + "image/tiff" = ["org.gnome.Loupe.desktop"]; + "image/bmp" = ["org.gnome.Loupe.desktop"]; + "image/x-icon" = ["org.gnome.Loupe.desktop"]; + "image/svg+xml" = ["org.gnome.Loupe.desktop"]; + }; + }; + + dconf.settings = { + "org/gnome/nautilus/preferences" = { + "default-folder-viewer" = "list-view"; + "search-filter-time-type" = "last_modified"; + }; + "org/gnome/terminal/legacy/profiles:" = { + "default" = "kitty"; + }; + "org/gnome/Loupe" = { + "interpolation-quality" = "high"; # Set image scaling quality + "zoom-gesture" = true; # Enable zoom gesture }; }; @@ -85,10 +111,10 @@ pkgs.uutils-coreutils-noprefix pkgs.yazi - pkgs.ghostty - pkgs.thunderbird + pkgs.custom.nvidia-nsight + pkgs.custom.enc pkgs.nix-tree @@ -107,8 +133,6 @@ pkgs.neovide - pkgs.xfce.thunar - pkgs.feh pkgs.nitch pkgs.nix-output-monitor pkgs.fastfetch @@ -131,9 +155,13 @@ pkgs.zed-editor pkgs.rmpc - inputs.zen-browser.packages.${pkgs.system}.twilight + inputs.zen-browser.packages.${pkgs.system}.beta pkgs.mpc-cli + pkgs.nautilus + pkgs.nautilus-python + pkgs.loupe + pkgs.openvpn pkgs.telegram-desktop pkgs.linux-manual @@ -146,10 +174,10 @@ options = ["--cmd cd"]; }; - # programs.cava = { - # enable = true; - # catppuccin.enable = true; - # }; + programs.cava = { + enable = true; + catppuccin.enable = true; + }; programs.btop = { enable = true; diff --git a/modules/home/apps/helpers/waybar/default.nix b/modules/home/apps/helpers/waybar/default.nix index b396c0f..87e96e0 100644 --- a/modules/home/apps/helpers/waybar/default.nix +++ b/modules/home/apps/helpers/waybar/default.nix @@ -15,6 +15,354 @@ in { }; config = mkIf cfg.enable { + services.swaync = { + enable = true; + style = '' + * { + all: unset; + font-size: 14px; + font-family: "Cantarell"; + transition: 200ms; + } + + trough highlight { + background: #cad3f5; + } + + scale trough { + margin: 0rem 1rem; + background-color: #363a4f; + min-height: 8px; + min-width: 70px; + } + + slider { + background-color: #8aadf4; + } + + .floating-notifications.background .notification-row .notification-background { + box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #363a4f; + border-radius: 12.6px; + margin: 18px; + background-color: #24273a; + color: #cad3f5; + padding: 0; + } + + .floating-notifications.background .notification-row .notification-background .notification { + padding: 7px; + border-radius: 12.6px; + } + + .floating-notifications.background .notification-row .notification-background .notification.critical { + box-shadow: inset 0 0 7px 0 #ed8796; + } + + .floating-notifications.background .notification-row .notification-background .notification .notification-content { + margin: 7px; + } + + .floating-notifications.background .notification-row .notification-background .notification .notification-content .summary { + color: #cad3f5; + } + + .floating-notifications.background .notification-row .notification-background .notification .notification-content .time { + color: #a5adcb; + } + + .floating-notifications.background .notification-row .notification-background .notification .notification-content .body { + color: #cad3f5; + } + + .floating-notifications.background .notification-row .notification-background .notification > *:last-child > * { + min-height: 3.4em; + } + + .floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action { + border-radius: 7px; + color: #cad3f5; + background-color: #363a4f; + box-shadow: inset 0 0 0 1px #494d64; + margin: 7px; + } + + .floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:hover { + box-shadow: inset 0 0 0 1px #494d64; + background-color: #363a4f; + color: #cad3f5; + } + + .floating-notifications.background .notification-row .notification-background .notification > *:last-child > * .notification-action:active { + box-shadow: inset 0 0 0 1px #494d64; + background-color: #7dc4e4; + color: #cad3f5; + } + + .floating-notifications.background .notification-row .notification-background .close-button { + margin: 7px; + padding: 2px; + border-radius: 6.3px; + color: #24273a; + background-color: #ed8796; + } + + .floating-notifications.background .notification-row .notification-background .close-button:hover { + background-color: #ee99a0; + color: #24273a; + } + + .floating-notifications.background .notification-row .notification-background .close-button:active { + background-color: #ed8796; + color: #24273a; + } + + .control-center { + box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.8), inset 0 0 0 1px #363a4f; + border-radius: 12.6px; + margin: 18px; + background-color: #24273a; + color: #cad3f5; + padding: 14px; + } + + .control-center .widget-title > label { + color: #cad3f5; + font-size: 1.3em; + } + + .control-center .widget-title button { + border-radius: 7px; + color: #cad3f5; + background-color: #363a4f; + box-shadow: inset 0 0 0 1px #494d64; + padding: 8px; + } + + .control-center .widget-title button:hover { + box-shadow: inset 0 0 0 1px #494d64; + background-color: #5b6078; + color: #cad3f5; + } + + .control-center .widget-title button:active { + box-shadow: inset 0 0 0 1px #494d64; + background-color: #7dc4e4; + color: #24273a; + } + + .control-center .notification-row .notification-background { + border-radius: 7px; + color: #cad3f5; + background-color: #363a4f; + box-shadow: inset 0 0 0 1px #494d64; + margin-top: 14px; + } + + .control-center .notification-row .notification-background .notification { + padding: 7px; + border-radius: 7px; + } + + .control-center .notification-row .notification-background .notification.critical { + box-shadow: inset 0 0 7px 0 #ed8796; + } + + .control-center .notification-row .notification-background .notification .notification-content { + margin: 7px; + } + + .control-center .notification-row .notification-background .notification .notification-content .summary { + color: #cad3f5; + } + + .control-center .notification-row .notification-background .notification .notification-content .time { + color: #a5adcb; + } + + .control-center .notification-row .notification-background .notification .notification-content .body { + color: #cad3f5; + } + + .control-center .notification-row .notification-background .notification > *:last-child > * { + min-height: 3.4em; + } + + .control-center .notification-row .notification-background .notification > *:last-child > * .notification-action { + border-radius: 7px; + color: #cad3f5; + background-color: #181926; + box-shadow: inset 0 0 0 1px #494d64; + margin: 7px; + } + + .control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:hover { + box-shadow: inset 0 0 0 1px #494d64; + background-color: #363a4f; + color: #cad3f5; + } + + .control-center .notification-row .notification-background .notification > *:last-child > * .notification-action:active { + box-shadow: inset 0 0 0 1px #494d64; + background-color: #7dc4e4; + color: #cad3f5; + } + + .control-center .notification-row .notification-background .close-button { + margin: 7px; + padding: 2px; + border-radius: 6.3px; + color: #24273a; + background-color: #ee99a0; + } + + .close-button { + border-radius: 6.3px; + } + + .control-center .notification-row .notification-background .close-button:hover { + background-color: #ed8796; + color: #24273a; + } + + .control-center .notification-row .notification-background .close-button:active { + background-color: #ed8796; + color: #24273a; + } + + .control-center .notification-row .notification-background:hover { + box-shadow: inset 0 0 0 1px #494d64; + background-color: #8087a2; + color: #cad3f5; + } + + .control-center .notification-row .notification-background:active { + box-shadow: inset 0 0 0 1px #494d64; + background-color: #7dc4e4; + color: #cad3f5; + } + + .notification.critical progress { + background-color: #ed8796; + } + + .notification.low progress, + .notification.normal progress { + background-color: #8aadf4; + } + + .control-center-dnd { + margin-top: 5px; + border-radius: 8px; + background: #363a4f; + border: 1px solid #494d64; + box-shadow: none; + } + + .control-center-dnd:checked { + background: #363a4f; + } + + .control-center-dnd slider { + background: #494d64; + border-radius: 8px; + } + + .widget-dnd { + margin: 0px; + font-size: 1.1rem; + } + + .widget-dnd > switch { + font-size: initial; + border-radius: 8px; + background: #363a4f; + border: 1px solid #494d64; + box-shadow: none; + } + + .widget-dnd > switch:checked { + background: #363a4f; + } + + .widget-dnd > switch slider { + background: #494d64; + border-radius: 8px; + border: 1px solid #6e738d; + } + + .widget-mpris .widget-mpris-player { + background: #363a4f; + padding: 7px; + } + + .widget-mpris .widget-mpris-title { + font-size: 1.2rem; + } + + .widget-mpris .widget-mpris-subtitle { + font-size: 0.8rem; + } + + .widget-menubar > box > .menu-button-bar > button > label { + font-size: 3rem; + padding: 0.5rem 2rem; + } + + .widget-menubar > box > .menu-button-bar > :last-child { + color: #ed8796; + } + + .power-buttons button:hover, + .powermode-buttons button:hover, + .screenshot-buttons button:hover { + background: #363a4f; + } + + .control-center .widget-label > label { + color: #cad3f5; + font-size: 2rem; + } + + .widget-buttons-grid { + padding-top: 1rem; + } + + .widget-buttons-grid > flowbox > flowboxchild > button label { + font-size: 2.5rem; + } + + .widget-volume { + padding-top: 1rem; + } + + .widget-volume label { + font-size: 1.5rem; + color: #7dc4e4; + } + + .widget-volume trough highlight { + background: #7dc4e4; + } + + .widget-backlight trough highlight { + background: #eed49f; + } + + .widget-backlight label { + font-size: 1.5rem; + color: #eed49f; + } + + .widget-backlight .KB { + padding-bottom: 1rem; + } + + .image { + padding-right: 0.5rem; + } + ''; + }; + programs.waybar = { enable = true; systemd.enable = true; @@ -23,7 +371,7 @@ in { * { min-height: 0; min-width: 0; - font-family: Lexend, "JetBrainsMono NFP"; + font-family: Cantarell; font-size: 16px; font-weight: 600; } diff --git a/modules/home/apps/term/ghostty/default.nix b/modules/home/apps/term/ghostty/default.nix new file mode 100644 index 0000000..a65ef0c --- /dev/null +++ b/modules/home/apps/term/ghostty/default.nix @@ -0,0 +1,37 @@ +{ + options, + config, + lib, + ... +}: +with lib; +with lib.custom; let + cfg = config.apps.term.ghostty; +in { + options.apps.term.ghostty = with types; { + enable = mkBoolOpt false "Enable Ghostty Term"; + + fonts = { + # normal = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold" "Normal Font"; + # bold = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold" "Bold Font"; + # italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold Italic" "Italic Font"; + # bold_italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold Italic" "Bold Italic Font"; + normal = mkStringOpt "Iosevka" "Normal Font"; + bold = mkStringOpt "Iosevka ExtraBold" "Bold Font"; + italic = mkStringOpt "Iosevka Bold Italic" "Italic Font"; + bold_italic = mkStringOpt "Iosevka ExtraBold Italic" "Bold Italic Font"; + }; + }; + + config = mkIf cfg.enable { + programs.ghostty = { + enable = true; + + settings = { + font-family = cfg.fonts.normal; + gtk-single-instance = true; + gtk-titlebar = false; + }; + }; + }; +} diff --git a/modules/home/apps/tools/neovim/config/lua/plugins/core.lua b/modules/home/apps/tools/neovim/config/lua/plugins/core.lua index 1fce1f1..55a92c1 100644 --- a/modules/home/apps/tools/neovim/config/lua/plugins/core.lua +++ b/modules/home/apps/tools/neovim/config/lua/plugins/core.lua @@ -2,7 +2,7 @@ return { { "LazyVim/LazyVim", opts = { - colorscheme = "catppuccin", + colorscheme = "catppuccin-macchiato", news = { lazyvim = false }, }, }, diff --git a/modules/home/rice/gtk/default.nix b/modules/home/rice/gtk/default.nix index b77cfdc..b59d370 100644 --- a/modules/home/rice/gtk/default.nix +++ b/modules/home/rice/gtk/default.nix @@ -26,7 +26,7 @@ in { enable = true; font = { - name = "Iosevka"; + name = "Cantarell"; size = 11; }; diff --git a/modules/home/wms/hyprland/default.nix b/modules/home/wms/hyprland/default.nix index 2cdf713..be33666 100644 --- a/modules/home/wms/hyprland/default.nix +++ b/modules/home/wms/hyprland/default.nix @@ -45,6 +45,7 @@ in { wayland.windowManager.hyprland = { enable = true; + package = inputs.hyprland.packages.${pkgs.system}.hyprland; xwayland.enable = true; systemd = { @@ -161,7 +162,8 @@ in { force_default_wallpaper = 0; disable_hyprland_logo = true; - vfr = true; + vfr = false; + vrr = 2; # dpms # mouse_move_enables_dpms = true; # enable dpms on mouse/touchpad action @@ -173,6 +175,11 @@ in { force_zero_scaling = true; }; + experimental = { + hdr = false; + xx_color_management_v4 = true; + }; + cursor = { no_hardware_cursors = true; }; diff --git a/modules/nixos/protocols/wayland/default.nix b/modules/nixos/protocols/wayland/default.nix index de62da4..b301d28 100644 --- a/modules/nixos/protocols/wayland/default.nix +++ b/modules/nixos/protocols/wayland/default.nix @@ -40,13 +40,17 @@ in { programs.hyprland = { withUWSM = true; enable = true; + package = inputs.hyprland.packages.${pkgs.system}.hyprland; + portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland; }; + programs.niri.enable = false; + environment = { variables = { NIXOS_OZONE_WL = "1"; - __GL_GSYNC_ALLOWED = "0"; - __GL_VRR_ALLOWED = "0"; + # __GL_GSYNC_ALLOWED = "0"; + # __GL_VRR_ALLOWED = "0"; _JAVA_AWT_WM_NONEREPARENTING = "1"; SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh"; DISABLE_QT5_COMPAT = "0"; diff --git a/modules/nixos/ui/fonts/default.nix b/modules/nixos/ui/fonts/default.nix index 0de8a65..cbbda9e 100644 --- a/modules/nixos/ui/fonts/default.nix +++ b/modules/nixos/ui/fonts/default.nix @@ -30,6 +30,7 @@ in { jost dejavu_fonts iosevka + cantarell-fonts # (iosevka.override { # set = "Custom"; # privateBuildPlan = '' @@ -59,11 +60,10 @@ in { defaultFonts = { monospace = [ # "ZedMono Nerd Font Mono" - "Iosevka Nerd Font Mono" "Iosevka" "Noto Color Emoji" ]; - sansSerif = ["Inter" "Noto Color Emoji"]; + sansSerif = ["Cantarell" "Noto Color Emoji"]; serif = ["Noto Serif" "Noto Color Emoji"]; emoji = ["Noto Color Emoji"]; }; diff --git a/packages/nvidia-nsight/default.nix b/packages/nvidia-nsight/default.nix new file mode 100644 index 0000000..c4ad769 --- /dev/null +++ b/packages/nvidia-nsight/default.nix @@ -0,0 +1,196 @@ +{ + stdenv, + fetchurl, + fetchpatch, + fetchFromGitLab, + dpkg, + lib, + makeWrapper, + autoPatchelfHook, + libglvnd, + xorg, + qt6, + alsa-lib, + fontconfig, + freetype, + autoreconfHook, + pkg-config, + lerc, + libdeflate, + libjpeg, + libwebp, + xz, + zlib, + zstd, + sphinx, + glib, + vulkan-loader, + addDriverRunpath, + ... +}: let + version = "2024.3.0.24333"; + pathVersion = "2024.3.0.0"; + + rpath = lib.makeLibraryPath [ + stdenv.cc.cc.lib + libglvnd + xorg.libX11 + xorg.libXext + xorg.libXrender + xorg.libXtst + xorg.libXi + xorg.libXfixes + qt6.qtbase + qt6.qtwayland + qt6.qtwebengine + qt6.qtcharts + qt6.qtsvg + libtiff + alsa-lib + fontconfig + + freetype + glib + vulkan-loader + ]; + + libtiff = stdenv.mkDerivation rec { + pname = "libtiff"; + version = "4.3.0"; + + src = fetchurl { + url = "https://download.osgeo.org/libtiff/tiff-${version}.tar.gz"; + sha256 = "1j3snghqjbhwmnm5vz3dr1zm68dj15mgbx1wqld7vkl7n2nfaihf"; + }; + + # FreeImage needs this patch + patches = [./headers.patch]; + + outputs = ["bin" "dev" "dev_private" "out" "man" "doc"]; + + postFixup = '' + moveToOutput include/tif_dir.h $dev_private + moveToOutput include/tif_config.h $dev_private + moveToOutput include/tiffiop.h $dev_private + ''; + + # If you want to change to a different build system, please make + # sure cross-compilation works first! + nativeBuildInputs = [autoreconfHook pkg-config]; + + propagatedBuildInputs = [libjpeg xz zlib]; #TODO: opengl support (bogus configure detection) + + buildInputs = [libdeflate]; # TODO: move all propagatedBuildInputs to buildInputs. + + enableParallelBuilding = true; + + doCheck = true; + + meta = with lib; { + description = "Library and utilities for working with the TIFF image file format"; + homepage = "https://libtiff.gitlab.io/libtiff"; + changelog = "https://libtiff.gitlab.io/libtiff/v${version}.html"; + maintainers = with maintainers; [qyliss]; + license = licenses.libtiff; + platforms = platforms.unix; + }; + }; + + src = fetchurl { + url = "https://developer.nvidia.com/downloads/assets/tools/secure/nsight-graphics/2024_3_0/linux/NVIDIA_Nsight_Graphics_${version}.deb"; + sha256 = "sha256-8hGB2WFwbDIPTbNHfeJ7vYWOaGCIZ421KUjNoEbePqg="; + }; +in + stdenv.mkDerivation { + pname = "nvidia-nsight"; + inherit version; + + system = "x86_64-linux"; + inherit src; + + nativeBuildInputs = [ + dpkg + makeWrapper + qt6.wrapQtAppsHook + autoPatchelfHook + addDriverRunpath + ]; + + autoPatchelfIgnoreMissingDeps = ["libcuda.so.1" "libcudart.so.1"]; + + buildInputs = [ + libglvnd + xorg.libX11 + xorg.libXext + xorg.libXrender + xorg.libXtst + xorg.libXi + xorg.libXfixes + qt6.qtbase + qt6.qtwayland + qt6.qtwebengine + qt6.qtcharts + qt6.qtsvg + libtiff + alsa-lib + fontconfig + freetype + glib + vulkan-loader + ]; + + unpackPhase = '' + dpkg-deb -x $src . + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp -r opt/nvidia $out/ + + # Fix permissions + chmod +x $out/nvidia/nsight-graphics-for-linux/nsight-graphics-for-linux-${pathVersion}/host/linux-desktop-nomad-x64/ngfx + chmod +x $out/nvidia/nsight-graphics-for-linux/nsight-graphics-for-linux-${pathVersion}/host/linux-desktop-nomad-x64/ngfx.bin + + # Create bin directory + mkdir -p $out/bin + + # Wrap the main executable + makeWrapper $out/nvidia/nsight-graphics-for-linux/nsight-graphics-for-linux-${pathVersion}/host/linux-desktop-nomad-x64/ngfx-ui \ + $out/bin/nsight-graphics \ + --prefix LD_LIBRARY_PATH : ${rpath}:$out/nvidia/nsight-graphics-for-linux/nsight-graphics-for-linux-${pathVersion}/host/linux-desktop-nomad-x64 + + # Create Vulkan layer directory + mkdir -p $out/share/vulkan/implicit_layer.d + + # Copy Vulkan layer manifests + cp -r $out/nvidia/nsight-graphics-for-linux/nsight-graphics-for-linux-${pathVersion}/target/linux-desktop-nomad-x64/*/vulkan/implicit_layer.d/* \ + $out/share/vulkan/implicit_layer.d/ + + # Create the .desktop file + mkdir -p $out/share/applications + + cat > $out/share/applications/nsight-graphics.desktop <