diff --git a/common/zed/default.nix b/common/zed/default.nix new file mode 100644 index 0000000..ab3028b --- /dev/null +++ b/common/zed/default.nix @@ -0,0 +1,23 @@ +{ + pkgs, + config, + lib, + ... +}: let + inherit (lib) mkEnableOption mkIf; + cfg = config.my.zed; +in { + options.my.zed = { + enable = mkEnableOption "zed"; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + # Nix Language Support + alejandra + nil + + unstable.zed-editor-fhs + ]; + }; +} diff --git a/flake.lock b/flake.lock index 6484ba6..c2a8c59 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1736955230, - "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=", + "lastModified": 1745630506, + "narHash": "sha256-bHCFgGeu8XjWlVuaWzi3QONjDW3coZDqSHvnd4l7xus=", "owner": "ryantm", "repo": "agenix", - "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c", + "rev": "96e078c646b711aee04b82ba01aefbff87004ded", "type": "github" }, "original": { @@ -71,11 +71,11 @@ ] }, "locked": { - "lastModified": 1700795494, - "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=", + "lastModified": 1744478979, + "narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d", + "rev": "43975d782b418ebf4969e9ccba82466728c2851b", "type": "github" }, "original": { @@ -226,11 +226,11 @@ ] }, "locked": { - "lastModified": 1703113217, - "narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=", + "lastModified": 1745494811, + "narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=", "owner": "nix-community", "repo": "home-manager", - "rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1", + "rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be", "type": "github" }, "original": { @@ -246,11 +246,11 @@ ] }, "locked": { - "lastModified": 1744117652, - "narHash": "sha256-t7dFCDl4vIOOUMhEZnJF15aAzkpaup9x4ZRGToDFYWI=", + "lastModified": 1746171682, + "narHash": "sha256-EyXUNSa+H+YvGVuQJP1nZskXAowxKYp79RNUsNdQTj4=", "owner": "rycee", "repo": "home-manager", - "rev": "b4e98224ad1336751a2ac7493967a4c9f6d9cb3f", + "rev": "50eee705bbdbac942074a8c120e8194185633675", "type": "github" }, "original": { @@ -274,27 +274,27 @@ ] }, "locked": { - "lastModified": 1729958008, - "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", + "lastModified": 1737371634, + "narHash": "sha256-fTVAWzT1UMm1lT+YxHuVPtH+DATrhYfea3B0MxG/cGw=", "owner": "NuschtOS", "repo": "ixx", - "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", + "rev": "a1176e2a10ce745ff8f63e4af124ece8fe0b1648", "type": "github" }, "original": { "owner": "NuschtOS", - "ref": "v0.0.6", + "ref": "v0.0.7", "repo": "ixx", "type": "github" } }, "master": { "locked": { - "lastModified": 1744565079, - "narHash": "sha256-CKIOOym+GRbvtQXGomThhh521ryVl63UNx/XpcvjhAQ=", + "lastModified": 1746825093, + "narHash": "sha256-LAJzhgg1nKvyEGWvg4HGM6zlLJ1b+g34Z5IpEXcgRS8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b3d1b70c947078b7084763752f80779b8552633c", + "rev": "710e189c6e3d4a8d04fd040b70353819c541080a", "type": "github" }, "original": { @@ -309,11 +309,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1744514450, - "narHash": "sha256-aIBU8F+dDpdHx5oQEdCu48/IlXYgvpv0ZG+MlkqaDh0=", + "lastModified": 1746755975, + "narHash": "sha256-4YQ/jq1vZrjngu0DDJmYaJW7Jh4IEPiHvrLvlBkvWmk=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "130a15b9c4231ec0dc59e13453ac96c8ab4cdc5d", + "rev": "6e320439558ef494b83d6407b0c6f2218e47522a", "type": "github" }, "original": { @@ -328,11 +328,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1744290088, - "narHash": "sha256-/X9XVEl0EiyisNbF5srrxXRSVoRqdwExuqyspYqqEjQ=", + "lastModified": 1746453552, + "narHash": "sha256-r66UGha+7KVHkI7ksrcMjnw/mm9Sg4l5bQlylxHwdGU=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "60b4904a1390ac4c89e93d95f6ed928975e525ed", + "rev": "be618645aa0adf461f778500172b6896d5ab2d01", "type": "github" }, "original": { @@ -375,17 +375,17 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1740547748, - "narHash": "sha256-Ly2fBL1LscV+KyCqPRufUBuiw+zmWrlJzpWOWbahplg=", + "lastModified": 1744868846, + "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3a05eebede89661660945da1f151959900903b6a", + "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", "type": "github" }, "original": { "owner": "NixOS", "repo": "nixpkgs", - "rev": "3a05eebede89661660945da1f151959900903b6a", + "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", "type": "github" } }, @@ -407,11 +407,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1744440957, - "narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=", + "lastModified": 1746557022, + "narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d", + "rev": "1d3aeb5a193b9ff13f63f4d9cc169fb88129f860", "type": "github" }, "original": { @@ -422,11 +422,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1744463964, - "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", + "lastModified": 1746663147, + "narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", + "rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54", "type": "github" }, "original": { @@ -438,11 +438,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1736320768, - "narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=", + "lastModified": 1744536153, + "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4bc9c909d9ac828a039f288cf872d16d38185db8", + "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", "type": "github" }, "original": { @@ -454,11 +454,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1735554305, - "narHash": "sha256-zExSA1i/b+1NMRhGGLtNfFGXgLtgo+dcuzHzaWA6w3Q=", + "lastModified": 1745377448, + "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0e82ab234249d8eee3e8c91437802b32c74bb3fd", + "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", "type": "github" }, "original": { @@ -477,11 +477,11 @@ "nuschtosSearch": "nuschtosSearch" }, "locked": { - "lastModified": 1744564986, - "narHash": "sha256-IJlf1i1GnBHCWzn73eT0O9QjZ6WatnZH8lOeue0i93s=", + "lastModified": 1746822201, + "narHash": "sha256-XAt4FgViCT9kcSkODQUcbQ8JejjjbTGcMVGIP+7o7YE=", "owner": "nix-community", "repo": "nixvim", - "rev": "16879e3034fae2924b0c68422b80f2e63878af71", + "rev": "1b1e43a36e4f701fb2fc870c322373579936f739", "type": "github" }, "original": { @@ -497,11 +497,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1744563074, - "narHash": "sha256-SKi/J72Y0u5KtIMCYWbOhfgPNvhnUcqB4/qKQHFLr+g=", + "lastModified": 1746819918, + "narHash": "sha256-ONwwPLlsoIuTN3NLFCVL9eAr9yFyweMurxXZ6R97Lxw=", "owner": "nix-community", "repo": "NUR", - "rev": "8dc2190dc6082e15c3825163b0d449c15159a0bf", + "rev": "1470795ec7d4bdd9d0bd5b9f83e403fe858294ad", "type": "github" }, "original": { @@ -520,11 +520,11 @@ ] }, "locked": { - "lastModified": 1743683223, - "narHash": "sha256-LdXtHFvhEC3S64dphap1pkkzwjErbW65eH1VRerCUT0=", + "lastModified": 1745046075, + "narHash": "sha256-8v4y6k16Ra/fiecb4DxhsoOGtzLKgKlS+9/XJ9z0T2I=", "owner": "NuschtOS", "repo": "search", - "rev": "56a49ffef2908dad1e9a8adef1f18802bc760962", + "rev": "066afe8643274470f4a294442aadd988356a478f", "type": "github" }, "original": { @@ -549,7 +549,8 @@ "rust-overlay": "rust-overlay", "treefmt-nix": "treefmt-nix_2", "unstable": "unstable", - "utils": "utils" + "utils": "utils", + "zen-browser": "zen-browser" } }, "rust-overlay": { @@ -557,11 +558,11 @@ "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1744513456, - "narHash": "sha256-NLVluTmK8d01Iz+WyarQhwFcXpHEwU7m5hH3YQQFJS0=", + "lastModified": 1746758179, + "narHash": "sha256-JECUw1YBEsTsVauvupRzE5ykZaJoyhHCpoY87ZZJGas=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "730fd8e82799219754418483fabe1844262fd1e2", + "rev": "4fd00513eac6b6140c5dced3e1b8133e2369a0f8", "type": "github" }, "original": { @@ -656,11 +657,11 @@ "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1743748085, - "narHash": "sha256-uhjnlaVTWo5iD3LXics1rp9gaKgDRQj6660+gbUU3cE=", + "lastModified": 1746216483, + "narHash": "sha256-4h3s1L/kKqt3gMDcVfN8/4v2jqHrgLIe4qok4ApH5x4=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "815e4121d6a5d504c0f96e5be2dd7f871e4fd99d", + "rev": "29ec5026372e0dec56f890e50dbe4f45930320fd", "type": "github" }, "original": { @@ -671,11 +672,11 @@ }, "unstable": { "locked": { - "lastModified": 1744463964, - "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", + "lastModified": 1746663147, + "narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", + "rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54", "type": "github" }, "original": { @@ -701,6 +702,26 @@ "repo": "flake-utils", "type": "github" } + }, + "zen-browser": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1746763614, + "narHash": "sha256-tfBsztz6aUcfIFK8Sewn44mkMXZs8rRQfmHBjVhkUBM=", + "owner": "youwen5", + "repo": "zen-browser-flake", + "rev": "154aa27229783bca87c3ea3ac4ef32ab9b99cdb6", + "type": "github" + }, + "original": { + "owner": "youwen5", + "repo": "zen-browser-flake", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 8b5883a..d3c03f4 100644 --- a/flake.nix +++ b/flake.nix @@ -26,6 +26,10 @@ url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "unstable"; }; + zen-browser = { + url = "github:youwen5/zen-browser-flake"; + inputs.nixpkgs.follows = "nixpkgs"; + }; rust-overlay.url = "github:oxalica/rust-overlay"; nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions"; ags.url = "github:Aylur/ags"; diff --git a/machines/kitchen/configuration.nix b/machines/kitchen/configuration.nix index d036549..a2d1911 100644 --- a/machines/kitchen/configuration.nix +++ b/machines/kitchen/configuration.nix @@ -18,6 +18,7 @@ # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ + zen-browser wget ]; @@ -45,6 +46,8 @@ programs.zsh.enable = true; my.hyprland.enable = true; + my.platformio.enable = true; + my.zed.enable = true; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.michael = { diff --git a/nixos/hyprland/default.nix b/nixos/hyprland/default.nix index 4ab2178..444aff2 100644 --- a/nixos/hyprland/default.nix +++ b/nixos/hyprland/default.nix @@ -34,6 +34,7 @@ in { eog totem cheese + evince file-roller gnome-weather gnome-contacts diff --git a/nixos/hyprland/home.nix b/nixos/hyprland/home.nix index 3572484..659fe4b 100644 --- a/nixos/hyprland/home.nix +++ b/nixos/hyprland/home.nix @@ -44,7 +44,7 @@ in { # Program launcher "$mod, SPACE, exec, fuzzel" # Program shortcuts - "$mod, F, exec, firefox" + "$mod, F, exec, zen" "$mod, Q, killactive" "$mod, T, exec, foot" ", Print, exec, grimblast copy area" diff --git a/nixos/platformio/default.nix b/nixos/platformio/default.nix new file mode 100644 index 0000000..11137b4 --- /dev/null +++ b/nixos/platformio/default.nix @@ -0,0 +1,21 @@ +{ + pkgs, + lib, + config, + ... +}: let + cfg = config.my.platformio; +in { + options.my.platformio = { + enable = lib.mkEnableOption "platformio"; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + platformio + ]; + + # Enable udev for platformio + services.udev.packages = with pkgs; [platformio-core.udev]; + }; +} diff --git a/overlays/default.nix b/overlays/default.nix index f809da0..2c67e88 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -3,11 +3,16 @@ vscode-extensions = inputs.nix-vscode-extensions.overlays.default; # This one brings our custom packages from the 'pkgs' directory - additions = final: _prev: - import ../pkgs { - inherit (final) pkgs; - inherit inputs; - }; + additions = final: prev: + { + zen-browser = inputs.zen-browser.packages.${prev.system}.default; + } + // ( + import ../pkgs { + inherit (final) pkgs; + inherit inputs; + } + ); # This one contains whatever you want to overlay # You can change versions, add patches, set compilation flags, anything really. diff --git a/pkgs/nvim/config/default.nix b/pkgs/nvim/config/default.nix index ddfcb0b..7e35eba 100644 --- a/pkgs/nvim/config/default.nix +++ b/pkgs/nvim/config/default.nix @@ -21,7 +21,6 @@ ./git/lazygit.nix # ./git/neogit.nix - ./languages/nvim-jdtls.nix ./languages/nvim-lint.nix ./languages/typescript-tools-nvim.nix ./languages/treesitter/treesitter.nix diff --git a/pkgs/nvim/config/languages/nvim-jdtls.nix b/pkgs/nvim/config/languages/nvim-jdtls.nix deleted file mode 100644 index b3d4d0a..0000000 --- a/pkgs/nvim/config/languages/nvim-jdtls.nix +++ /dev/null @@ -1,81 +0,0 @@ -let - javaTestPath = "/nix/store/j3nvmhvj2pmnykw5pbm51dn0bz4cv6j3-vscode-extension-vscjava-vscode-java-test-0.38.2023032402/share/vscode/extensions/vscjava.vscode-java-test/server/com.microsoft.java.test.plugin-0.38.2.jar - "; -in { - plugins.nvim-jdtls = { - enable = true; - cmd = [ - "/nix/store/20h2hjjm94gbskqhbwikbgxbblv1xpf2-jdt-language-server-1.31.0/bin/jdtls" - ]; - # configuration = "/path/to/configuration"; - data = "~/.cache/jdtls/workspace"; - settings = { - java = { - signatureHelp = true; - completion = true; - }; - }; - initOptions = { - bundles = [ - "/nix/store/b9ib40q36wxjl4xs5lng263lflz1fsi7-vscode-extension-vscjava-vscode-java-debug-0.49.2023032407/share/vscode/extensions/vscjava.vscode-java-debug/server/com.microsoft.java.debug.plugin-0.44.0.jar" - "${javaTestPath}" - ]; - }; - }; -} -# -# extraConfigLua = '' -# local jdtls = require("jdtls") -# local cmp_nvim_lsp = require("cmp_nvim_lsp") -# -# local root_dir = require("jdtls.setup").find_root({ "packageInfo" }, "Config") -# local home = os.getenv("HOME") -# local eclipse_workspace = home .. "/.local/share/eclipse/" .. vim.fn.fnamemodify(root_dir, ":p:h:t") -# -# local ws_folders_jdtls = {} -# if root_dir then -# local file = io.open(root_dir .. "/.bemol/ws_root_folders") -# if file then -# for line in file:lines() do -# table.insert(ws_folders_jdtls, "file://" .. line) -# end -# file:close() -# end -# end -# -# -- for completions -# local client_capabilities = vim.lsp.protocol.make_client_capabilities() -# local capabilities = cmp_nvim_lsp.default_capabilities(client_capabilities) -# -# local config = { -# capabilities = capabilities, -# cmd = { -# "${pkgs.jdt-language-server}/bin/jdt-language-server", -# "--jvm-arg=-javaagent:" .. home .. "/Developer/lombok.jar", -# "-data", -# eclipse_workspace, -# "--add-modules=ALL-SYSTEM", -# }, -# root_dir = root_dir, -# init_options = { -# workspaceFolders = ws_folders_jdtls, -# }, -# settings = { -# java = { -# signatureHelp = { enabled = true}, -# completion = { enabled = true }, -# }, -# }, -# on_attach = function(client, bufnr) -# local opts = { silent = true, buffer = bufnr } -# vim.keymap.set('n', "lo", jdtls.organize_imports, { desc = 'Organize imports', buffer = bufnr }) -# vim.keymap.set('n', "df", jdtls.test_class, opts) -# vim.keymap.set('n', "dn", jdtls.test_nearest_method, opts) -# vim.keymap.set('n', 'rv', jdtls.extract_variable_all, { desc = 'Extract variable', buffer = bufnr }) -# vim.keymap.set('n', 'rc', jdtls.extract_constant, { desc = 'Extract constant', buffer = bufnr }) -# end -# } -# -# jdtls.start_or_attach(config) -# ''; - diff --git a/pkgs/nvim/config/lsp/lsp.nix b/pkgs/nvim/config/lsp/lsp.nix index 9f46988..8d33ac9 100644 --- a/pkgs/nvim/config/lsp/lsp.nix +++ b/pkgs/nvim/config/lsp/lsp.nix @@ -63,12 +63,13 @@ enable = true; package = pkgs.vue-language-server; tslsIntegration = true; - rootDir = ''require("lspconfig.util").root_pattern("src/App.vue")''; + rootMarkers = [ + ''require("lspconfig.util").root_pattern("src/App.vue")'' + ]; }; svelte = {enable = true;}; eslint = {enable = true;}; pyright = {enable = true;}; - ruff_lsp = {enable = true;}; rust_analyzer = { enable = true;