diff --git a/flake.lock b/flake.lock index 73f2cb04..2d7320bd 100644 --- a/flake.lock +++ b/flake.lock @@ -157,11 +157,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1735281280, - "narHash": "sha256-FgW6NkzbGlmNeY0lywjvXgrZD+UPS/+848kI30Yaup0=", + "lastModified": 1735367591, + "narHash": "sha256-a5EMHpDAxLShxBKUdDVmqZMlfiuOtOUzet2xT/E/RiM=", "owner": "nix-community", "repo": "fenix", - "rev": "3915fd69e1a2827209f3a1080cb8bcca48d11fa7", + "rev": "3743208cafd7bc3c150f0c77c25ef7430e9c0de2", "type": "github" }, "original": { @@ -171,6 +171,22 @@ } }, "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { "flake": false, "locked": { "lastModified": 1696426674, @@ -186,7 +202,7 @@ "type": "github" } }, - "flake-compat_2": { + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1696426674, @@ -290,11 +306,11 @@ ] }, "locked": { - "lastModified": 1730504689, - "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "506278e768c2a08bec68eb62932193e341f55c90", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -321,6 +337,24 @@ "inputs": { "systems": "systems_3" }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_4" + }, "locked": { "lastModified": 1726560853, "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", @@ -335,9 +369,9 @@ "type": "github" } }, - "flake-utils_2": { + "flake-utils_3": { "inputs": { - "systems": "systems_5" + "systems": "systems_6" }, "locked": { "lastModified": 1731533236, @@ -353,6 +387,27 @@ "type": "github" } }, + "ghostty": { + "inputs": { + "flake-compat": "flake-compat", + "nixpkgs-stable": "nixpkgs-stable", + "nixpkgs-unstable": "nixpkgs-unstable", + "zig": "zig" + }, + "locked": { + "lastModified": 1735362327, + "narHash": "sha256-kD49xAUMCWU60IRKoJiyJTaEUum7rk45OYjZfwWr3Ck=", + "owner": "ghostty-org", + "repo": "ghostty", + "rev": "6cbd69da7839260508466f9dfb2bc0c0fbb43991", + "type": "github" + }, + "original": { + "owner": "ghostty-org", + "repo": "ghostty", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -415,7 +470,7 @@ "helix-flake": { "inputs": { "crane": "crane", - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "nixpkgs": "nixpkgs_4", "rust-overlay": "rust-overlay" }, @@ -440,11 +495,11 @@ ] }, "locked": { - "lastModified": 1735053786, - "narHash": "sha256-Gm+0DcbUS338vvkwyYWms5jsWlx8z8MeQBzcnIDuIkw=", + "lastModified": 1735381016, + "narHash": "sha256-CyCZFhMUkuYbSD6bxB/r43EdmDE7hYeZZPTCv0GudO4=", "owner": "nix-community", "repo": "home-manager", - "rev": "35b98d20ca8f4ca1f6a2c30b8a2c8bb305a36d84", + "rev": "10e99c43cdf4a0713b4e81d90691d22c6a58bdf2", "type": "github" }, "original": { @@ -656,15 +711,15 @@ "hyprwayland-scanner": "hyprwayland-scanner", "nixpkgs": "nixpkgs_5", "pre-commit-hooks": "pre-commit-hooks", - "systems": "systems_4", + "systems": "systems_5", "xdph": "xdph" }, "locked": { - "lastModified": 1735312855, - "narHash": "sha256-kZqSIWofTJGIQi54a6qb6L9pLvYlV2ZHIgK8kTLqJBc=", + "lastModified": 1735336272, + "narHash": "sha256-kPRvGB80n5Nmqw17z+im4+ssDFGOfQSnP2LKQNdprBs=", "owner": "hyprwm", "repo": "hyprland", - "rev": "775111b6032185c9ef164d7ba1417a875c1d0287", + "rev": "c600e1aaff293303c8256aca7d2889fc4289e8c2", "type": "github" }, "original": { @@ -858,11 +913,11 @@ ] }, "locked": { - "lastModified": 1734796073, - "narHash": "sha256-TnuKsa8OHrSJEmHm3TLGOWbPNA1gRjmZLsRzKrCqOsg=", + "lastModified": 1735316583, + "narHash": "sha256-AiiUwHWHfEdpFzXy7l1x3zInCUa1xcRMrbZ1XRSkzwU=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "c3331116ebd0b71df5ae8c6efe9a7f94148b03bf", + "rev": "8f15d45b120b33712f6db477fe5ffb18034d0ea8", "type": "github" }, "original": { @@ -946,7 +1001,7 @@ "lanzaboote": { "inputs": { "crane": "crane_2", - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "flake-parts": "flake-parts_3", "nixpkgs": "nixpkgs_6", "pre-commit-hooks-nix": "pre-commit-hooks-nix", @@ -1140,16 +1195,16 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1730741070, - "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", - "owner": "NixOS", + "lastModified": 1735380119, + "narHash": "sha256-A2ZFfk1ztBZk2l7ghx86VLgDYiIMCLdAQbrEsB1xFTw=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", + "rev": "460a2ed3c781c1f30a3cbc4aa165298e4c4f2bc2", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-24.05", + "owner": "nixos", + "ref": "release-24.11", "repo": "nixpkgs", "type": "github" } @@ -1170,6 +1225,38 @@ "type": "github" } }, + "nixpkgs-stable_3": { + "locked": { + "lastModified": 1730741070, + "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1735268880, + "narHash": "sha256-7QEFnKkzD13SPxs+UFR5bUFN2fRw+GlL0am72ZjNre4=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "7cc0bff31a3a705d3ac4fdceb030a17239412210", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_10": { "locked": { "lastModified": 1656753965, @@ -1236,11 +1323,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1734649271, - "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", + "lastModified": 1735291276, + "narHash": "sha256-NYVcA06+blsLG6wpAbSPTCyLvxD/92Hy4vlY9WxFI1M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", + "rev": "634fd46801442d760e09493a794c4f15db2d0cbb", "type": "github" }, "original": { @@ -1283,11 +1370,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1734649271, - "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", + "lastModified": 1735291276, + "narHash": "sha256-NYVcA06+blsLG6wpAbSPTCyLvxD/92Hy4vlY9WxFI1M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", + "rev": "634fd46801442d760e09493a794c4f15db2d0cbb", "type": "github" }, "original": { @@ -1332,7 +1419,7 @@ "nvf": { "inputs": { "flake-parts": "flake-parts_4", - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "mnw": "mnw", "nil": "nil", "nixpkgs": "nixpkgs_9", @@ -1456,7 +1543,7 @@ "plugin-vim-startify": "plugin-vim-startify", "plugin-which-key": "plugin-which-key", "rnix-lsp": "rnix-lsp", - "systems": "systems_6" + "systems": "systems_7" }, "locked": { "lastModified": 1735198481, @@ -3364,13 +3451,13 @@ }, "pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "gitignore": "gitignore", "nixpkgs": [ "hyprland", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable" + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { "lastModified": 1734797603, @@ -3397,7 +3484,7 @@ "lanzaboote", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_2" + "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { "lastModified": 1731363552, @@ -3440,6 +3527,7 @@ "chaotic": "chaotic", "fenix": "fenix", "flake-parts": "flake-parts_2", + "ghostty": "ghostty", "hardware": "hardware", "helix-flake": "helix-flake", "hm": "hm", @@ -3453,7 +3541,7 @@ "nix-gaming": "nix-gaming", "nixpkgs": "nixpkgs_8", "nvf": "nvf", - "systems": "systems_7", + "systems": "systems_8", "tuirun": "tuirun", "zen-browser": "zen-browser" } @@ -3461,11 +3549,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1735227773, - "narHash": "sha256-eYkxxU3Bqr7uLMKXOIb9BGlaD0W/I2pI6bh1SIuPZH4=", + "lastModified": 1735338518, + "narHash": "sha256-Cdotb7yLgRBVTkhIF6XEtC9ui62X+sO7251YcDXour0=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "1ce4de2585cb9802c4d5a99d1a904b11fdba9501", + "rev": "d3bb15ecec7c1386767c45776fab497e8a22a30f", "type": "github" }, "original": { @@ -3585,21 +3673,6 @@ } }, "systems_4": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, - "systems_5": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -3614,6 +3687,21 @@ "type": "github" } }, + "systems_5": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, "systems_6": { "locked": { "lastModified": 1681028828, @@ -3630,6 +3718,21 @@ } }, "systems_7": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_8": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -3644,7 +3747,7 @@ "type": "github" } }, - "systems_8": { + "systems_9": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -3665,14 +3768,14 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_8" + "systems": "systems_9" }, "locked": { - "lastModified": 1731244474, - "narHash": "sha256-Ra0jUTnV6KeODZkmG/x3RoV9OWvO4OaoLxzb7XTaEYg=", + "lastModified": 1735387776, + "narHash": "sha256-4s1V+melYSTBEZ4l1mUe6p7lfiIUoM1pnRWrNYtbhHs=", "ref": "refs/heads/main", - "rev": "24e23b8d5f268ca05fac42153c329c65d5c6a1d3", - "revCount": 32, + "rev": "8df9dfcc7e308ac35455d2d0529c32400b1b960b", + "revCount": 34, "type": "git", "url": "https://git.sr.ht/~canasta/tuirun" }, @@ -3781,6 +3884,31 @@ "type": "git", "url": "https://git.sr.ht/~canasta/zen-browser-flake" } + }, + "zig": { + "inputs": { + "flake-compat": [ + "ghostty" + ], + "flake-utils": "flake-utils", + "nixpkgs": [ + "ghostty", + "nixpkgs-stable" + ] + }, + "locked": { + "lastModified": 1735345735, + "narHash": "sha256-npV0buuzGZdrstAPJMXNlq1MyrnSigVGBG105khKhoI=", + "owner": "mitchellh", + "repo": "zig-overlay", + "rev": "7e09350be2e1622e125e734166edbfacdd8702af", + "type": "github" + }, + "original": { + "owner": "mitchellh", + "repo": "zig-overlay", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 3dba383d..07d1cb66 100644 --- a/flake.nix +++ b/flake.nix @@ -76,6 +76,8 @@ chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; # Miscellaneous + ghostty.url = "github:ghostty-org/ghostty"; + helix-flake.url = "github:helix-editor/helix"; nvf.url = "github:notashelf/nvf"; diff --git a/hosts/cnix/modules.nix b/hosts/cnix/modules.nix index 1bf822f6..7c85090a 100644 --- a/hosts/cnix/modules.nix +++ b/hosts/cnix/modules.nix @@ -69,6 +69,9 @@ gamescope = { enable = true; }; + ghostty = { + enable = true; + }; gimp = { enable = false; }; diff --git a/modules/default.nix b/modules/default.nix index 8e324e69..67593a19 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -67,6 +67,7 @@ ./nixos/programs/corectrl ./nixos/programs/gamemode ./nixos/programs/gamescope + ./nixos/programs/ghostty ./nixos/programs/gimp ./nixos/programs/gnome ./nixos/programs/hyprland diff --git a/modules/home/programs/discord/default.nix b/modules/home/programs/discord/default.nix index e9fce91e..1bc21a57 100644 --- a/modules/home/programs/discord/default.nix +++ b/modules/home/programs/discord/default.nix @@ -4,54 +4,72 @@ lib, ... }: let - inherit (lib) mkIf mkEnableOption; + inherit (lib) mkIf mkOption mkEnableOption types; cfg = config.home.programs.discord; in { options = { - home.programs.discord.enable = mkEnableOption "Enables discord"; + home.programs.discord = { + enable = mkEnableOption "Enables discord"; + variant = mkOption { + type = types.enum ["stable" "ptb" "canary" "vesktop"]; + default = "stable"; + description = "Preferred package version to use"; + }; + }; }; + config = mkIf cfg.enable { - home.packages = with pkgs; [vesktop]; + home.packages = let + variant = cfg.variant or "stable"; + in + if variant == "stable" + then [pkgs.discord] + else if variant == "ptb" + then [pkgs.discord-ptb] + else if variant == "canary" + then [pkgs.discord-canary] + else if variant == "vesktop" + then [pkgs.vesktop] + else throw "Unknown package variant: ${variant}"; - xdg.configFile."vesktop/themes/base16.css".text = - /* - css - */ - '' - /** - * @name Material Gruvbox - * @. - * @author Costeer - * @version 1.5.0 - * @website https://github.com/Costeer - * @source https://github.com/Costeer/Gruvbox-Material-Themes - */ - - @import url(https://mwittrien.github.io/BetterDiscordAddons/Themes/DiscordRecolor/DiscordRecolor.css); - - :root { - --accentcolor: 137, 180, 130; - --accentcolor2: 211, 134, 155; - --linkcolor: 125, 174, 163; - --mentioncolor: 211, 134, 155; - --textbrightest: 221, 199, 161; - --textbrighter: 212, 190, 152; - --textbright: 168, 153, 132; - --textdark: 146, 131, 116; - --textdarker: 146, 131, 116; - --textdarkest: 80, 80, 80; - --font: Input Sans Narrow; - --main-font: Input Sans Narrow; - --code-font: Input Mono Compressed; - --backgroundaccent: 80, 73, 69; - --backgroundprimary: 60, 56, 54; - --backgroundsecondary: 50, 48, 47; - --backgroundsecondaryalt: 40, 40, 40; - --backgroundtertiary: 29, 32, 33; - --backgroundfloating: 20, 22, 23; - --settingsicons: 1; - } - - ''; + xdg.configFile = mkIf (cfg.variant == "vesktop") { + "vesktop/themes/base16.css".text = + /* + css + */ + '' + /** + * @name Material Gruvbox + * @. + * @author Costeer + * @version 1.5.0 + * @website https://github.com/Costeer + * @source https://github.com/Costeer/Gruvbox-Material-Themes + */ + @import url(https://mwittrien.github.io/BetterDiscordAddons/Themes/DiscordRecolor/DiscordRecolor.css); + :root { + --accentcolor: 137, 180, 130; + --accentcolor2: 211, 134, 155; + --linkcolor: 125, 174, 163; + --mentioncolor: 211, 134, 155; + --textbrightest: 221, 199, 161; + --textbrighter: 212, 190, 152; + --textbright: 168, 153, 132; + --textdark: 146, 131, 116; + --textdarker: 146, 131, 116; + --textdarkest: 80, 80, 80; + --font: Input Sans Narrow; + --main-font: Input Sans Narrow; + --code-font: Input Mono Compressed; + --backgroundaccent: 80, 73, 69; + --backgroundprimary: 60, 56, 54; + --backgroundsecondary: 50, 48, 47; + --backgroundsecondaryalt: 40, 40, 40; + --backgroundtertiary: 29, 32, 33; + --backgroundfloating: 20, 22, 23; + --settingsicons: 1; + } + ''; + }; }; } diff --git a/modules/home/programs/hyprland/keybinds.nix b/modules/home/programs/hyprland/keybinds.nix index 1f13b67c..f17293b5 100644 --- a/modules/home/programs/hyprland/keybinds.nix +++ b/modules/home/programs/hyprland/keybinds.nix @@ -1,7 +1,6 @@ { lib, config, - pkgs, osConfig, ... }: let @@ -25,10 +24,10 @@ in { # Common Keybind Variables "$fileManager" = "thunar"; "$yazi" = "foot -e yazi"; - "$tuirun" = "uwsm app -- tuirun-toggle.sh"; + "$tuirun" = "tuirun-toggle.sh"; bind = [ - "$mod, SPACE, exec, $tuirun" + "$mod, SPACE, exec, tuirun" "$mod, R, exec, $tuirun" "$mod, L, exec, ${toggle "nwg-bar"}" "$mod SHIFT, B, exec, pkill -SIGUSR2 waybar" @@ -96,7 +95,7 @@ in { (mkIf (host == "cnix") { wayland.windowManager.hyprland.settings = { - "$terminal" = "alacritty"; + "$terminal" = "ghostty"; "$browser" = "zen"; "$browserinc" = "zen --private-window"; "$mod" = "SUPER"; diff --git a/modules/home/programs/misc/default.nix b/modules/home/programs/misc/default.nix index d183d929..cef020d5 100644 --- a/modules/home/programs/misc/default.nix +++ b/modules/home/programs/misc/default.nix @@ -21,7 +21,7 @@ in { }; # a monitor of resources btop = { - enable = true; + enable = false; package = pkgs.btop.override {rocmSupport = true;}; settings = { color_theme = "gruvbox_material_dark"; diff --git a/modules/home/programs/vesktop/default.nix b/modules/home/programs/vesktop/default.nix new file mode 100644 index 00000000..e9fce91e --- /dev/null +++ b/modules/home/programs/vesktop/default.nix @@ -0,0 +1,57 @@ +{ + pkgs, + config, + lib, + ... +}: let + inherit (lib) mkIf mkEnableOption; + cfg = config.home.programs.discord; +in { + options = { + home.programs.discord.enable = mkEnableOption "Enables discord"; + }; + config = mkIf cfg.enable { + home.packages = with pkgs; [vesktop]; + + xdg.configFile."vesktop/themes/base16.css".text = + /* + css + */ + '' + /** + * @name Material Gruvbox + * @. + * @author Costeer + * @version 1.5.0 + * @website https://github.com/Costeer + * @source https://github.com/Costeer/Gruvbox-Material-Themes + */ + + @import url(https://mwittrien.github.io/BetterDiscordAddons/Themes/DiscordRecolor/DiscordRecolor.css); + + :root { + --accentcolor: 137, 180, 130; + --accentcolor2: 211, 134, 155; + --linkcolor: 125, 174, 163; + --mentioncolor: 211, 134, 155; + --textbrightest: 221, 199, 161; + --textbrighter: 212, 190, 152; + --textbright: 168, 153, 132; + --textdark: 146, 131, 116; + --textdarker: 146, 131, 116; + --textdarkest: 80, 80, 80; + --font: Input Sans Narrow; + --main-font: Input Sans Narrow; + --code-font: Input Mono Compressed; + --backgroundaccent: 80, 73, 69; + --backgroundprimary: 60, 56, 54; + --backgroundsecondary: 50, 48, 47; + --backgroundsecondaryalt: 40, 40, 40; + --backgroundtertiary: 29, 32, 33; + --backgroundfloating: 20, 22, 23; + --settingsicons: 1; + } + + ''; + }; +} diff --git a/modules/nixos/boot/kernel/default.nix b/modules/nixos/boot/kernel/default.nix index cff1060d..c419cfe9 100644 --- a/modules/nixos/boot/kernel/default.nix +++ b/modules/nixos/boot/kernel/default.nix @@ -4,31 +4,31 @@ config, ... }: let - inherit (lib) mkOption mkIf; + inherit (lib) mkOption types; cfg = config.nixos.boot.kernel; in { options = { nixos.boot.kernel = { variant = mkOption { - type = lib.types.enum ["stable" "latest" "cachyos"]; + type = types.enum ["stable" "latest" "cachyos"]; default = "latest"; description = "Kernel variant to use."; }; hardware = mkOption { - type = lib.types.enum ["amd" "nvidia"]; + type = types.enum ["amd" "nvidia"]; default = "amd"; description = "Hardware type (GPU) configuration."; }; extraKernelParams = mkOption { - type = lib.types.listOf lib.types.str; + type = types.listOf lib.types.str; default = []; description = "Additional kernel parameters."; }; extraBlacklistedModules = mkOption { - type = lib.types.listOf lib.types.str; + type = types.listOf lib.types.str; default = []; description = "Additional kernel nixos.to blacklist."; }; diff --git a/modules/nixos/hardware/graphics/amd/default.nix b/modules/nixos/hardware/graphics/amd/default.nix index 82de7231..81601c12 100644 --- a/modules/nixos/hardware/graphics/amd/default.nix +++ b/modules/nixos/hardware/graphics/amd/default.nix @@ -50,7 +50,7 @@ in { vulkan-tools wayland wayland-protocols - rocmPackages.rocm-smi + # rocmPackages.rocm-smi ]; }) @@ -88,13 +88,13 @@ in { }; environment.systemPackages = with pkgs; [ vulkanPackages_latest.vulkan-tools - vulkanPackages_latest.vulkan-tools-lunarg + # vulkanPackages_latest.vulkan-tools-lunarg vulkanPackages_latest.gfxreconstruct vulkanPackages_latest.spirv-cross wayland-protocols_git wayland_git scx.rustscheds - rocmPackages.rocm-smi + # rocmPackages.rocm-smi libGL ]; }) diff --git a/modules/nixos/programs/ghostty/default.nix b/modules/nixos/programs/ghostty/default.nix new file mode 100644 index 00000000..adff564d --- /dev/null +++ b/modules/nixos/programs/ghostty/default.nix @@ -0,0 +1,16 @@ +{ + config, + lib, + inputs, + ... +}: let + inherit (lib) mkIf mkEnableOption; + cfg = config.nixos.programs.ghostty; +in { + options = { + nixos.programs.ghostty.enable = mkEnableOption "Enables ghostty"; + }; + config = mkIf cfg.enable { + environment.systemPackages = [inputs.ghostty.packages.x86_64-linux.default]; + }; +} diff --git a/modules/nixos/programs/lutris/default.nix b/modules/nixos/programs/lutris/default.nix index 50a51b5e..9a7b186d 100644 --- a/modules/nixos/programs/lutris/default.nix +++ b/modules/nixos/programs/lutris/default.nix @@ -13,7 +13,6 @@ in { config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ lutris - bottles ]; }; } diff --git a/scripts/bin/tuirun-toggle.sh b/scripts/bin/tuirun-toggle.sh index c377e628..fe8825fa 100755 --- a/scripts/bin/tuirun-toggle.sh +++ b/scripts/bin/tuirun-toggle.sh @@ -1,13 +1,11 @@ # Define TERMINAL if not set TERMINAL="${TERMINAL:-foot}" -# Path to the tuirun executable -TUIRUN_PATH="/etc/profiles/per-user/$USER/bin/tuirun" - # Use absolute paths for commands PGREP="/run/current-system/sw/bin/pgrep" PKILL="/run/current-system/sw/bin/pkill" -HYPRCTL="/etc/profiles/per-user/$USER/bin/hyprctl" +UWSM="/run/current-system/sw/bin/uwsm" +TUIRUN_PATH="/etc/profiles/per-user/$USER/bin/tuirun" # Determine OPTIONS based on TERMINAL if [ "$TERMINAL" = "foot" ]; then @@ -20,17 +18,20 @@ fi # Matching pattern for the process MATCH_PATTERN="$TERMINAL --title tuirun" - if "$PGREP" -f "$MATCH_PATTERN" >/dev/null; then + echo "$(date): Killing existing process" "$PKILL" -f "$MATCH_PATTERN" else - # Construct the command - CMD="$TERMINAL --title tuirun" + # Log the environment for debugging + env >/tmp/script_env.txt + # Construct the command as an array for proper argument handling + CMD=("$TERMINAL" "--title" "tuirun") if [ -n "$OPTIONS" ]; then - CMD="$CMD $OPTIONS" + CMD+=("$OPTIONS") fi - CMD="$CMD -e $TUIRUN_PATH" + CMD+=("-e" "$TUIRUN_PATH") - # Launch the terminal with OPTIONS - "$HYPRCTL" dispatch exec "$CMD" + echo "$(date): Executing command: ${CMD[*]}" + # Use eval to expand the command or pass the arguments directly + "$UWSM" app -- "${CMD[@]}" fi diff --git a/scripts/bin/tuirun-toggle.shbak b/scripts/bin/tuirun-toggle.shbak new file mode 100755 index 00000000..55b0f1cf --- /dev/null +++ b/scripts/bin/tuirun-toggle.shbak @@ -0,0 +1,33 @@ +# Define TERMINAL if not set +TERMINAL="${TERMINAL:-foot}" + +# Use absolute paths for commands +PGREP="/run/current-system/sw/bin/pgrep" +PKILL="/run/current-system/sw/bin/pkill" +HYPRCTL="/etc/profiles/per-user/$USER/bin/hyprctl" +TUIRUN_PATH="/etc/profiles/per-user/$USER/bin/tuirun" + +# Determine OPTIONS based on TERMINAL +if [ "$TERMINAL" = "foot" ]; then + OPTIONS="--override=main.pad=0x0" +elif [ "$TERMINAL" = "alacritty" ]; then + OPTIONS="--option window.padding.x=0 --option window.padding.y=0" +else + OPTIONS="" +fi + +# Matching pattern for the process +MATCH_PATTERN="$TERMINAL --title tuirun" +if "$PGREP" -f "$MATCH_PATTERN" >/dev/null; then + "$PKILL" -f "$MATCH_PATTERN" +else + # Construct the command + CMD="$TERMINAL --title tuirun" + if [ -n "$OPTIONS" ]; then + CMD="$CMD $OPTIONS" + fi + # Use login shell to ensure proper environment + CMD="$CMD -e $SHELL -l -c '$TUIRUN_PATH'" + # Launch the terminal with OPTIONS + "$HYPRCTL" dispatch exec "$CMD" +fi diff --git a/scripts/default.nix b/scripts/default.nix index 4350ecd5..53940359 100644 --- a/scripts/default.nix +++ b/scripts/default.nix @@ -23,16 +23,21 @@ in { ".local/bin/tuirun-toggle.sh" = { source = getExe (pkgs.writeShellApplication { name = "tuirun-toggle"; - runtimeInputs = with pkgs; [hyprland]; + runtimeInputs = with pkgs; [hyprland uwsm]; text = readFile ./bin/tuirun-toggle.sh; }); }; - ".local/bin/tuirun-debug.sh" = { + ".local/bin/tuirun-debugger.sh" = { source = getExe (pkgs.writeShellApplication { - name = "tuirun-debug"; + name = "tuirun-debugger"; runtimeInputs = with pkgs; [hyprland]; - text = readFile ./bin/tuirun-debug.sh; + text = '' + # Save environment to file + env > /tmp/tuirun-env.txt + # Run tuirun + /etc/profiles/per-user/cnst/bin/tuirun + ''; }); }; diff --git a/users/cnst/modules.nix b/users/cnst/modules.nix index 53371e9d..e7cf07a2 100644 --- a/users/cnst/modules.nix +++ b/users/cnst/modules.nix @@ -38,6 +38,7 @@ }; discord = { enable = true; + variant = "ptb"; }; eza = { enable = true;