From cdafce17bc7eab18e4b18261dc5aedbd988db17c Mon Sep 17 00:00:00 2001 From: jacekpoz Date: Fri, 8 Sep 2023 16:10:15 +0200 Subject: [PATCH] feat: huge --- flake.lock | 2323 +++++++++++++++-- flake.nix | 12 +- homes/chmura/default.nix | 38 - homes/default.nix | 21 - homes/jacek/cli/git.nix | 22 - homes/jacek/cli/starship.nix | 24 - homes/jacek/cli/zoxide.nix | 11 - homes/jacek/cli/zsh.nix | 54 - homes/jacek/default.nix | 184 -- homes/jacek/gui/eww/config/eww.scss | 54 - homes/jacek/gui/eww/config/eww.yuck | 75 - homes/jacek/gui/firefox.nix | 333 --- homes/jacek/gui/foot.nix | 110 - homes/jacek/gui/gtk.nix | 42 - homes/jacek/gui/hypr.nix | 300 --- homes/jacek/gui/mpv.nix | 27 - homes/jacek/gui/qt.nix | 57 - homes/jacek/gui/rofi.nix | 14 - homes/jacek/gui/swaylock.nix | 58 - homes/jacek/gui/waybar.nix | 527 ---- homes/jacek/other/xdg.nix | 58 - homes/jacek/services/dunst.nix | 88 - homes/jacek/tui/btop.nix | 22 - homes/jacek/tui/helix.nix | 52 - homes/jacek/tui/neovim/default.nix | 116 - hosts/chmura/ankisyncd.nix | 6 +- hosts/chmura/conduit.nix | 1 - hosts/chmura/configuration.nix | 10 +- hosts/chmura/freshrss.nix | 25 + hosts/chmura/grafana.nix | 7 +- hosts/chmura/home-manager.nix | 115 + hosts/chmura/i2pd.nix | 6 +- hosts/chmura/minecraft/default.nix | 1 - hosts/chmura/transmission.nix | 12 + hosts/default.nix | 36 +- hosts/niks/configuration.nix | 141 +- hosts/niks/default.nix | 1 + hosts/niks/greetd.nix | 24 +- hosts/niks/hardware-configuration.nix | 5 + hosts/niks/home-manager.nix | 213 ++ hosts/niks/pipewire.nix | 3 +- hosts/niks/ssh/default.nix | 44 +- hosts/niks/ssh/ssh-agent.nix | 1 - hosts/niks/waydroid.nix | 6 +- {homes/jacek => modules}/cli/default.nix | 1 - modules/cli/git.nix | 25 + modules/cli/starship.nix | 18 + modules/cli/zsh.nix | 64 + {homes/jacek => modules}/gui/anyrun.nix | 69 +- {homes/jacek => modules}/gui/default.nix | 3 +- modules/gui/eww/config/eww.scss | 43 + modules/gui/eww/config/eww.yuck | 126 + {homes/jacek => modules}/gui/eww/default.nix | 1 - modules/gui/firefox.nix | 469 ++++ modules/gui/foot.nix | 106 + modules/gui/gtk.nix | 39 + modules/gui/hypr.nix | 303 +++ modules/gui/mpv.nix | 24 + modules/gui/qt.nix | 53 + modules/gui/rofi.nix | 11 + modules/gui/swaylock.nix | 55 + modules/gui/waybar.nix | 543 ++++ modules/gui/zathura.nix | 19 + {homes/jacek => modules}/other/default.nix | 0 modules/other/xdg.nix | 52 + {homes/jacek => modules}/services/default.nix | 1 + modules/services/dunst.nix | 85 + modules/services/mpd.nix | 26 + modules/tui/btop.nix | 17 + {homes/jacek => modules}/tui/default.nix | 2 +- modules/tui/helix.nix | 87 + modules/tui/neovim/default.nix | 184 ++ .../neovim/lua/after/ftplugin/PKGBUILD.lua | 0 .../tui/neovim/lua/after/ftplugin/html.lua | 0 .../neovim/lua/after/ftplugin/makefile.lua | 0 .../tui/neovim/lua/after/ftplugin/nix.lua | 0 .../tui/neovim/lua/after/ftplugin/svelte.lua | 0 .../jacek => modules}/tui/neovim/lua/init.lua | 0 .../tui/neovim/lua/lua/.luarc.json | 0 .../tui/neovim/lua/lua/dap_conf.lua | 0 .../tui/neovim/lua/lua/diagnostic.lua | 0 .../tui/neovim/lua/lua/global.lua | 0 .../tui/neovim/lua/lua/keymap.lua | 0 .../tui/neovim/lua/lua/lsp.lua | 0 .../tui/neovim/lua/lua/opts.lua | 0 .../tui/neovim/lua/lua/plugins.lua | 0 86 files changed, 5091 insertions(+), 2614 deletions(-) delete mode 100644 homes/chmura/default.nix delete mode 100644 homes/default.nix delete mode 100644 homes/jacek/cli/git.nix delete mode 100644 homes/jacek/cli/starship.nix delete mode 100644 homes/jacek/cli/zoxide.nix delete mode 100644 homes/jacek/cli/zsh.nix delete mode 100644 homes/jacek/default.nix delete mode 100644 homes/jacek/gui/eww/config/eww.scss delete mode 100644 homes/jacek/gui/eww/config/eww.yuck delete mode 100644 homes/jacek/gui/firefox.nix delete mode 100644 homes/jacek/gui/foot.nix delete mode 100644 homes/jacek/gui/gtk.nix delete mode 100644 homes/jacek/gui/hypr.nix delete mode 100644 homes/jacek/gui/mpv.nix delete mode 100644 homes/jacek/gui/qt.nix delete mode 100644 homes/jacek/gui/rofi.nix delete mode 100644 homes/jacek/gui/swaylock.nix delete mode 100644 homes/jacek/gui/waybar.nix delete mode 100644 homes/jacek/other/xdg.nix delete mode 100644 homes/jacek/services/dunst.nix delete mode 100644 homes/jacek/tui/btop.nix delete mode 100644 homes/jacek/tui/helix.nix delete mode 100644 homes/jacek/tui/neovim/default.nix create mode 100644 hosts/chmura/freshrss.nix create mode 100644 hosts/chmura/home-manager.nix create mode 100644 hosts/chmura/transmission.nix create mode 100644 hosts/niks/home-manager.nix rename {homes/jacek => modules}/cli/default.nix (80%) create mode 100644 modules/cli/git.nix create mode 100644 modules/cli/starship.nix create mode 100644 modules/cli/zsh.nix rename {homes/jacek => modules}/gui/anyrun.nix (52%) rename {homes/jacek => modules}/gui/default.nix (91%) create mode 100644 modules/gui/eww/config/eww.scss create mode 100644 modules/gui/eww/config/eww.yuck rename {homes/jacek => modules}/gui/eww/default.nix (94%) create mode 100644 modules/gui/firefox.nix create mode 100644 modules/gui/foot.nix create mode 100644 modules/gui/gtk.nix create mode 100644 modules/gui/hypr.nix create mode 100644 modules/gui/mpv.nix create mode 100644 modules/gui/qt.nix create mode 100644 modules/gui/rofi.nix create mode 100644 modules/gui/swaylock.nix create mode 100644 modules/gui/waybar.nix create mode 100644 modules/gui/zathura.nix rename {homes/jacek => modules}/other/default.nix (100%) create mode 100644 modules/other/xdg.nix rename {homes/jacek => modules}/services/default.nix (73%) create mode 100644 modules/services/dunst.nix create mode 100644 modules/services/mpd.nix create mode 100644 modules/tui/btop.nix rename {homes/jacek => modules}/tui/default.nix (100%) create mode 100644 modules/tui/helix.nix create mode 100644 modules/tui/neovim/default.nix rename {homes/jacek => modules}/tui/neovim/lua/after/ftplugin/PKGBUILD.lua (100%) rename {homes/jacek => modules}/tui/neovim/lua/after/ftplugin/html.lua (100%) rename {homes/jacek => modules}/tui/neovim/lua/after/ftplugin/makefile.lua (100%) rename {homes/jacek => modules}/tui/neovim/lua/after/ftplugin/nix.lua (100%) rename {homes/jacek => modules}/tui/neovim/lua/after/ftplugin/svelte.lua (100%) rename {homes/jacek => modules}/tui/neovim/lua/init.lua (100%) rename {homes/jacek => modules}/tui/neovim/lua/lua/.luarc.json (100%) rename {homes/jacek => modules}/tui/neovim/lua/lua/dap_conf.lua (100%) rename {homes/jacek => modules}/tui/neovim/lua/lua/diagnostic.lua (100%) rename {homes/jacek => modules}/tui/neovim/lua/lua/global.lua (100%) rename {homes/jacek => modules}/tui/neovim/lua/lua/keymap.lua (100%) rename {homes/jacek => modules}/tui/neovim/lua/lua/lsp.lua (100%) rename {homes/jacek => modules}/tui/neovim/lua/lua/opts.lua (100%) rename {homes/jacek => modules}/tui/neovim/lua/lua/plugins.lua (100%) diff --git a/flake.lock b/flake.lock index e6615e13..2d13bb2f 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "alpha-nvim": { + "flake": false, + "locked": { + "lastModified": 1689470865, + "narHash": "sha256-wgjYus4XlJ0GoQWTo5gf7yyKYhseOXKOqUXEiwXpEJQ=", + "owner": "goolord", + "repo": "alpha-nvim", + "rev": "e4fc5e29b731bdf55d204c5c6a11dc3be70f3b65", + "type": "github" + }, + "original": { + "owner": "goolord", + "repo": "alpha-nvim", + "type": "github" + } + }, "anyrun": { "inputs": { "flake-parts": "flake-parts", @@ -8,11 +24,11 @@ ] }, "locked": { - "lastModified": 1692163593, - "narHash": "sha256-op0O4XCjUA6cZ46dOxIUe5aADElLgQ4iGghwGneJcew=", + "lastModified": 1692476235, + "narHash": "sha256-NGUDp/24HCIVWE0xZNHIdzz3q2WDk7MQz1wC7ub/e2U=", "owner": "Kirottu", "repo": "anyrun", - "rev": "ca77298d465b76c9feb1501e5c1eb999553fa9c1", + "rev": "76af3eb198f376303194c31a83f2399a043acf1b", "type": "github" }, "original": { @@ -21,6 +37,22 @@ "type": "github" } }, + "bufdelete-nvim": { + "flake": false, + "locked": { + "lastModified": 1688027130, + "narHash": "sha256-UubYRfRAXZ89WOc3QFMvAMjNjLW6bV4nDgSa1CRZkIM=", + "owner": "famiu", + "repo": "bufdelete.nvim", + "rev": "07d1f8ba79dec59d42b975a4df1c732b2e4e37b4", + "type": "github" + }, + "original": { + "owner": "famiu", + "repo": "bufdelete.nvim", + "type": "github" + } + }, "cachix": { "locked": { "lastModified": 1635350005, @@ -37,6 +69,198 @@ "type": "github" } }, + "catppuccin": { + "flake": false, + "locked": { + "lastModified": 1690630440, + "narHash": "sha256-MSZcIrV3vvgb5mlMpO5uRlAYoENm2pZyuZbV5Q9Vg58=", + "owner": "catppuccin", + "repo": "nvim", + "rev": "057c34f849cf21059487d849e2f3b3efcd4ee0eb", + "type": "github" + }, + "original": { + "owner": "catppuccin", + "repo": "nvim", + "type": "github" + } + }, + "ccc": { + "flake": false, + "locked": { + "lastModified": 1686587775, + "narHash": "sha256-T1ryyTdbU/335MpD184PSnBLgj4S2Kzf9hZnwc9to+I=", + "owner": "uga-rosa", + "repo": "ccc.nvim", + "rev": "4a0ddaf787cc82796e84ab8a7f70d086f250aeb6", + "type": "github" + }, + "original": { + "owner": "uga-rosa", + "repo": "ccc.nvim", + "type": "github" + } + }, + "cellular-automaton": { + "flake": false, + "locked": { + "lastModified": 1674679594, + "narHash": "sha256-h4KQCf8+GbxWSyZzDny07YFZm7j+aSSfm51lsaK0Ers=", + "owner": "Eandrju", + "repo": "cellular-automaton.nvim", + "rev": "679943b8e1e5ef79aaeeaf4b00782c52eb4e928f", + "type": "github" + }, + "original": { + "owner": "Eandrju", + "repo": "cellular-automaton.nvim", + "type": "github" + } + }, + "cheatsheet-nvim": { + "flake": false, + "locked": { + "lastModified": 1640255456, + "narHash": "sha256-TYkGB7cON2t4GwMaR9H1MDG2j3btBv2AR37ade8kqTY=", + "owner": "sudormrfbin", + "repo": "cheatsheet.nvim", + "rev": "9716f9aaa94dd1fd6ce59b5aae0e5f25e2a463ef", + "type": "github" + }, + "original": { + "owner": "sudormrfbin", + "repo": "cheatsheet.nvim", + "type": "github" + } + }, + "cinnamon-nvim": { + "flake": false, + "locked": { + "lastModified": 1670143364, + "narHash": "sha256-JglXQhoPgN9sQ3yuv0+VQxmKMvoQTu5lbGLSRaQkytI=", + "owner": "declancm", + "repo": "cinnamon.nvim", + "rev": "c406ffda3a0302f32c23b24ab756ea20467d6578", + "type": "github" + }, + "original": { + "owner": "declancm", + "repo": "cinnamon.nvim", + "type": "github" + } + }, + "cmp-buffer": { + "flake": false, + "locked": { + "lastModified": 1660101488, + "narHash": "sha256-dG4U7MtnXThoa/PD+qFtCt76MQ14V1wX8GMYcvxEnbM=", + "owner": "hrsh7th", + "repo": "cmp-buffer", + "rev": "3022dbc9166796b644a841a02de8dd1cc1d311fa", + "type": "github" + }, + "original": { + "owner": "hrsh7th", + "repo": "cmp-buffer", + "type": "github" + } + }, + "cmp-nvim-lsp": { + "flake": false, + "locked": { + "lastModified": 1687494203, + "narHash": "sha256-mU0soCz79erJXMMqD/FyrJZ0mu2n6fE0deymPzQlxts=", + "owner": "hrsh7th", + "repo": "cmp-nvim-lsp", + "rev": "44b16d11215dce86f253ce0c30949813c0a90765", + "type": "github" + }, + "original": { + "owner": "hrsh7th", + "repo": "cmp-nvim-lsp", + "type": "github" + } + }, + "cmp-path": { + "flake": false, + "locked": { + "lastModified": 1664784283, + "narHash": "sha256-thppiiV3wjIaZnAXmsh7j3DUc6ceSCvGzviwFUnoPaI=", + "owner": "hrsh7th", + "repo": "cmp-path", + "rev": "91ff86cd9c29299a64f968ebb45846c485725f23", + "type": "github" + }, + "original": { + "owner": "hrsh7th", + "repo": "cmp-path", + "type": "github" + } + }, + "cmp-treesitter": { + "flake": false, + "locked": { + "lastModified": 1680745848, + "narHash": "sha256-WOcg6w4M20gpMCZjZ3DpPIA55SGLjV75fhckefiVfU0=", + "owner": "ray-x", + "repo": "cmp-treesitter", + "rev": "389eadd48c27aa6dc0e6b992644704f026802a2e", + "type": "github" + }, + "original": { + "owner": "ray-x", + "repo": "cmp-treesitter", + "type": "github" + } + }, + "cmp-vsnip": { + "flake": false, + "locked": { + "lastModified": 1669100283, + "narHash": "sha256-2mkN03noOr5vBvRbSb35xZKorSH+8savQNZtgM9+QcM=", + "owner": "hrsh7th", + "repo": "cmp-vsnip", + "rev": "989a8a73c44e926199bfd05fa7a516d51f2d2752", + "type": "github" + }, + "original": { + "owner": "hrsh7th", + "repo": "cmp-vsnip", + "type": "github" + } + }, + "codewindow-nvim": { + "flake": false, + "locked": { + "lastModified": 1690128662, + "narHash": "sha256-7ntC06PhxfuKnGyXpiW4juP3fWR97DH3Gygwvscv3OY=", + "owner": "gorbit99", + "repo": "codewindow.nvim", + "rev": "11fb5520898d22a563fe6a124a61c0d2887f3d3f", + "type": "github" + }, + "original": { + "owner": "gorbit99", + "repo": "codewindow.nvim", + "type": "github" + } + }, + "comment-nvim": { + "flake": false, + "locked": { + "lastModified": 1686546603, + "narHash": "sha256-XM9yhp+SGxfAOdN/eDunzM0TMoCJhVth3wpFKNCGf3g=", + "owner": "numToStr", + "repo": "Comment.nvim", + "rev": "176e85eeb63f1a5970d6b88f1725039d85ca0055", + "type": "github" + }, + "original": { + "owner": "numToStr", + "repo": "Comment.nvim", + "type": "github" + } + }, "conduit": { "inputs": { "crane": "crane", @@ -45,11 +269,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1691746062, - "narHash": "sha256-FVVnNxCS2DHdo8mvRVvWZx1n2IWbdRZg+/QScTARaIY=", + "lastModified": 1692800322, + "narHash": "sha256-v3Q5JUQK9CCKWkKvtDAWhN+XZGtC7wKVFtItxkiTlsA=", "owner": "famedly", "repo": "conduit", - "rev": "6dfb262ddff306b6712ac568aa4d84e9026f9bc9", + "rev": "90fea00dc78a50e50aa0ebc4f4d23d9324066922", "type": "gitlab" }, "original": { @@ -59,6 +283,38 @@ "type": "gitlab" } }, + "copilot-cmp": { + "flake": false, + "locked": { + "lastModified": 1683831407, + "narHash": "sha256-+MzEGnhlrYRvAfskOwmw69OC1CsPXt7s3z+xPe9XPqs=", + "owner": "zbirenbaum", + "repo": "copilot-cmp", + "rev": "c2cdb3c0f5078b0619055af192295830a7987790", + "type": "github" + }, + "original": { + "owner": "zbirenbaum", + "repo": "copilot-cmp", + "type": "github" + } + }, + "copilot-lua": { + "flake": false, + "locked": { + "lastModified": 1688190439, + "narHash": "sha256-lD9FdbKKZ6d/BjIfqp0Ust2hqSYNLpCFWxuaKUO9qLs=", + "owner": "zbirenbaum", + "repo": "copilot.lua", + "rev": "e48bd7020a98be217d85c006a298656294fd6210", + "type": "github" + }, + "original": { + "owner": "zbirenbaum", + "repo": "copilot.lua", + "type": "github" + } + }, "crane": { "inputs": { "flake-compat": "flake-compat", @@ -116,6 +372,135 @@ "type": "github" } }, + "crates-nvim": { + "flake": false, + "locked": { + "lastModified": 1688295570, + "narHash": "sha256-ah+fTmzkZn+xuL3sG2RxlCtDiFsRv3SY1iJzYKMIaMg=", + "owner": "Saecki", + "repo": "crates.nvim", + "rev": "4ce7c51b881e58f1e2f8f437f30e4e583cbac319", + "type": "github" + }, + "original": { + "owner": "Saecki", + "repo": "crates.nvim", + "type": "github" + } + }, + "dashboard-nvim": { + "flake": false, + "locked": { + "lastModified": 1690351087, + "narHash": "sha256-aVMugjgA9lnORUVDBpa8G800Ev86htP4hDGrBq6Sw6s=", + "owner": "glepnir", + "repo": "dashboard-nvim", + "rev": "c17d3210b3dec8798b4fc82a11c542989251f85d", + "type": "github" + }, + "original": { + "owner": "glepnir", + "repo": "dashboard-nvim", + "type": "github" + } + }, + "diffview-nvim": { + "flake": false, + "locked": { + "lastModified": 1689788060, + "narHash": "sha256-0tsgwI/qZm8Gj3NyN9CA+YHf3qim7vGXI+vbEcFBKbQ=", + "owner": "sindrets", + "repo": "diffview.nvim", + "rev": "e91110d2a7f8e2f667666aba6ea089ff823f8748", + "type": "github" + }, + "original": { + "owner": "sindrets", + "repo": "diffview.nvim", + "type": "github" + } + }, + "dirt-samples-src": { + "flake": false, + "locked": { + "lastModified": 1588278411, + "narHash": "sha256-h8vQxRym6QzNLOTZU7A43VCHuG0H77l+BFwXnC0L1CE=", + "owner": "tidalcycles", + "repo": "dirt-samples", + "rev": "66d432418c9a7d82cf049d9246adfa62f46df2a6", + "type": "github" + }, + "original": { + "owner": "tidalcycles", + "ref": "master", + "repo": "dirt-samples", + "type": "github" + } + }, + "dracula": { + "flake": false, + "locked": { + "lastModified": 1690594744, + "narHash": "sha256-gblqxRTphGBpEOx57/4oU/B50O0OguIm1bFtd4LXuQ4=", + "owner": "Mofiqul", + "repo": "dracula.nvim", + "rev": "9fe831e685a76e1a1898a694623b33247c4d036c", + "type": "github" + }, + "original": { + "owner": "Mofiqul", + "repo": "dracula.nvim", + "type": "github" + } + }, + "dressing-nvim": { + "flake": false, + "locked": { + "lastModified": 1690648598, + "narHash": "sha256-hndRErSXhX1BHM90nuhiZkgHwkclLEMv5vtF+GDzUP4=", + "owner": "stevearc", + "repo": "dressing.nvim", + "rev": "829bc80400651aea31b03d8fc9a99135512fe67a", + "type": "github" + }, + "original": { + "owner": "stevearc", + "repo": "dressing.nvim", + "type": "github" + } + }, + "elixir-ls": { + "flake": false, + "locked": { + "lastModified": 1690526097, + "narHash": "sha256-lR1xsOJhz0W/Z3E2EUWujpUvpgUkLLDr0E6Ao31zi8s=", + "owner": "elixir-lsp", + "repo": "elixir-ls", + "rev": "216ff0e2969c2bbe45d324c4d6a5f08e6b681f5e", + "type": "github" + }, + "original": { + "owner": "elixir-lsp", + "repo": "elixir-ls", + "type": "github" + } + }, + "elixir-tools": { + "flake": false, + "locked": { + "lastModified": 1690555653, + "narHash": "sha256-7wDEChXTUGp8ONT6jufIJp05vawzo4AXg35ELNLvysA=", + "owner": "elixir-tools", + "repo": "elixir-tools.nvim", + "rev": "883933b57c9150c71ad2b99a4080685d83e095b8", + "type": "github" + }, + "original": { + "owner": "elixir-tools", + "repo": "elixir-tools.nvim", + "type": "github" + } + }, "fenix": { "inputs": { "nixpkgs": [ @@ -146,11 +531,11 @@ "rust-analyzer-src": "rust-analyzer-src_2" }, "locked": { - "lastModified": 1692166827, - "narHash": "sha256-fcL/dmPkGUxf4H+agw8w00Y+CvIfYXxFuCXMyDVaoSI=", + "lastModified": 1694067629, + "narHash": "sha256-fUmpkM5z2CL81uHYnV77hsLbNJ53416z8yJ8pWEG5+Y=", "owner": "nix-community", "repo": "fenix", - "rev": "d6e23dc4f29e690a85e55b05478bd92fdfc68c63", + "rev": "4a2b238e9de609f5f04a0bd883771baa8a0a7165", "type": "github" }, "original": { @@ -159,6 +544,23 @@ "type": "github" } }, + "fidget-nvim": { + "flake": false, + "locked": { + "lastModified": 1686378433, + "narHash": "sha256-N3O/AvsD6Ckd62kDEN4z/K5A3SZNR15DnQeZhH6/Rr0=", + "owner": "j-hui", + "repo": "fidget.nvim", + "rev": "90c22e47be057562ee9566bad313ad42d622c1d3", + "type": "github" + }, + "original": { + "owner": "j-hui", + "ref": "legacy", + "repo": "fidget.nvim", + "type": "github" + } + }, "firefox-nightly": { "inputs": { "cachix": "cachix", @@ -169,11 +571,11 @@ ] }, "locked": { - "lastModified": 1692188388, - "narHash": "sha256-WNdpcLHiP3DvazAF9gF6wrPSHyZz/Mf/IKnl24Xfniw=", + "lastModified": 1694097261, + "narHash": "sha256-I8HbZ5L6CSqq5TBE2cHLeZR7oo6H4tJPRE1wtPzCgyw=", "owner": "colemickens", "repo": "flake-firefox-nightly", - "rev": "c39d4f82770b6d0c96ab7c2ef1e4baef89fd8511", + "rev": "8ad31f1acfb0a6d546fbc6c7f3f4b78d26bcede2", "type": "github" }, "original": { @@ -246,6 +648,22 @@ } }, "flake-compat_5": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_6": { "locked": { "lastModified": 1688025799, "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=", @@ -283,17 +701,14 @@ }, "flake-parts_2": { "inputs": { - "nixpkgs-lib": [ - "neovim-nightly-overlay", - "nixpkgs" - ] + "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1690933134, - "narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=", + "lastModified": 1688466019, + "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb", + "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", "type": "github" }, "original": { @@ -304,7 +719,28 @@ }, "flake-parts_3": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib" + "nixpkgs-lib": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1693611461, + "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_4": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { "lastModified": 1688466019, @@ -319,7 +755,7 @@ "type": "indirect" } }, - "flake-parts_4": { + "flake-parts_5": { "inputs": { "nixpkgs-lib": [ "neovim-nightly-overlay", @@ -342,30 +778,9 @@ "type": "github" } }, - "flake-parts_5": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_2" - }, - "locked": { - "lastModified": 1688254665, - "narHash": "sha256-8FHEgBrr7gYNiS/NzCxIO3m4hvtLRW9YY1nYo1ivm3o=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "267149c58a14d15f7f81b4d737308421de9d7152", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "flake-parts_6": { "inputs": { - "nixpkgs-lib": [ - "nixpak", - "nixpkgs" - ] + "nixpkgs-lib": "nixpkgs-lib_3" }, "locked": { "lastModified": 1690933134, @@ -382,6 +797,27 @@ } }, "flake-parts_7": { + "inputs": { + "nixpkgs-lib": [ + "nixpak", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1693611461, + "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_8": { "inputs": { "nixpkgs-lib": [ "nixpak", @@ -404,7 +840,7 @@ "type": "github" } }, - "flake-parts_8": { + "flake-parts_9": { "inputs": { "nixpkgs-lib": [ "nixpkgs-wayland", @@ -413,11 +849,11 @@ ] }, "locked": { - "lastModified": 1690933134, - "narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=", + "lastModified": 1693611461, + "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb", + "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", "type": "github" }, "original": { @@ -466,6 +902,39 @@ "inputs": { "systems": "systems_4" }, + "locked": { + "lastModified": 1689068808, + "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_5": { + "inputs": { + "systems": "systems_5" + }, "locked": { "lastModified": 1685518550, "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", @@ -480,16 +949,16 @@ "type": "github" } }, - "flake-utils_4": { + "flake-utils_6": { "inputs": { - "systems": "systems_5" + "systems": "systems_6" }, "locked": { - "lastModified": 1689068808, - "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", + "lastModified": 1692799911, + "narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=", "owner": "numtide", "repo": "flake-utils", - "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", + "rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44", "type": "github" }, "original": { @@ -498,6 +967,70 @@ "type": "github" } }, + "flutter-tools": { + "flake": false, + "locked": { + "lastModified": 1690188839, + "narHash": "sha256-h8s5g6KU7dMesDqiwzv2MmUGk6jlU5lBnuVA3LaoI1g=", + "owner": "akinsho", + "repo": "flutter-tools.nvim", + "rev": "561d85b16d8ca2938820a9c26b2fe74096d89c81", + "type": "github" + }, + "original": { + "owner": "akinsho", + "repo": "flutter-tools.nvim", + "type": "github" + } + }, + "gesture-nvim": { + "flake": false, + "locked": { + "lastModified": 1687655077, + "narHash": "sha256-ps/dAKIga2ZVunwj+KU/Iej4PGZbBvm5ZzcK30EiKMc=", + "owner": "notomo", + "repo": "gesture.nvim", + "rev": "aa273e7982943ac6ccf6b864f3fd40ad287a9fe2", + "type": "github" + }, + "original": { + "owner": "notomo", + "repo": "gesture.nvim", + "type": "github" + } + }, + "gitsigns-nvim": { + "flake": false, + "locked": { + "lastModified": 1690463120, + "narHash": "sha256-kraK0GP5aLGbh1eVZCm41D6BztjFxthSXGnE5CxhrZs=", + "owner": "lewis6991", + "repo": "gitsigns.nvim", + "rev": "5d73da785a3c05fd63ac31769079db05169a6ec7", + "type": "github" + }, + "original": { + "owner": "lewis6991", + "repo": "gitsigns.nvim", + "type": "github" + } + }, + "glow-nvim": { + "flake": false, + "locked": { + "lastModified": 1690579937, + "narHash": "sha256-ZDlQfSJHq9CbOpTDgmIoMq4gDzHxoUslFfN5XKtrDtM=", + "owner": "ellisonleao", + "repo": "glow.nvim", + "rev": "8942dfb05794f436af4fbc90a34393f1fd36f361", + "type": "github" + }, + "original": { + "owner": "ellisonleao", + "repo": "glow.nvim", + "type": "github" + } + }, "haskell-flake": { "locked": { "lastModified": 1684780604, @@ -538,11 +1071,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1692203287, - "narHash": "sha256-qJdU6fyR7bYFesnxqaNCKVLviWUJgI9OcRx2i9L79gw=", + "lastModified": 1694052600, + "narHash": "sha256-2bodTw6h6HjrEjUq00fWx9w6+jEsLKIWUv4NCTmQRR4=", "owner": "helix-editor", "repo": "helix", - "rev": "56ccaedffbb8011e36012278e2a4861a8d435a60", + "rev": "c0fd8bc61b4c1611a48312938aaf0e3121f393b1", "type": "github" }, "original": { @@ -553,9 +1086,9 @@ }, "hercules-ci-agent": { "inputs": { - "flake-parts": "flake-parts_4", + "flake-parts": "flake-parts_5", "haskell-flake": "haskell-flake", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_8" }, "locked": { "lastModified": 1688568579, @@ -572,9 +1105,9 @@ }, "hercules-ci-agent_2": { "inputs": { - "flake-parts": "flake-parts_7", + "flake-parts": "flake-parts_8", "haskell-flake": "haskell-flake_2", - "nixpkgs": "nixpkgs_7" + "nixpkgs": "nixpkgs_10" }, "locked": { "lastModified": 1688568579, @@ -591,7 +1124,7 @@ }, "hercules-ci-effects": { "inputs": { - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_4", "hercules-ci-agent": "hercules-ci-agent", "nixpkgs": [ "neovim-nightly-overlay", @@ -645,11 +1178,11 @@ ] }, "locked": { - "lastModified": 1692200694, - "narHash": "sha256-A8hHkA+sJ04Agvu9OoVJ3ouak1e2hze9Ev+c71oGLAk=", + "lastModified": 1694118552, + "narHash": "sha256-gXTw7oAb6hdwMXzt+loKvdWiI00CwqHvUgvWVOY+PoI=", "owner": "nix-community", "repo": "home-manager", - "rev": "9db5b89f40736943d017a761da044479044be182", + "rev": "f1d4f49e716df353eb7851b2eec4afe58aa3b697", "type": "github" }, "original": { @@ -658,16 +1191,32 @@ "type": "github" } }, + "hop-nvim": { + "flake": false, + "locked": { + "lastModified": 1684332066, + "narHash": "sha256-xdjFbdp0+S3pVdwcOFmad8PMUU033WeDzswOSdxSQjg=", + "owner": "phaazon", + "repo": "hop.nvim", + "rev": "03f0434869f1f38868618198b5f4f2ab6d39aef2", + "type": "github" + }, + "original": { + "owner": "phaazon", + "repo": "hop.nvim", + "type": "github" + } + }, "hyprcontrib": { "inputs": { "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1690635289, - "narHash": "sha256-ec77Yf7mqusmGkxrmYXEG4D0DqEcNRA3vFextWVQOVA=", + "lastModified": 1693997747, + "narHash": "sha256-W23nMGmDnyBgxO8O/9jcZtiSpa0taMNcRAD1das/ttw=", "owner": "hyprwm", "repo": "contrib", - "rev": "bef073cff65917ba2d888aa4dc39bd9868e2b0a4", + "rev": "5b67181fced4fb06d26afcf9614b35765c576168", "type": "github" }, "original": { @@ -685,11 +1234,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1692202599, - "narHash": "sha256-wxaOnVUn6h0xQOKCiuR6JpSaVmokVglQ4KTcm53bwhQ=", + "lastModified": 1694097781, + "narHash": "sha256-z2ctVzvAftPUCV5TExLKUBDfAdaF7KpxqEOpG0hFBRg=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "7e8a21202729ca806cd244fb37e5b45abb4cc69b", + "rev": "398e861b554268e43e8af64ba72c682630302ec3", "type": "github" }, "original": { @@ -705,11 +1254,11 @@ ] }, "locked": { - "lastModified": 1687802267, - "narHash": "sha256-8kLOKO8+jfzE5cxicqZX0vaqR2Xj7KaZJN0ElJVFsww=", + "lastModified": 1693752039, + "narHash": "sha256-US7WfYWqMax+uEaRPpCOn8ib2pLYDLa5Fy8dIjWH0aM=", "owner": "hyprwm", "repo": "hyprland-plugins", - "rev": "16dc2927bdfb1b133fd682fa0b451155918a07d9", + "rev": "b5d0cfdff726676b8c6df564fdb1732558d6c25b", "type": "github" }, "original": { @@ -743,17 +1292,81 @@ "type": "github" } }, + "icon-picker-nvim": { + "flake": false, + "locked": { + "lastModified": 1683205244, + "narHash": "sha256-/oi2Kj7GDXzN3ccPoxyxXtQTYSxtZndgELZa2XgZ3U8=", + "owner": "ziontee113", + "repo": "icon-picker.nvim", + "rev": "e6dca182518eeb7a51470c13605a5bce08a816e4", + "type": "github" + }, + "original": { + "owner": "ziontee113", + "repo": "icon-picker.nvim", + "type": "github" + } + }, + "indent-blankline": { + "flake": false, + "locked": { + "lastModified": 1688727830, + "narHash": "sha256-efMRkxjbr6o7kSKAEn0Kaw8lsDubRmc1N0Kd1BZ3A7k=", + "owner": "lukas-reineke", + "repo": "indent-blankline.nvim", + "rev": "4541d690816cb99a7fc248f1486aa87f3abce91c", + "type": "github" + }, + "original": { + "owner": "lukas-reineke", + "repo": "indent-blankline.nvim", + "type": "github" + } + }, + "kommentary": { + "flake": false, + "locked": { + "lastModified": 1672983049, + "narHash": "sha256-N4n5tjNB1yX/QxH+t5aG0VxNwZhUJejv0b5V62WEKDU=", + "owner": "b3nj5m1n", + "repo": "kommentary", + "rev": "3a80117148c6798972bb69414423311ab151d368", + "type": "github" + }, + "original": { + "owner": "b3nj5m1n", + "repo": "kommentary", + "type": "github" + } + }, + "leap-nvim": { + "flake": false, + "locked": { + "lastModified": 1690120911, + "narHash": "sha256-9GFZ5CuR92kFGwh/ouqSSp14eOLZLpzpoFTEuYL7biQ=", + "owner": "ggandor", + "repo": "leap.nvim", + "rev": "5efe985cf68fac3b6a6dfe7a75fbfaca8db2af9c", + "type": "github" + }, + "original": { + "owner": "ggandor", + "repo": "leap.nvim", + "type": "github" + } + }, "lib-aggregate": { "inputs": { - "flake-utils": "flake-utils_4", - "nixpkgs-lib": "nixpkgs-lib_3" + "flake-utils": "flake-utils_6", + "nixpkgs-lib": "nixpkgs-lib_4" }, "locked": { - "lastModified": 1691928466, - "narHash": "sha256-1vmI7U9f/qOi4r/UjIbshVA1eSdOg4+XXD1hpt2flH0=", + "lastModified": 1693844549, + "narHash": "sha256-q37gKJEJ8H+bvcQRuZpbGTDU/GvyrpMtaejhFvS8mSc=", "owner": "nix-community", "repo": "lib-aggregate", - "rev": "b4e1c090e8c81accee0998c467c9a8e4d416644c", + "rev": "80552e56920ed1acc248596a13d8f0b4932138d3", "type": "github" }, "original": { @@ -762,6 +1375,134 @@ "type": "github" } }, + "lsp-lines": { + "flake": false, + "locked": { + "lastModified": 1684163755, + "narHash": "sha256-Zhf2xitLWtE+dWqhvWtLM1K1WdtBvkqqoRLSYIO42oY=", + "owner": "~whynothugo", + "repo": "lsp_lines.nvim", + "rev": "f53af96d4789eef39a082dbcce078d2bfc384ece", + "type": "sourcehut" + }, + "original": { + "owner": "~whynothugo", + "repo": "lsp_lines.nvim", + "type": "sourcehut" + } + }, + "lsp-signature": { + "flake": false, + "locked": { + "lastModified": 1690267930, + "narHash": "sha256-qvcs0KuO2/NdtiTZIxJ2vrwV0I5PjzjMvoAePPasaJM=", + "owner": "ray-x", + "repo": "lsp_signature.nvim", + "rev": "58d4e810801da74c29313da86075d6aea537501f", + "type": "github" + }, + "original": { + "owner": "ray-x", + "repo": "lsp_signature.nvim", + "type": "github" + } + }, + "lspkind": { + "flake": false, + "locked": { + "lastModified": 1683275543, + "narHash": "sha256-S+qZm51hw/cRujIfHV/1x1fYyCKI4XQ0utSL8uy4l6I=", + "owner": "onsails", + "repo": "lspkind-nvim", + "rev": "57610d5ab560c073c465d6faf0c19f200cb67e6e", + "type": "github" + }, + "original": { + "owner": "onsails", + "repo": "lspkind-nvim", + "type": "github" + } + }, + "lspsaga": { + "flake": false, + "locked": { + "lastModified": 1670360222, + "narHash": "sha256-7ENInq3LAPPTdm0Fb7klOc630j8m4LRj1kLZZFYLh68=", + "owner": "tami5", + "repo": "lspsaga.nvim", + "rev": "5faeec9f2508d2d49a66c0ac0d191096b4e3fa81", + "type": "github" + }, + "original": { + "owner": "tami5", + "repo": "lspsaga.nvim", + "type": "github" + } + }, + "lualine": { + "flake": false, + "locked": { + "lastModified": 1683213422, + "narHash": "sha256-ltHE8UIquGo07BSlFGM1l3wmTNN43i8kx6QY7Fj2CNo=", + "owner": "hoob3rt", + "repo": "lualine.nvim", + "rev": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9", + "type": "github" + }, + "original": { + "owner": "hoob3rt", + "repo": "lualine.nvim", + "type": "github" + } + }, + "mind-nvim": { + "flake": false, + "locked": { + "lastModified": 1679526071, + "narHash": "sha256-JIhAhQYGLLRucwlhzfckQYU5qjqbHtNH52JlGS5a79w=", + "owner": "phaazon", + "repo": "mind.nvim", + "rev": "002137dd7cf97865ebd01b6a260209d2daf2da66", + "type": "github" + }, + "original": { + "owner": "phaazon", + "repo": "mind.nvim", + "type": "github" + } + }, + "minimap-vim": { + "flake": false, + "locked": { + "lastModified": 1690301768, + "narHash": "sha256-yRWZH9caSxrWjUXlM84fU90tZjNfX97m0m491ZsIHxA=", + "owner": "wfxr", + "repo": "minimap.vim", + "rev": "74573b63b9ef0583262b6bf6ef209eb7f3b06b94", + "type": "github" + }, + "original": { + "owner": "wfxr", + "repo": "minimap.vim", + "type": "github" + } + }, + "modes-nvim": { + "flake": false, + "locked": { + "lastModified": 1682778003, + "narHash": "sha256-qrGgraBdAvIc6AXqMMWESlOV29lM5zC1du1r5L2kpQQ=", + "owner": "mvllow", + "repo": "modes.nvim", + "rev": "4d97a51ebbdb649b85f6d79da0009fddd7081a6b", + "type": "github" + }, + "original": { + "owner": "mvllow", + "repo": "modes.nvim", + "type": "github" + } + }, "mozilla": { "flake": false, "locked": { @@ -779,6 +1520,28 @@ } }, "naersk": { + "inputs": { + "nixpkgs": [ + "neovim-flake", + "rnix-lsp", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1655042882, + "narHash": "sha256-9BX8Fuez5YJlN7cdPO63InoyBy7dm3VlJkkmTt6fS1A=", + "owner": "nix-community", + "repo": "naersk", + "rev": "cddffb5aa211f50c4b8750adbec0bbbdfb26bb9f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "naersk", + "type": "github" + } + }, + "naersk_2": { "inputs": { "nixpkgs": [ "shadower", @@ -801,7 +1564,123 @@ }, "neovim-flake": { "inputs": { + "alpha-nvim": "alpha-nvim", + "bufdelete-nvim": "bufdelete-nvim", + "catppuccin": "catppuccin", + "ccc": "ccc", + "cellular-automaton": "cellular-automaton", + "cheatsheet-nvim": "cheatsheet-nvim", + "cinnamon-nvim": "cinnamon-nvim", + "cmp-buffer": "cmp-buffer", + "cmp-nvim-lsp": "cmp-nvim-lsp", + "cmp-path": "cmp-path", + "cmp-treesitter": "cmp-treesitter", + "cmp-vsnip": "cmp-vsnip", + "codewindow-nvim": "codewindow-nvim", + "comment-nvim": "comment-nvim", + "copilot-cmp": "copilot-cmp", + "copilot-lua": "copilot-lua", + "crates-nvim": "crates-nvim", + "dashboard-nvim": "dashboard-nvim", + "diffview-nvim": "diffview-nvim", + "dracula": "dracula", + "dressing-nvim": "dressing-nvim", + "elixir-ls": "elixir-ls", + "elixir-tools": "elixir-tools", + "fidget-nvim": "fidget-nvim", + "flake-parts": "flake-parts_2", "flake-utils": "flake-utils_3", + "flutter-tools": "flutter-tools", + "gesture-nvim": "gesture-nvim", + "gitsigns-nvim": "gitsigns-nvim", + "glow-nvim": "glow-nvim", + "hop-nvim": "hop-nvim", + "icon-picker-nvim": "icon-picker-nvim", + "indent-blankline": "indent-blankline", + "kommentary": "kommentary", + "leap-nvim": "leap-nvim", + "lsp-lines": "lsp-lines", + "lsp-signature": "lsp-signature", + "lspkind": "lspkind", + "lspsaga": "lspsaga", + "lualine": "lualine", + "mind-nvim": "mind-nvim", + "minimap-vim": "minimap-vim", + "modes-nvim": "modes-nvim", + "nil": "nil", + "nixpkgs": [ + "nixpkgs" + ], + "nmd": "nmd", + "noice-nvim": "noice-nvim", + "nui-nvim": "nui-nvim", + "null-ls": "null-ls", + "nvim-autopairs": "nvim-autopairs", + "nvim-bufferline-lua": "nvim-bufferline-lua", + "nvim-cmp": "nvim-cmp", + "nvim-code-action-menu": "nvim-code-action-menu", + "nvim-colorizer-lua": "nvim-colorizer-lua", + "nvim-compe": "nvim-compe", + "nvim-cursorline": "nvim-cursorline", + "nvim-dap": "nvim-dap", + "nvim-dap-ui": "nvim-dap-ui", + "nvim-lightbulb": "nvim-lightbulb", + "nvim-lspconfig": "nvim-lspconfig", + "nvim-navbuddy": "nvim-navbuddy", + "nvim-navic": "nvim-navic", + "nvim-neoclip": "nvim-neoclip", + "nvim-notify": "nvim-notify", + "nvim-session-manager": "nvim-session-manager", + "nvim-surround": "nvim-surround", + "nvim-tree-lua": "nvim-tree-lua", + "nvim-treesitter-context": "nvim-treesitter-context", + "nvim-ts-autotag": "nvim-ts-autotag", + "nvim-web-devicons": "nvim-web-devicons", + "obsidian-nvim": "obsidian-nvim", + "onedark": "onedark", + "orgmode-nvim": "orgmode-nvim", + "plenary-nvim": "plenary-nvim", + "presence-nvim": "presence-nvim", + "project-nvim": "project-nvim", + "registers": "registers", + "rnix-lsp": "rnix-lsp", + "rust-tools": "rust-tools", + "scrollbar-nvim": "scrollbar-nvim", + "smartcolumn": "smartcolumn", + "sqls-nvim": "sqls-nvim", + "tabular": "tabular", + "telescope": "telescope", + "tidalcycles": "tidalcycles", + "todo-comments": "todo-comments", + "toggleterm-nvim": "toggleterm-nvim", + "tokyonight": "tokyonight", + "trouble": "trouble", + "vim-dirtytalk": "vim-dirtytalk", + "vim-illuminate": "vim-illuminate", + "vim-markdown": "vim-markdown", + "vim-repeat": "vim-repeat", + "vim-startify": "vim-startify", + "vim-vsnip": "vim-vsnip", + "which-key": "which-key", + "zig": "zig" + }, + "locked": { + "lastModified": 1693907367, + "narHash": "sha256-mXYG1bgyhQs4WJKAQXwZ8++DbbHU6i1ux/2HOIKfvWo=", + "owner": "NotAShelf", + "repo": "neovim-flake", + "rev": "42b952dc1b79b5e2fee2a0eecb91a6d468b1474a", + "type": "github" + }, + "original": { + "owner": "NotAShelf", + "repo": "neovim-flake", + "type": "github" + } + }, + "neovim-flake_2": { + "inputs": { + "flake-utils": "flake-utils_5", "nixpkgs": [ "neovim-nightly-overlay", "nixpkgs" @@ -809,11 +1688,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1692141167, - "narHash": "sha256-1My5JBKfHupN9D86eeX8JFr2Wk03qWJObk73NC1/x2s=", + "lastModified": 1694022858, + "narHash": "sha256-y9AWJIDVGx9Q44Hd38k0Ta+RzHTwgcObYhCUqLdhxoI=", "owner": "neovim", "repo": "neovim", - "rev": "f92bda1dad462de81ec92134dfa9ba637edc7bb7", + "rev": "d27214331815324ea5762b5aa22996b9019085c6", "type": "github" }, "original": { @@ -825,18 +1704,18 @@ }, "neovim-nightly-overlay": { "inputs": { - "flake-compat": "flake-compat_4", - "flake-parts": "flake-parts_2", + "flake-compat": "flake-compat_5", + "flake-parts": "flake-parts_3", "hercules-ci-effects": "hercules-ci-effects", - "neovim-flake": "neovim-flake", - "nixpkgs": "nixpkgs_6" + "neovim-flake": "neovim-flake_2", + "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1692144319, - "narHash": "sha256-sJ7KT+dfLEQbsNI2G+ZLKQ0tIS72roMv+xjC+0bTS9k=", + "lastModified": 1694045044, + "narHash": "sha256-yUInc/OWpGlVDYYOMBRH1h8eRbqNnBUZHHp/3rgJg6E=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3632032784ed4a7f761a61a3337f2e1d61210eae", + "rev": "905095655893be07ce9ab90d5df83f2c1bc4e610", "type": "github" }, "original": { @@ -845,18 +1724,44 @@ "type": "github" } }, + "nil": { + "inputs": { + "flake-utils": [ + "neovim-flake", + "flake-utils" + ], + "nixpkgs": [ + "neovim-flake", + "nixpkgs" + ], + "rust-overlay": "rust-overlay_3" + }, + "locked": { + "lastModified": 1689759503, + "narHash": "sha256-wFrcae6V58hIlDW+7NDoUXzXBmsU7W/k3V1KIePcwRA=", + "owner": "oxalica", + "repo": "nil", + "rev": "59bcad0b13b5d77668c0c125fef71d7b41406d7a", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "nil", + "type": "github" + } + }, "nix-eval-jobs": { "inputs": { - "flake-parts": "flake-parts_8", - "nixpkgs": "nixpkgs_9", + "flake-parts": "flake-parts_9", + "nixpkgs": "nixpkgs_12", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1691977839, - "narHash": "sha256-CyP+b/CapG8U2dyleyy4/vsDFQY4VQ0GyMU0shslTWk=", + "lastModified": 1694051403, + "narHash": "sha256-TbCcylrAPLhKu7s7mnjwQjkrqBMjI9/ysiysfKn5XHs=", "owner": "nix-community", "repo": "nix-eval-jobs", - "rev": "9c42d241950e9e24b8dec1b04e36d2a9e61e9078", + "rev": "9cc7944c28c2bc5de3c96c253b3fd814c1cb85dd", "type": "github" }, "original": { @@ -865,19 +1770,34 @@ "type": "github" } }, + "nix-filter": { + "locked": { + "lastModified": 1693833173, + "narHash": "sha256-hlMABKrGbEiJD5dwUSfnw1CQ3bG7KKwDV+Nx3bEZd7U=", + "owner": "numtide", + "repo": "nix-filter", + "rev": "ac030bd9ba98e318e1f4c4328d60766ade8ebe8b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "nix-filter", + "type": "github" + } + }, "nix-gaming": { "inputs": { - "flake-parts": "flake-parts_5", + "flake-parts": "flake-parts_6", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1692131623, - "narHash": "sha256-W0HqOjuN9/ayFm4mNEozCimsYWJaYZOJDJ4fSG0UhGQ=", + "lastModified": 1693875863, + "narHash": "sha256-lSZ6tSiZrN2siMgs4XZqWXBuPo3KatJzb9HTMnuYmbE=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "16568cbdaba376c9e14abe117102330306d2bf4c", + "rev": "230444c2ac67c2c8f3aee8e8b94a4c732f7f85c2", "type": "github" }, "original": { @@ -888,18 +1808,18 @@ }, "nixpak": { "inputs": { - "flake-parts": "flake-parts_6", + "flake-parts": "flake-parts_7", "hercules-ci-effects": "hercules-ci-effects_2", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1691639456, - "narHash": "sha256-XHdgwPHUx9jkgDWklu+hWg4Ko+/atldlwJOHTFHa5hQ=", + "lastModified": 1694054794, + "narHash": "sha256-hbQTuZ81n5daWxp8Hfb+3x4JkkrJ+erT0DXOqmDnBGk=", "owner": "max-privatevoid", "repo": "nixpak", - "rev": "78f579fae7a74594a81b759b6b83b7fc39ff6490", + "rev": "119af38d3d56a86d6f20dbf54f59352decc773f0", "type": "github" }, "original": { @@ -962,11 +1882,29 @@ }, "nixpkgs-lib_3": { "locked": { - "lastModified": 1691887428, - "narHash": "sha256-IB1C4SnEDLkvligfbmez88q3L4nWqHGSfG/Z6+3sJok=", + "dir": "lib", + "lastModified": 1690881714, + "narHash": "sha256-h/nXluEqdiQHs1oSgkOOWF+j8gcJMWhwnZ9PFabN6q0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9e1960bc196baf6881340d53dccb203a951745a2", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib_4": { + "locked": { + "lastModified": 1693701915, + "narHash": "sha256-waHPLdDYUOHSEtMKKabcKIMhlUOHPOOPQ9UyFeEoovs=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "586b1f1e3dad8d02c8428fff9126b2048dfab5bf", + "rev": "f5af57d3ef9947a70ac86e42695231ac1ad00c25", "type": "github" }, "original": { @@ -977,18 +1915,17 @@ }, "nixpkgs-wayland": { "inputs": { - "flake-compat": "flake-compat_5", + "flake-compat": "flake-compat_6", "lib-aggregate": "lib-aggregate", "nix-eval-jobs": "nix-eval-jobs", - "nixpkgs": "nixpkgs_10", - "nixpkgs_sirula": "nixpkgs_sirula" + "nixpkgs": "nixpkgs_13" }, "locked": { - "lastModified": 1692198977, - "narHash": "sha256-67bexsECv9xMM2oYw6Uj1nPIts+HF2b/6Itx3dK0lLQ=", + "lastModified": 1694053229, + "narHash": "sha256-GclkI+5bnTrFe10BvHsG9k8lLkWDnUNqq46EFzTJ3lY=", "owner": "nix-community", "repo": "nixpkgs-wayland", - "rev": "8353c2985bd5ec15a9885f43e75d184730d7232b", + "rev": "a8e0bcea054d11e8635f3ad604a7c57d075d77f2", "type": "github" }, "original": { @@ -999,11 +1936,59 @@ }, "nixpkgs_10": { "locked": { - "lastModified": 1692084312, - "narHash": "sha256-Za++qKVK6ovjNL9poQZtLKRM/re663pxzbJ+9M4Pgwg=", + "lastModified": 1688322751, + "narHash": "sha256-eW62dC5f33oKZL7VWlomttbUnOTHrAbte9yNUNW8rbk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0fbe93c5a7cac99f90b60bdf5f149383daaa615f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { + "locked": { + "lastModified": 1693985761, + "narHash": "sha256-K5b+7j7Tt3+AqbWkcw+wMeqOAWyCD1MH26FPZyWXpdo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0bffda19b8af722f8069d09d8b6a24594c80b352", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_12": { + "locked": { + "lastModified": 1694048283, + "narHash": "sha256-QexXMDukc4fmXq5SJsDg8WRA6+FiEOt+PB3hx+fbc8o=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "308e5f73e17dc2fe43ba95ec83697999b5dd544d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "master", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_13": { + "locked": { + "lastModified": 1693844670, + "narHash": "sha256-t69F2nBB8DNQUWHD809oJZJVE+23XBrth4QZuVd6IE0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8353344d3236d3fda429bb471c1ee008857d3b7c", + "rev": "3c15feef7770eb5500a4b8792623e2d6f598c9c1", "type": "github" }, "original": { @@ -1013,7 +1998,7 @@ "type": "github" } }, - "nixpkgs_11": { + "nixpkgs_14": { "locked": { "lastModified": 1682809678, "narHash": "sha256-jqR8t82mWotOSgnWZvr6xXCO/tc3fCPTLMPvI7Jo5rA=", @@ -1063,11 +2048,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1691654369, - "narHash": "sha256-gSILTEx1jRaJjwZxRlnu3ZwMn1FVNk80qlwiCX8kmpo=", + "lastModified": 1693844670, + "narHash": "sha256-t69F2nBB8DNQUWHD809oJZJVE+23XBrth4QZuVd6IE0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e", + "rev": "3c15feef7770eb5500a4b8792623e2d6f598c9c1", "type": "github" }, "original": { @@ -1079,15 +2064,15 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1688322751, - "narHash": "sha256-eW62dC5f33oKZL7VWlomttbUnOTHrAbte9yNUNW8rbk=", - "owner": "NixOS", + "lastModified": 1656753965, + "narHash": "sha256-BCrB3l0qpJokOnIVc3g2lHiGhnjUi0MoXiw6t1o8H1E=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "0fbe93c5a7cac99f90b60bdf5f149383daaa615f", + "rev": "0ea7a8f1b939d74e5df8af9a8f7342097cdf69eb", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -1095,27 +2080,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1692067901, - "narHash": "sha256-kq8Pf/nmlXECDWMkQSRGQkjWsA6G0pjzZkfUEaTmXJE=", + "lastModified": 1655400192, + "narHash": "sha256-49OBVVRgb9H/PSmNT9W61+NRdDbuSJVuDDflwXlaUKU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ea95c0917609e5c48023cc7c6141bea2fdf13970", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_7": { - "locked": { - "lastModified": 1688322751, - "narHash": "sha256-eW62dC5f33oKZL7VWlomttbUnOTHrAbte9yNUNW8rbk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "0fbe93c5a7cac99f90b60bdf5f149383daaa615f", + "rev": "3d7435c638baffaa826b85459df0fff47f12317d", "type": "github" }, "original": { @@ -1125,13 +2094,29 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_7": { "locked": { - "lastModified": 1692174805, - "narHash": "sha256-xmNPFDi/AUMIxwgOH/IVom55Dks34u1g7sFKKebxUm0=", + "lastModified": 1689088367, + "narHash": "sha256-Y2tl2TlKCWEHrOeM9ivjCLlRAKH3qoPUE/emhZECU14=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "caac0eb6bdcad0b32cb2522e03e4002c8975c62e", + "rev": "5c9ddb86679c400d6b7360797b8a22167c2053f8", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_8": { + "locked": { + "lastModified": 1688322751, + "narHash": "sha256-eW62dC5f33oKZL7VWlomttbUnOTHrAbte9yNUNW8rbk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0fbe93c5a7cac99f90b60bdf5f149383daaa615f", "type": "github" }, "original": { @@ -1143,43 +2128,91 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1691974608, - "narHash": "sha256-S268S0UKxY/24m2peKN8v/HUO1Hi6CB4cfxZDUZf5do=", + "lastModified": 1693844670, + "narHash": "sha256-t69F2nBB8DNQUWHD809oJZJVE+23XBrth4QZuVd6IE0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a1fa57b4ba546ef8869237ae1341f393cb9b5806", + "rev": "3c15feef7770eb5500a4b8792623e2d6f598c9c1", "type": "github" }, "original": { "owner": "NixOS", - "ref": "master", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_sirula": { + "nmd": { + "flake": false, "locked": { - "lastModified": 1682879489, - "narHash": "sha256-sASwo8gBt7JDnOOstnps90K1wxmVfyhsTPPNTGBPjjg=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "da45bf6ec7bbcc5d1e14d3795c025199f28e0de0", + "lastModified": 1687627428, + "narHash": "sha256-7zGfXuNS5RHqhpEdz2fwrtqvF86JRo5U1hrxZSYgcm8=", + "owner": "~rycee", + "repo": "nmd", + "rev": "824a380546b5d0d0eb701ff8cd5dbafb360750ff", + "type": "sourcehut" + }, + "original": { + "owner": "~rycee", + "repo": "nmd", + "type": "sourcehut" + } + }, + "noice-nvim": { + "flake": false, + "locked": { + "lastModified": 1690306450, + "narHash": "sha256-Zca6meJkfF4fl17Y+6s77GYrqnhkkzIYW73vAhKg7e4=", + "owner": "folke", + "repo": "noice.nvim", + "rev": "894db25ec726d32047799d4d0a982b701bec453b", "type": "github" }, "original": { - "owner": "nixos", - "repo": "nixpkgs", - "rev": "da45bf6ec7bbcc5d1e14d3795c025199f28e0de0", + "owner": "folke", + "repo": "noice.nvim", + "type": "github" + } + }, + "nui-nvim": { + "flake": false, + "locked": { + "lastModified": 1689828309, + "narHash": "sha256-nSUs9zAX7hQ3PuFrH4zQblMfTY6ALDNggmqaQnkbR5E=", + "owner": "MunifTanjim", + "repo": "nui.nvim", + "rev": "9e3916e784660f55f47daa6f26053ad044db5d6a", + "type": "github" + }, + "original": { + "owner": "MunifTanjim", + "repo": "nui.nvim", + "type": "github" + } + }, + "null-ls": { + "flake": false, + "locked": { + "lastModified": 1688652536, + "narHash": "sha256-6KJtj9pbvBm6fOVpnyzO2fEVC+cVrw2XtZHOgq9ieIw=", + "owner": "jose-elias-alvarez", + "repo": "null-ls.nvim", + "rev": "db09b6c691def0038c456551e4e2772186449f35", + "type": "github" + }, + "original": { + "owner": "jose-elias-alvarez", + "repo": "null-ls.nvim", "type": "github" } }, "nur": { "locked": { - "lastModified": 1692190449, - "narHash": "sha256-KqV0xzvXTJom6XDK+upuP8sUJgiVu8zpJzoTqsdmdow=", + "lastModified": 1694123079, + "narHash": "sha256-1aHaOCjnKObLyBEQHv0pmLoCri36/yJLHw2UD1hjk+Y=", "owner": "nix-community", "repo": "NUR", - "rev": "6efd40dda5777f355fad166639683a40b8499a62", + "rev": "b2320c1bcc2055ac479d91c21f2b3fa037a65439", "type": "github" }, "original": { @@ -1188,6 +2221,474 @@ "type": "github" } }, + "nvim-autopairs": { + "flake": false, + "locked": { + "lastModified": 1689332359, + "narHash": "sha256-bu+WpW5Wfk3pS74mzVvehl7dVMHgrttmV4ZSlfwbai4=", + "owner": "windwp", + "repo": "nvim-autopairs", + "rev": "ae5b41ce880a6d850055e262d6dfebd362bb276e", + "type": "github" + }, + "original": { + "owner": "windwp", + "repo": "nvim-autopairs", + "type": "github" + } + }, + "nvim-bufferline-lua": { + "flake": false, + "locked": { + "lastModified": 1690184232, + "narHash": "sha256-MiQsYeLgADCaUf1x88q/7gO17F992HMlt1pu9dYEmp0=", + "owner": "akinsho", + "repo": "nvim-bufferline.lua", + "rev": "99f0932365b34e22549ff58e1bea388465d15e99", + "type": "github" + }, + "original": { + "owner": "akinsho", + "repo": "nvim-bufferline.lua", + "type": "github" + } + }, + "nvim-cmp": { + "flake": false, + "locked": { + "lastModified": 1688965049, + "narHash": "sha256-Hq6YUfMQo1rHoay3/NieGCne7U/f06GwUPhN2HO0PdQ=", + "owner": "hrsh7th", + "repo": "nvim-cmp", + "rev": "c4e491a87eeacf0408902c32f031d802c7eafce8", + "type": "github" + }, + "original": { + "owner": "hrsh7th", + "repo": "nvim-cmp", + "type": "github" + } + }, + "nvim-code-action-menu": { + "flake": false, + "locked": { + "lastModified": 1671523188, + "narHash": "sha256-7szx+Me6WhrANbmfQ6C6gfSVB2owd02b3iZYhz7K6wY=", + "owner": "weilbith", + "repo": "nvim-code-action-menu", + "rev": "e4399dbaf6eabff998d3d5f1cbcd8d9933710027", + "type": "github" + }, + "original": { + "owner": "weilbith", + "repo": "nvim-code-action-menu", + "type": "github" + } + }, + "nvim-colorizer-lua": { + "flake": false, + "locked": { + "lastModified": 1591879145, + "narHash": "sha256-6YrnItxExL2C8pNIdLd+hXCjsB2MbZANwWkah6dreD8=", + "owner": "norcalli", + "repo": "nvim-colorizer.lua", + "rev": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6", + "type": "github" + }, + "original": { + "owner": "norcalli", + "repo": "nvim-colorizer.lua", + "type": "github" + } + }, + "nvim-compe": { + "flake": false, + "locked": { + "lastModified": 1633188506, + "narHash": "sha256-Y2oqvsuAKM3qjmmtJVD9z34682eCRF25kPL+rxhhg7I=", + "owner": "hrsh7th", + "repo": "nvim-compe", + "rev": "d186d739c54823e0b010feb205c6f97792322c08", + "type": "github" + }, + "original": { + "owner": "hrsh7th", + "repo": "nvim-compe", + "type": "github" + } + }, + "nvim-cursorline": { + "flake": false, + "locked": { + "lastModified": 1650034925, + "narHash": "sha256-Uhw65p1KBjs8KsVOmTzuiu3XKclxBob8AVdWEt30C/8=", + "owner": "yamatsum", + "repo": "nvim-cursorline", + "rev": "804f0023692653b2b2368462d67d2a87056947f9", + "type": "github" + }, + "original": { + "owner": "yamatsum", + "repo": "nvim-cursorline", + "type": "github" + } + }, + "nvim-dap": { + "flake": false, + "locked": { + "lastModified": 1690444190, + "narHash": "sha256-OSJA+K8eGj87RWo2tE0kT6bAItGkMMtuR0HB8WEXZ4k=", + "owner": "mfussenegger", + "repo": "nvim-dap", + "rev": "2f28ea843bcdb378b171a66ddcd568516e431d55", + "type": "github" + }, + "original": { + "owner": "mfussenegger", + "repo": "nvim-dap", + "type": "github" + } + }, + "nvim-dap-ui": { + "flake": false, + "locked": { + "lastModified": 1689371609, + "narHash": "sha256-z6TFe7+r/g2tfgdXr6PCPri5lSboi66zZmsdyWTI1BM=", + "owner": "rcarriga", + "repo": "nvim-dap-ui", + "rev": "85b16ac2309d85c88577cd8ee1733ce52be8227e", + "type": "github" + }, + "original": { + "owner": "rcarriga", + "repo": "nvim-dap-ui", + "type": "github" + } + }, + "nvim-lightbulb": { + "flake": false, + "locked": { + "lastModified": 1689887436, + "narHash": "sha256-Meoop66jINllnxN6aohuPmU7DEjn64FMq/b8zuy9FEQ=", + "owner": "kosayoda", + "repo": "nvim-lightbulb", + "rev": "8f00b89dd1b1dbde16872bee5fbcee2e58c9b8e9", + "type": "github" + }, + "original": { + "owner": "kosayoda", + "repo": "nvim-lightbulb", + "type": "github" + } + }, + "nvim-lspconfig": { + "flake": false, + "locked": { + "lastModified": 1690356683, + "narHash": "sha256-Ama9nLC/T1wJWal6bKvgY0ywUUiJ5VLuIxoY1xbJKtY=", + "owner": "neovim", + "repo": "nvim-lspconfig", + "rev": "b6091272422bb0fbd729f7f5d17a56d37499c54f", + "type": "github" + }, + "original": { + "owner": "neovim", + "repo": "nvim-lspconfig", + "type": "github" + } + }, + "nvim-navbuddy": { + "flake": false, + "locked": { + "lastModified": 1688569844, + "narHash": "sha256-011RT/wnQdBR1vMrXFwxbicBAgdcd4eQYPbok/o3CIE=", + "owner": "SmiteshP", + "repo": "nvim-navbuddy", + "rev": "244a4cded6f2b568403684131d148048efe4e8af", + "type": "github" + }, + "original": { + "owner": "SmiteshP", + "repo": "nvim-navbuddy", + "type": "github" + } + }, + "nvim-navic": { + "flake": false, + "locked": { + "lastModified": 1689944100, + "narHash": "sha256-M7BT1C9xHyLgr22JI3b+wyD+bYs6FgKc6PIqMrXnNr4=", + "owner": "SmiteshP", + "repo": "nvim-navic", + "rev": "9c89730da6a05acfeb6a197e212dfadf5aa60ca0", + "type": "github" + }, + "original": { + "owner": "SmiteshP", + "repo": "nvim-navic", + "type": "github" + } + }, + "nvim-neoclip": { + "flake": false, + "locked": { + "lastModified": 1684196333, + "narHash": "sha256-96AwMgyC7PTDEPS5tXwDT3WfK8jJJuIYGE+q+j6U5Uc=", + "owner": "AckslD", + "repo": "nvim-neoclip.lua", + "rev": "4e406ae0f759262518731538f2585abb9d269bac", + "type": "github" + }, + "original": { + "owner": "AckslD", + "repo": "nvim-neoclip.lua", + "type": "github" + } + }, + "nvim-notify": { + "flake": false, + "locked": { + "lastModified": 1685978736, + "narHash": "sha256-Rr2tzuEr06M9ZbvQbC07qcxkyjFJFYdABwRpYelKBFI=", + "owner": "rcarriga", + "repo": "nvim-notify", + "rev": "ea9c8ce7a37f2238f934e087c255758659948e0f", + "type": "github" + }, + "original": { + "owner": "rcarriga", + "repo": "nvim-notify", + "type": "github" + } + }, + "nvim-session-manager": { + "flake": false, + "locked": { + "lastModified": 1689976511, + "narHash": "sha256-04GL+0JdtD2hEOSrRJUh3Wdpoy2igjHt95Nf3WioFU4=", + "owner": "Shatur", + "repo": "neovim-session-manager", + "rev": "4883372b1ef2bdcf4cbdac44c98d68c216914462", + "type": "github" + }, + "original": { + "owner": "Shatur", + "repo": "neovim-session-manager", + "type": "github" + } + }, + "nvim-surround": { + "flake": false, + "locked": { + "lastModified": 1685464327, + "narHash": "sha256-r3D5WTqEnIL1T3p7cmkRmBY8qgwFFJptM7BKNNsCT8k=", + "owner": "kylechui", + "repo": "nvim-surround", + "rev": "10b20ca7d9da1ac8df8339e140ffef94f9ab3b18", + "type": "github" + }, + "original": { + "owner": "kylechui", + "repo": "nvim-surround", + "type": "github" + } + }, + "nvim-tree-lua": { + "flake": false, + "locked": { + "lastModified": 1690616703, + "narHash": "sha256-kTbYvT21wLfiwEpQAgGZtep2GP4F9e7e6XGVpr4D1hY=", + "owner": "nvim-tree", + "repo": "nvim-tree.lua", + "rev": "4bd30f0137e44dcf3e74cc1164efb568f78f2b02", + "type": "github" + }, + "original": { + "owner": "nvim-tree", + "repo": "nvim-tree.lua", + "type": "github" + } + }, + "nvim-treesitter-context": { + "flake": false, + "locked": { + "lastModified": 1689239188, + "narHash": "sha256-AJamiDezFK7l0bqb/VFm+pzBKugQNCmQ6JAWKmjH76g=", + "owner": "nvim-treesitter", + "repo": "nvim-treesitter-context", + "rev": "6f8f788738b968f24a108ee599c5be0031f94f06", + "type": "github" + }, + "original": { + "owner": "nvim-treesitter", + "repo": "nvim-treesitter-context", + "type": "github" + } + }, + "nvim-ts-autotag": { + "flake": false, + "locked": { + "lastModified": 1686883732, + "narHash": "sha256-4qTtXYA5HyG1sADV0wsiccO/G89qEoYPmlg8tTx7h8g=", + "owner": "windwp", + "repo": "nvim-ts-autotag", + "rev": "6be1192965df35f94b8ea6d323354f7dc7a557e4", + "type": "github" + }, + "original": { + "owner": "windwp", + "repo": "nvim-ts-autotag", + "type": "github" + } + }, + "nvim-web-devicons": { + "flake": false, + "locked": { + "lastModified": 1689474464, + "narHash": "sha256-FtEJBhqvs+c/Rvy4qXf3iyoMTTKrDBvQw5g63n4KEYo=", + "owner": "nvim-tree", + "repo": "nvim-web-devicons", + "rev": "efbfed0567ef4bfac3ce630524a0f6c8451c5534", + "type": "github" + }, + "original": { + "owner": "nvim-tree", + "repo": "nvim-web-devicons", + "type": "github" + } + }, + "obsidian-nvim": { + "flake": false, + "locked": { + "lastModified": 1690662423, + "narHash": "sha256-qemlp11QSp4BnWadN3+3ndv47e+1yS+w91GumbzQric=", + "owner": "epwalsh", + "repo": "obsidian.nvim", + "rev": "f81ddfa56b87fda158d3a56625a8040a7cf23fef", + "type": "github" + }, + "original": { + "owner": "epwalsh", + "repo": "obsidian.nvim", + "type": "github" + } + }, + "onedark": { + "flake": false, + "locked": { + "lastModified": 1689269544, + "narHash": "sha256-HfyYEppo9NFswYlPKnHNOZO5eiTQSORQhWAkzCmM2m4=", + "owner": "navarasu", + "repo": "onedark.nvim", + "rev": "cae5fdf035ee92c407a29ee2ccfcff503d2be7f1", + "type": "github" + }, + "original": { + "owner": "navarasu", + "repo": "onedark.nvim", + "type": "github" + } + }, + "orgmode-nvim": { + "flake": false, + "locked": { + "lastModified": 1690291768, + "narHash": "sha256-jc89zEAtHBh8785gNW/UZ9jkgTee/XYMm4+jyW7G2Oo=", + "owner": "nvim-orgmode", + "repo": "orgmode", + "rev": "6b6eb8eabbed4d95568fd1f5374a3dff7ed51a3b", + "type": "github" + }, + "original": { + "owner": "nvim-orgmode", + "repo": "orgmode", + "type": "github" + } + }, + "plenary-nvim": { + "flake": false, + "locked": { + "lastModified": 1689589150, + "narHash": "sha256-oRtNcURQzrIRS3D88tWAl3HuFHxVJr8m/zzL7xoa/II=", + "owner": "nvim-lua", + "repo": "plenary.nvim", + "rev": "267282a9ce242bbb0c5dc31445b6d353bed978bb", + "type": "github" + }, + "original": { + "owner": "nvim-lua", + "repo": "plenary.nvim", + "type": "github" + } + }, + "presence-nvim": { + "flake": false, + "locked": { + "lastModified": 1674984077, + "narHash": "sha256-ZpsunLsn//zYgUtmAm5FqKVueVd/Pa1r55ZDqxCimBk=", + "owner": "andweeb", + "repo": "presence.nvim", + "rev": "87c857a56b7703f976d3a5ef15967d80508df6e6", + "type": "github" + }, + "original": { + "owner": "andweeb", + "repo": "presence.nvim", + "type": "github" + } + }, + "project-nvim": { + "flake": false, + "locked": { + "lastModified": 1680567592, + "narHash": "sha256-avV3wMiDbraxW4mqlEsKy0oeewaRj9Q33K8NzWoaptU=", + "owner": "ahmedkhalf", + "repo": "project.nvim", + "rev": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb", + "type": "github" + }, + "original": { + "owner": "ahmedkhalf", + "repo": "project.nvim", + "type": "github" + } + }, + "registers": { + "flake": false, + "locked": { + "lastModified": 1680595111, + "narHash": "sha256-MeBlcF5LLk6bhIofYuG+0Z2xwc0BVqP85yNCvjH66fw=", + "owner": "tversteeg", + "repo": "registers.nvim", + "rev": "2ab8372bb837f05fae6b43091f10a0b725d113ca", + "type": "github" + }, + "original": { + "owner": "tversteeg", + "repo": "registers.nvim", + "type": "github" + } + }, + "rnix-lsp": { + "inputs": { + "naersk": "naersk", + "nixpkgs": "nixpkgs_5", + "utils": "utils" + }, + "locked": { + "lastModified": 1669555118, + "narHash": "sha256-F0s0m62S5bHNVWNHLZD6SeHiLrsDx98VQbRjDyIu+qQ=", + "owner": "nix-community", + "repo": "rnix-lsp", + "rev": "95d40673fe43642e2e1144341e86d0036abd95d9", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "rnix-lsp", + "type": "github" + } + }, "root": { "inputs": { "anyrun": "anyrun", @@ -1199,10 +2700,11 @@ "hyprcontrib": "hyprcontrib", "hyprland": "hyprland", "hyprland-plugins": "hyprland-plugins", + "neovim-flake": "neovim-flake", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix-gaming": "nix-gaming", "nixpak": "nixpak", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_11", "nixpkgs-wayland": "nixpkgs-wayland", "nur": "nur", "shadower": "shadower", @@ -1229,11 +2731,11 @@ "rust-analyzer-src_2": { "flake": false, "locked": { - "lastModified": 1692131688, - "narHash": "sha256-JZ3AKg+MhFtGxIROLK5kPvGfwFE/tm0knC9LpdPi2uc=", + "lastModified": 1694036562, + "narHash": "sha256-F2za9TfLZQUPPNS8gzKiDws43xyN767bTLnobq/bv5Y=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "b14770934a1cc058ee1721fcf2cd80a39bf21f53", + "rev": "d04cff6102d48a3d1ecfa05f4516d339e251945b", "type": "github" }, "original": { @@ -1295,10 +2797,69 @@ "type": "github" } }, + "rust-overlay_3": { + "inputs": { + "flake-utils": [ + "neovim-flake", + "nil", + "flake-utils" + ], + "nixpkgs": [ + "neovim-flake", + "nil", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1688783586, + "narHash": "sha256-HHaM2hk2azslv1kH8zmQxXo2e7i5cKgzNIuK4yftzB0=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "7a29283cc242c2486fc67f60b431ef708046d176", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-tools": { + "flake": false, + "locked": { + "lastModified": 1689033186, + "narHash": "sha256-jtfyDxifchznUupLSao6nmpVqaX1yO0xN+NhqS9fgxg=", + "owner": "simrat39", + "repo": "rust-tools.nvim", + "rev": "0cc8adab23117783a0292a0c8a2fbed1005dc645", + "type": "github" + }, + "original": { + "owner": "simrat39", + "repo": "rust-tools.nvim", + "type": "github" + } + }, + "scrollbar-nvim": { + "flake": false, + "locked": { + "lastModified": 1684886154, + "narHash": "sha256-zLBexSxQCn9HPY04a9w/UCJP1F5ShI2X12I9xE9H0cM=", + "owner": "petertriho", + "repo": "nvim-scrollbar", + "rev": "35f99d559041c7c0eff3a41f9093581ceea534e8", + "type": "github" + }, + "original": { + "owner": "petertriho", + "repo": "nvim-scrollbar", + "type": "github" + } + }, "shadower": { "inputs": { - "naersk": "naersk", - "nixpkgs": "nixpkgs_11" + "naersk": "naersk_2", + "nixpkgs": "nixpkgs_14" }, "locked": { "lastModified": 1683924844, @@ -1314,26 +2875,76 @@ "type": "github" } }, + "smartcolumn": { + "flake": false, + "locked": { + "lastModified": 1679417638, + "narHash": "sha256-DjPWBOLbzdfOQAx+6xgV1CD5NKuP1N6An2lmHNHd39Q=", + "owner": "m4xshen", + "repo": "smartcolumn.nvim", + "rev": "0c572e3eae48874f25b74394a486f38cadb5c958", + "type": "github" + }, + "original": { + "owner": "m4xshen", + "repo": "smartcolumn.nvim", + "type": "github" + } + }, "split-monitor-workspaces": { "inputs": { "hyprland": [ "hyprland" - ] + ], + "nix-filter": "nix-filter" }, "locked": { - "lastModified": 1692203722, - "narHash": "sha256-dFyIVl52gTpcuaWpGnXZhGsy6iobVAQsX9w+wbetQp0=", - "owner": "jacekpoz", + "lastModified": 1694032092, + "narHash": "sha256-oEkWQQRl1m2sjQ9BvvlPjAsnjcxPs0low8mLI4oPwd0=", + "owner": "NotAShelf", "repo": "split-monitor-workspaces", - "rev": "71c8a971e259f2436cd53a1bebde3fb1e1618d2b", + "rev": "3d234263ec38f09a89546cd6e217a2a177c96bba", "type": "github" }, "original": { - "owner": "jacekpoz", + "owner": "NotAShelf", "repo": "split-monitor-workspaces", "type": "github" } }, + "sqls-nvim": { + "flake": false, + "locked": { + "lastModified": 1684697500, + "narHash": "sha256-jKFut6NZAf/eIeIkY7/2EsjsIhvZQKCKAJzeQ6XSr0s=", + "owner": "nanotee", + "repo": "sqls.nvim", + "rev": "4b1274b5b44c48ce784aac23747192f5d9d26207", + "type": "github" + }, + "original": { + "owner": "nanotee", + "repo": "sqls.nvim", + "type": "github" + } + }, + "superdirt-src": { + "flake": false, + "locked": { + "lastModified": 1611740180, + "narHash": "sha256-GtnqZeMFqFkVhgx2Exu0wY687cHa7mNnVCgjQd6fiIA=", + "owner": "musikinformatik", + "repo": "superdirt", + "rev": "7abb62e89649daa1232b9cbd6427241868abd30e", + "type": "github" + }, + "original": { + "owner": "musikinformatik", + "ref": "master", + "repo": "superdirt", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -1409,6 +3020,142 @@ "type": "github" } }, + "systems_6": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "tabular": { + "flake": false, + "locked": { + "lastModified": 1550598128, + "narHash": "sha256-irolBA/m3YIaezl+90h5G+xUOpad+3u44uJqDs4JCUs=", + "owner": "godlygeek", + "repo": "tabular", + "rev": "339091ac4dd1f17e225fe7d57b48aff55f99b23a", + "type": "github" + }, + "original": { + "owner": "godlygeek", + "repo": "tabular", + "type": "github" + } + }, + "telescope": { + "flake": false, + "locked": { + "lastModified": 1690663693, + "narHash": "sha256-okyOr5t0e+oV3mY7Yq1ad/7f6qEEDS/ZQrqJcjktYRI=", + "owner": "nvim-telescope", + "repo": "telescope.nvim", + "rev": "b6fccfb0f7589a87587875206786daccba62acc3", + "type": "github" + }, + "original": { + "owner": "nvim-telescope", + "repo": "telescope.nvim", + "type": "github" + } + }, + "tidal-src": { + "flake": false, + "locked": { + "lastModified": 1654350756, + "narHash": "sha256-tONM5SYYBca0orTLH1EUOilSC1FCluWrFt8AetUx+YQ=", + "owner": "tidalcycles", + "repo": "tidal", + "rev": "fda9c1ecb3722698935245e5409ef8ccdfca16c8", + "type": "github" + }, + "original": { + "owner": "tidalcycles", + "ref": "main", + "repo": "tidal", + "type": "github" + } + }, + "tidalcycles": { + "inputs": { + "dirt-samples-src": "dirt-samples-src", + "nixpkgs": "nixpkgs_6", + "superdirt-src": "superdirt-src", + "tidal-src": "tidal-src", + "utils": "utils_2", + "vim-tidal-src": "vim-tidal-src", + "vowel-src": "vowel-src" + }, + "locked": { + "lastModified": 1664760044, + "narHash": "sha256-e5LGk/tDnphory1mYhADgPnVtShofY2w/3xY09jEE2A=", + "owner": "mitchmindtree", + "repo": "tidalcycles.nix", + "rev": "3f3a820cd43709077d15a24fa6062de7d623a6bf", + "type": "github" + }, + "original": { + "owner": "mitchmindtree", + "repo": "tidalcycles.nix", + "type": "github" + } + }, + "todo-comments": { + "flake": false, + "locked": { + "lastModified": 1690569591, + "narHash": "sha256-Qm8AJ8omU5eCfjLt91DVxLS0R3QHbfW55ZTegB1JvWI=", + "owner": "folke", + "repo": "todo-comments.nvim", + "rev": "3094ead8edfa9040de2421deddec55d3762f64d1", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "todo-comments.nvim", + "type": "github" + } + }, + "toggleterm-nvim": { + "flake": false, + "locked": { + "lastModified": 1689602083, + "narHash": "sha256-/sUulN93nRHa3Je+tXr8/i1cgCrd/wtrvMPkjG5Ofzs=", + "owner": "akinsho", + "repo": "toggleterm.nvim", + "rev": "00c13dccc78c09fa5da4c5edda990a363e75035e", + "type": "github" + }, + "original": { + "owner": "akinsho", + "repo": "toggleterm.nvim", + "type": "github" + } + }, + "tokyonight": { + "flake": false, + "locked": { + "lastModified": 1689285710, + "narHash": "sha256-x26qLaZzg7sJIc1d/5Q/DJ/YvRSc3s87PwPHTPTl+Xk=", + "owner": "folke", + "repo": "tokyonight.nvim", + "rev": "1ee11019f8a81dac989ae1db1a013e3d582e2033", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "tokyonight.nvim", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -1418,11 +3165,11 @@ ] }, "locked": { - "lastModified": 1691833704, - "narHash": "sha256-ASGhgGduEgcD3gQZhGr8xtmZ3PlVY+m2HuPnIZDbu78=", + "lastModified": 1693817438, + "narHash": "sha256-fg3+n4Ky1gCzDtPm0MomMTFw0YkH05Y8ojy5t7bkfHg=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "19dee4bf6001849006a63f3435247316b0488e99", + "rev": "b8d3a059f5487d6767d07c3716386753e3132d9f", "type": "github" }, "original": { @@ -1431,22 +3178,214 @@ "type": "github" } }, + "trouble": { + "flake": false, + "locked": { + "lastModified": 1690614197, + "narHash": "sha256-Ee0AM8S/A8DU0hyOnZoKC1hkW0fvk0A+c3WGvPqmKcU=", + "owner": "folke", + "repo": "trouble.nvim", + "rev": "40aad004f53ae1d1ba91bcc5c29d59f07c5f01d3", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "trouble.nvim", + "type": "github" + } + }, + "utils": { + "locked": { + "lastModified": 1656928814, + "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "utils_2": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "vim-dirtytalk": { + "flake": false, + "locked": { + "lastModified": 1690722430, + "narHash": "sha256-kjyLwkAk6mqK7u4+zAr+Yh+zbSiukNKtXwb7t39LUco=", + "owner": "psliwka", + "repo": "vim-dirtytalk", + "rev": "a49251dce1852875951d95f7013979ece5caebf0", + "type": "github" + }, + "original": { + "owner": "psliwka", + "repo": "vim-dirtytalk", + "type": "github" + } + }, + "vim-illuminate": { + "flake": false, + "locked": { + "lastModified": 1679187974, + "narHash": "sha256-8dL3cBjQ2iY4D4gTxKVVmOGhxcSSRuDBvmEwwFIbWsQ=", + "owner": "RRethy", + "repo": "vim-illuminate", + "rev": "a2907275a6899c570d16e95b9db5fd921c167502", + "type": "github" + }, + "original": { + "owner": "RRethy", + "repo": "vim-illuminate", + "type": "github" + } + }, + "vim-markdown": { + "flake": false, + "locked": { + "lastModified": 1680951012, + "narHash": "sha256-B00rad/Bbp+kJBN/fYliOaGiUe0AfBng6gs/fVBve9A=", + "owner": "preservim", + "repo": "vim-markdown", + "rev": "cc82d88e2a791f54d2b6e2b26e41f743351ac947", + "type": "github" + }, + "original": { + "owner": "preservim", + "repo": "vim-markdown", + "type": "github" + } + }, + "vim-repeat": { + "flake": false, + "locked": { + "lastModified": 1611544268, + "narHash": "sha256-8rfZa3uKXB3TRCqaDHZ6DfzNbm7WaYnLvmTNzYtnKHg=", + "owner": "tpope", + "repo": "vim-repeat", + "rev": "24afe922e6a05891756ecf331f39a1f6743d3d5a", + "type": "github" + }, + "original": { + "owner": "tpope", + "repo": "vim-repeat", + "type": "github" + } + }, + "vim-startify": { + "flake": false, + "locked": { + "lastModified": 1620487920, + "narHash": "sha256-//3bzFTe1WKqvQ3uYrDbk5Zu5BKq2hXQGeBhmhKIHvk=", + "owner": "mhinz", + "repo": "vim-startify", + "rev": "81e36c352a8deea54df5ec1e2f4348685569bed2", + "type": "github" + }, + "original": { + "owner": "mhinz", + "repo": "vim-startify", + "type": "github" + } + }, + "vim-tidal-src": { + "flake": false, + "locked": { + "lastModified": 1685703852, + "narHash": "sha256-8gyk17YLeKpLpz3LRtxiwbpsIbZka9bb63nK5/9IUoA=", + "owner": "tidalcycles", + "repo": "vim-tidal", + "rev": "e440fe5bdfe07f805e21e6872099685d38e8b761", + "type": "github" + }, + "original": { + "owner": "tidalcycles", + "ref": "master", + "repo": "vim-tidal", + "type": "github" + } + }, + "vim-vsnip": { + "flake": false, + "locked": { + "lastModified": 1678609126, + "narHash": "sha256-ehPnvGle7YrECn76YlSY/2V7Zeq56JGlmZPlwgz2FdE=", + "owner": "hrsh7th", + "repo": "vim-vsnip", + "rev": "7753ba9c10429c29d25abfd11b4c60b76718c438", + "type": "github" + }, + "original": { + "owner": "hrsh7th", + "repo": "vim-vsnip", + "type": "github" + } + }, + "vowel-src": { + "flake": false, + "locked": { + "lastModified": 1641306144, + "narHash": "sha256-zfF6cvAGDNYWYsE8dOIo38b+dIymd17Pexg0HiPFbxM=", + "owner": "supercollider-quarks", + "repo": "vowel", + "rev": "ab59caa870201ecf2604b3efdd2196e21a8b5446", + "type": "github" + }, + "original": { + "owner": "supercollider-quarks", + "ref": "master", + "repo": "vowel", + "type": "github" + } + }, + "which-key": { + "flake": false, + "locked": { + "lastModified": 1690570286, + "narHash": "sha256-B1+EHd2eH/EbD5Kip9PfhdPyyGfIkD6rsx0Z3rXvb5w=", + "owner": "folke", + "repo": "which-key.nvim", + "rev": "7ccf476ebe0445a741b64e36c78a682c1c6118b7", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "which-key.nvim", + "type": "github" + } + }, "wlroots": { "flake": false, "locked": { "host": "gitlab.freedesktop.org", - "lastModified": 1691073628, - "narHash": "sha256-LlxE3o3UzRY7APYVLGNKM30DBMcDifCRIQiMVSbYLIc=", + "lastModified": 1692976565, + "narHash": "sha256-eBKkG7tMxg92NskEn8dHRFY245JwjirWRoOZzW6DnUw=", "owner": "wlroots", "repo": "wlroots", - "rev": "c74f89d4f84bfed0284d3908aee5d207698c70c5", + "rev": "717ded9bb0191ea31bf4368be32e7a15fe1b8294", "type": "gitlab" }, "original": { "host": "gitlab.freedesktop.org", "owner": "wlroots", "repo": "wlroots", - "rev": "c74f89d4f84bfed0284d3908aee5d207698c70c5", + "rev": "717ded9bb0191ea31bf4368be32e7a15fe1b8294", "type": "gitlab" } }, @@ -1466,11 +3405,11 @@ ] }, "locked": { - "lastModified": 1691841170, - "narHash": "sha256-RCTm1/MVWYPnReMgyp7tr2ogGYo/pvw38jZaFwemgPU=", + "lastModified": 1694025408, + "narHash": "sha256-oJNhGfZH8Z2w3ztXdzsYVg32//cWEcPVDM3+tp/ZVfU=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b", + "rev": "022469529c8bc95acf222dc5a62389b04c8b1205", "type": "github" }, "original": { @@ -1478,6 +3417,26 @@ "repo": "xdg-desktop-portal-hyprland", "type": "github" } + }, + "zig": { + "inputs": { + "flake-compat": "flake-compat_4", + "flake-utils": "flake-utils_4", + "nixpkgs": "nixpkgs_7" + }, + "locked": { + "lastModified": 1690718829, + "narHash": "sha256-GN19SrCqWxIJN+rnbv+pIkF/yynh6FG2y7jY6PZRiYw=", + "owner": "mitchellh", + "repo": "zig-overlay", + "rev": "92e485cc7887f57be4d2921ed077f467912b7d33", + "type": "github" + }, + "original": { + "owner": "mitchellh", + "repo": "zig-overlay", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 2a379999..ed521f86 100644 --- a/flake.nix +++ b/flake.nix @@ -18,10 +18,7 @@ hyprland.url = "github:hyprwm/Hyprland"; - hyprcontrib = { - url = "github:hyprwm/contrib"; - inputs.hyprland.follows = "hyprland"; - }; + hyprcontrib.url = "github:hyprwm/contrib"; hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; @@ -29,7 +26,7 @@ }; split-monitor-workspaces = { - url = "github:jacekpoz/split-monitor-workspaces"; + url = "github:NotAShelf/split-monitor-workspaces"; inputs.hyprland.follows = "hyprland"; }; @@ -74,5 +71,10 @@ neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; helix.url = "github:helix-editor/helix"; + + neovim-flake = { + url = "github:NotAShelf/neovim-flake"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; } diff --git a/homes/chmura/default.nix b/homes/chmura/default.nix deleted file mode 100644 index 4814a9dd..00000000 --- a/homes/chmura/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - config, - inputs, - lib, - pkgs, - ... -}: { - - imports = [ - ]; - - config = { - programs = { - home-manager.enable = true; - }; - - home = { - username = "chmura"; - packages = with pkgs; [ - git - exa - ripgrep - btop - firejail - zellij - cargo - rustc - nodejs - unzip - cmake - gcc - trash-cli - ]; - - stateVersion = lib.mkDefault "23.11"; - }; - }; -} diff --git a/homes/default.nix b/homes/default.nix deleted file mode 100644 index 5919a16f..00000000 --- a/homes/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - inputs, - pkgs, - self, - ... -}: let - mkNixPak = inputs.nixpak.lib.nixpak { - inherit (pkgs) lib; - inherit pkgs; - }; -in { - home-manager = { - useUserPackages = true; - useGlobalPkgs = true; - extraSpecialArgs = {inherit inputs self mkNixPak;}; # let home-manager access inputs and self - users = { - jacek = import ./jacek; - #chmura = import ./chmura; - }; - }; -} diff --git a/homes/jacek/cli/git.nix b/homes/jacek/cli/git.nix deleted file mode 100644 index 6c348940..00000000 --- a/homes/jacek/cli/git.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - config, - pkgs, - ... -}: -{ - config = { - programs.git = { - enable = true; - userName = "jacekpoz"; - userEmail = "jacekpoz@cock.li"; - includes = [ - { - contents = { core.editor = "${pkgs.neovim}/bin/nvim"; }; - } - { - contents = { init.defaultBranch = "master"; }; - } - ]; - }; - }; -} diff --git a/homes/jacek/cli/starship.nix b/homes/jacek/cli/starship.nix deleted file mode 100644 index 2ae021a5..00000000 --- a/homes/jacek/cli/starship.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - config, - ... -}: { - config = { - programs.starship = { - enable = true; - enableZshIntegration = true; - settings = { - add_newline = false; - command_timeout = 1000; - line_break = { - disabled = true; - }; - directory = { - truncation_length = 3; - truncate_to_repo = false; - truncation_symbol = "…/"; - read_only = ""; - }; - }; - }; - }; -} diff --git a/homes/jacek/cli/zoxide.nix b/homes/jacek/cli/zoxide.nix deleted file mode 100644 index 85e5b113..00000000 --- a/homes/jacek/cli/zoxide.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - config, - ... -}: { - config = { - programs.zoxide = { - enable = true; - enableZshIntegration = true; - }; - }; -} diff --git a/homes/jacek/cli/zsh.nix b/homes/jacek/cli/zsh.nix deleted file mode 100644 index 535d96ee..00000000 --- a/homes/jacek/cli/zsh.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ - config, - pkgs, - ... -}: { - config = { - programs.zsh = { - enable = true; - shellAliases = { - cl = "clear"; - cp = "cp -ivr"; - mv = "mv -iv"; - rm = "trash -v"; - l = "ls -A --color=auto"; - e = "exa -lha --git"; - untar = "tar -xvf"; - untargz = "tar -xzf"; - mnt = "udisksctl mount -b"; - umnt = "udisksctl unmount -b"; - v = "nvim"; - kys = "shutdown now"; - gpl = "curl https://www.gnu.org/licenses/gpl-3.0.txt -o LICENSE"; - agpl = "curl https://www.gnu.org/licenses/agpl-3.0.txt -o LICENSE"; - wget = "wget --hsts-file=\"${config.xdg.dataHome}/wget-hsts\""; - g = "git"; - }; - initExtra = '' - bindkey '^H' backward-kill-word - ''; - history = { - path = "${config.xdg.dataHome}/zsh/zsh_history"; - size = 999999999; - extended = true; - ignoreSpace = true; - }; - enableAutosuggestions = true; - enableCompletion = true; - autocd = false; - dotDir = ".config/zsh"; - plugins = [ - { - name = "fast-syntax-highlighting"; - file = "fast-syntax-highlighting.plugin.zsh"; - src = pkgs.fetchFromGitHub { - owner = "zdharma-continuum"; - repo = "fast-syntax-highlighting"; - rev = "cf318e06a9b7c9f2219d78f41b46fa6e06011fd9"; - sha256 = "sha256-RVX9ZSzjBW3LpFs2W86lKI6vtcvDWP6EPxzeTcRZua4="; - }; - } - ]; - }; - }; -} diff --git a/homes/jacek/default.nix b/homes/jacek/default.nix deleted file mode 100644 index 0c55a57c..00000000 --- a/homes/jacek/default.nix +++ /dev/null @@ -1,184 +0,0 @@ -{ - config, - inputs, - lib, - pkgs, - ... -}: { - - imports = [ - inputs.hyprland.homeManagerModules.default - inputs.anyrun.homeManagerModules.default - ./gui - ./tui - ./cli - ./services - ./other - ]; - - config = { - programs = { - home-manager.enable = true; - direnv = { - enable = true; - nix-direnv.enable = true; - }; - }; - - home = { - username = "jacek"; - homeDirectory = "/home/jacek"; - packages = let - hyprcontrib = inputs.hyprcontrib.packages.${pkgs.system}; - shadower = inputs.shadower.packages.${pkgs.system}; - nix-gaming = inputs.nix-gaming.packages.${pkgs.system}; - fenix = inputs.fenix.packages.${pkgs.system}; - nixpkgs-wayland = inputs.nixpkgs-wayland.packages.${pkgs.system}; - in with pkgs; [ - git - librewolf-wayland - keepassxc - exa - ripgrep - libnotify - rofi-wayland - rofi-calc - webcord-vencord - session-desktop - signal-desktop-beta - schildichat-desktop - obs-studio - heroic - steam - ungoogled-chromium - amdgpu_top - tor-browser-bundle-bin - mullvad-browser - thunderbird - telegram-desktop - livecaptions - gimp - helvum - ddccontrol - ddccontrol-db - bluez - blueman - easyeffects - fcitx5 - fcitx5-gtk - fcitx5-skk - fcitx5-configtool - firejail - lbry - #libreoffice-fresh - minetest - airshipper - onionshare-gui - prismlauncher - qbittorrent - retroarchFull - ventoy-full - zathura - zellij - nodejs - unzip - cmake - gcc - nixpkgs-wayland.sway-unwrapped - caprine-bin - libsForQt5.kdenlive - telegram-desktop - waypipe - trash-cli - bibata-cursors - nixpkgs-wayland.swww - opentabletdriver - networkmanagerapplet - nixpkgs-wayland.wl-clipboard - nixpkgs-wayland.wlsunset - xdg-utils - hyprpicker - hyprcontrib.hyprprop - hyprcontrib.grimblast - shadower.shadower - pamixer - brightnessctl - dig - bottles - lutris - - nodePackages_latest.pnpm - nodePackages_latest.prisma - prisma-engines - openssl - pkg-config - docker - docker-compose - postgresql - nix-gaming.osu-stable - nix-gaming.osu-lazer-bin - swappy - nixpkgs-wayland.imv - pcmanfm - anytype - xdg-ninja - auto-cpufreq - gnupg - pinentry-qt - age - rage - fd - udisks - ffmpeg - xdg-desktop-portal-gtk - ghc - ghcid - cabal-install - yt-dlp - filelight - (fenix.complete.withComponents [ - "cargo" - "clippy" - "rust-src" - "rustc" - "rustfmt" - ]) - wayland - showmethekey - polkit - libsForQt5.polkit-kde-agent - asciinema - asciinema-agg - du-dust - mullvad-vpn - appimage-run - file - virt-manager - weechat - flowblade - hyfetch - git-annex - gamemode - croc - linuxKernel.packages.linux_xanmod_latest.cpupower - uutils-coreutils - anki - alsa-utils - speechd - arcanPackages.espeak - ezquake - imagemagick - weston - pavucontrol - psmisc - mesa-demos - nnn - aseprite-unfree - jq - nixpkgs-wayland.eww-wayland - ]; - - stateVersion = lib.mkDefault "23.11"; - }; - }; -} diff --git a/homes/jacek/gui/eww/config/eww.scss b/homes/jacek/gui/eww/config/eww.scss deleted file mode 100644 index d2abe6d5..00000000 --- a/homes/jacek/gui/eww/config/eww.scss +++ /dev/null @@ -1,54 +0,0 @@ -* { - all: unset; //Unsets everything so you can style everything from scratch -} - -//Global Styles -.bar { - background-color: #3a3a3a; - color: #b0b4bc; - padding: 10px; -} - -// Styles on classes (see eww.yuck for more information) - -.sidestuff slider { - all: unset; - color: #ffd5cd; -} - -.metric scale trough highlight { - all: unset; - background-color: #D35D6E; - color: #000000; - border-radius: 10px; -} -.metric scale trough { - all: unset; - background-color: #4e4e4e; - border-radius: 50px; - min-height: 3px; - min-width: 50px; - margin-left: 10px; - margin-right: 20px; -} -.metric scale trough highlight { - all: unset; - background-color: #D35D6E; - color: #000000; - border-radius: 10px; -} -.metric scale trough { - all: unset; - background-color: #4e4e4e; - border-radius: 50px; - min-height: 3px; - min-width: 50px; - margin-left: 10px; - margin-right: 20px; -} -.label-ram { - font-size: large; -} -.workspaces button:hover { - color: #D35D6E; -} diff --git a/homes/jacek/gui/eww/config/eww.yuck b/homes/jacek/gui/eww/config/eww.yuck deleted file mode 100644 index a4a27d2c..00000000 --- a/homes/jacek/gui/eww/config/eww.yuck +++ /dev/null @@ -1,75 +0,0 @@ -(defwidget bar [] - (centerbox :orientation "h" - (workspaces) - (music) - (sidestuff))) - -(defwidget sidestuff [] - (box :class "sidestuff" :orientation "h" :space-evenly false :halign "end" - (metric :label "🔊" - :value volume - :onchange "amixer -D pulse sset Master {}%") - (metric :label "" - :value {EWW_RAM.used_mem_perc} - :onchange "") - (metric :label "💾" - :value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)} - :onchange "") - time)) - -(defwidget workspaces [] - (box :class "workspaces" - :orientation "h" - :space-evenly true - :halign "start" - :spacing 10 - (button :onclick "wmctrl -s 0" 1) - (button :onclick "wmctrl -s 1" 2) - (button :onclick "wmctrl -s 2" 3) - (button :onclick "wmctrl -s 3" 4) - (button :onclick "wmctrl -s 4" 5) - (button :onclick "wmctrl -s 5" 6) - (button :onclick "wmctrl -s 6" 7) - (button :onclick "wmctrl -s 7" 8) - (button :onclick "wmctrl -s 8" 9))) - -(defwidget music [] - (box :class "music" - :orientation "h" - :space-evenly false - :halign "center" - {music != "" ? "🎵${music}" : ""})) - - -(defwidget metric [label value onchange] - (box :orientation "h" - :class "metric" - :space-evenly false - (box :class "label" label) - (scale :min 0 - :max 101 - :active {onchange != ""} - :value value - :onchange onchange))) - - - -(deflisten music :initial "" - "playerctl --follow metadata --format '{{ artist }} - {{ title }}' || true") - -(defpoll volume :interval "1s" - "scripts/getvol") - -(defpoll time :interval "10s" - "date '+%H:%M %b %d, %Y'") - -(defwindow bar - :monitor 0 - :windowtype "dock" - :geometry (geometry :x "0%" - :y "0%" - :width "90%" - :height "10px" - :anchor "top center") - :reserve (struts :side "top" :distance "4%") - (bar)) diff --git a/homes/jacek/gui/firefox.nix b/homes/jacek/gui/firefox.nix deleted file mode 100644 index b6c27012..00000000 --- a/homes/jacek/gui/firefox.nix +++ /dev/null @@ -1,333 +0,0 @@ -{ - config, - lib, - inputs, - pkgs, - mkNixPak, - ... -}: { - config = let - buildFirefoxXpiAddon = lib.makeOverridable ({ - stdenv ? pkgs.stdenv, - fetchurl ? pkgs.fetchurl, - pname, - version, - addonId, - url, - sha256, - ... - }: - stdenv.mkDerivation { - name = "${pname}-${version}"; - src = fetchurl {inherit url sha256;}; - preferLocalBuild = true; - allowSubstitutes = true; - buildCommand = '' - dst="$out/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9397384}" - mkdir -p "$dst" - install -v -m644 "$src" "$dst/${addonId}.xpi" - ''; - }); - - extra-addons = { - yomichan = buildFirefoxXpiAddon { - pname = "yomichan"; - version = "20.5.22.1"; - addonId = "{a9226ee9-7998-47bd-b72e-a1b56df7f77b}"; - url = "https://addons.mozilla.org/firefox/downloads/file/3585060/yomichan-20.5.22.1.xpi"; - sha256 = "sha256-/icvPD/nCJYS31owfYMD25QzFjsxAqapy/UAehhxsy8="; - }; - }; - in { - programs.firefox = { - enable = true; - package = pkgs.firefox-devedition; - profiles = { - "schizo.dev-edition-default" = { - id = 0; - name = "dev-edition-default"; - isDefault = true; - search = { - default = "SearXNG Sapti"; - engines = { - "SearXNG Sapti" = { - urls = [{ template = "https://search.sapti.me/search?q={searchTerms}"; }]; - iconUpdateURL = "https://search.sapti.me/favicon.ico"; - updateInterval = 24 * 60 * 60 * 1000; - definedAliases = [ "@sx" ]; - }; - "NixOS Packages" = { - urls = [{ - template = "https://search.nixos.org/packages"; - params = [ - { name = "channel"; value = "unstable"; } - { name = "query"; value = "{searchTerms}"; } - ]; - }]; - icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = [ "@np" ]; - }; - "NixOS Options" = { - urls = [{ - template = "https://search.nixos.org/options"; - params = [ - { name = "channel"; value = "unstable"; } - { name = "query"; value = "{searchTerms}"; } - ]; - }]; - icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = [ "@no" ]; - }; - "NixOS Wiki" = { - urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }]; - iconUpdateURL = "https://nixos.wiki/favicon.png"; - updateInterval = 24 * 60 * 60 * 1000; - definedAliases = [ "@nw" ]; - }; - "Home Manager Option Search" = { - urls = [{ template = "https://mipmip.github.io/home-manager-option-search/?query={searchTerms}"; }]; - icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = [ "@hm" ]; - }; - }; - force = true; - }; - extensions = with pkgs.nur.repos.rycee.firefox-addons; [ - ublock-origin - sponsorblock - tridactyl - violentmonkey - darkreader - keepassxc-browser - redirector - auto-tab-discard - extra-addons.yomichan - ]; - settings = { - "browser.aboutConfig.showWarning" = false; - "browser.startup.page" = 0; - "browser.startup.homepage" = "about:home"; - "browser.newtabpage.enabled" = true; - "browser.newtabpage.activity-stream.showSponsored" = false; - "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; - "browser.newtabpage.activity-stream.default.sites" = ""; - "geo.provider.network.url" = ""; - "geo.provider.network.logging.enabled" = false; - "geo.provider.ms-windows-location" = false; - "geo.provider.use_corelocation" = false; - "geo.provider.use_gpsd" = false; - "geo.provider.use_geoclue" = false; - "intl.accept_langauges" = "en-US"; - "javascript.use_us_english_locale" = true; - "extensions.getAddons.showPane" = false; - "extensions.htmlaboutaddons.recommendations.enabled" = false; - "browser.discovery.enabled" = false; - # this shit doesn't work thanks to firefox's - # fucking retarded ass decisions - # but I'm gonna keep it anyway - "extensions.unifiedExtensions.enabled" = false; - "datareporting.policy.dataSubmissionEnabled" = false; - "datareporting.healthreport.uploadEnabled" = false; - "toolkit.telemetry.unified" = false; - "toolkit.telemetry.enabled" = false; - "toolkit.telemetry.server" = "data:,"; - "toolkit.telemetry.archive.enabled" = false; - "toolkit.telemetry.newProfilePing.enabled" = false; - "toolkit.telemetry.shutdownPingSender.enabled" = false; - "toolkit.telemetry.updatePing.enabled" = false; - "toolkit.telemetry.bhrPing.enabled" = false; - "toolkit.telemetry.firstShutdownPing.enabled" = false; - "toolkit.telemetry.coverage.opt-out" = true; - "toolkit.coverage.endpoint.base" = ""; - "browser.ping-centre.telemetry" = false; - "browser.newtabpage.activity-stream.feeds.telemetry" = false; - "browser.newtabpage.activity-stream.telemetry" = false; - "app.shield.optoutstudies.enabled" = false; - "app.normandy.enabled" = false; - "app.normandy.api_url" = ""; - "breakpad.reportURL" = ""; - "browser.tabs.crashReporting.sendReport" = false; - "browser.crashReports.unsubmittedCheck.enabled" = false; - "browser.crashReports.unsubmittedCheck.autoSubmit2" = false; - "captivedetect.canonicalURL" = ""; - "network.captive-portal-service.enabled" = false; - "network.connectivity-service.enabled" = false; - "browser.safebrowsing.malware.enabled" = false; - "browser.safebrowsing.phishing.enabled" = false; - "browser.safebrowsing.downloads.enabled" = false; - "browser.safebrowsing.downloads.remote.enabled" = false; - "browser.safebrowsing.downloads.remote.url" = ""; - "browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false; - "browser.safebrowsing.downloads.remote.block_uncommon" = false; - "browser.safebrowsing.allowOverride" = false; - "network.prefetch-next" = false; - "network.dns.disablePrefetch" = true; - "network.dns.disablePrefetchFromHTTPS" = true; - "network.predictor.enabled" = false; - "network.predictor.enable-prefetch" = false; - "network.http.speculative.parallel-limit" = 0; - "browser.places.speculativeConnect.enabled" = false; - "browser.send_pings" = false; - "network.dns.disableIPv6" = true; - "network.proxy.socks_remote_dns" = true; - "network.file.disable_unc_paths" = true; - "network.gio.supported-protocols" = ""; - "network.proxy.failover_direct" = false; - "network.proxy.allow_bypass" = false; - # "network.trr.mode" = 5; TODO read about this - "browser.fixup.alternate.enabled" = false; - # TODO do I want this - "browser.search.suggest.enabled" = true; - "browser.urlbar.suggest.searches" = true; - "browser.urlbar.speculativeConnect.enabled" = false; - "browser.urlbar.dnsResolveSingleWordsAfterSearch" = 0; - "browser.urlbar.suggest.quicksuggest.nonsponsored" = false; - "browser.urlbar.suggest.quicksuggest.sponsored" = false; - "browser.formfill.enable" = false; - "layout.css.visited_links_enabled" = false; - "signon.autofillForms" = false; - "signon.formlessCapture.enabled" = false; - # TODO find some info about this - "network.auth.subresource-http-auth-allow" = 0; - "network.http.windows-sso.enabled" = false; - # TODO read about these until... - "browser.cache.disk.enable" = true; - "browser.privatebrowsing.forceMediaMemoryCache" = true; - "media.memory_cache_max_size" = 65536; - "browser.sessionstore.privacy_level" = 2; - # here - "toolkit.winRegisterApplicationRestart" = false; - # TODO favicons might be cool though - "browser.shell.shortcutFavicons" = false; - "security.ssl.require_safe_negotiation" = true; - "security.tls.enable_0rtt_data" = true; - # TODO read and think about it - "security.OCSP.enabled" = 1; - "security.OCSP.require" = true; - "security.family_safety.mode" = 0; - "security.cert_pinning.enforcement_level" = 2; - # TODO read about the next 2 - "security.remote_settings.crlite_filters.enabled" = true; - "security.pki.crlite_mode" = 2; - # TODO if images break it's probably this - "security.mixed_content.block_display_content" = true; - "dom.security.https_only_mode" = true; - "dom.security.https_only_mode_pbm" = true; - "dom.security.https_only_mode.upgrade_local" = true; - "dom.security.https_only_mode_send_http_background_request" = false; - "security.ssl.treat_unsafe_negotiation_as_broken" = true; - "browser.xul.error_pages.expert_bad_cert" = true; - "network.http.referer.XOriginPolicy" = 2; - "network.http.referer.XOriginTrimmingPolicy" = 2; - "privacy.userContext.enabled" = true; - "privacy.userContext.ui.enabled" = true; - "privacy.userContext.newTabContainerOnLeftClick.enabled" = true; - # TODO read about these 2 - "media.peerconnection.ice.proxy_only_if_behind_proxy" = true; - "media.peerconnection.ice.default_address_only" = true; - "media.peerconnection.ice.no_host" = true; - # TODO remove this if some codecs or shit don't work - "media.gmp-provider.enabled" = false; - # I think this is for netflix and shit - "media.gmp-widevinecdm.enabled" = false; - # disables DRM in general - "media.eme.enabled" = false; - # and the ui for it just in case - "browser.eme.ui.enabled" = false; - "dom.disable_window_move_resize" = true; - "accessibility.force_disabled" = 1; - "browser.helperApps.deleteTempFileOnExit" = true; - # TODO what the fuck is uitour - "browser.uitour.enabled" = false; - "browser.uitour.url" = ""; - "devtools.debugger.remote-enabled" = false; - "middlemouse.contentLoadURL" = false; - "permissions.default.shortcuts" = 2; - "permissions.manager.defaultsUrl" = ""; - # TODO what is this - "webchannel.allowObject.urlWhitelist" = ""; - "network.IDN_show_punycode" = true; - "pdfjs.disabled" = false; - "pdfjs.enableScripting" = false; - "network.protocol-handler.external.ms-windows-store" = false; - "permissions.delegation.enabled" = false; - "browser.download.useDownloadDir" = true; - "browser.download.alwaysOpenPanel" = false; - "browser.download.manager.addToRecentDocs" = true; - "browser.download.always_ask_before_handling_new_types" = true; - # if extensions break go here - "extensions.enabledScopes" = 5; - "extensions.autoDisableScopes" = 15; - # TODO rethink this - "extensions.postDownloadThirdPartyPrompt" = true; - "extensions.webextensions.restrictedDomains" = ""; - "browser.contentblocking.category" = "strict"; - "privacy.antitracking.enableWebcompat" = false; - "privacy.partition.serviceWorkers" = true; - "privacy.partition.always_partition_third_party_non_cookie_storage" = true; - "privacy.partition.always_partition_third_party_non_cookie_storage.exempt_sessionstorage" = false; - "privacy.sanitize.sanitizeOnShutdown" = true; - "privacy.clearOnShutdown.cache" = true; - "privacy.clearOnShutdown.downloads" = true; - "privacy.clearOnShutdown.formdata" = true; - "privacy.clearOnShutdown.history" = true; - "privacy.clearOnShutdown.sessions" = true; - "privacy.clearOnShutdown.siteSettings" = true; - # if true I can't recover from crashes according to arkenfox - "privacy.clearOnShutdown.openWindows" = false; - "privacy.clearOnShutdown.cookies" = true; - "privacy.clearOnShutdown.offlineApps" = true; - "privacy.clearsitedata.cache.enabled" = true; - "privacy.cpd.cache" = true; - "privacy.cpd.formdata" = true; - "privacy.cpd.history" = true; - "privacy.cpd.sessions" = true; - "privacy.cpd.offlineApps" = true; - "privacy.cpd.cookies" = true; - "privacy.cpd.downloads" = true; - "privacy.cpd.openWindows" = false; - "privacy.cpd.passwords" = true; - "privacy.cpd.siteSettings" = true; - "privacy.sanitize.timeSpan" = 0; - "privacy.resistFingerprint" = false; - # we won't be installing extensions through mozilla's website I don't think - "privacy.resistFingerprinting.block_mozAddonManager" = true; - "privacy.resistFingerprinting.letterboxing" = true; - "layout.css.font-visibility.resistFingerprinting" = 1; - "browser.display.use_system_colors" = false; - "widget.non-native-theme.enabled" = true; - "browser.link.open_newwindow" = 3; - "browser.link.open_newwindow.restriction" = 0; - "webgl.disabled" = false; - "signon.rememberSignons" = false; - "permissions.memory_only" = true; - "security.nocertdb" = true; - "browser.chrome.site_icons" = true; - "browser.session.max_tabs_undo" = 0; - "browser.sessionstore.resume_from_crash" = true; - "browser.urlbar.autoFill" = false; - "places.history.enabled" = false; - "extensions.formautofill.addresses.enabled" = false; - "extensions.formautofill.creditCards.enabled" = false; - "extensions.formautofill.heuristics.enabled" = false; - "dom.popup_allowed_events" = "click dblclick mousedown pointerdown"; - "javascript.options.ion" = false; - "javascript.options.baselinejit" = false; - "javascript.options.jit_trustedprincipals" = true; - "javascript.options.wasm" = false; - "extensions.blocklist.enabled" = true; - "network.http.referer.spoofSource" = false; - "security.dialog_enable_delay" = 1000; - "privacy.firstparty.isolate" = false; - "extensions.webcompat.enable_shims" = true; - "security.tls.version.enable-deprecated" = false; - "extensions.webcompat-reporter.enabled" = false; - - "gfx.webrender.all" = true; - "media.ffmpeg.vaapi.enabled" = true; - }; - }; - }; - }; - }; -} diff --git a/homes/jacek/gui/foot.nix b/homes/jacek/gui/foot.nix deleted file mode 100644 index ecb5e0d1..00000000 --- a/homes/jacek/gui/foot.nix +++ /dev/null @@ -1,110 +0,0 @@ -{ - config, - inputs, - pkgs, - ... -}: -{ - config = { - programs.foot = { - enable = true; - package = inputs.nixpkgs-wayland.packages.${pkgs.system}.foot; - server.enable = true; - settings = { - main = { - term = "xterm-256color"; - app-id = "foot"; - title = "foot"; - locked-title = "no"; - - font = "JetBrains Mono Nerd Font:size=16"; - line-height = 20; - letter-spacing = 0; - horizontal-letter-offset = 0; - vertical-letter-offset = -0.75; - box-drawings-uses-font-glyphs = "no"; - dpi-aware = "no"; - - initial-window-size-chars = "104x36"; - initial-window-mode = "windowed"; - pad = "5x5 center"; - resize-delay-ms = 100; - - notify = "notify-send -a \${app-id} -i \${app-id} \${title} \${body}"; - - bold-text-in-bright = "no"; - word-delimiters = ",│`|:\"'()[]{}<>"; - selection-target = "primary"; - }; - bell = { - urgent = "yes"; - notify = "yes"; - command = "notify-send bell"; - command-focused = "no"; - }; - scrollback = { - lines = 100000; - multiplier = 10.0; - indicator-position = "relative"; - indicator-format = "line"; - }; - url = { - launch = "xdg-open \${url}"; - label-letters = "sadfjklewcmpgh"; - osc8-underline = "always"; - protocols = "http, https, ftp, ftps, file, gemini, gopher, irc, ircs"; - uri-characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+=\"'()[]"; - }; - cursor = { - style = "block"; - blink = "no"; - }; - mouse = { - hide-when-typing = "yes"; - alternate-scroll-mode = "yes"; - }; - colors = { - alpha = 0.85; - foreground = "dee1e6"; - background = "101419"; - # Normal/regular colors (color palette 0-7) - regular0 = "c5c8cd"; # black - regular1 = "bd3c42"; # red - regular2 = "69b373"; # green - regular3 = "ceac67"; # yellow - regular4 = "4d82c8"; # blue - regular5 = "a367cb"; # magenta - regular6 = "519bc6"; # cyan - regular7 = "101419"; # white - # Bright colors (color palette 8-15) - bright0 = "989ba0"; # bright black - bright1 = "c24147"; # bright red - bright2 = "6eb878"; # bright green - bright3 = "d3b16c"; # bright yellow - bright4 = "5287cd"; # bright blue - bright5 = "a86cd0"; # bright magenta - bright6 = "56a0cb"; # bright cyan - bright7 = "1f2328"; # bright white - }; - csd = { - preferred = "server"; - }; - key-bindings = { - show-urls-launch = "Control+Shift+u"; - unicode-input = "Control+Shift+i"; - }; - mouse-bindings = { - selection-override-modifiers = "Shift"; - primary-paste = "BTN_MIDDLE"; - select-begin = "BTN_LEFT"; - select-begin-block = "Control+BTN_LEFT"; - select-extend = "BTN_RIGHT"; - select-extend-character-wise = "Control+BTN_RIGHT"; - select-word = "BTN_LEFT-2"; - select-word-whitespace = "Control+BTN_LEFT-2"; - select-row = "BTN_LEFT-3"; - }; - }; - }; - }; -} diff --git a/homes/jacek/gui/gtk.nix b/homes/jacek/gui/gtk.nix deleted file mode 100644 index 297b1542..00000000 --- a/homes/jacek/gui/gtk.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - config, - inputs, - pkgs, - ... -}: { - config = { - gtk = { - enable = true; - theme = { - name = "Catppuccin-Mocha-Standard-Green-dark"; - package = pkgs.catppuccin-gtk.override { - size = "standard"; - accents = [ "green" ]; - variant = "mocha"; - tweaks = [ "normal" ]; - }; - }; - iconTheme = { - name = "Papirus-Dark"; - package = pkgs.catppuccin-papirus-folders.override { - accent = "green"; - flavor = "mocha"; - }; - }; - }; - home = { - sessionVariables = { - GTK_THEME = "${config.gtk.theme.name}"; - - GTK_USE_PORTAL = "1"; - }; - pointerCursor = { - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Classic"; - size = 24; - gtk.enable = true; - x11.enable = true; - }; - }; - }; -} diff --git a/homes/jacek/gui/hypr.nix b/homes/jacek/gui/hypr.nix deleted file mode 100644 index 78c49aa3..00000000 --- a/homes/jacek/gui/hypr.nix +++ /dev/null @@ -1,300 +0,0 @@ -{ - config, - inputs, - pkgs, - ... -}: { - config = { - wayland.windowManager.hyprland = { - enable = true; - package = inputs.hyprland.packages.${pkgs.system}.hyprland; - plugins = [ - inputs.hyprland-plugins.packages.${pkgs.system}.csgo-vulkan-fix - inputs.split-monitor-workspaces.packages.${pkgs.system}.split-monitor-workspaces - ]; - extraConfig = '' - #laptop - monitor=eDP-1,2560@1440@165,0x0,1 - #second monitor - monitor=HDMI-A-1,2560x1440@144,2560x0,1 - - workspace = 1, monitor:eDP-1, default:true - workspace = 2, monitor:eDP-1 - workspace = 3, monitor:eDP-1 - workspace = 4, monitor:eDP-1 - workspace = 5, monitor:eDP-1 - workspace = 6, monitor:eDP-1 - workspace = 7, monitor:eDP-1 - workspace = 8, monitor:eDP-1 - workspace = 9, monitor:eDP-1 - workspace = 10, monitor:eDP-1 - - workspace = 11, monitor:HDMI-A-1, default:true - workspace = 12, monitor:HDMI-A-1 - workspace = 13, monitor:HDMI-A-1 - workspace = 14, monitor:HDMI-A-1 - workspace = 15, monitor:HDMI-A-1 - workspace = 16, monitor:HDMI-A-1 - workspace = 17, monitor:HDMI-A-1 - workspace = 18, monitor:HDMI-A-1 - workspace = 19, monitor:HDMI-A-1 - workspace = 20, monitor:HDMI-A-1 - - workspace = special:btop, allpseudo - workspace = special:amdgpu_top, allpseudo - workspace = special:helvum, allpseudo - workspace = special:nixos, allpseudo, gapsin:0, gapsout:0 - - input { - kb_layout=pl - kb_variant= - kb_model= - kb_options= - kb_rules= - - follow_mouse=1 - touchpad { - disable_while_typing=true - } - - repeat_rate = 50 - repeat_delay = 250 - } - - general { - sensitivity=1.0 # for mouse cursor - - gaps_in=5 - gaps_out=5 - #gaps_in=0 - #gaps_out=0 - border_size=2 - #border_size=1 - - apply_sens_to_raw=0 # whether to apply the sensitivity to raw input (e.g. used by games where you aim using your mouse) - - #no_border_on_floating=true - } - - decoration { - #rounding=0 - rounding=10 - blur { - enabled=1 - size=3 - passes=2 - } - - drop_shadow=1 - shadow_range=15 - shadow_render_power=2 - shadow_ignore_window=1 - shadow_offset= 2 4 - shadow_scale=1 - } - - gestures { - workspace_swipe=1 - workspace_swipe_distance=200 - workspace_swipe_invert=1 - workspace_swipe_min_speed_to_force=20 - workspace_swipe_cancel_ratio=0.5 - } - - bezier=dupa, 0.1, 0.9, 0.1, 1.05 - - animations { - enabled=1 - animation=windows,1,4,dupa,popin - animation=windowsOut,1,7,dupa,slide - animation=border,1,15,default - animation=fade,1,10,default - animation=workspaces,1,5,dupa,slidevert - } - - dwindle { - no_gaps_when_only=1 - } - - misc { - enable_swallow=0 - swallow_regex=foot - focus_on_activate=true - vrr=1 - animate_manual_resizes=false - animate_mouse_windowdragging=false - } - - windowrulev2 = float, title:^(.*)(Tor Browser)(.*)$ - windowrulev2 = float, class:^(mullvadbrowser)$ - windowrulev2 = float, class:^(foot)$ - windowrulev2 = float, class:^(mpv)$ - windowrulev2 = float, class:^(imv)$ - windowrulev2 = float, class:^(Vieb)$ - windowrulev2 = float, title:^(Picture-in-Picture)$ - windowrulev2 = float, title:^(.*)(Choose User Profile)(.*)$ - - windowrulev2 = float, class:^(code), title: ^(Open*) - windowrulev2 = size 70% 70%, class:^(code), title: ^(Open*) - windowrulev2 = center, class: ^(code), title: ^(Open*) - windowrulev2 = float, class:^(org.keepassxc.KeePassXC)$ - windowrulev2 = size 960 670, title:^(ROG Control Center)$ - - bind = SUPER, RETURN, exec, foot - bind = SUPER, W, exec, firefox - bind = SUPERSHIFT, W, exec, librewolf - bind = SUPER, Q, killactive - bind = SUPER, F, fullscreen, 0 - bind = SUPER, M, fullscreen, 1 - bind = SUPER, D, exec, pkill anyrun || anyrun - bind = SUPER, SPACE, togglefloating, - bind = SUPERSHIFT, C, centerwindow - bind = SUPER, R, bringactivetotop - binde = SUPER, H, movefocus, l - binde = SUPER, J, movefocus, d - binde = SUPER, K, movefocus, u - binde = SUPER, L, movefocus, r - binde = SUPERCTRL, J, focusmonitor, l - binde = SUPERCTRL, K, focusmonitor, r - bind = SUPER, 1, split-workspace, 1 - bind = SUPER, 2, split-workspace, 2 - bind = SUPER, 3, split-workspace, 3 - bind = SUPER, 4, split-workspace, 4 - bind = SUPER, 5, split-workspace, 5 - bind = SUPER, 6, split-workspace, 6 - bind = SUPER, 7, split-workspace, 7 - bind = SUPER, 8, split-workspace, 8 - bind = SUPER, 9, split-workspace, 9 - bind = SUPER, 0, split-workspace, 10 - bind = SUPERSHIFT, 1, split-movetoworkspacesilent, 1 - bind = SUPERSHIFT, 2, split-movetoworkspacesilent, 2 - bind = SUPERSHIFT, 3, split-movetoworkspacesilent, 3 - bind = SUPERSHIFT, 4, split-movetoworkspacesilent, 4 - bind = SUPERSHIFT, 5, split-movetoworkspacesilent, 5 - bind = SUPERSHIFT, 6, split-movetoworkspacesilent, 6 - bind = SUPERSHIFT, 7, split-movetoworkspacesilent, 7 - bind = SUPERSHIFT, 8, split-movetoworkspacesilent, 8 - bind = SUPERSHIFT, 9, split-movetoworkspacesilent, 9 - bind = SUPERSHIFT, 0, split-movetoworkspacesilent, 10 - bindle = , XF86MonBrightnessUp, exec, ~/Scripts/notif_brightness.sh set +5% - bindle = , XF86MonBrightnessDown, exec, ~/Scripts/notif_brightness.sh set 5%- - bindl = , XF86AudioMedia, exec, playerctl play-pause - bindl = , XF86AudioPlay, exec, playerctl play-pause - bindl = , XF86AudioStop, exec, playerctl stop - bindl = , XF86AudioPrev, exec, playerctl previous - bindl = , XF86AudioNext, exec, playerctl next - bindle = , XF86AudioRaiseVolume, exec, ~/Scripts/notif_volume.sh -ui 5 - bindle = , XF86AudioLowerVolume, exec, ~/Scripts/notif_volume.sh -ud 5 - bindl = , XF86AudioMute, exec, ~/Scripts/notif_volume.sh --toggle-mute - # https://github.com/n3oney/shadower - bind = SUPER, S, exec, grimblast save area - | shadower | tee "$(xdg-user-dir PICTURES)/Screenshots/$(date +'screenshot-%Y%m%d%H%M%S.png')" | wl-copy && notify-send "Screenshot taken" - bind = SUPERSHIFT, S, exec, grimblast save area - | swappy -f - -o - | shadower | tee "$(xdg-user-dir PICTURES)/Screenshots/$(date +'screenshot-%Y%m%d%H%M%S.png')" | wl-copy && notify-send "Screenshot taken" - bind = SUPERCONTROL, S, exec, grimblast save area - | tee "$(xdg-user-dir PICTURES)/Screenshots/$(date +'screenshot-%Y%m%d%H%M%S.png')" | wl-copy && notify-send "Screenshot taken" - bind = SUPERSHIFT, R, exec, hyprctl reload - bind = SUPER, P, pin - bind = , XF86Launch1, exec, rog-control-center - binde = , XF86Launch3, exec, asusctl led-mode -n - bind = , XF86Launch4, exec, asusctl profile -n; pkill -SIGRTMIN+8 waybar - binde = , XF86KbdBrightnessUp, exec, asusctl -n - binde = , XF86KbdBrightnessDown, exec, asusctl -p - bind = , XF86TouchpadToggle, exec, - bind = SUPER, T, exec, grim -g "$(slurp)" -t ppm - | tesseract -l pol - - | wl-copy && notify-send "Copied text: " "\"$(wl-paste)\"" - bind = SUPER, SEMICOLON, exec, ~/.config/rofi/powermenu/type-2/powermenu.sh - bind = SUPER, X, exec, keepassxc - bind = SUPERSHIFT, M, exec, ~/Scripts/man.sh - bind = SUPER, E, exec, wl-paste | spd-say -e -w -i 10 - bind = SUPERCONTROL, E, exec, wl-paste | spd-say -e -w -i 10 -l pl - bind = SUPERSHIFT, E, exec, spd-say -C - bind = SUPER, G, togglegroup - binde = SUPERSHIFT, G, changegroupactive, f - bind = SUPERCONTROL, R, exec, replay-sorcery save - bind = SUPERCONTROL, X, exec, ${pkgs.xdg-desktop-portal-hyprland}/libexec/xdg-desktop-portal-hyprland -r - bind = SUPERSHIFT, X, exec, hyprctl kill - bind = SUPER, B, togglespecialworkspace, btop - bind = SUPER, A, togglespecialworkspace, amdgpu_top - bind = SUPER, V, togglespecialworkspace, helvum - bind = SUPER, N, togglespecialworkspace, nixos - - - bindm = SUPER, mouse:272, movewindow - bindm = SUPER, mouse:273, resizewindow - - binds { - pass_mouse_when_bound=0 - } - - exec=systemctl restart --user waybar.service - - exec=pkill btop - exec=pkill amdgpu_top - exec=pkill helvum - - exec=[workspace special:btop silent;tile] foot btop - exec=[workspace special:amdgpu_top silent] amdgpu_top --gui -i 0 - exec=[workspace special:amdgpu_top silent] amdgpu_top --gui -i 1 - exec=[workspace special:helvum silent] helvum - exec-once=[workspace special:nixos silent;tile] cd niksos; foot - - exec-once=foot --server - exec-once=hyprctl setcursor Bibata-Modern-Classic 24 - - exec-once=wl-paste --watch cliphist store - - exec-once=hyprctl dispatch exec "swww init" && sleep 0.5 - exec=swww img -o eDP-1 ~/catppuccin-wall0.png - exec=swww img -o HDMI-A-1 ~/catppuccin-wall1.png - - exec-once=rog-control-center - exec-once=wlsunset -S 06:00 -s 20:00 - - exec-once=sleep 1 && keepassxc - - exec-once=/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 - - #exec-once=foot -e nvim ~/todo.md - - exec-once=nm-applet --indicator - - exec-once=blueman-applet - - exec-once=$HOME/.local/share/hyprload/hyprload.sh - - #exec-once=fcitx5 -d - - exec-once=systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP - exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=$XDG_CURRENT_DESKTOP - - # no black border on grimblast screenshots - layerrule = noanim, ^(selection)$ - - layerrule = blur, ^(waybar)$ - - # temporary fix to swaylock screenshoting rofi before locking - layerrule = noanim, ^(rofi)$ - - layerrule = blur, ^(anyrun)$ - - general { - col.active_border=0xFFF5C2E7 - col.inactive_border=0xFF45475A - col.group_border_active=0xFFA6E3A1 - col.group_border=0xFF45475A - } - - decoration { - col.shadow=0xAF1E1E2E - } - - plugin { - csgo-vulkan-fix { - res_w = 2560 - res_h = 1440 - } - split-monitor-workspaces { - count = 10 - } - } - ''; - }; - }; -} diff --git a/homes/jacek/gui/mpv.nix b/homes/jacek/gui/mpv.nix deleted file mode 100644 index 459a5e0a..00000000 --- a/homes/jacek/gui/mpv.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - config, - pkgs, - ... -}: { - config = { - programs.mpv = { - enable = true; - config = { - vo = "gpu-next"; - hwdec = "auto"; - gpu-api = "vulkan"; - vulkan-device = "AMD Radeon RX 6800M (RADV NAVI22)"; - volume = 50; - osc = "no"; - osd-bar = "no"; - border = "no"; - }; - scripts = with pkgs.mpvScripts; [ - mpris - thumbfast - sponsorblock - uosc - ]; - }; - }; -} diff --git a/homes/jacek/gui/qt.nix b/homes/jacek/gui/qt.nix deleted file mode 100644 index 840737ea..00000000 --- a/homes/jacek/gui/qt.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ - config, - inputs, - pkgs, - ... -}: { - # thanks raf :3 https://github.com/NotAShelf/nyx/blob/main/homes/notashelf/themes/qt.nix - config = { - qt = { - enable = true; - #platformTheme = "qtct"; - style = { - name = "Catppuccin-Mocha-Dark"; - package = pkgs.catppuccin-kde.override { - flavour = "mocha"; - accents = [ "green" ]; - }; - }; - }; - - home = { - packages = with pkgs; [ - qt5.qttools - qt6Packages.qtstyleplugin-kvantum - libsForQt5.qtstyleplugin-kvantum - libsForQt5.qt5ct - breeze-icons - ]; - - sessionVariables = { - QT_STYLE_OVERRIDE = "kvantum"; - QT_AUTO_SCREEN_SCALE_FACTOR = "1"; - QT_QPA_PLATFORM = "wayland;xcb"; - QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; - DISABLE_QT_COMPAT = "0"; - }; - }; - - xdg.configFile = { - "Kvantum/catppuccin/catppuccin.kvconfig".source = builtins.fetchurl { - url = "https://raw.githubusercontent.com/catppuccin/Kvantum/main/src/Catppuccin-Mocha-Green/Catppuccin-Mocha-Green.kvconfig"; - sha256 = "16ry4k09nf5w1gyawwz2ny14zn6infqk40l35lqlg30lhgbdmr5f"; - }; - "Kvantum/catppuccin/catppuccin.svg".source = builtins.fetchurl { - url = "https://raw.githubusercontent.com/catppuccin/Kvantum/main/src/Catppuccin-Mocha-Green/Catppuccin-Mocha-Green.svg"; - sha256 = "1djh625qag34rjsp7y67nzbi9nbmiwgq63ydfizsh65n3fyfakf1"; - }; - "Kvantum/kvantum.kvconfig".text = '' - [General] - theme=catppuccin - - [Applications] - catppuccin=qt5ct, org.qbittorrent.qBittorrent, hyprland-share-picker - ''; - }; - }; -} diff --git a/homes/jacek/gui/rofi.nix b/homes/jacek/gui/rofi.nix deleted file mode 100644 index 03c77d34..00000000 --- a/homes/jacek/gui/rofi.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ - config, - pkgs, - ... -}: { - config = { - programs.rofi = { - enable = true; - package = pkgs.rofi-wayland; - cycle = true; - terminal = "foot"; - }; - }; -} diff --git a/homes/jacek/gui/swaylock.nix b/homes/jacek/gui/swaylock.nix deleted file mode 100644 index d6acab29..00000000 --- a/homes/jacek/gui/swaylock.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ - config, - inputs, - pkgs, - ... -}: { - config = { - programs.swaylock = { - enable = true; - package = inputs.nixpkgs-wayland.packages.${pkgs.system}.swaylock-effects; - settings = { - daemonize = true; - show-failed-attempts = true; - clock = true; - screenshots = true; - effect-blur = "9x5"; - effect-vignette = "0.5:0.5"; - indicator = true; - indicator-radius = 200; - indicator-thickness = 20; - color = "1e1e2e"; - bs-hl-color = "f5e0dc"; - caps-lock-bs-hl-color = "f5e0dc"; - caps-lock-key-hl-color = "a6e3a1"; - inside-color = "00000000"; - inside-clear-color = "00000000"; - inside-caps-lock-color = "00000000"; - inside-ver-color = "00000000"; - inside-wrong-color = "00000000"; - key-hl-color = "a6e3a1"; - layout-bg-color = "00000000"; - layout-border-color = "00000000"; - layout-text-color = "cdd6f4"; - line-color = "00000000"; - line-clear-color = "00000000"; - line-caps-lock-color = "00000000"; - line-ver-color = "00000000"; - line-wrong-color = "00000000"; - ring-color = "b4befe"; - ring-clear-color = "f5e0dc"; - ring-caps-lock-color = "fab387"; - ring-ver-color = "89b4fa"; - ring-wrong-color = "eba0ac"; - separator-color = "00000000"; - text-color = "cdd6f4"; - text-clear-color = "f5e0dc"; - text-caps-lock-color = "fab387"; - text-ver-color = "89b4fa"; - text-wrong-color = "eba0ac"; - grace = 2; - grace-no-mouse = true; - grace-no-touch = true; - fade-in = 0.2; - ignore-empty-password = true; - }; - }; - }; -} diff --git a/homes/jacek/gui/waybar.nix b/homes/jacek/gui/waybar.nix deleted file mode 100644 index 237550d5..00000000 --- a/homes/jacek/gui/waybar.nix +++ /dev/null @@ -1,527 +0,0 @@ -{ - config, - inputs, - pkgs, - ... -}: { - config = { - programs.waybar = { - enable = true; - package = inputs.hyprland.packages.${pkgs.system}.waybar-hyprland; - systemd.enable = true; - settings.mainBar = { - gtk-layer-shell = true; - layer = "top"; - modules-left = [ "custom/launcher" "custom/xwayland" "tray" "wlr/workspaces" ]; - modules-center = [ "hyprland/window" ]; - modules-right = [ "custom/dnd" "backlight" "cava" "pulseaudio" "clock" "battery" "custom/power" ]; - - pulseaudio = { - tooltip = false; - scroll-step = "1"; - format = " {icon} {volume}%"; - format-muted = " 󰸈 {volume}%"; - format-icons = { - default = ["󰕿" "󰖀" "󰕾"]; - }; - on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle"; - }; - "wlr/workspaces" = { - sort-by-name = true; - sort-by-coordinates = false; - on-click = "activate"; - on-scroll = "~/Scripts/cycle_workspace.sh 1"; - active-only = false; - format = "{icon}"; - format-icons = { - "1" = "1"; - "2" = "2"; - "3" = "3"; - "4" = "4"; - "5" = "5"; - "6" = "6"; - "7" = "7"; - "8" = "8"; - "9" = "9"; - "10" = "10"; - "11" = "1"; - "12" = "2"; - "13" = "3"; - "14" = "4"; - "15" = "5"; - "16" = "6"; - "17" = "7"; - "18" = "8"; - "19" = "9"; - "20" = "10"; - }; - persistent_workspaces = { - "1" = [ "eDP-1" ]; - "2" = [ "eDP-1" ]; - "3" = [ "eDP-1" ]; - "4" = [ "eDP-1" ]; - "5" = [ "eDP-1" ]; - "6" = [ "eDP-1" ]; - "7" = [ "eDP-1" ]; - "8" = [ "eDP-1" ]; - "9" = [ "eDP-1" ]; - "10" = [ "eDP-1" ]; - "11" = [ "HDMI-A-1" ]; - "12" = [ "HDMI-A-1" ]; - "13" = [ "HDMI-A-1" ]; - "14" = [ "HDMI-A-1" ]; - "15" = [ "HDMI-A-1" ]; - "16" = [ "HDMI-A-1" ]; - "17" = [ "HDMI-A-1" ]; - "18" = [ "HDMI-A-1" ]; - "19" = [ "HDMI-A-1" ]; - "20" = [ "HDMI-A-1" ]; - }; - }; - network = { - tooltip = false; - format = "{ipaddr} {icon}"; - format-alt = "{icon}"; - format-icons = { - wifi = [ "󰖩" ]; - ethernet = [ "󰈀" ]; - disconnected = [ "󰖪" ]; - }; - on-click-right = "foot -e nmtui"; - }; - backlight = { - interval = 1; - align = 0; - rotate = 0; - format = "{icon} {percent}%"; - format-icons = [ "󰃚" "󰃛" "󰃜" "󰃝" "󰃞" "󰃟" "󰃠" ]; - on-scroll-up = "~/Scripts/bright.sh s +1%"; - on-scroll-down = "~/Scripts/bright.sh s 1%-"; - smooth-scrolling-threshold = 1; - }; - battery = { - interval = 1; - states = { - good = 75; - warning = 30; - critical = 20; - }; - format = "{icon}{capacity}%"; - format-charging = "󰚥{icon}{capacity}% 󱐋{power}"; - format-discharging = "{icon}{capacity}% 󱐋{power}"; - format-icons = ["󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"]; - format-charging-icons = ["󰢟" "󰢜" "󰂆" "󰂇" "󰂈" "󰢝" "󰂉" "󰢞" "󰂊" "󰂋" "󰂅"]; - }; - tray = { - icon-size = 18; - spacing = 10; - }; - clock = { - interval = 1; - format = "{:󱑁 %H:%M:%S 󰃰 %d/%m/%Y}"; - format-alt = "{:󱑁 %H:%M:%S}"; - tooltip-format = "{calendar}"; - calendar = { - mode = "year"; - mode-mon-col = 3; - weeks-pos = "right"; - on-scroll = 1; - on-click-right = "mode"; - format = { - months = "{}"; - days = "{}"; - weeks = "T{:%W}"; - weekdays = "{}"; - today = "{}"; - }; - actions = { - on-click-right = "mode"; - on-click-forward = "tz_up"; - on-click-backward = "tz_down"; - on-scroll-up = "shift_up"; - on-scroll-down = "shift_down"; - }; - }; - }; - cpu = { - interval = 1; - format = "󰻠 {}%"; - max-length = 10; - }; - memory = { - interval = 1; - format = "󰍛 {}%"; - max-length = 10; - }; - "custom/media" = { - interval = 30; - format = "{icon} {}"; - return-type = "json"; - max-length = 20; - format-icons = { - spotify = " "; - default = " "; - }; - escape = true; - exec = "$HOME/.config/system_scripts/mediaplayer.py 2> /dev/null"; - on-click = "playerctl play-pause"; - }; - "custom/launcher" = { - format = "󰣇 "; - on-click = "~/.config/rofi/launchers/type-2/launcher.sh"; - on-click-right = "pkill rofi"; - }; - "custom/power" = { - format = "󰐥"; - on-click = "~/.config/rofi/powermenu/type-2/powermenu.sh"; - }; - "hyprland/window" = { - format = "{}"; - separate-outputs = true; - }; - gamemode = { - format = "{glyph}"; - format-alt = "{glyph} {count}"; - glyph = "󰊴"; - hide-not-running = true; - use-icon = true; - icon-name = "input-gaming-symbolic"; - icon-spacing = 4; - icon-size = 20; - tooltip = true; - tooltip-format = "Games running: {count}"; - }; - "custom/dnd" = { - exec = "~/Scripts/waybar-dunst.sh"; - on-click = "~/Scripts/dnd.sh"; - restart-interval = 1; - tooltip = false; - }; - cava = { - framerate = 165; - autosens = 1; - sensitivity = 100; - bars = 14; - lower_cutoff_freq = 50; - higher_cutoff_freq = 10000; - method = "pipewire"; - source = "auto"; - stereo = true; - reverse = false; - bar_delimiter = 0; - monstercat = false; - waves = false; - noise_reduction = 0.77; - input_delay = 2; - format-icons = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█" ]; - actions = { - on-click-right = "mode"; - }; - }; - "custom/power_profile" = { - exec = "asusctl profile -p | sed s:'Active profile is'::"; - interval = 30; - format = "󰈐{}"; - format-alt-click = "click-right"; - format-alt = "󰈐"; - on-click = "asusctl profile -n; pkill -SIGRTMIN+8 waybar"; - signal = 8; - }; - "custom/xwayland" = { - exec = "hyprctl clients | rg -e 'xwayland: [1]' | wc -l"; - interval = 1; - format = "X {}"; - }; - }; - style = '' - @define-color base #1e1e2e; - @define-color mantle #181825; - @define-color crust #11111b; - - @define-color text #cdd6f4; - @define-color subtext0 #a6adc8; - @define-color subtext1 #bac2de; - - @define-color surface0 #313244; - @define-color surface1 #45475a; - @define-color surface2 #585b70; - - @define-color overlay0 #6c7086; - @define-color overlay1 #7f849c; - @define-color overlay2 #9399b2; - - @define-color blue #89b4fa; - @define-color lavender #b4befe; - @define-color sapphire #74c7ec; - @define-color sky #89dceb; - @define-color teal #94e2d5; - @define-color green #a6e3a1; - @define-color yellow #f9e2af; - @define-color peach #fab387; - @define-color maroon #eba0ac; - @define-color red #f38ba8; - @define-color mauve #cba6f7; - @define-color pink #f5c2e7; - @define-color flamingo #f2cdcd; - @define-color rosewater #f5e0dc; - - * { - border-radius: 10px; - font-family: Material Design Icons; - font-size: 16px; - color: @text; - } - - window#waybar { - background-color: alpha(@base, 0.5); - border-radius: 0px; - } - - window#waybar.hidden { - opacity: 0.2; - } - - #window { - margin-top: 4px; - margin-bottom: 4px; - padding-left: 5px; - padding-right: 5px; - background: @mantle; - color: @teal; - font-family: JetBrains Mono; - } - - #workspaces { - padding-left: 5px; - } - - #workspaces button { - border-radius: 15px; - padding-top: 0px; - padding-right: 0px; - padding-bottom: 0px; - padding-left: 0px; - margin-top: 6px; - margin-right: 3px; - margin-bottom: 6px; - margin-left: 3px; - background-color: @mantle; - min-width: 24px; - } - - #workspaces button.active { - padding-top: 0px; - padding-bottom: 0px; - padding-right: 0px; - padding-left: 0px; - margin-top: 6px; - margin-right: 3px; - margin-bottom: 6px; - margin-left: 3px; - background-color: @blue; - min-width: 24px; - } - - #workspaces button:hover { - background: alpha(@mantle, 0.7); - transition-property: background, min-width; - transition-duration: 0.5s; - transition-timing-function: ease; - } - - #workspaces button.focused { - background-color: @yellow; - } - - #workspaces button.urgent { - background-color: @red; - } - - .modules-left > widget:first-child > #workspaces { - margin-left: 0; - } - - .modules-right > widget:first-child > #workspaces { - margin-right: 0; - } - - #pulseaudio { - margin-top: 3px; - margin-bottom: 3px; - margin-left: 0px; - padding-left: 0px; - padding-right: 10px; - transition: none; - background: @mantle; - color: @peach; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - - #cava { - margin-top: 3px; - margin-bottom: 3px; - margin-left: 8px; - margin-right: 0px; - padding-left: 10px; - padding-right: 0px; - transition: none; - background: @mantle; - color: @peach; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - - #battery { - margin-top: 3px; - margin-bottom: 3px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - transition: none; - background: @mantle; - color: @teal; - } - - @keyframes blink { - to { - background-color: @red; - } - } - - #battery.charging, #battery.plugged { - background-color: @mantle; - } - - #battery.critical:not(.charging) { - background-color: @mantle; - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; - } - - #backlight { - margin-top: 3px; - margin-bottom: 3px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - transition: none; - background: @mantle; - color: @yellow; - } - #clock { - margin-top: 3px; - margin-bottom: 3px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - transition-property: min-width; - transition-duration: 0.5s; - background: @mantle; - color: @pink; - } - - #custom-power_profile { - margin-top: 3px; - margin-bottom: 3px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - transition: none; - background: @mantle; - color: @rosewater; - } - - #tray { - margin-top: 3px; - margin-bottom: 3px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - transition: none; - background: @mantle; - } - - #custom-launcher { - font-size: 16px; - margin-top: 3px; - margin-bottom: 3px; - margin-left: 8px; - padding-left: 10px; - padding-right: 5px; - transition: none; - background: @mantle; - color: @blue; - } - - #custom-power { - font-size: 20px; - margin-top: 3px; - margin-bottom: 3px; - margin-left: 8px; - margin-right: 8px; - padding-left: 10px; - padding-right: 10px; - transition: none; - background: @mantle; - color: @red; - } - - #custom-wallpaper { - margin-top: 3px; - margin-bottom: 3px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - transition: none; - background: @mantle; - } - - #custom-updates { - margin-top: 3px; - margin-bottom: 3px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - transition: none; - background: @mantle; - } - - #custom-media { - margin-top: 3px; - margin-bottom: 3px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - transition: none; - background: @mantle; - } - - #custom-dnd { - margin-top: 3px; - margin-bottom: 3px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - transition: none; - background: @mantle; - color: @flamingo; - } - - #custom-xwayland { - margin-top: 3px; - margin-bottom: 3px; - margin-left: 8px; - padding-left: 10px; - padding-right: 10px; - transition: none; - background: @mantle; - color: @green; - } - ''; - }; - }; -} diff --git a/homes/jacek/other/xdg.nix b/homes/jacek/other/xdg.nix deleted file mode 100644 index 189714db..00000000 --- a/homes/jacek/other/xdg.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ - config, - pkgs, - ... -}: let - primary_browser = "firefox.desktop"; - secondary_browser = "librewolf.desktop"; - mail_client = "thunderbird.desktop"; - file_manager = "pcmanfm.desktop"; - media_player = "mpv.desktop"; - image_viewer = "imv.desktop"; - text_editor = "nvim.desktop"; -in { - config = { - xdg.mimeApps = { - enable = true; - defaultApplications = { - "text/html" = [ primary_browser secondary_browser ]; - "x-scheme-handler/http" = [ primary_browser secondary_browser ]; - "x-scheme-handler/https" = [ primary_browser secondary_browser ]; - "x-scheme-handler/about" = [ primary_browser secondary_browser ]; - "x-scheme-handler/unknown" = [ primary_browser secondary_browser ]; - "x-scheme-handler/mailto" = [ mail_client ]; - "message/rfc822" = [ mail_client ]; - "x-scheme-handler/mid" = [ mail_client ]; - "inode/directory" = [ file_manager ]; - "x-scheme-handler/heroic" = [ "heroic.desktop" ]; - "audio/mp3" = [ media_player ]; - "audio/ogg" = [ media_player ]; - "audio/mpeg" = [ media_player ]; - "audio/aac" = [ media_player ]; - "audio/opus" = [ media_player ]; - "audio/wav" = [ media_player ]; - "audio/webm" = [ media_player ]; - "audio/3gpp" = [ media_player ]; - "audio/3gpp2" = [ media_player ]; - "video/mp4" = [ media_player ]; - "video/x-msvideo" = [ media_player ]; - "video/mpeg" = [ media_player ]; - "video/ogg" = [ media_player ]; - "video/mp2t" = [ media_player ]; - "video/webm" = [ media_player ]; - "video/3gpp" = [ media_player ]; - "video/3gpp2" = [ media_player ]; - "image/png" = [ image_viewer ]; - "image/jpeg" = [ image_viewer ]; - "image/gif" = [ image_viewer ]; - "image/avif" = [ image_viewer ]; - "image/bmp" = [ image_viewer ]; - "image/vnd.microsoft.icon" = [ image_viewer ]; - "image/svg+xml" = [ image_viewer ]; - "image/tiff" = [ image_viewer ]; - "image/webp" = [ image_viewer ]; - "text/plain" = [ text_editor ]; - }; - }; - }; -} diff --git a/homes/jacek/services/dunst.nix b/homes/jacek/services/dunst.nix deleted file mode 100644 index b4d74dff..00000000 --- a/homes/jacek/services/dunst.nix +++ /dev/null @@ -1,88 +0,0 @@ -{ - config, - inputs, - pkgs, - ... -}: { - config = { - services.dunst = { - enable = true; - package = inputs.nixpkgs-wayland.packages.${pkgs.system}.dunst; - settings = { - global = { - monitor = 1; - follow = "none"; - width = 300; - height = 300; - origin = "top-center"; - offset = "0x15"; - scale = 0; - notification_limit = 3; - idle_threshold = 120; - progress_bar = true; - progress_bar_height = 10; - progress_bar_frame_width = 0; - progress_bar_min_width = 150; - progress_bar_max_width = 300; - indicate_hidden = "yes"; - transparency = 10; - separator_height = 2; - padding = 10; - frame_width = 3; - frame_color = "#89B4FA"; - separator_color = "frame"; - highlight = "#89DCEB"; - sort = "yes"; - font = "JetBrains Mono 12"; - line_height = 0; - markup = "full"; - format = "%s\n%b"; - alignment = "right"; - vertical_alignment = "center"; - show_age_threshold = 60; - ellipsize = "middle"; - ignore_newline = "no"; - stack_duplicates = true; - hide_duplicate_count = false; - show_indicators = "yes"; - icon_position = "left"; - min_icon_size = 0; - max_icon_size = 32; - sticky_history = "yes"; - history_length = 20; - dmenu = "${pkgs.rofi-wayland}/bin/rofi"; - browser = "${pkgs.xdg-utils}/bin/xdg-open"; - always_run_script = true; - title = "Dunst"; - class = "dunst"; - corner_radius = 10; - ignore_dbusclose = false; - force_xwayland = false; - force_xinerama = false; - mouse_left_click = "do_action, close_current"; - mouse_middle_click = "context"; - mouse_right_click = "close_all"; - }; - experimental = { - per_monitor_dpi = false; - }; - urgency_low = { - background = "#1E1E2E"; - foreground = "#CDD6F4"; - timeout = 5; - }; - urgency_normal = { - background = "#1E1E2E"; - foreground = "#CDD6F4"; - timeout = 6; - }; - urgency_critical = { - background = "#1E1E2E"; - foreground = "#CDD6F4"; - frame_color = "#FAB387"; - timeout = 0; - }; - }; - }; - }; -} diff --git a/homes/jacek/tui/btop.nix b/homes/jacek/tui/btop.nix deleted file mode 100644 index 65bfe518..00000000 --- a/homes/jacek/tui/btop.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - config, - ... -}: { - config = { - programs.btop = { - enable = true; - settings = { - theme_background = false; - vim_keys = true; - update_ms = 100; - cpu_single_graph = true; - clock_format = "%X"; - use_fstab = true; - io_mode = true; - net_sync = true; - net_iface = "enp4s0"; - log_level = "WARNING"; - }; - }; - }; -} diff --git a/homes/jacek/tui/helix.nix b/homes/jacek/tui/helix.nix deleted file mode 100644 index c344deed..00000000 --- a/homes/jacek/tui/helix.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ - config, - lib, - inputs, - pkgs, - ... -}: { - programs.helix = { - enable = true; - package = inputs.helix.packages.${pkgs.system}.helix; - settings = { - theme = "catppuccin_mocha"; - editor = { - scrolloff = 7; - mouse = false; - middle-click-paste = false; - line-number = "relative"; - auto-completion = false; - auto-format = false; - completion-replace = true; - true-color = true; - undercurl = true; - rulers = [ 80 ]; - bufferline = "multiple"; - color-modes = true; - lsp = { - display-messages = true; - display-inlay-hints = true; - }; - cursor-shape = { - normal = "block"; - insert = "bar"; - select = "underline"; - }; - auto-pairs = false; - whitespace.render.newline = "all"; - indent-guides.render = true; - }; - }; - languages = { - language-server = { - nil.command = lib.getExe pkgs.nil; - }; - language = [ - { - name = "rust"; - auto-format = false; - } - ]; - }; - }; -} diff --git a/homes/jacek/tui/neovim/default.nix b/homes/jacek/tui/neovim/default.nix deleted file mode 100644 index 4f02f2b4..00000000 --- a/homes/jacek/tui/neovim/default.nix +++ /dev/null @@ -1,116 +0,0 @@ -{ - config, - inputs, - pkgs, - ... -}: { - xdg.configFile."nvim" = { source = ./lua; recursive = true; }; - programs.neovim = { - enable = true; - viAlias = true; - vimAlias = true; - vimdiffAlias = true; - withPython3 = true; - #plugins = { - # plenary-nvim.enable = true; - # fugitive.enable = true; - # airline = { - # enable = true; - # powerline = true; - # theme = "gruvbox"; - # }; - # treesitter = { - # enable = true; - # grammars = [ - # "bash" - # "c" - # "cmake" - # "comment" - # "cpp" - # "css" - # "git_config" - # "git_rebase" - # "gitattributes" - # "gitcommit" - # "gitignore" - # "html" - # "ini" - # "java" - # "json" - # "kotlin" - # "lua" - # "markdown" - # "markdown_inline" - # "meson" - # "ninja" - # "nix" - # "python" - # "regex" - # "ron" - # "rust" - # "sql" - # "toml" - # "typescript" - # "vim" - # "vimdoc" - # "wgsl" - # "yaml" - # ]; - # }; - # coq-nvim = { - # enable = true; - # autoStart = "shut-up"; - # installArtifacts = true; - # recommendedKeymaps = true; - # }; - # gitsigns = { - # enable = true; - # signcolumn = true; - # numhl = true; - # wordDiff = true; - # currentLineBlame = true; - # }; - # lsp = { - # enable = true; - # coqSupport = true; - # servers = { - # bashls.enable = true; - # clangd.enable = true; - # cssls.enable = true; - # html.enable = true; - # kotlin-language-server.enable = true; - # ltex.enable = true; - # nil.enable = true; - # rust-analyzer.enable = true; - # }; - # }; - # telescope.enable = true; - # comment.enable = true; - #}; - #mappings = { - # - #}; - #options = { - # number = true; - # relativenumber = true; - # autoread = true; - # so = 7; - # cmdheight = 1; - # ignorecase = true; - # smartcase = true; - # showmatch = true; - # timeoutlen = 500; - # encoding = "utf8"; - # smarttab = true; - # shiftwidth = 4; - # tabstop = 4; - # expandtab = true; - # linebreak = true; - # smartindent = true; - # updatetime = 300; - # hidden = true; - # background = "dark"; - # mousemoveevent = true; - #}; - }; -} diff --git a/hosts/chmura/ankisyncd.nix b/hosts/chmura/ankisyncd.nix index 45e471f3..bc74d1bd 100644 --- a/hosts/chmura/ankisyncd.nix +++ b/hosts/chmura/ankisyncd.nix @@ -1,8 +1,4 @@ -{ - config, - pkgs, - ... -}: { +_: { services.ankisyncd = { enable = true; }; diff --git a/hosts/chmura/conduit.nix b/hosts/chmura/conduit.nix index e363e9af..3f0780e2 100644 --- a/hosts/chmura/conduit.nix +++ b/hosts/chmura/conduit.nix @@ -1,5 +1,4 @@ { - config, pkgs, inputs, ... diff --git a/hosts/chmura/configuration.nix b/hosts/chmura/configuration.nix index 1ccd8e3b..c92177ef 100644 --- a/hosts/chmura/configuration.nix +++ b/hosts/chmura/configuration.nix @@ -1,7 +1,7 @@ { - config, pkgs, - inputs, + hostname, + username, ... }: { # fuck broadcom @@ -21,10 +21,12 @@ ]; trusted-users = [ "root" - "chmura" + username ]; }; + networking.hostName = hostname; + programs.zsh.enable = true; programs.direnv = { @@ -32,7 +34,7 @@ nix-direnv.enable = true; }; - users.users.chmura = { + users.users.${username} = { isNormalUser = true; extraGroups = [ "wheel" "docker" ]; shell = pkgs.zsh; diff --git a/hosts/chmura/freshrss.nix b/hosts/chmura/freshrss.nix new file mode 100644 index 00000000..1e9f3c01 --- /dev/null +++ b/hosts/chmura/freshrss.nix @@ -0,0 +1,25 @@ +_: { + services.freshrss = { + enable = true; + baseUrl = "https://f.jacekpoz.pl:4834"; + database = { + port = 7425; + tableprefix = "freshrss"; + type = "pgsql"; + }; + defaultUser = "jacek"; + language = "pl"; + passwordFile = "/run/secrets/freshrss"; + virtualHost = null; + }; + + services.caddy = { + enable = true; + virtualHosts."f.jacekpoz.pl".extraConfig = '' + reverse_proxy * localhost:4834 + ''; + }; + + networking.firewall.allowedTCPPorts = [ 4834 ]; + networking.firewall.allowedUDPPorts = [ 4834 ]; +} diff --git a/hosts/chmura/grafana.nix b/hosts/chmura/grafana.nix index b7450032..60feaae2 100644 --- a/hosts/chmura/grafana.nix +++ b/hosts/chmura/grafana.nix @@ -1,9 +1,4 @@ -{ - config, - pkgs, - inputs, - ... -}: { +_: { services.grafana = { enable = true; settings.server = { diff --git a/hosts/chmura/home-manager.nix b/hosts/chmura/home-manager.nix new file mode 100644 index 00000000..cb202fb3 --- /dev/null +++ b/hosts/chmura/home-manager.nix @@ -0,0 +1,115 @@ +{ + lib, + inputs, + pkgs, + self, + username, + ... +}: let + mkNixPak = inputs.nixpak.lib.nixpak { + inherit (pkgs) lib; + inherit pkgs; + }; +in { + home-manager = { + useUserPackages = true; + useGlobalPkgs = true; + extraSpecialArgs = {inherit inputs self mkNixPak;}; + users.${username} = { + imports = [ + inputs.neovim-flake.homeManagerModules.default + ../../modules/cli/starship.nix + ../../modules/cli/zsh.nix + ../../modules/tui/btop.nix + ../../modules/tui/neovim + ]; + + programs = { + home-manager.enable = true; + direnv = { + enable = true; + nix-direnv.enable = true; + }; + }; + + home = { + inherit username; + homeDirectory = "/home/${username}"; + packages = let + fenix = inputs.fenix.packages.${pkgs.system}; + in with pkgs; [ + git + eza + ripgrep + firejail + zellij + nodejs + unzip + cmake + gcc + trash-cli + dig + + nodePackages_latest.pnpm + nodePackages_latest.prisma + prisma-engines + openssl + pkg-config + docker + docker-compose + postgresql + + xdg-ninja + auto-cpufreq + gnupg + age + rage + fd + udisks + ffmpeg + ghc + ghcid + cabal-install + yt-dlp + (fenix.complete.withComponents [ + "cargo" + "clippy" + "rust-src" + "rustc" + "rustfmt" + ]) + polkit + asciinema + asciinema-agg + du-dust + appimage-run + file + weechat + hyfetch + git-annex + croc + uutils-coreutils + imagemagick + psmisc + nnn + jq + fq + gnumake + gdb + tea + codeberg-cli + progress + parallel + p7zip + xxd + meson + lshw + tree + smartmontools + ]; + + stateVersion = lib.mkDefault "23.11"; + }; + }; + }; +} diff --git a/hosts/chmura/i2pd.nix b/hosts/chmura/i2pd.nix index aaf6316d..6a3dea3b 100644 --- a/hosts/chmura/i2pd.nix +++ b/hosts/chmura/i2pd.nix @@ -1,8 +1,4 @@ -{ - config, - pkgs, - ... -}: { +_: { services.i2pd = { enable = true; ifname = "enp6s0"; diff --git a/hosts/chmura/minecraft/default.nix b/hosts/chmura/minecraft/default.nix index 5bf33b1e..60321b88 100644 --- a/hosts/chmura/minecraft/default.nix +++ b/hosts/chmura/minecraft/default.nix @@ -1,5 +1,4 @@ { - config, pkgs, ... }: { diff --git a/hosts/chmura/transmission.nix b/hosts/chmura/transmission.nix new file mode 100644 index 00000000..ffd6a722 --- /dev/null +++ b/hosts/chmura/transmission.nix @@ -0,0 +1,12 @@ +_: { + services.transmission = { + enable = true; + home = "/media/Torrent"; + openFirewall = true; + openRPCPort = true; + + settings = { + rpc-bind-address = "0.0.0.0"; + }; + }; +} diff --git a/hosts/default.nix b/hosts/default.nix index 8953849f..914f75c4 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -3,33 +3,35 @@ inputs, ... }: let - self = inputs.self; + inherit (inputs) self; - home-manager = inputs.home-manager.nixosModules.home-manager; - home-configs = import ../homes; + inherit (inputs.home-manager.nixosModules) home-manager; + + laptopHostname = "niks"; + serverHostname = "chmura"; in { - niks = lib.nixosSystem { + ${laptopHostname} = lib.nixosSystem { system = "x86_64-linux"; - specialArgs = {inherit lib inputs self;}; + specialArgs = { + inherit lib inputs self; + hostname = laptopHostname; + username = "jacek"; + }; modules = [ - {networking.hostName = "niks";} - ./niks - ] - ++ [ + ./${laptopHostname} home-manager - home-configs ]; }; - chmura = lib.nixosSystem { + ${serverHostname} = lib.nixosSystem { system = "x86_86-linux"; - specialArgs = {inherit lib inputs self;}; + specialArgs = { + inherit lib inputs self; + hostname = serverHostname; + username = "chmura"; + }; modules = [ - {networking.hostName = "chmura";} - ./chmura - ] - ++ [ + ./${serverHostname} home-manager - home-configs ]; }; } diff --git a/hosts/niks/configuration.nix b/hosts/niks/configuration.nix index 2bd2005a..9faf9aca 100644 --- a/hosts/niks/configuration.nix +++ b/hosts/niks/configuration.nix @@ -1,7 +1,10 @@ { config, pkgs, + lib, inputs, + hostname, + username, ... }: { nixpkgs = { @@ -19,7 +22,10 @@ boot = { loader = { - systemd-boot.enable = true; + systemd-boot = { + enable = true; + memtest86.enable = true; + }; efi.canTouchEfiVariables = true; }; kernelPackages = pkgs.linuxPackages_xanmod_latest; @@ -40,41 +46,80 @@ ]; }; + documentation = { + enable = true; + dev.enable = true; + doc.enable = true; + info.enable = true; + man = { + enable = true; + generateCaches = true; + man-db.enable = false; + mandoc.enable = true; + }; + nixos = { + includeAllModules = true; + }; + }; + networking = { + hostName = hostname; networkmanager.enable = true; firewall.checkReversePath = "loose"; }; - time.timeZone = "Europe/Warsaw"; - - nix.settings = { - experimental-features = [ - "flakes" - "nix-command" - ]; - substituters = [ - "https://hyprland.cachix.org" - "https://nix-gaming.cachix.org" - "https://anyrun.cachix.org" - "https://nix-community.cachix.org" - "https://nixpkgs-wayland.cachix.org" - "https://helix.cachix.org" - ]; - trusted-public-keys = [ - "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" - "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" - "anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s=" - "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" - "nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA=" - "helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs=" - ]; - keep-outputs = true; - keep-derivations = true; + # don't wait for network to boot faster + # https://old.reddit.com/r/NixOS/comments/vdz86j/how_to_remove_boot_dependency_on_network_for_a + systemd = { + targets.network-online.wantedBy = lib.mkForce []; # default is [ "multi-user.target" ] + services.NetworkManager-wait-online.wantedBy = lib.mkForce []; # default is [ "network-online.target" ] }; - programs.zsh.enable = true; + systemd.oomd = { + enable = true; + enableUserServices = true; + }; - virtualisation.libvirtd.enable = true; + time.timeZone = "Europe/Warsaw"; + + nix = { + settings = { + experimental-features = [ + "flakes" + "nix-command" + ]; + substituters = [ + "https://hyprland.cachix.org" + "https://nix-gaming.cachix.org" + "https://anyrun.cachix.org" + "https://nix-community.cachix.org" + "https://nixpkgs-wayland.cachix.org" + "https://helix.cachix.org" + ]; + trusted-public-keys = [ + "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" + "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" + "anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA=" + "helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs=" + ]; + keep-outputs = true; + keep-derivations = true; + }; + }; + + virtualisation = { + libvirtd = { + enable = true; + onBoot = "ignore"; + qemu = { + ovmf.enable = true; + runAsRoot = false; + swtpm.enable = true; + }; + }; + }; programs.dconf.enable = true; # https://github.com/NixOS/nixpkgs/issues/158025 @@ -84,21 +129,26 @@ fonts.packages = with pkgs; [ material-design-icons - (nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) + (nerdfonts.override { fonts = [ + "JetBrainsMono" + "Iosevka" + ]; }) noto-fonts noto-fonts-cjk-sans noto-fonts-cjk-serif noto-fonts-emoji ]; - users.users.jacek = { + users.users.${username} = { isNormalUser = true; extraGroups = [ "wheel" "networkmanager" "libvirtd" ]; shell = pkgs.zsh; }; + programs.zsh.enable = true; + environment = { - shells = with pkgs; [zsh]; + shells = [ pkgs.zsh ]; pathsToLink = [ "/share/zsh" ]; enableAllTerminfo = true; sessionVariables = { @@ -144,6 +194,10 @@ CHROME_EXECUTABLE = "${pkgs.ungoogled-chromium}/bin/chromium"; }; + systemPackages = with pkgs; [ + man-pages + man-pages-posix + ]; }; services = { @@ -155,6 +209,7 @@ udev.packages = [ pkgs.yubikey-personalization ]; udisks2.enable = true; + dbus.enable = true; }; programs.gnupg.agent = { @@ -176,21 +231,25 @@ }; }; - virtualisation.docker = { + xdg.portal = { enable = true; - storageDriver = "btrfs"; - rootless = { + extraPortals = with pkgs; [ + xdg-desktop-portal-hyprland + xdg-desktop-portal-gtk + ]; + }; + + services.btrfs = { + autoScrub = { enable = true; - setSocketVariable = true; + interval = "weekly"; }; }; - swapDevices = [ - { - device = "/var/lib/swapfile"; - size = 16*1024; - } - ]; + services.psd = { + enable = true; + resyncTimer = "30m"; + }; system.stateVersion = "23.11"; } diff --git a/hosts/niks/default.nix b/hosts/niks/default.nix index 5b71d540..75116c57 100644 --- a/hosts/niks/default.nix +++ b/hosts/niks/default.nix @@ -3,6 +3,7 @@ _: { ./configuration.nix ./greetd.nix ./hardware-configuration.nix + ./home-manager.nix #./mullvad.nix ./pipewire.nix ./ssh diff --git a/hosts/niks/greetd.nix b/hosts/niks/greetd.nix index e5b8df2f..08329863 100644 --- a/hosts/niks/greetd.nix +++ b/hosts/niks/greetd.nix @@ -1,35 +1,31 @@ { - config, + inputs, pkgs, + username, ... }: let greeter = "gtkgreet"; - swayConfig = pkgs.writeText "greetd-sway-config" '' - # https://github.com/swaywm/sway/issues/5732#issuecomment-1583336383 - exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP - exec hash dbus-update-activation-environment 2>/dev/null && \ - dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP + hyprlandConfig = pkgs.writeText "greetd-hyprland-config" '' + workspace=1,default:true,gapsout:0,gapsin:0,border:false,decorate:false - exec "${pkgs.greetd.${greeter}}/bin/${greeter} -l; swaymsg exit" - bindsym Mod4+shift+e exec swaynag \ - -t warning \ - -m 'What do you want to do?' \ - -b 'Poweroff' 'systemctl poweroff' \ - -b 'Reboot' 'systemctl reboot' + exec-once=systemctl --user stop waybar.service + exec-once=[workspace 1;fullscreen;noanim] ${pkgs.greetd.${greeter}}/bin/${greeter} -l; hyprctl dispatch exit + exec-once=hyprctl dispatch focuswindow gtkgreet ''; in { services.greetd = { enable = true; settings.default_session = { - command = "${pkgs.sway}/bin/sway --config ${swayConfig}"; - user = "jacek"; + command = "${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/Hyprland --config ${hyprlandConfig}"; + user = username; }; }; environment.etc = { "greetd/environments".text = '' Hyprland + sway zsh shutdown now ''; diff --git a/hosts/niks/hardware-configuration.nix b/hosts/niks/hardware-configuration.nix index 04275e80..15d8e7e6 100644 --- a/hosts/niks/hardware-configuration.nix +++ b/hosts/niks/hardware-configuration.nix @@ -18,6 +18,11 @@ fsType = "btrfs"; }; + fileSystems."/run/media/data" = + { device = "/dev/disk/by-uuid/32cf9449-1cd5-4328-974f-52d4e0a564cc"; + fsType = "btrfs"; + }; + fileSystems."/boot" = { device = "/dev/disk/by-uuid/52D3-DEAB"; fsType = "vfat"; diff --git a/hosts/niks/home-manager.nix b/hosts/niks/home-manager.nix new file mode 100644 index 00000000..cc84f8e2 --- /dev/null +++ b/hosts/niks/home-manager.nix @@ -0,0 +1,213 @@ +{ + lib, + inputs, + pkgs, + self, + username, + ... +}: let + mkNixPak = inputs.nixpak.lib.nixpak { + inherit (pkgs) lib; + inherit pkgs; + }; +in { + home-manager = { + useUserPackages = true; + useGlobalPkgs = true; + extraSpecialArgs = {inherit inputs self mkNixPak;}; + users.${username} = { + imports = [ + inputs.hyprland.homeManagerModules.default + inputs.anyrun.homeManagerModules.default + inputs.neovim-flake.homeManagerModules.default + ../../modules/cli + ../../modules/gui + ../../modules/tui + ../../modules/other + ../../modules/services + ]; + + programs = { + home-manager.enable = true; + direnv = { + enable = true; + nix-direnv.enable = true; + }; + }; + + home = { + inherit username; + homeDirectory = "/home/${username}"; + packages = let + hyprcontrib = inputs.hyprcontrib.packages.${pkgs.system}; + shadower = inputs.shadower.packages.${pkgs.system}; + nix-gaming = inputs.nix-gaming.packages.${pkgs.system}; + fenix = inputs.fenix.packages.${pkgs.system}; + nixpkgs-wayland = inputs.nixpkgs-wayland.packages.${pkgs.system}; + in with pkgs; [ + git + librewolf-wayland + keepassxc + eza + ripgrep + libnotify + rofi-wayland + rofi-calc + webcord-vencord + session-desktop + signal-desktop-beta + schildichat-desktop + obs-studio + heroic + steam + ungoogled-chromium + amdgpu_top + tor-browser-bundle-bin + mullvad-browser + thunderbird + telegram-desktop + livecaptions + gimp + helvum + ddccontrol + ddccontrol-db + bluez + blueman + easyeffects + firejail + lbry + libreoffice-fresh + minetest + airshipper + onionshare-gui + prismlauncher + qbittorrent + retroarchFull + ventoy-full + zathura + zellij + nodejs + unzip + cmake + gcc + nixpkgs-wayland.sway-unwrapped + caprine-bin + libsForQt5.kdenlive + telegram-desktop + waypipe + trash-cli + bibata-cursors + nixpkgs-wayland.swww + opentabletdriver + networkmanagerapplet + nixpkgs-wayland.wl-clipboard + nixpkgs-wayland.wlsunset + xdg-utils + hyprpicker + hyprcontrib.hyprprop + hyprcontrib.grimblast + shadower.shadower + pamixer + brightnessctl + dig + bottles + lutris + + nodePackages_latest.pnpm + nodePackages_latest.prisma + prisma-engines + openssl + pkg-config + docker + docker-compose + postgresql + nix-gaming.osu-stable + nix-gaming.osu-lazer-bin + swappy + nixpkgs-wayland.imv + pcmanfm + anytype + xdg-ninja + auto-cpufreq + gnupg + pinentry-qt + age + rage + fd + udisks + ffmpeg + ghc + ghcid + cabal-install + yt-dlp + filelight + (fenix.complete.withComponents [ + "cargo" + "clippy" + "rust-src" + "rustc" + "rustfmt" + ]) + wayland + showmethekey + polkit + libsForQt5.polkit-kde-agent + asciinema + asciinema-agg + du-dust + mullvad-vpn + appimage-run + file + virt-manager + weechat + flowblade + hyfetch + git-annex + gamemode + croc + linuxKernel.packages.linux_xanmod_latest.cpupower + uutils-coreutils + anki + alsa-utils + speechd + arcanPackages.espeak + ezquake + imagemagick + weston + pavucontrol + psmisc + mesa-demos + nnn + aseprite-unfree + jq + fq + nixpkgs-wayland.eww-wayland + gnumake + gdb + tea + codeberg-cli + progress + parallel + p7zip + famistudio + milkytracker + furnace + xxd + tldr + mpc-cli + playerctl + xdg-user-dirs + meson + wiki-tui + lshw + tree + ydotool + piper + smartmontools + ]; + + stateVersion = lib.mkDefault "23.11"; + }; + }; + }; +} diff --git a/hosts/niks/pipewire.nix b/hosts/niks/pipewire.nix index 4c6cfa44..fa886c70 100644 --- a/hosts/niks/pipewire.nix +++ b/hosts/niks/pipewire.nix @@ -1,8 +1,9 @@ { - config, pkgs, ... }: { + hardware.pulseaudio.enable = false; + services.pipewire = { enable = true; alsa.enable = true; diff --git a/hosts/niks/ssh/default.nix b/hosts/niks/ssh/default.nix index 289439aa..9759891f 100644 --- a/hosts/niks/ssh/default.nix +++ b/hosts/niks/ssh/default.nix @@ -1,12 +1,46 @@ -{ - config, - pkgs, - ... -}: { +_: { imports = [ ./ssh-agent.nix ]; services.openssh = { enable = true; settings.PasswordAuthentication = false; }; + + programs.ssh.extraConfig = '' + AddKeysToAgent yes + + Host github + HostName github.com + User git + IdentityFile ~/.ssh/githubkey + IdentitiesOnly yes + Host git.dupa.edu.pl + HostName git.dupa.edu.pl + User git + IdentityFile ~/.ssh/gitdupaedupl + IdentitiesOnly yes + Host codeberg + HostName codeberg.org + User git + IdentityFile ~/.ssh/codeberg + IdentitiesOnly yes + Host gitlab + HostName gitlab.com + User git + IdentityFile ~/.ssh/gitlab + IdentitiesOnly yes + Host aur + IdentityFile ~/.ssh/aur + User aur + Host chmura + HostName 192.168.15.17 + User chmura + IdentityFile ~/.ssh/chmura + IdentitiesOnly yes + Host malina + HostName 192.168.15.13 + User malina + IdentityFile ~/.ssh/malina + IdentitiesOnly yes + ''; } diff --git a/hosts/niks/ssh/ssh-agent.nix b/hosts/niks/ssh/ssh-agent.nix index 424d5c97..2f64438b 100644 --- a/hosts/niks/ssh/ssh-agent.nix +++ b/hosts/niks/ssh/ssh-agent.nix @@ -1,5 +1,4 @@ { - config, pkgs, ... }: { diff --git a/hosts/niks/waydroid.nix b/hosts/niks/waydroid.nix index c0ca1414..9a24a2f7 100644 --- a/hosts/niks/waydroid.nix +++ b/hosts/niks/waydroid.nix @@ -1,8 +1,4 @@ -{ - config, - pkgs, - ... -}: { +_: { virtualisation = { waydroid.enable = true; lxd.enable = true; diff --git a/homes/jacek/cli/default.nix b/modules/cli/default.nix similarity index 80% rename from homes/jacek/cli/default.nix rename to modules/cli/default.nix index befee8c6..1e430126 100644 --- a/homes/jacek/cli/default.nix +++ b/modules/cli/default.nix @@ -2,7 +2,6 @@ _: { imports = [ ./git.nix ./starship.nix - ./zoxide.nix ./zsh.nix ]; } diff --git a/modules/cli/git.nix b/modules/cli/git.nix new file mode 100644 index 00000000..ebf408a2 --- /dev/null +++ b/modules/cli/git.nix @@ -0,0 +1,25 @@ +{ + pkgs, + ... +}: { + programs.git = { + enable = true; + userName = "jacekpoz"; + userEmail = "jacekpoz@cock.li"; + signing = { + key = "0EEE6B0C9A8CC06820E59C3894E812A8B12AAE3C"; + signByDefault = true; + }; + includes = [ + { + contents = { core.editor = "${pkgs.neovim-nightly}/bin/nvim"; }; + } + { + contents = { init.defaultBranch = "master"; }; + } + { + contents = { push.autoSetupRemote = true; }; + } + ]; + }; +} diff --git a/modules/cli/starship.nix b/modules/cli/starship.nix new file mode 100644 index 00000000..5850db9a --- /dev/null +++ b/modules/cli/starship.nix @@ -0,0 +1,18 @@ +_: { + programs.starship = { + enable = true; + enableZshIntegration = true; + settings = { + add_newline = false; + command_timeout = 1000; + line_break = { + disabled = true; + }; + directory = { + truncation_length = 3; + truncate_to_repo = false; + truncation_symbol = "…/"; + }; + }; + }; +} diff --git a/modules/cli/zsh.nix b/modules/cli/zsh.nix new file mode 100644 index 00000000..a0876d03 --- /dev/null +++ b/modules/cli/zsh.nix @@ -0,0 +1,64 @@ +{ + config, + pkgs, + ... +}: { + programs.zsh = { + enable = true; + shellAliases = { + cl = "clear"; + cp = "cp -ivr"; + mv = "mv -iv"; + rm = "trash -v"; + l = "eza -a"; + e = "eza -lha --git"; + untar = "tar -xvf"; + untargz = "tar -xzf"; + mnt = "udisksctl mount -b"; + umnt = "udisksctl unmount -b"; + v = "nvim"; + kys = "shutdown now"; + gpl = "curl https://www.gnu.org/licenses/gpl-3.0.txt -o LICENSE"; + agpl = "curl https://www.gnu.org/licenses/agpl-3.0.txt -o LICENSE"; + wget = "wget --hsts-file=\"${config.xdg.dataHome}/wget-hsts\""; + g = "git"; + woman = "man"; + }; + initExtra = '' + bindkey -e + ''; + history = { + path = "${config.xdg.dataHome}/zsh/zsh_history"; + size = 9999999999; + save = 9999999999; + extended = true; + ignoreSpace = true; + }; + enableAutosuggestions = true; + enableCompletion = true; + autocd = false; + dotDir = ".config/zsh"; + plugins = [ + { + name = "fast-syntax-highlighting"; + file = "fast-syntax-highlighting.plugin.zsh"; + src = pkgs.fetchFromGitHub { + owner = "zdharma-continuum"; + repo = "fast-syntax-highlighting"; + rev = "cf318e06a9b7c9f2219d78f41b46fa6e06011fd9"; + sha256 = "sha256-RVX9ZSzjBW3LpFs2W86lKI6vtcvDWP6EPxzeTcRZua4="; + }; + } + { + name = "zsh-nix-shell"; + file = "nix-shell.plugin.zsh"; + src = pkgs.fetchFromGitHub { + owner = "chisui"; + repo = "zsh-nix-shell"; + rev = "v0.7.0"; + sha256 = "0za4aiwwrlawnia4f29msk822rj9bgcygw6a8a6iikiwzjjz0g91"; + }; + } + ]; + }; +} diff --git a/homes/jacek/gui/anyrun.nix b/modules/gui/anyrun.nix similarity index 52% rename from homes/jacek/gui/anyrun.nix rename to modules/gui/anyrun.nix index b804c2e7..59469bb7 100644 --- a/homes/jacek/gui/anyrun.nix +++ b/modules/gui/anyrun.nix @@ -1,5 +1,4 @@ { - config, inputs, pkgs, ... @@ -22,55 +21,65 @@ closeOnClick = true; showResultsImmediately = true; maxEntries = 50; + width.fraction = 0.3; + y.absolute = 15; }; extraCss = '' - window { - background: transparent; + * { + all: unset; + font-family: Lexend; + font-size: 1.3rem; } + #window, #match, #entry, #plugin, - #main { - background: transparent; - } + #main { background: transparent; } #match.activatable { - padding: 6px; + border-radius: 16px; + padding: .3rem .9rem; + margin-top: .01rem; + } + #match.activatable:first-child { margin-top: .7rem; } + #match.activatable:last-child { margin-bottom: .6rem; } + + #plugin:hover #match.activatable { border-radius: 10px; - color: white; - margin-top: 4px; + padding: .3rem; + margin-top: .01rem; + margin-bottom: 0; } - #match.activatable:selected { - background: red; - color: black; - } - - #match-title, #match-desc { - color: inherit; + #match:selected, #match:hover, #plugin:hover { + background: rgba(255, 255, 255, .1); } #entry { - color: white; - box-shadow: none; - border-radius: 10px; - border: 2px solid red; + background: rgba(255,255,255,.05); + border: 1px solid rgba(255,255,255,.1); + border-radius: 16px; + margin: .3rem; + padding: .3rem 1rem; } + list > #plugin { + border-radius: 16px; + margin: 0 .3rem; + } + list > #plugin:first-child { margin-top: .3rem; } + list > #plugin:last-child { margin-bottom: .3rem; } + list > #plugin:hover { padding: .6rem; } + box#main { - background: rgba(36, 39, 58, 0.7); - border-radius: 16px; - padding: 8px; - box-shadow: 0px 2px 33px -5px rgba(0, 0, 0, 0.5); - } - - row:first-child { - margin-top: 6px; + background: rgba(0, 0, 0, .5); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1), 0 0 0 1px rgba(0, 0, 0, .5); + border-radius: 24px; + padding: .3rem; } ''; - extraConfigFiles = { "applications.ron".text = '' Config( @@ -86,7 +95,7 @@ ''; "symbols.ron".text = '' Config( - prefix: ":u", + prefix: ":s", ) ''; "translate.ron".text = '' diff --git a/homes/jacek/gui/default.nix b/modules/gui/default.nix similarity index 91% rename from homes/jacek/gui/default.nix rename to modules/gui/default.nix index bef5b04d..cbdc41f5 100644 --- a/homes/jacek/gui/default.nix +++ b/modules/gui/default.nix @@ -1,7 +1,7 @@ _: { imports = [ - ./anyrun.nix ./eww + ./anyrun.nix ./firefox.nix ./foot.nix ./gtk.nix @@ -11,5 +11,6 @@ _: { ./rofi.nix ./swaylock.nix ./waybar.nix + ./zathura.nix ]; } diff --git a/modules/gui/eww/config/eww.scss b/modules/gui/eww/config/eww.scss new file mode 100644 index 00000000..b15a6c26 --- /dev/null +++ b/modules/gui/eww/config/eww.scss @@ -0,0 +1,43 @@ +* { + all: unset; //Unsets everything so you can style everything from scratch + border-radius: 10px; + font-family: Material Design Icons; + font-size: 16px; + color: #cdd6f4; +} + +//Global Styles +.bar { + padding: 10px; + background-color: rgba(#1e1e2e, 0.5); + border-radius: 0px; +} + +.time { + color: #f5c2e7; +} + +tooltip.background { + background-color: #11111b; + border-radius: 10px; + color: #cdd6f4; +} + +tooltip label { + margin: 6px; +} + +.workspaces button { + font-size: 12px; + background-color: #181825; + border-radius: 15px; + padding-top: 5px; + padding-right: 5px; + padding-bottom: 5px; + padding-left: 5px; +} + +.workspaces button.active { + background-color: #89b4fa; +} + diff --git a/modules/gui/eww/config/eww.yuck b/modules/gui/eww/config/eww.yuck new file mode 100644 index 00000000..6c3c1170 --- /dev/null +++ b/modules/gui/eww/config/eww.yuck @@ -0,0 +1,126 @@ +(defwidget bar [] + (centerbox :orientation "v" + (topstuff) + (centerstuff) + (bottomstuff))) + +(defwidget topstuff [] + (box :class "topstuff" :orientation "v" :valign "start" + (systray) + (workspaces))) + +(defwidget centerstuff [] + (box :class "centerstuff" :orientation "v" :valign "center" + ;(label :text windowtitle) + )) + +(defwidget bottomstuff [] + (box :class "bottomstuff" :orientation "v" :valign "end" + ;(backlight) + (volume :volume {3}) + (battery :capacity {EWW_BATTERY.BAT0.capacity} :status {EWW_BATTERY.BAT0.status}) + (time) + (date) + )) + +(defwidget systray [] + (label :text "st")) + +(defwidget workspaces [] + (box :class "workspaces" + :orientation "v" + :valign "start" + :spacing 10 + (button :onclick "hyprctl dispatch split-workspace 1" 1) + (button :onclick "hyprctl dispatch split-workspace 2" 2) + (button :onclick "hyprctl dispatch split-workspace 3" 3) + (button :onclick "hyprctl dispatch split-workspace 4" 4) + (button :onclick "hyprctl dispatch split-workspace 5" 5) + (button :onclick "hyprctl dispatch split-workspace 6" 6) + (button :onclick "hyprctl dispatch split-workspace 7" 7) + (button :onclick "hyprctl dispatch split-workspace 8" 8) + (button :onclick "hyprctl dispatch split-workspace 9" 9) + (button :onclick "hyprctl dispatch split-workspace 10" 10))) + +(defwidget volume [volume] + (box :orientation "v" :class "volume" :valign "center" + (label :text { + volume == 0 ? "󰸈" : + volume < 34 ? "󰕿" : + volume < 67 ? "󰖀" : + "󰕾" + }) + (label :text volume))) + +(defwidget battery [capacity status] + (box :orientation "v" :class "battery" :valign "center" :tooltip {status} + (label :text {status == 'Charging' ? + (capacity < 10 ? "󰢟" : + capacity < 20 ? "󰢜" : + capacity < 30 ? "󰂆" : + capacity < 40 ? "󰂇" : + capacity < 50 ? "󰂈" : + capacity < 60 ? "󰢝" : + capacity < 70 ? "󰂉" : + capacity < 80 ? "󰢞" : + capacity < 90 ? "󰂊" : + capacity < 100 ? "󰂋" : + "󰂅") : + (capacity < 10 ? "󰂎" : + capacity < 20 ? "󰁺" : + capacity < 30 ? "󰁻" : + capacity < 40 ? "󰁼" : + capacity < 50 ? "󰁽" : + capacity < 60 ? "󰁾" : + capacity < 70 ? "󰁿" : + capacity < 80 ? "󰂀" : + capacity < 90 ? "󰂁" : + capacity < 100 ? "󰂂" : + "󰁹") + }) + (label :text capacity))) + +(defwidget time [] + (box :orientation "v" :class "time" :valign "center" + (label :text "󱑁") + (label :text hour) + (label :text minute) + (label :text second))) + +(defpoll hour :interval "1s" + "date '+%H'") + +(defpoll minute :interval "1s" + "date '+%M'") + +(defpoll second :interval "1s" + "date '+%S'") + +(defwidget date [] + (box :orientation "v" :class "date" :valign "center" + (label :text "󰃰") + (label :text day) + (label :text month) + (label :text year))) + +(defpoll day :interval "1s" + "date '+%d'") + +(defpoll month :interval "1s" + "date '+%m'") + +(defpoll year :interval "1s" + "date '+%y'") + +(defwindow bar + :monitor 0 + :windowtype "dock" + :geometry (geometry :x "0%" + :y "0%" + :height "100%" + :width "20px" + :anchor "center right") + :stacking "fg" + :namespace "eww" + :exclusive true + (bar)) diff --git a/homes/jacek/gui/eww/default.nix b/modules/gui/eww/default.nix similarity index 94% rename from homes/jacek/gui/eww/default.nix rename to modules/gui/eww/default.nix index ed971389..3261d786 100644 --- a/homes/jacek/gui/eww/default.nix +++ b/modules/gui/eww/default.nix @@ -1,5 +1,4 @@ { - config, inputs, pkgs, ... diff --git a/modules/gui/firefox.nix b/modules/gui/firefox.nix new file mode 100644 index 00000000..10a41d02 --- /dev/null +++ b/modules/gui/firefox.nix @@ -0,0 +1,469 @@ +{ + lib, + pkgs, + ... +}: let + buildFirefoxXpiAddon = lib.makeOverridable ({ + stdenv ? pkgs.stdenv, + fetchurl ? pkgs.fetchurl, + pname, + version, + addonId, + url, + sha256, + ... + }: + stdenv.mkDerivation { + name = "${pname}-${version}"; + src = fetchurl {inherit url sha256;}; + preferLocalBuild = true; + allowSubstitutes = true; + buildCommand = '' + dst="$out/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9397384}" + mkdir -p "$dst" + install -v -m644 "$src" "$dst/${addonId}.xpi" + ''; + }); + + extra-addons = { + yomichan = buildFirefoxXpiAddon { + pname = "yomichan"; + version = "20.5.22.1"; + addonId = "{a9226ee9-7998-47bd-b72e-a1b56df7f77b}"; + url = "https://addons.mozilla.org/firefox/downloads/file/3585060/yomichan-20.5.22.1.xpi"; + sha256 = "sha256-/icvPD/nCJYS31owfYMD25QzFjsxAqapy/UAehhxsy8="; + }; + }; + + searxng-name = "SearXNG Sapti"; + + searxng = { + urls = [{ template = "https://search.sapti.me/search?q={searchTerms}"; }]; + iconUpdateURL = "https://search.sapti.me/favicon.ico"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "@sx" ]; + }; + + logo = builtins.fetchurl { + url = "https://raw.githubusercontent.com/schizofox/assets/main/logo/logo.png"; + sha256 = "1wjzivdmppbzrwdxhza5dzzljl3z59vfgggxim9xjb2rzr0wqyyf"; + }; +in { + xdg.desktopEntries = { + firefox-schizo = { + name = "Schizofox"; + genericName = "Web Browser"; + exec = "firefox --name firefox-schizo --profile /home/jacek/.mozilla/firefox/schizo %U"; + icon = "${logo}"; + terminal = false; + categories = [ "Network" "WebBrowser" ]; + mimeType = [ "text/html" "text/xml" "application/xhtml+xml" "application/vnd.mozilla.xul+xml" "x-scheme-handler/http" "x-scheme-handler/https" ]; + type = "Application"; + startupNotify = true; + settings = { + StartupWMClass = "firefox-schizo"; + }; + }; + firefox-unschizo = { + name = "Sanefox"; + genericName = "Web Browser"; + exec = "firefox --name firefox-sane --profile /home/jacek/.mozilla/firefox/unschizo %U"; + icon = "${logo}"; + terminal = false; + categories = [ "Network" "WebBrowser" ]; + mimeType = [ "text/html" "text/xml" "application/xhtml+xml" "application/vnd.mozilla.xul+xml" "x-scheme-handler/http" "x-scheme-handler/https" ]; + type = "Application"; + startupNotify = true; + settings = { + StartupWMClass = "firefox-sane"; + }; + }; + }; + + programs.firefox = { + enable = true; + package = pkgs.firefox-devedition; + profiles = { + "schizo" = { + id = 0; + isDefault = true; + search = { + default = "${searxng-name}"; + force = true; + engines = { + "${searxng-name}" = searxng; + "NixOS Packages" = { + urls = [{ + template = "https://search.nixos.org/packages"; + params = [ + { name = "channel"; value = "unstable"; } + { name = "query"; value = "{searchTerms}"; } + ]; + }]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@np" ]; + }; + "NixOS Options" = { + urls = [{ + template = "https://search.nixos.org/options"; + params = [ + { name = "channel"; value = "unstable"; } + { name = "query"; value = "{searchTerms}"; } + ]; + }]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@no" ]; + }; + "NixOS Wiki" = { + urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }]; + iconUpdateURL = "https://nixos.wiki/favicon.png"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "@nw" ]; + }; + "Home Manager Option Search" = { + urls = [{ template = "https://mipmip.github.io/home-manager-option-search/?query={searchTerms}"; }]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@hm" ]; + }; + "Arch Wiki" = { + url = [{ template = "https://wiki.archlinux.org/index.php?search={searchTerms}"; }]; + iconUpdateURL = "https://archlinux.org/favicon.ico"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "@aw" ]; + }; + "Gentoo Wiki" = { + url = [{ template = "https://wiki.gentoo.org/index.php?search={searchTerms}"; }]; + iconUpdateURL = "https://www.gentoo.org/favicon.ico"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "@gw" ]; + }; + "Debian Wiki" = { + url = [{ template = "https://wiki.debian.org/FrontPage?action=fullsearch&value={searchTerms}"; }]; + iconUpdateURL = "https://www.debian.org/favicon.ico"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "@dw" ]; + }; + # GTFO + "Google".metaData.hidden = true; + "Bing".metaData.hidden = true; + "DuckDuckGo".metaData.hidden = true; + "Amazon.com".metaData.hidden = true; + }; + }; + extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + ublock-origin + sponsorblock + tridactyl + violentmonkey + darkreader + keepassxc-browser + redirector + auto-tab-discard + extra-addons.yomichan + ]; + settings = { + "browser.aboutConfig.showWarning" = false; + "browser.startup.page" = 0; + "browser.startup.homepage" = "about:home"; + "browser.newtabpage.enabled" = true; + "browser.newtabpage.activity-stream.showSponsored" = false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + "browser.newtabpage.activity-stream.default.sites" = ""; + "geo.provider.network.url" = ""; + "geo.provider.network.logging.enabled" = false; + "geo.provider.ms-windows-location" = false; + "geo.provider.use_corelocation" = false; + "geo.provider.use_gpsd" = false; + "geo.provider.use_geoclue" = false; + "intl.accept_langauges" = "en-US"; + "javascript.use_us_english_locale" = true; + "extensions.getAddons.showPane" = false; + "extensions.htmlaboutaddons.recommendations.enabled" = false; + "browser.discovery.enabled" = false; + # this shit doesn't work thanks to firefox's + # fucking retarded ass decisions + # but I'm gonna keep it anyway + "extensions.unifiedExtensions.enabled" = false; + "datareporting.policy.dataSubmissionEnabled" = false; + "datareporting.healthreport.uploadEnabled" = false; + "toolkit.telemetry.unified" = false; + "toolkit.telemetry.enabled" = false; + "toolkit.telemetry.server" = "data:,"; + "toolkit.telemetry.archive.enabled" = false; + "toolkit.telemetry.newProfilePing.enabled" = false; + "toolkit.telemetry.shutdownPingSender.enabled" = false; + "toolkit.telemetry.updatePing.enabled" = false; + "toolkit.telemetry.bhrPing.enabled" = false; + "toolkit.telemetry.firstShutdownPing.enabled" = false; + "toolkit.telemetry.coverage.opt-out" = true; + "toolkit.coverage.endpoint.base" = ""; + "browser.ping-centre.telemetry" = false; + "browser.newtabpage.activity-stream.feeds.telemetry" = false; + "browser.newtabpage.activity-stream.telemetry" = false; + "app.shield.optoutstudies.enabled" = false; + "app.normandy.enabled" = false; + "app.normandy.api_url" = ""; + "breakpad.reportURL" = ""; + "browser.tabs.crashReporting.sendReport" = false; + "browser.crashReports.unsubmittedCheck.enabled" = false; + "browser.crashReports.unsubmittedCheck.autoSubmit2" = false; + "captivedetect.canonicalURL" = ""; + "network.captive-portal-service.enabled" = false; + "network.connectivity-service.enabled" = false; + "browser.safebrowsing.malware.enabled" = false; + "browser.safebrowsing.phishing.enabled" = false; + "browser.safebrowsing.downloads.enabled" = false; + "browser.safebrowsing.downloads.remote.enabled" = false; + "browser.safebrowsing.downloads.remote.url" = ""; + "browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false; + "browser.safebrowsing.downloads.remote.block_uncommon" = false; + "browser.safebrowsing.allowOverride" = false; + "network.prefetch-next" = false; + "network.dns.disablePrefetch" = true; + "network.dns.disablePrefetchFromHTTPS" = true; + "network.predictor.enabled" = false; + "network.predictor.enable-prefetch" = false; + "network.http.speculative.parallel-limit" = 0; + "browser.places.speculativeConnect.enabled" = false; + "browser.send_pings" = false; + "network.dns.disableIPv6" = true; + "network.proxy.socks_remote_dns" = true; + "network.file.disable_unc_paths" = true; + "network.gio.supported-protocols" = ""; + "network.proxy.failover_direct" = false; + "network.proxy.allow_bypass" = false; + # "network.trr.mode" = 5; TODO read about this + "browser.fixup.alternate.enabled" = false; + # TODO do I want this + "browser.search.suggest.enabled" = true; + "browser.urlbar.suggest.searches" = true; + "browser.urlbar.speculativeConnect.enabled" = false; + "browser.urlbar.dnsResolveSingleWordsAfterSearch" = 0; + "browser.urlbar.suggest.quicksuggest.nonsponsored" = false; + "browser.urlbar.suggest.quicksuggest.sponsored" = false; + "browser.formfill.enable" = false; + "layout.css.visited_links_enabled" = false; + "signon.autofillForms" = false; + "signon.formlessCapture.enabled" = false; + # TODO find some info about this + "network.auth.subresource-http-auth-allow" = 0; + "network.http.windows-sso.enabled" = false; + # TODO read about these until... + "browser.cache.disk.enable" = true; + "browser.privatebrowsing.forceMediaMemoryCache" = true; + "media.memory_cache_max_size" = 65536; + "browser.sessionstore.privacy_level" = 2; + # here + "toolkit.winRegisterApplicationRestart" = false; + # TODO favicons might be cool though + "browser.shell.shortcutFavicons" = false; + "security.ssl.require_safe_negotiation" = true; + "security.tls.enable_0rtt_data" = true; + # TODO read and think about it + "security.OCSP.enabled" = 1; + "security.OCSP.require" = true; + "security.family_safety.mode" = 0; + "security.cert_pinning.enforcement_level" = 2; + # TODO read about the next 2 + "security.remote_settings.crlite_filters.enabled" = true; + "security.pki.crlite_mode" = 2; + # TODO if images break it's probably this + "security.mixed_content.block_display_content" = true; + "dom.security.https_only_mode" = true; + "dom.security.https_only_mode_pbm" = true; + "dom.security.https_only_mode.upgrade_local" = true; + "dom.security.https_only_mode_send_http_background_request" = false; + "security.ssl.treat_unsafe_negotiation_as_broken" = true; + "browser.xul.error_pages.expert_bad_cert" = true; + "network.http.referer.XOriginPolicy" = 2; + "network.http.referer.XOriginTrimmingPolicy" = 2; + "privacy.userContext.enabled" = true; + "privacy.userContext.ui.enabled" = true; + "privacy.userContext.newTabContainerOnLeftClick.enabled" = true; + # TODO read about these 2 + "media.peerconnection.ice.proxy_only_if_behind_proxy" = true; + "media.peerconnection.ice.default_address_only" = true; + "media.peerconnection.ice.no_host" = true; + # TODO remove this if some codecs or shit don't work + "media.gmp-provider.enabled" = false; + # I think this is for netflix and shit + "media.gmp-widevinecdm.enabled" = false; + # disables DRM in general + "media.eme.enabled" = false; + # and the ui for it just in case + "browser.eme.ui.enabled" = false; + "dom.disable_window_move_resize" = true; + "accessibility.force_disabled" = 1; + "browser.helperApps.deleteTempFileOnExit" = true; + # TODO what the fuck is uitour + "browser.uitour.enabled" = false; + "browser.uitour.url" = ""; + "devtools.debugger.remote-enabled" = false; + "middlemouse.contentLoadURL" = false; + "permissions.default.shortcuts" = 2; + "permissions.manager.defaultsUrl" = ""; + # TODO what is this + "webchannel.allowObject.urlWhitelist" = ""; + "network.IDN_show_punycode" = true; + "pdfjs.disabled" = false; + "pdfjs.enableScripting" = false; + "network.protocol-handler.external.ms-windows-store" = false; + "permissions.delegation.enabled" = false; + "browser.download.useDownloadDir" = true; + "browser.download.alwaysOpenPanel" = false; + "browser.download.manager.addToRecentDocs" = true; + "browser.download.always_ask_before_handling_new_types" = true; + # if extensions break go here + "extensions.enabledScopes" = 5; + "extensions.autoDisableScopes" = 15; + # TODO rethink this + "extensions.postDownloadThirdPartyPrompt" = true; + "extensions.webextensions.restrictedDomains" = ""; + "browser.contentblocking.category" = "strict"; + "privacy.antitracking.enableWebcompat" = false; + "privacy.partition.serviceWorkers" = true; + "privacy.partition.always_partition_third_party_non_cookie_storage" = true; + "privacy.partition.always_partition_third_party_non_cookie_storage.exempt_sessionstorage" = false; + "privacy.sanitize.sanitizeOnShutdown" = true; + "privacy.clearOnShutdown.cache" = true; + "privacy.clearOnShutdown.downloads" = true; + "privacy.clearOnShutdown.formdata" = true; + "privacy.clearOnShutdown.history" = true; + "privacy.clearOnShutdown.sessions" = true; + "privacy.clearOnShutdown.siteSettings" = true; + # if true I can't recover from crashes according to arkenfox + "privacy.clearOnShutdown.openWindows" = false; + "privacy.clearOnShutdown.cookies" = true; + "privacy.clearOnShutdown.offlineApps" = true; + "privacy.clearsitedata.cache.enabled" = true; + "privacy.cpd.cache" = true; + "privacy.cpd.formdata" = true; + "privacy.cpd.history" = true; + "privacy.cpd.sessions" = true; + "privacy.cpd.offlineApps" = true; + "privacy.cpd.cookies" = true; + "privacy.cpd.downloads" = true; + "privacy.cpd.openWindows" = false; + "privacy.cpd.passwords" = true; + "privacy.cpd.siteSettings" = true; + "privacy.sanitize.timeSpan" = 0; + "privacy.resistFingerprint" = false; + # we won't be installing extensions through mozilla's website I don't think + "privacy.resistFingerprinting.block_mozAddonManager" = true; + "privacy.resistFingerprinting.letterboxing" = true; + "layout.css.font-visibility.resistFingerprinting" = 1; + "browser.display.use_system_colors" = false; + "widget.non-native-theme.enabled" = true; + "browser.link.open_newwindow" = 3; + "browser.link.open_newwindow.restriction" = 0; + "webgl.disabled" = false; + "signon.rememberSignons" = false; + "permissions.memory_only" = true; + "security.nocertdb" = true; + "browser.chrome.site_icons" = true; + "browser.session.max_tabs_undo" = 0; + "browser.sessionstore.resume_from_crash" = true; + "browser.urlbar.autoFill" = false; + "places.history.enabled" = false; + "extensions.formautofill.addresses.enabled" = false; + "extensions.formautofill.creditCards.enabled" = false; + "extensions.formautofill.heuristics.enabled" = false; + "dom.popup_allowed_events" = "click dblclick mousedown pointerdown"; + "javascript.options.ion" = false; + "javascript.options.baselinejit" = false; + "javascript.options.jit_trustedprincipals" = true; + "javascript.options.wasm" = false; + "extensions.blocklist.enabled" = true; + "network.http.referer.spoofSource" = false; + "security.dialog_enable_delay" = 1000; + "privacy.firstparty.isolate" = false; + "extensions.webcompat.enable_shims" = true; + "security.tls.version.enable-deprecated" = false; + "extensions.webcompat-reporter.enabled" = false; + + "gfx.webrender.all" = true; + "media.ffmpeg.vaapi.enabled" = true; + }; + }; + "unschizo" = { + id = 1; + isDefault = false; + search = { + default = "${searxng-name}"; + force = true; + engines = { + "${searxng-name}" = searxng; + # GTFO + "Google".metaData.hidden = true; + "Bing".metaData.hidden = true; + "DuckDuckGo".metaData.hidden = true; + "Amazon.com".metaData.hidden = true; + }; + }; + extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + ublock-origin + sponsorblock + dearrow + tridactyl + violentmonkey + darkreader + keepassxc-browser + auto-tab-discard + extra-addons.yomichan + ]; + settings = { + "browser.aboutConfig.showWarning" = false; + "browser.startup.page" = 0; + "browser.startup.homepage" = "about:home"; + "browser.newtabpage.enabled" = true; + "browser.newtabpage.activity-stream.showSponsored" = false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + "browser.newtabpage.activity-stream.default.sites" = ""; + "extensions.getAddons.showPane" = false; + "extensions.htmlaboutaddons.recommendations.enabled" = false; + "browser.discovery.enabled" = false; + "extensions.unifiedExtensions.enabled" = false; + "datareporting.policy.dataSubmissionEnabled" = false; + "datareporting.healthreport.uploadEnabled" = false; + "toolkit.telemetry.unified" = false; + "toolkit.telemetry.enabled" = false; + "toolkit.telemetry.server" = "data:,"; + "toolkit.telemetry.archive.enabled" = false; + "toolkit.telemetry.newProfilePing.enabled" = false; + "toolkit.telemetry.shutdownPingSender.enabled" = false; + "toolkit.telemetry.updatePing.enabled" = false; + "toolkit.telemetry.bhrPing.enabled" = false; + "toolkit.telemetry.firstShutdownPing.enabled" = false; + "toolkit.telemetry.coverage.opt-out" = true; + "toolkit.coverage.endpoint.base" = ""; + "browser.ping-centre.telemetry" = false; + "browser.newtabpage.activity-stream.feeds.telemetry" = false; + "browser.newtabpage.activity-stream.telemetry" = false; + "app.shield.optoutstudies.enabled" = false; + "app.normandy.enabled" = false; + "app.normandy.api_url" = ""; + "breakpad.reportURL" = ""; + "browser.tabs.crashReporting.sendReport" = false; + "browser.crashReports.unsubmittedCheck.enabled" = false; + "browser.crashReports.unsubmittedCheck.autoSubmit2" = false; + "captivedetect.canonicalURL" = ""; + "network.captive-portal-service.enabled" = false; + "network.connectivity-service.enabled" = false; + "browser.safebrowsing.malware.enabled" = false; + "browser.safebrowsing.phishing.enabled" = false; + "browser.safebrowsing.downloads.enabled" = false; + "browser.safebrowsing.downloads.remote.enabled" = false; + "browser.safebrowsing.downloads.remote.url" = ""; + "browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false; + "browser.safebrowsing.downloads.remote.block_uncommon" = false; + "browser.safebrowsing.allowOverride" = false; + "privacy.resistFingerprinting.block_mozAddonManager" = true; + "signon.rememberSignons" = false; + + "gfx.webrender.all" = true; + "media.ffmpeg.vaapi.enabled" = true; + }; + }; + }; + }; +} diff --git a/modules/gui/foot.nix b/modules/gui/foot.nix new file mode 100644 index 00000000..feb723cd --- /dev/null +++ b/modules/gui/foot.nix @@ -0,0 +1,106 @@ +{ + inputs, + pkgs, + ... +}: { + programs.foot = { + enable = true; + package = inputs.nixpkgs-wayland.packages.${pkgs.system}.foot; + server.enable = true; + settings = { + main = { + term = "xterm-256color"; + app-id = "foot"; + title = "foot"; + locked-title = "no"; + + font = "JetBrains Mono Nerd Font:size=16"; + line-height = 20; + letter-spacing = 0; + horizontal-letter-offset = 0; + vertical-letter-offset = -0.75; + box-drawings-uses-font-glyphs = "no"; + dpi-aware = "no"; + + initial-window-size-chars = "104x36"; + initial-window-mode = "windowed"; + pad = "5x5 center"; + resize-delay-ms = 100; + + notify = "notify-send -a \${app-id} -i \${app-id} \${title} \${body}"; + + bold-text-in-bright = "no"; + word-delimiters = ",│`|:\"'()[]{}<>"; + selection-target = "primary"; + }; + bell = { + urgent = "yes"; + notify = "yes"; + command = "notify-send bell"; + command-focused = "no"; + }; + scrollback = { + lines = 100000; + multiplier = 10.0; + indicator-position = "relative"; + indicator-format = "line"; + }; + url = { + launch = "xdg-open \${url}"; + label-letters = "sadfjklewcmpgh"; + osc8-underline = "always"; + protocols = "http, https, ftp, ftps, file, gemini, gopher, irc, ircs"; + uri-characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+=\"'()[]"; + }; + cursor = { + style = "block"; + blink = "no"; + }; + mouse = { + hide-when-typing = "yes"; + alternate-scroll-mode = "yes"; + }; + colors = { + alpha = 0.85; + foreground = "dee1e6"; + background = "101419"; + # Normal/regular colors (color palette 0-7) + regular0 = "c5c8cd"; # black + regular1 = "bd3c42"; # red + regular2 = "69b373"; # green + regular3 = "ceac67"; # yellow + regular4 = "4d82c8"; # blue + regular5 = "a367cb"; # magenta + regular6 = "519bc6"; # cyan + regular7 = "101419"; # white + # Bright colors (color palette 8-15) + bright0 = "989ba0"; # bright black + bright1 = "c24147"; # bright red + bright2 = "6eb878"; # bright green + bright3 = "d3b16c"; # bright yellow + bright4 = "5287cd"; # bright blue + bright5 = "a86cd0"; # bright magenta + bright6 = "56a0cb"; # bright cyan + bright7 = "1f2328"; # bright white + }; + csd = { + preferred = "server"; + }; + key-bindings = { + show-urls-launch = "Control+Shift+u"; + unicode-input = "Control+Shift+i"; + }; + mouse-bindings = { + selection-override-modifiers = "Shift"; + primary-paste = "BTN_MIDDLE"; + select-begin = "BTN_LEFT"; + select-begin-block = "Control+BTN_LEFT"; + select-extend = "BTN_RIGHT"; + select-extend-character-wise = "Control+BTN_RIGHT"; + select-word = "BTN_LEFT-2"; + select-word-whitespace = "Control+BTN_LEFT-2"; + select-row = "BTN_LEFT-3"; + }; + }; + }; +} diff --git a/modules/gui/gtk.nix b/modules/gui/gtk.nix new file mode 100644 index 00000000..0615a5e7 --- /dev/null +++ b/modules/gui/gtk.nix @@ -0,0 +1,39 @@ +{ + config, + pkgs, + ... +}: { + gtk = { + enable = true; + theme = { + name = "Catppuccin-Mocha-Standard-Green-dark"; + package = pkgs.catppuccin-gtk.override { + size = "standard"; + accents = [ "green" ]; + variant = "mocha"; + tweaks = [ "normal" ]; + }; + }; + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.catppuccin-papirus-folders.override { + accent = "green"; + flavor = "mocha"; + }; + }; + }; + home = { + sessionVariables = { + GTK_THEME = "${config.gtk.theme.name}"; + + GTK_USE_PORTAL = "1"; + }; + pointerCursor = { + package = pkgs.bibata-cursors; + name = "Bibata-Modern-Classic"; + size = 24; + gtk.enable = true; + x11.enable = true; + }; + }; +} diff --git a/modules/gui/hypr.nix b/modules/gui/hypr.nix new file mode 100644 index 00000000..81db7a00 --- /dev/null +++ b/modules/gui/hypr.nix @@ -0,0 +1,303 @@ +{ + config, + inputs, + lib, + pkgs, + ... +}: { + wayland.windowManager.hyprland = { + enable = true; + package = inputs.hyprland.packages.${pkgs.system}.hyprland; + plugins = [ + inputs.hyprland-plugins.packages.${pkgs.system}.csgo-vulkan-fix + inputs.split-monitor-workspaces.packages.${pkgs.system}.split-monitor-workspaces + ]; + extraConfig = '' + #laptop + monitor=eDP-1,2560@1440@165,0x0,1 + #second monitor + monitor=HDMI-A-1,2560x1440@144,2560x0,1 + + workspace = 1, monitor:eDP-1, default:true + workspace = 2, monitor:eDP-1 + workspace = 3, monitor:eDP-1 + workspace = 4, monitor:eDP-1 + workspace = 5, monitor:eDP-1 + workspace = 6, monitor:eDP-1 + workspace = 7, monitor:eDP-1 + workspace = 8, monitor:eDP-1 + workspace = 9, monitor:eDP-1 + workspace = 10, monitor:eDP-1 + + workspace = 11, monitor:HDMI-A-1, default:true + workspace = 12, monitor:HDMI-A-1 + workspace = 13, monitor:HDMI-A-1 + workspace = 14, monitor:HDMI-A-1 + workspace = 15, monitor:HDMI-A-1 + workspace = 16, monitor:HDMI-A-1 + workspace = 17, monitor:HDMI-A-1 + workspace = 18, monitor:HDMI-A-1 + workspace = 19, monitor:HDMI-A-1 + workspace = 20, monitor:HDMI-A-1 + + workspace = special:btop, allpseudo + workspace = special:amdgpu_top, allpseudo + workspace = special:helvum, allpseudo + workspace = special:nixos, allpseudo, gapsin:0, gapsout:0 + + input { + kb_layout=pl,ru + kb_variant= + kb_model= + kb_options=grp:alt_shift_toggle + kb_rules= + + follow_mouse=1 + touchpad { + disable_while_typing=false + } + + repeat_rate = 50 + repeat_delay = 250 + } + + general { + sensitivity=1.0 # for mouse cursor + + gaps_in=5 + gaps_out=5 + #gaps_in=0 + #gaps_out=0 + border_size=2 + #border_size=1 + + apply_sens_to_raw=0 # whether to apply the sensitivity to raw input (e.g. used by games where you aim using your mouse) + + #no_border_on_floating=true + } + + decoration { + #rounding=0 + rounding=10 + blur { + enabled=1 + size=3 + passes=2 + } + + drop_shadow=1 + shadow_range=15 + shadow_render_power=2 + shadow_ignore_window=1 + shadow_offset= 2 4 + shadow_scale=1 + } + + gestures { + workspace_swipe=1 + workspace_swipe_distance=200 + workspace_swipe_invert=1 + workspace_swipe_min_speed_to_force=20 + workspace_swipe_cancel_ratio=0.5 + } + + bezier=dupa, 0.1, 0.9, 0.1, 1.05 + + animations { + enabled=1 + animation=windows,1,4,dupa,popin + animation=windowsOut,1,7,dupa,slide + animation=border,1,15,default + animation=fade,1,10,default + animation=workspaces,1,5,dupa,slidevert + } + + dwindle { + no_gaps_when_only=1 + } + + misc { + enable_swallow=0 + swallow_regex=foot + focus_on_activate=true + vrr=1 + animate_manual_resizes=false + animate_mouse_windowdragging=false + } + + windowrulev2 = float, title:^(.*)(Tor Browser)(.*)$ + windowrulev2 = float, class:^(mullvadbrowser)$ + windowrulev2 = float, class:^(foot)$ + windowrulev2 = float, class:^(mpv)$ + windowrulev2 = float, class:^(imv)$ + windowrulev2 = float, class:^(Vieb)$ + windowrulev2 = float, title:^(Picture-in-Picture)$ + windowrulev2 = float, title:^(.*)(Choose User Profile)(.*)$ + + windowrulev2 = float, class:^(xdg-desktop-portal-gtk)$ + windowrulev2 = float, class:^(code), title: ^(Open*) + windowrulev2 = size 70% 70%, class:^(code), title: ^(Open*) + windowrulev2 = center, class: ^(code), title: ^(Open*) + windowrulev2 = float, class:^(org.keepassxc.KeePassXC)$ + windowrulev2 = size 960 670, title:^(ROG Control Center)$ + + bind = SUPER, RETURN, exec, foot + bind = SUPER, W, exec, ${lib.removeSuffix " %U" config.xdg.desktopEntries.firefox-schizo.exec} + bind = SUPERSHIFT, W, exec, ${lib.removeSuffix " %U" config.xdg.desktopEntries.firefox-unschizo.exec} + bind = SUPER, Q, killactive + bind = SUPER, F, fullscreen, 0 + bind = SUPER, M, fullscreen, 1 + bind = SUPER, D, exec, pkill anyrun || anyrun + bind = SUPER, SPACE, togglefloating, + bind = SUPERSHIFT, C, centerwindow + bind = SUPER, R, bringactivetotop + binde = SUPER, H, movefocus, l + binde = SUPER, J, movefocus, d + binde = SUPER, K, movefocus, u + binde = SUPER, L, movefocus, r + binde = SUPERCTRL, J, focusmonitor, l + binde = SUPERCTRL, K, focusmonitor, r + bind = SUPER, 1, split-workspace, 1 + bind = SUPER, 2, split-workspace, 2 + bind = SUPER, 3, split-workspace, 3 + bind = SUPER, 4, split-workspace, 4 + bind = SUPER, 5, split-workspace, 5 + bind = SUPER, 6, split-workspace, 6 + bind = SUPER, 7, split-workspace, 7 + bind = SUPER, 8, split-workspace, 8 + bind = SUPER, 9, split-workspace, 9 + bind = SUPER, 0, split-workspace, 10 + bind = SUPERSHIFT, 1, split-movetoworkspacesilent, 1 + bind = SUPERSHIFT, 2, split-movetoworkspacesilent, 2 + bind = SUPERSHIFT, 3, split-movetoworkspacesilent, 3 + bind = SUPERSHIFT, 4, split-movetoworkspacesilent, 4 + bind = SUPERSHIFT, 5, split-movetoworkspacesilent, 5 + bind = SUPERSHIFT, 6, split-movetoworkspacesilent, 6 + bind = SUPERSHIFT, 7, split-movetoworkspacesilent, 7 + bind = SUPERSHIFT, 8, split-movetoworkspacesilent, 8 + bind = SUPERSHIFT, 9, split-movetoworkspacesilent, 9 + bind = SUPERSHIFT, 0, split-movetoworkspacesilent, 10 + bindle = , XF86MonBrightnessUp, exec, ~/Scripts/notif_brightness.sh set +5% + bindle = , XF86MonBrightnessDown, exec, ~/Scripts/notif_brightness.sh set 5%- + bindl = , XF86AudioMedia, exec, playerctl play-pause + bindl = , XF86AudioPlay, exec, playerctl play-pause + bindl = , XF86AudioStop, exec, playerctl stop + bindl = , XF86AudioPrev, exec, playerctl previous + bindl = , XF86AudioNext, exec, playerctl next + bindle = , XF86AudioRaiseVolume, exec, ~/Scripts/notif_volume.sh -ui 5 + bindle = , XF86AudioLowerVolume, exec, ~/Scripts/notif_volume.sh -ud 5 + bindl = , XF86AudioMute, exec, ~/Scripts/notif_volume.sh --toggle-mute +# https://github.com/n3oney/shadower + bind = SUPER, S, exec, grimblast save area - | shadower | tee "$(xdg-user-dir PICTURES)/Screenshots/$(date +'screenshot-%Y%m%d%H%M%S.png')" | wl-copy && notify-send "Screenshot taken" + bind = SUPERSHIFT, S, exec, grimblast save area - | swappy -f - -o - | shadower | tee "$(xdg-user-dir PICTURES)/Screenshots/$(date +'screenshot-%Y%m%d%H%M%S.png')" | wl-copy && notify-send "Screenshot taken" + bind = SUPERCONTROL, S, exec, grimblast save area - | tee "$(xdg-user-dir PICTURES)/Screenshots/$(date +'screenshot-%Y%m%d%H%M%S.png')" | wl-copy && notify-send "Screenshot taken" + bind = SUPERSHIFT, R, exec, hyprctl reload + bind = SUPER, P, pin + bind = , XF86Launch1, exec, rog-control-center + binde = , XF86Launch3, exec, asusctl led-mode -n + bind = , XF86Launch4, exec, asusctl profile -n; pkill -SIGRTMIN+8 waybar + binde = , XF86KbdBrightnessUp, exec, asusctl -n + binde = , XF86KbdBrightnessDown, exec, asusctl -p + bind = , XF86TouchpadToggle, exec, + bind = SUPER, T, exec, grim -g "$(slurp)" -t ppm - | tesseract -l pol - - | wl-copy && notify-send "Copied text: " "\"$(wl-paste)\"" + bind = SUPER, SEMICOLON, exec, ~/.config/rofi/powermenu/type-2/powermenu.sh + bind = SUPER, X, exec, keepassxc + bind = SUPERSHIFT, M, exec, ~/Scripts/man.sh + bind = SUPER, E, exec, wl-paste | spd-say -e -w -i 10 + bind = SUPERCONTROL, E, exec, wl-paste | spd-say -e -w -i 10 -l pl + bind = SUPERSHIFT, E, exec, spd-say -C + bind = SUPER, G, togglegroup + binde = SUPERSHIFT, G, changegroupactive, f + bind = SUPERCONTROL, R, exec, replay-sorcery save + bind = SUPERCONTROL, X, exec, ${pkgs.xdg-desktop-portal-hyprland}/libexec/xdg-desktop-portal-hyprland -r + bind = SUPERSHIFT, X, exec, hyprctl kill + bind = SUPER, B, togglespecialworkspace, btop + bind = SUPER, A, togglespecialworkspace, amdgpu_top + bind = SUPER, V, togglespecialworkspace, helvum + bind = SUPER, N, togglespecialworkspace, nixos + bind = SUPER, C, exec, swaylock + + + bindm = SUPER, mouse:272, movewindow + bindm = SUPER, mouse:273, resizewindow + + binds { + pass_mouse_when_bound=0 + } + + exec-once=systemctl start --user waybar.service + exec=systemctl restart --user waybar.service + + exec=pkill btop + exec=pkill amdgpu_top + exec=pkill helvum + + exec=[workspace special:btop silent;tile] foot btop + exec=[workspace special:amdgpu_top silent] amdgpu_top --gui -i 0 + exec=[workspace special:amdgpu_top silent] amdgpu_top --gui -i 1 + exec=[workspace special:helvum silent] helvum + exec-once=[workspace special:nixos silent;tile] cd niksos; foot + + exec-once=foot --server + exec-once=hyprctl setcursor Bibata-Modern-Classic 24 + + exec-once=wl-paste --watch cliphist store + + exec-once=swww init && sleep 0.5 + exec=swww img -o eDP-1 ~/catppuccin-wall0.png + exec=swww img -o HDMI-A-1 ~/catppuccin-wall1.png + + exec-once=rog-control-center + exec-once=wlsunset -S 06:00 -s 20:00 + + exec-once=sleep 1 && keepassxc + + exec-once=/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 + + #exec-once=foot -e nvim ~/todo.md + + exec-once=nm-applet --indicator + + exec-once=blueman-applet + + exec-once=$HOME/.local/share/hyprload/hyprload.sh + + #exec-once=fcitx5 -d + + exec-once=systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP + exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=$XDG_CURRENT_DESKTOP + + # no black border on grimblast screenshots + layerrule = noanim, ^(selection)$ + + layerrule = blur, ^(waybar)$ + layerrule = blur, ^(eww)$ + + # temporary fix to swaylock screenshoting rofi before locking + layerrule = noanim, ^(rofi)$ + + layerrule = blur, ^(anyrun)$ + + general { + col.active_border=0xFFF5C2E7 + col.inactive_border=0xFF45475A + col.group_border_active=0xFFA6E3A1 + col.group_border=0xFF45475A + } + + decoration { + col.shadow=0xAF1E1E2E + } + + plugin { + csgo-vulkan-fix { + res_w = 2560 + res_h = 1440 + } + split-monitor-workspaces { + count = 10 + } + } + ''; + }; +} diff --git a/modules/gui/mpv.nix b/modules/gui/mpv.nix new file mode 100644 index 00000000..55804bd7 --- /dev/null +++ b/modules/gui/mpv.nix @@ -0,0 +1,24 @@ +{ + pkgs, + ... +}: { + programs.mpv = { + enable = true; + config = { + vo = "gpu-next"; + hwdec = "auto"; + gpu-api = "vulkan"; + vulkan-device = "AMD Radeon RX 6800M (RADV NAVI22)"; + volume = 50; + osc = "no"; + osd-bar = "no"; + border = "no"; + }; + scripts = with pkgs.mpvScripts; [ + mpris + thumbfast + sponsorblock + uosc + ]; + }; +} diff --git a/modules/gui/qt.nix b/modules/gui/qt.nix new file mode 100644 index 00000000..cffa6f7e --- /dev/null +++ b/modules/gui/qt.nix @@ -0,0 +1,53 @@ +{ + pkgs, + ... +}: { + # thanks raf :3 https://github.com/NotAShelf/nyx/blob/main/homes/notashelf/themes/qt.nix + qt = { + enable = true; + #platformTheme = "qtct"; + style = { + name = "Catppuccin-Mocha-Dark"; + package = pkgs.catppuccin-kde.override { + flavour = "mocha"; + accents = [ "green" ]; + }; + }; + }; + + home = { + packages = with pkgs; [ + qt5.qttools + qt6Packages.qtstyleplugin-kvantum + libsForQt5.qtstyleplugin-kvantum + libsForQt5.qt5ct + breeze-icons + ]; + + sessionVariables = { + QT_STYLE_OVERRIDE = "kvantum"; + QT_AUTO_SCREEN_SCALE_FACTOR = "1"; + QT_QPA_PLATFORM = "wayland;xcb"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + DISABLE_QT_COMPAT = "0"; + }; + }; + + xdg.configFile = { + "Kvantum/catppuccin/catppuccin.kvconfig".source = builtins.fetchurl { + url = "https://raw.githubusercontent.com/catppuccin/Kvantum/main/src/Catppuccin-Mocha-Green/Catppuccin-Mocha-Green.kvconfig"; + sha256 = "16ry4k09nf5w1gyawwz2ny14zn6infqk40l35lqlg30lhgbdmr5f"; + }; + "Kvantum/catppuccin/catppuccin.svg".source = builtins.fetchurl { + url = "https://raw.githubusercontent.com/catppuccin/Kvantum/main/src/Catppuccin-Mocha-Green/Catppuccin-Mocha-Green.svg"; + sha256 = "1djh625qag34rjsp7y67nzbi9nbmiwgq63ydfizsh65n3fyfakf1"; + }; + "Kvantum/kvantum.kvconfig".text = '' + [General] + theme=catppuccin + + [Applications] + catppuccin=qt5ct, org.qbittorrent.qBittorrent, hyprland-share-picker + ''; + }; +} diff --git a/modules/gui/rofi.nix b/modules/gui/rofi.nix new file mode 100644 index 00000000..578bd955 --- /dev/null +++ b/modules/gui/rofi.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: { + programs.rofi = { + enable = true; + package = pkgs.rofi-wayland; + cycle = true; + terminal = "foot"; + }; +} diff --git a/modules/gui/swaylock.nix b/modules/gui/swaylock.nix new file mode 100644 index 00000000..c8d9e17c --- /dev/null +++ b/modules/gui/swaylock.nix @@ -0,0 +1,55 @@ +{ + inputs, + pkgs, + ... +}: { + programs.swaylock = { + enable = true; + package = inputs.nixpkgs-wayland.packages.${pkgs.system}.swaylock-effects; + settings = { + daemonize = true; + show-failed-attempts = true; + clock = true; + screenshots = true; + effect-blur = "9x5"; + effect-vignette = "0.5:0.5"; + indicator = true; + indicator-radius = 200; + indicator-thickness = 20; + color = "1e1e2e"; + bs-hl-color = "f5e0dc"; + caps-lock-bs-hl-color = "f5e0dc"; + caps-lock-key-hl-color = "a6e3a1"; + inside-color = "00000000"; + inside-clear-color = "00000000"; + inside-caps-lock-color = "00000000"; + inside-ver-color = "00000000"; + inside-wrong-color = "00000000"; + key-hl-color = "a6e3a1"; + layout-bg-color = "00000000"; + layout-border-color = "00000000"; + layout-text-color = "cdd6f4"; + line-color = "00000000"; + line-clear-color = "00000000"; + line-caps-lock-color = "00000000"; + line-ver-color = "00000000"; + line-wrong-color = "00000000"; + ring-color = "b4befe"; + ring-clear-color = "f5e0dc"; + ring-caps-lock-color = "fab387"; + ring-ver-color = "89b4fa"; + ring-wrong-color = "eba0ac"; + separator-color = "00000000"; + text-color = "cdd6f4"; + text-clear-color = "f5e0dc"; + text-caps-lock-color = "fab387"; + text-ver-color = "89b4fa"; + text-wrong-color = "eba0ac"; + grace = 2; + grace-no-mouse = true; + grace-no-touch = true; + fade-in = 0.2; + ignore-empty-password = true; + }; + }; +} diff --git a/modules/gui/waybar.nix b/modules/gui/waybar.nix new file mode 100644 index 00000000..cc4083dc --- /dev/null +++ b/modules/gui/waybar.nix @@ -0,0 +1,543 @@ +{ + inputs, + pkgs, + ... +}: { + programs.waybar = { + enable = true; + package = inputs.nixpkgs-wayland.packages.${pkgs.system}.waybar; + systemd.enable = true; + settings.mainBar = { + gtk-layer-shell = true; + layer = "top"; + modules-left = [ "custom/launcher" "custom/xwayland" "tray" "hyprland/workspaces" ]; + modules-center = [ "hyprland/window" ]; + modules-right = [ "custom/dnd" "backlight" /*"cava"*/ "mpd" "pulseaudio" "clock" "battery" "custom/power" ]; + + pulseaudio = { + tooltip = false; + scroll-step = "1"; + format = " {icon} {volume}%"; + format-muted = " 󰸈 {volume}%"; + format-icons = { + default = ["󰕿" "󰖀" "󰕾"]; + }; + on-click = "pactl set-sink-mute @DEFAULT_SINK@ toggle"; + }; + "hyprland/workspaces" = { + sort-by-name = true; + sort-by-coordinates = false; + on-click = "activate"; + on-scroll = "~/Scripts/cycle_workspace.sh 1"; + active-only = false; + format = "{icon}"; + format-icons = { + "1" = "1"; + "2" = "2"; + "3" = "3"; + "4" = "4"; + "5" = "5"; + "6" = "6"; + "7" = "7"; + "8" = "8"; + "9" = "9"; + "10" = "10"; + "11" = "1"; + "12" = "2"; + "13" = "3"; + "14" = "4"; + "15" = "5"; + "16" = "6"; + "17" = "7"; + "18" = "8"; + "19" = "9"; + "20" = "10"; + }; + persistent_workspaces = { + "1" = [ "eDP-1" ]; + "2" = [ "eDP-1" ]; + "3" = [ "eDP-1" ]; + "4" = [ "eDP-1" ]; + "5" = [ "eDP-1" ]; + "6" = [ "eDP-1" ]; + "7" = [ "eDP-1" ]; + "8" = [ "eDP-1" ]; + "9" = [ "eDP-1" ]; + "10" = [ "eDP-1" ]; + "11" = [ "HDMI-A-1" ]; + "12" = [ "HDMI-A-1" ]; + "13" = [ "HDMI-A-1" ]; + "14" = [ "HDMI-A-1" ]; + "15" = [ "HDMI-A-1" ]; + "16" = [ "HDMI-A-1" ]; + "17" = [ "HDMI-A-1" ]; + "18" = [ "HDMI-A-1" ]; + "19" = [ "HDMI-A-1" ]; + "20" = [ "HDMI-A-1" ]; + }; + }; + network = { + tooltip = false; + format = "{ipaddr} {icon}"; + format-alt = "{icon}"; + format-icons = { + wifi = [ "󰖩" ]; + ethernet = [ "󰈀" ]; + disconnected = [ "󰖪" ]; + }; + on-click-right = "foot -e nmtui"; + }; + backlight = { + interval = 1; + align = 0; + rotate = 0; + format = "{icon} {percent}%"; + format-icons = [ "󰃚" "󰃛" "󰃜" "󰃝" "󰃞" "󰃟" "󰃠" ]; + on-scroll-up = "~/Scripts/bright.sh s +1%"; + on-scroll-down = "~/Scripts/bright.sh s 1%-"; + smooth-scrolling-threshold = 1; + }; + battery = { + interval = 1; + states = { + good = 75; + warning = 30; + critical = 20; + }; + format = "{icon}{capacity}%"; + format-charging = "󰚥{icon}{capacity}% 󱐋{power}"; + format-discharging = "{icon}{capacity}% 󱐋{power}"; + format-icons = ["󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"]; + format-charging-icons = ["󰢟" "󰢜" "󰂆" "󰂇" "󰂈" "󰢝" "󰂉" "󰢞" "󰂊" "󰂋" "󰂅"]; + }; + tray = { + icon-size = 18; + spacing = 10; + }; + clock = { + interval = 1; + format = "{:󱑁 %H:%M:%S 󰃰 %d/%m/%Y}"; + format-alt = "{:󱑁 %H:%M:%S}"; + tooltip-format = "{calendar}"; + calendar = { + mode = "year"; + mode-mon-col = 3; + weeks-pos = "right"; + on-scroll = 1; + on-click-right = "mode"; + format = { + months = "{}"; + days = "{}"; + weeks = "T{:%W}"; + weekdays = "{}"; + today = "{}"; + }; + actions = { + on-click-right = "mode"; + on-click-forward = "tz_up"; + on-click-backward = "tz_down"; + on-scroll-up = "shift_up"; + on-scroll-down = "shift_down"; + }; + }; + }; + cpu = { + interval = 1; + format = "󰻠 {}%"; + max-length = 10; + }; + memory = { + interval = 1; + format = "󰍛 {}%"; + max-length = 10; + }; + "custom/media" = { + interval = 30; + format = "{icon} {}"; + return-type = "json"; + max-length = 20; + format-icons = { + spotify = " "; + default = " "; + }; + escape = true; + exec = "$HOME/.config/system_scripts/mediaplayer.py 2> /dev/null"; + on-click = "playerctl play-pause"; + }; + "custom/launcher" = { + format = "󰣇 "; + on-click = "~/.config/rofi/launchers/type-2/launcher.sh"; + on-click-right = "pkill rofi"; + }; + "custom/power" = { + format = "󰐥"; + on-click = "~/.config/rofi/powermenu/type-2/powermenu.sh"; + }; + "hyprland/window" = { + format = "{}"; + separate-outputs = true; + }; + gamemode = { + format = "{glyph}"; + format-alt = "{glyph} {count}"; + glyph = "󰊴"; + hide-not-running = true; + use-icon = true; + icon-name = "input-gaming-symbolic"; + icon-spacing = 4; + icon-size = 20; + tooltip = true; + tooltip-format = "Games running: {count}"; + }; + "custom/dnd" = { + exec = "~/Scripts/waybar-dunst.sh"; + on-click = "~/Scripts/dnd.sh"; + restart-interval = 1; + tooltip = false; + }; + cava = { + framerate = 165; + autosens = 1; + sensitivity = 100; + bars = 14; + lower_cutoff_freq = 50; + higher_cutoff_freq = 10000; + method = "pipewire"; + source = "auto"; + stereo = true; + reverse = false; + bar_delimiter = 0; + monstercat = false; + waves = false; + noise_reduction = 0.77; + input_delay = 2; + format-icons = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█" ]; + actions = { + on-click-right = "mode"; + }; + }; + "custom/power_profile" = { + exec = "asusctl profile -p | sed s:'Active profile is'::"; + interval = 30; + format = "󰈐{}"; + format-alt-click = "click-right"; + format-alt = "󰈐"; + on-click = "asusctl profile -n; pkill -SIGRTMIN+8 waybar"; + signal = 8; + }; + "custom/xwayland" = { + exec = "hyprctl clients | rg -e 'xwayland: [1]' | wc -l"; + interval = 1; + format = "X {}"; + }; + mpd = { + format = "{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) 󰝚"; + format-disconnected = "Disconnected 󰝚"; + format-stopped = "Stopped 󰝚"; + interval = 1; + tooltip-format = "MPD (connected)"; + tooltip-format-disconnected = "MPD (disconnected)"; + }; + }; + style = '' + @define-color base #1e1e2e; + @define-color mantle #181825; + @define-color crust #11111b; + + @define-color text #cdd6f4; + @define-color subtext0 #a6adc8; + @define-color subtext1 #bac2de; + + @define-color surface0 #313244; + @define-color surface1 #45475a; + @define-color surface2 #585b70; + + @define-color overlay0 #6c7086; + @define-color overlay1 #7f849c; + @define-color overlay2 #9399b2; + + @define-color blue #89b4fa; + @define-color lavender #b4befe; + @define-color sapphire #74c7ec; + @define-color sky #89dceb; + @define-color teal #94e2d5; + @define-color green #a6e3a1; + @define-color yellow #f9e2af; + @define-color peach #fab387; + @define-color maroon #eba0ac; + @define-color red #f38ba8; + @define-color mauve #cba6f7; + @define-color pink #f5c2e7; + @define-color flamingo #f2cdcd; + @define-color rosewater #f5e0dc; + + * { + border-radius: 10px; + font-family: Material Design Icons; + font-size: 16px; + color: @text; + } + + window#waybar { + background-color: alpha(@base, 0.5); + border-radius: 0px; + } + + window#waybar.hidden { + opacity: 0.2; + } + + #window { + margin-top: 4px; + margin-bottom: 4px; + padding-left: 5px; + padding-right: 5px; + background: @mantle; + color: @teal; + font-family: JetBrains Mono; + } + + #workspaces { + padding-left: 5px; + } + + #workspaces button { + border-radius: 15px; + padding-top: 0px; + padding-right: 0px; + padding-bottom: 0px; + padding-left: 0px; + margin-top: 6px; + margin-right: 3px; + margin-bottom: 6px; + margin-left: 3px; + background-color: @mantle; + min-width: 24px; + } + + #workspaces button.active { + padding-top: 0px; + padding-bottom: 0px; + padding-right: 0px; + padding-left: 0px; + margin-top: 6px; + margin-right: 3px; + margin-bottom: 6px; + margin-left: 3px; + background-color: @blue; + min-width: 24px; + } + + #workspaces button:hover { + background: alpha(@mantle, 0.7); + transition-property: background, min-width; + transition-duration: 0.5s; + transition-timing-function: ease; + } + + #workspaces button.focused { + background-color: @yellow; + } + + #workspaces button.urgent { + background-color: @red; + } + + .modules-left > widget:first-child > #workspaces { + margin-left: 0; + } + + .modules-right > widget:first-child > #workspaces { + margin-right: 0; + } + + #pulseaudio { + margin-top: 3px; + margin-bottom: 3px; + margin-left: 0px; + padding-left: 10px; + padding-right: 10px; + transition: none; + background: @mantle; + color: @peach; + /*border-top-left-radius: 0; + border-bottom-left-radius: 0;*/ + } + + #cava { + margin-top: 3px; + margin-bottom: 3px; + margin-left: 8px; + margin-right: 0px; + padding-left: 10px; + padding-right: 0px; + transition: none; + background: @mantle; + color: @peach; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + #battery { + margin-top: 3px; + margin-bottom: 3px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + transition: none; + background: @mantle; + color: @teal; + } + + @keyframes blink { + to { + background-color: @red; + } + } + + #battery.charging, #battery.plugged { + background-color: @mantle; + } + + #battery.critical:not(.charging) { + background-color: @mantle; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; + } + + #backlight { + margin-top: 3px; + margin-bottom: 3px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + transition: none; + background: @mantle; + color: @yellow; + } + #clock { + margin-top: 3px; + margin-bottom: 3px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + transition-property: min-width; + transition-duration: 0.5s; + background: @mantle; + color: @pink; + } + + #custom-power_profile { + margin-top: 3px; + margin-bottom: 3px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + transition: none; + background: @mantle; + color: @rosewater; + } + + #tray { + margin-top: 3px; + margin-bottom: 3px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + transition: none; + background: @mantle; + } + + #custom-launcher { + font-size: 16px; + margin-top: 3px; + margin-bottom: 3px; + margin-left: 8px; + padding-left: 10px; + padding-right: 5px; + transition: none; + background: @mantle; + color: @blue; + } + + #custom-power { + font-size: 20px; + margin-top: 3px; + margin-bottom: 3px; + margin-left: 8px; + margin-right: 8px; + padding-left: 10px; + padding-right: 10px; + transition: none; + background: @mantle; + color: @red; + } + + #custom-wallpaper { + margin-top: 3px; + margin-bottom: 3px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + transition: none; + background: @mantle; + } + + #custom-updates { + margin-top: 3px; + margin-bottom: 3px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + transition: none; + background: @mantle; + } + + #custom-media { + margin-top: 3px; + margin-bottom: 3px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + transition: none; + background: @mantle; + } + + #custom-dnd { + margin-top: 3px; + margin-bottom: 3px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + transition: none; + background: @mantle; + color: @flamingo; + } + + #custom-xwayland { + margin-top: 3px; + margin-bottom: 3px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + transition: none; + background: @mantle; + color: @green; + } + + #mpd { + margin-top: 3px; + margin-bottom: 3px; + margin-left: 8px; + padding-left: 10px; + padding-right: 10px; + transition: none; + background: @mantle; + color: @green; + } + ''; + }; +} diff --git a/modules/gui/zathura.nix b/modules/gui/zathura.nix new file mode 100644 index 00000000..b5ec9251 --- /dev/null +++ b/modules/gui/zathura.nix @@ -0,0 +1,19 @@ +{ + pkgs, + ... +}: { + xdg.configFile."zathura/catppuccin-mocha".source = pkgs.fetchurl { + url = "https://raw.githubusercontent.com/catppuccin/zathura/main/src/catppuccin-mocha"; + hash = "sha256-/HXecio3My2eXTpY7JoYiN9mnXsps4PAThDPs4OCsAk="; + }; + + programs.zathura = { + enable = true; + extraConfig = '' + include catppuccin-mocha + ''; + options = { + selection-clipboard = "clipboard"; + }; + }; +} diff --git a/homes/jacek/other/default.nix b/modules/other/default.nix similarity index 100% rename from homes/jacek/other/default.nix rename to modules/other/default.nix diff --git a/modules/other/xdg.nix b/modules/other/xdg.nix new file mode 100644 index 00000000..86a69143 --- /dev/null +++ b/modules/other/xdg.nix @@ -0,0 +1,52 @@ +_: let + primary_browser = "firefox-schizo.desktop"; + secondary_browser = "firefox-unschizo.desktop"; + mail_client = "thunderbird.desktop"; + file_manager = "pcmanfm.desktop"; + media_player = "mpv.desktop"; + image_viewer = "imv.desktop"; + text_editor = "nvim.desktop"; +in { + xdg.mimeApps = { + enable = true; + defaultApplications = { + "text/html" = [ primary_browser secondary_browser ]; + "x-scheme-handler/http" = [ primary_browser secondary_browser ]; + "x-scheme-handler/https" = [ primary_browser secondary_browser ]; + "x-scheme-handler/about" = [ primary_browser secondary_browser ]; + "x-scheme-handler/unknown" = [ primary_browser secondary_browser ]; + "x-scheme-handler/mailto" = [ mail_client ]; + "message/rfc822" = [ mail_client ]; + "x-scheme-handler/mid" = [ mail_client ]; + "inode/directory" = [ file_manager ]; + "x-scheme-handler/heroic" = [ "heroic.desktop" ]; + "audio/mp3" = [ media_player ]; + "audio/ogg" = [ media_player ]; + "audio/mpeg" = [ media_player ]; + "audio/aac" = [ media_player ]; + "audio/opus" = [ media_player ]; + "audio/wav" = [ media_player ]; + "audio/webm" = [ media_player ]; + "audio/3gpp" = [ media_player ]; + "audio/3gpp2" = [ media_player ]; + "video/mp4" = [ media_player ]; + "video/x-msvideo" = [ media_player ]; + "video/mpeg" = [ media_player ]; + "video/ogg" = [ media_player ]; + "video/mp2t" = [ media_player ]; + "video/webm" = [ media_player ]; + "video/3gpp" = [ media_player ]; + "video/3gpp2" = [ media_player ]; + "image/png" = [ image_viewer ]; + "image/jpeg" = [ image_viewer ]; + "image/gif" = [ image_viewer ]; + "image/avif" = [ image_viewer ]; + "image/bmp" = [ image_viewer ]; + "image/vnd.microsoft.icon" = [ image_viewer ]; + "image/svg+xml" = [ image_viewer ]; + "image/tiff" = [ image_viewer ]; + "image/webp" = [ image_viewer ]; + "text/plain" = [ text_editor ]; + }; + }; +} diff --git a/homes/jacek/services/default.nix b/modules/services/default.nix similarity index 73% rename from homes/jacek/services/default.nix rename to modules/services/default.nix index 4e607386..ec4990ce 100644 --- a/homes/jacek/services/default.nix +++ b/modules/services/default.nix @@ -1,5 +1,6 @@ _: { imports = [ ./dunst.nix + ./mpd.nix ]; } diff --git a/modules/services/dunst.nix b/modules/services/dunst.nix new file mode 100644 index 00000000..dd7415bc --- /dev/null +++ b/modules/services/dunst.nix @@ -0,0 +1,85 @@ +{ + inputs, + pkgs, + ... +}: { + services.dunst = { + enable = true; + package = inputs.nixpkgs-wayland.packages.${pkgs.system}.dunst; + settings = { + global = { + monitor = 1; + follow = "none"; + width = 300; + height = 300; + origin = "top-center"; + offset = "0x15"; + scale = 0; + notification_limit = 3; + idle_threshold = 120; + progress_bar = true; + progress_bar_height = 10; + progress_bar_frame_width = 0; + progress_bar_min_width = 150; + progress_bar_max_width = 300; + indicate_hidden = "yes"; + transparency = 10; + separator_height = 2; + padding = 10; + frame_width = 3; + frame_color = "#89B4FA"; + separator_color = "frame"; + highlight = "#89DCEB"; + sort = "yes"; + font = "JetBrains Mono 12"; + line_height = 0; + markup = "full"; + format = "%s\n%b"; + alignment = "right"; + vertical_alignment = "center"; + show_age_threshold = 60; + ellipsize = "middle"; + ignore_newline = "no"; + stack_duplicates = true; + hide_duplicate_count = false; + show_indicators = "yes"; + icon_position = "left"; + min_icon_size = 0; + max_icon_size = 32; + sticky_history = "yes"; + history_length = 20; + dmenu = "${pkgs.rofi-wayland}/bin/rofi"; + browser = "${pkgs.xdg-utils}/bin/xdg-open"; + always_run_script = true; + title = "Dunst"; + class = "dunst"; + corner_radius = 10; + ignore_dbusclose = false; + force_xwayland = false; + force_xinerama = false; + mouse_left_click = "do_action, close_current"; + mouse_middle_click = "context"; + mouse_right_click = "close_all"; + }; + experimental = { + per_monitor_dpi = false; + }; + urgency_low = { + background = "#1E1E2E"; + foreground = "#CDD6F4"; + timeout = 5; + }; + urgency_normal = { + background = "#1E1E2E"; + foreground = "#CDD6F4"; + timeout = 6; + }; + urgency_critical = { + background = "#1E1E2E"; + foreground = "#CDD6F4"; + frame_color = "#FAB387"; + timeout = 0; + }; + }; + }; +} diff --git a/modules/services/mpd.nix b/modules/services/mpd.nix new file mode 100644 index 00000000..1ec9acae --- /dev/null +++ b/modules/services/mpd.nix @@ -0,0 +1,26 @@ +_: { + services.mpd = { + enable = true; + musicDirectory = "~/Music"; + extraConfig = '' + audio_output { + type "pipewire" + name "PipeWire Sound Server" + } + ''; + }; + + services.mpd-mpris = { + enable = true; + mpd = { + host = "127.0.0.1"; + network = "unix"; + port = 6600; + useLocal = true; + }; + }; + + services.playerctld = { + enable = true; + }; +} diff --git a/modules/tui/btop.nix b/modules/tui/btop.nix new file mode 100644 index 00000000..09a1bc87 --- /dev/null +++ b/modules/tui/btop.nix @@ -0,0 +1,17 @@ +_: { + programs.btop = { + enable = true; + settings = { + theme_background = false; + vim_keys = true; + update_ms = 100; + cpu_single_graph = true; + clock_format = "%X"; + use_fstab = true; + io_mode = true; + net_sync = true; + net_iface = "enp4s0"; + log_level = "WARNING"; + }; + }; +} diff --git a/homes/jacek/tui/default.nix b/modules/tui/default.nix similarity index 100% rename from homes/jacek/tui/default.nix rename to modules/tui/default.nix index 5507d62c..217bc613 100644 --- a/homes/jacek/tui/default.nix +++ b/modules/tui/default.nix @@ -1,7 +1,7 @@ _: { imports = [ + ./neovim ./btop.nix ./helix.nix - ./neovim ]; } diff --git a/modules/tui/helix.nix b/modules/tui/helix.nix new file mode 100644 index 00000000..23407c85 --- /dev/null +++ b/modules/tui/helix.nix @@ -0,0 +1,87 @@ +{ + lib, + inputs, + pkgs, + ... +}: { + programs.helix = { + enable = true; + package = inputs.helix.packages.${pkgs.system}.default.overrideAttrs (self: { + makeWrapperArgs = with pkgs; + self.makeWrapperArgs + or [] + ++ [ + "--suffix" + "PATH" + ":" + (lib.makeBinPath [ + rustfmt + rust-analyzer + nil + clang-tools + nodePackages.bash-language-server + nodePackages.vscode-css-languageserver-bin + nodePackages.vscode-langservers-extracted + ]) + ]; + }); + settings = { + theme = "catppuccin_mocha"; + editor = { + scrolloff = 7; + mouse = false; + middle-click-paste = false; + line-number = "relative"; + auto-completion = false; + auto-format = false; + completion-replace = true; + true-color = true; + undercurl = true; + rulers = [ 80 ]; + bufferline = "multiple"; + color-modes = true; + lsp = { + display-messages = true; + display-inlay-hints = true; + }; + cursor-shape = { + normal = "block"; + insert = "bar"; + select = "underline"; + }; + auto-pairs = false; + whitespace.render.newline = "all"; + indent-guides.render = true; + }; + }; + languages = { + language-server = { + nil = { + command = lib.getExe pkgs.nil; + config.nil.formatting.command = [ "${lib.getExe pkgs.alejandra}" "-q" ]; + }; + clangd = { + command = "${pkgs.clang-tools}/bin/clangd"; + clangd.fallbackFlags = [ "-std=c++2b" ]; + }; + vscode-css-language-server = { + command = "${pkgs.nodePackages.vscode-css-languageserver-bin}/bin/css-languageserver"; + args = [ "--stdio" ]; + }; + }; + language = [ + { + name = "rust"; + auto-format = false; + } + { + name = "html"; + file-types = [ "html" ]; + } + { + name = "c"; + } + ]; + }; + }; +} diff --git a/modules/tui/neovim/default.nix b/modules/tui/neovim/default.nix new file mode 100644 index 00000000..f18842f4 --- /dev/null +++ b/modules/tui/neovim/default.nix @@ -0,0 +1,184 @@ +{ + pkgs, + ... +}: { + programs.neovim-flake = { + enable = true; + settings = { + vim = { + package = pkgs.neovim-nightly; + viAlias = true; + vimAlias = true; + enableEditorconfig = true; + preventJunkFiles = true; + enableLuaLoader = true; + + scrollOffset = 7; + + maps = { + normal = { + "gD" = { + action = "vim.lsp.buf.declaration"; + lua = true; + }; + "gd" = { + action = "vim.lsp.buf.definition"; + lua = true; + }; + "gi" = { + action = "vim.lsp.buf.implementation"; + lua = true; + }; + "gr" = { + action = "vim.lsp.buf.references"; + lua = true; + }; + "K" = { + action = "vim.lsp.buf.hover"; + lua = true; + }; + "" = { + action = "vim.lsp.buf.signature_help"; + lua = true; + }; + "wa" = { + action = "vim.lsp.buf.add_workspace_folder"; + lua = true; + }; + "wr" = { + action = "vim.lsp.buf.remove_workspace_folder"; + lua = true; + }; + "wl" = { + action = '' + function() + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) + end + ''; + lua = true; + }; + "D" = { + action = "vim.lsp.buf.type_definition"; + lua = true; + }; + "r" = { + action = "vim.lsp.buf.rename"; + lua = true; + }; + "a" = { + action = "vim.lsp.buf.code_action"; + lua = true; + }; + "e" = { + action = "vim.diagnostic.open_float"; + lua = true; + }; + "q" = { + action = "vim.diagnostic.setloclist"; + lua = true; + }; + "[d" = { + action = "vim.diagnostic.goto_prev"; + lua = true; + }; + "]d" = { + action = "vim.diagnostic.goto_next"; + lua = true; + }; + "" = { + action = '' + function() + vim.lsp.buf.format { async = true } + end + ''; + lua = true; + }; + }; + }; + + treesitter = { + enable = true; + fold = true; + grammars = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ + lua + rust + markdown + markdown-inline + python + ]; + }; + + # extraPlugins = with pkgs.vimPlugins; [ + # + # ]; + + lsp = { + formatOnSave = false; + }; + + languages = { + enableLSP = true; + enableFormat = true; + enableTreesitter = true; + enableExtraDiagnostics = true; + + nix.enable = true; + html.enable = true; + ts.enable = true; + rust = { + enable = true; + crates.enable = true; + }; + + clang = { + enable = true; + lsp = { + enable = true; + server = "clangd"; + }; + }; + }; + + autocomplete = { + enable = true; + }; + + telescope.enable = true; + + git = { + enable = true; + gitsigns = { + enable = true; + codeActions = true; + }; + }; + #filetree.chadtree = { + # enable = true; + #}; + + filetree.nvimTree = { + enable = true; + mappings = { + toggle = "v"; + }; + disableNetrw = true; + + openOnSetup = false; + }; + + terminal.toggleterm = { + enable = true; + direction = "float"; + mappings.open = ""; + }; + + theme = { + enable = true; + name = "catppuccin"; + style = "mocha"; + transparent = true; + }; + }; + }; + }; +} diff --git a/homes/jacek/tui/neovim/lua/after/ftplugin/PKGBUILD.lua b/modules/tui/neovim/lua/after/ftplugin/PKGBUILD.lua similarity index 100% rename from homes/jacek/tui/neovim/lua/after/ftplugin/PKGBUILD.lua rename to modules/tui/neovim/lua/after/ftplugin/PKGBUILD.lua diff --git a/homes/jacek/tui/neovim/lua/after/ftplugin/html.lua b/modules/tui/neovim/lua/after/ftplugin/html.lua similarity index 100% rename from homes/jacek/tui/neovim/lua/after/ftplugin/html.lua rename to modules/tui/neovim/lua/after/ftplugin/html.lua diff --git a/homes/jacek/tui/neovim/lua/after/ftplugin/makefile.lua b/modules/tui/neovim/lua/after/ftplugin/makefile.lua similarity index 100% rename from homes/jacek/tui/neovim/lua/after/ftplugin/makefile.lua rename to modules/tui/neovim/lua/after/ftplugin/makefile.lua diff --git a/homes/jacek/tui/neovim/lua/after/ftplugin/nix.lua b/modules/tui/neovim/lua/after/ftplugin/nix.lua similarity index 100% rename from homes/jacek/tui/neovim/lua/after/ftplugin/nix.lua rename to modules/tui/neovim/lua/after/ftplugin/nix.lua diff --git a/homes/jacek/tui/neovim/lua/after/ftplugin/svelte.lua b/modules/tui/neovim/lua/after/ftplugin/svelte.lua similarity index 100% rename from homes/jacek/tui/neovim/lua/after/ftplugin/svelte.lua rename to modules/tui/neovim/lua/after/ftplugin/svelte.lua diff --git a/homes/jacek/tui/neovim/lua/init.lua b/modules/tui/neovim/lua/init.lua similarity index 100% rename from homes/jacek/tui/neovim/lua/init.lua rename to modules/tui/neovim/lua/init.lua diff --git a/homes/jacek/tui/neovim/lua/lua/.luarc.json b/modules/tui/neovim/lua/lua/.luarc.json similarity index 100% rename from homes/jacek/tui/neovim/lua/lua/.luarc.json rename to modules/tui/neovim/lua/lua/.luarc.json diff --git a/homes/jacek/tui/neovim/lua/lua/dap_conf.lua b/modules/tui/neovim/lua/lua/dap_conf.lua similarity index 100% rename from homes/jacek/tui/neovim/lua/lua/dap_conf.lua rename to modules/tui/neovim/lua/lua/dap_conf.lua diff --git a/homes/jacek/tui/neovim/lua/lua/diagnostic.lua b/modules/tui/neovim/lua/lua/diagnostic.lua similarity index 100% rename from homes/jacek/tui/neovim/lua/lua/diagnostic.lua rename to modules/tui/neovim/lua/lua/diagnostic.lua diff --git a/homes/jacek/tui/neovim/lua/lua/global.lua b/modules/tui/neovim/lua/lua/global.lua similarity index 100% rename from homes/jacek/tui/neovim/lua/lua/global.lua rename to modules/tui/neovim/lua/lua/global.lua diff --git a/homes/jacek/tui/neovim/lua/lua/keymap.lua b/modules/tui/neovim/lua/lua/keymap.lua similarity index 100% rename from homes/jacek/tui/neovim/lua/lua/keymap.lua rename to modules/tui/neovim/lua/lua/keymap.lua diff --git a/homes/jacek/tui/neovim/lua/lua/lsp.lua b/modules/tui/neovim/lua/lua/lsp.lua similarity index 100% rename from homes/jacek/tui/neovim/lua/lua/lsp.lua rename to modules/tui/neovim/lua/lua/lsp.lua diff --git a/homes/jacek/tui/neovim/lua/lua/opts.lua b/modules/tui/neovim/lua/lua/opts.lua similarity index 100% rename from homes/jacek/tui/neovim/lua/lua/opts.lua rename to modules/tui/neovim/lua/lua/opts.lua diff --git a/homes/jacek/tui/neovim/lua/lua/plugins.lua b/modules/tui/neovim/lua/lua/plugins.lua similarity index 100% rename from homes/jacek/tui/neovim/lua/lua/plugins.lua rename to modules/tui/neovim/lua/lua/plugins.lua