diff --git a/.gitignore b/.gitignore index fd2427b6..7b3f2df4 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,6 @@ data/ __pycache__/ tf/terraform.tfvars tf/terraform.tfstate.backup +.clj-kondo/ +.clj-kondo/ +.lsp/ diff --git a/emacs/doom.d/config.el b/emacs/doom.d/config.el index 292629c3..4986897e 100644 --- a/emacs/doom.d/config.el +++ b/emacs/doom.d/config.el @@ -74,3 +74,6 @@ :desc "Forward" "C-c " #'paredit-forward)) + +(frames-only-mode) +(frames-only-mode-remap-common-window-split-keybindings) diff --git a/emacs/home.nix b/emacs/home.nix index e193368b..51aea0c3 100644 --- a/emacs/home.nix +++ b/emacs/home.nix @@ -1,4 +1,14 @@ -{ config, pkgs, ... }: { +{ config, pkgs, lib, ... }: let + inherit (lib.meta) getExe'; + inherit (lib.modules) mkIf; +in { + services.emacs = { + #defaultEditor = true; + enable = true; + startWithUserSession = true; + socketActivation.enable = true; + }; + programs.git.settings.core.editor = mkIf config.services.emacs.defaultEditor "${getExe' config.services.emacs.package "emacsclient"} -c"; programs.doom-emacs = { enable = true; emacs = pkgs.emacs-pgtk; @@ -6,10 +16,11 @@ doomLocalDir = "${config.home.homeDirectory}/.local/share/nix-doom"; extraPackages = epkgs: with epkgs; [ catppuccin-theme - treesit-grammars.with-all-grammars + (treesit-grammars.with-grammars (ps: lib.filter (p: !p.meta.broken) (lib.attrValues ps))) rainbow-delimiters pkgs.ispell pkgs.clojure-lsp + frames-only-mode ]; }; } diff --git a/flake.lock b/flake.lock index 425b09ce..2e6d4128 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,37 @@ { "nodes": { + "advisory-db": { + "flake": false, + "locked": { + "lastModified": 1766324728, + "narHash": "sha256-9C+WyE5U3y5w4WQXxmb0ylRyMMsPyzxielWXSHrcDpE=", + "owner": "rustsec", + "repo": "advisory-db", + "rev": "c88b88c62bda077be8aa621d4e89d8701e39cb5d", + "type": "github" + }, + "original": { + "owner": "rustsec", + "repo": "advisory-db", + "type": "github" + } + }, + "advisory-db_2": { + "flake": false, + "locked": { + "lastModified": 1738539423, + "narHash": "sha256-qb4FLJFuIHdzI1oeVor69678RugKy8YwsLRQd38fJnc=", + "owner": "rustsec", + "repo": "advisory-db", + "rev": "08617accdc251d22bc8fd4e3bd62cf53eeddf611", + "type": "github" + }, + "original": { + "owner": "rustsec", + "repo": "advisory-db", + "type": "github" + } + }, "aquamarine": { "inputs": { "hyprutils": [ @@ -197,6 +229,37 @@ "type": "github" } }, + "continuwuity": { + "inputs": { + "advisory-db": "advisory-db", + "crane": "crane", + "fenix": "fenix", + "flake-compat": [ + "flake-compat" + ], + "flake-parts": [ + "flake-parts" + ], + "nixpkgs": [ + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1767122611, + "narHash": "sha256-pdiFm660A4QrjKsV/5/dQG6wJeV1Ar/4IN69oVkqbxc=", + "owner": "continuwuity", + "repo": "continuwuity", + "rev": "d72192aa322103008b0d3abd3791a4ce01c58570", + "type": "github" + }, + "original": { + "owner": "continuwuity", + "ref": "main", + "repo": "continuwuity", + "type": "github" + } + }, "cpu-microcodes": { "flake": false, "locked": { @@ -215,6 +278,21 @@ } }, "crane": { + "locked": { + "lastModified": 1766194365, + "narHash": "sha256-4AFsUZ0kl6MXSm4BaQgItD0VGlEKR3iq7gIaL7TjBvc=", + "owner": "ipetkov", + "repo": "crane", + "rev": "7d8ec2c71771937ab99790b45e6d9b93d15d9379", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "crane_2": { "locked": { "lastModified": 1731098351, "narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=", @@ -229,6 +307,21 @@ "type": "github" } }, + "crane_3": { + "locked": { + "lastModified": 1737250794, + "narHash": "sha256-bdIPhvsAKyYQzqAIeay4kOxTHGwLGkhM+IlBIsmMYFI=", + "owner": "ipetkov", + "repo": "crane", + "rev": "c5b7075f4a6d523fe8204618aa9754e56478c0e0", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, "darwin": { "inputs": { "nixpkgs": [ @@ -236,11 +329,11 @@ ] }, "locked": { - "lastModified": 1765684049, - "narHash": "sha256-svCS2r984qEowMT0y3kCrsD/m0J6zaF5I/UusS7QaH0=", + "lastModified": 1766038392, + "narHash": "sha256-ht/GuKaw5NT3M12xM+mkUtkSBVtzjJ8IHIy6R/ncv9g=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "9b628e171bfaea1a3d1edf31eee46251e0fe4a33", + "rev": "5fb45ece6129bd7ad8f7310df0ae9c00bae7c562", "type": "github" }, "original": { @@ -263,11 +356,11 @@ ] }, "locked": { - "lastModified": 1762286984, - "narHash": "sha256-9I2H9x5We6Pl+DBYHjR1s3UT8wgwcpAH03kn9CqtdQc=", + "lastModified": 1766051518, + "narHash": "sha256-znKOwPXQnt3o7lDb3hdf19oDo0BLP4MfBOYiWkEHoik=", "owner": "serokell", "repo": "deploy-rs", - "rev": "9c870f63e28ec1e83305f7f6cb73c941e699f74f", + "rev": "d5eff7f948535b9c723d60cd8239f8f11ddc90fa", "type": "github" }, "original": { @@ -277,6 +370,26 @@ "type": "github" } }, + "dolphin-overlay": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1743892246, + "narHash": "sha256-AHeavUWjnDPT/hffE5hM8RIew+mZJSSr9tUEiSvZW30=", + "owner": "rumboon", + "repo": "dolphin-overlay", + "rev": "55fec3268972876890d6081d3d76a701c37c01d7", + "type": "github" + }, + "original": { + "owner": "rumboon", + "repo": "dolphin-overlay", + "type": "github" + } + }, "doomemacs": { "flake": false, "locked": { @@ -303,11 +416,11 @@ ] }, "locked": { - "lastModified": 1765960293, - "narHash": "sha256-zxaB8rx4h2W4HEWzzChi4TPw2xgC+NffiiUthgef5sg=", + "lastModified": 1766023180, + "narHash": "sha256-YpyEjEQWAPZm8/uG0VE4MsjHbdouSCutoH3FTeZLgig=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "5a8016eee85b6b4fbee1b11e144df8bdc7495513", + "rev": "3517fcb29c95e4e9a556042754df0f0e66a08d74", "type": "github" }, "original": { @@ -331,6 +444,28 @@ "type": "github" } }, + "fenix": { + "inputs": { + "nixpkgs": [ + "continuwuity", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "lastModified": 1766299592, + "narHash": "sha256-7u+q5hexu2eAxL2VjhskHvaUKg+GexmelIR2ve9Nbb4=", + "owner": "nix-community", + "repo": "fenix", + "rev": "381579dee168d5ced412e2990e9637ecc7cf1c5d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, "firefox-gnome-theme": { "flake": false, "locked": { @@ -411,6 +546,22 @@ } }, "flake-compat_4": { + "flake": false, + "locked": { + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_5": { "flake": false, "locked": { "lastModified": 1761588595, @@ -586,7 +737,7 @@ "nixpkgs": [ "nixpkgs" ], - "treefmt-nix": "treefmt-nix" + "treefmt-nix": "treefmt-nix_2" }, "locked": { "lastModified": 1763743269, @@ -813,11 +964,11 @@ ] }, "locked": { - "lastModified": 1765860045, - "narHash": "sha256-7Lxp/PfOy4h3QIDtmWG/EgycaswqRSkDX4DGtet14NE=", + "lastModified": 1766387499, + "narHash": "sha256-AjK3/UKDzeXFeYNLVBaJ3+HLE9he1g5UrlNd4/BM3eA=", "owner": "nix-community", "repo": "home-manager", - "rev": "09de9577d47d8bffb11c449b6a3d24e32ac16c99", + "rev": "527ad07e6625302b648ed3b28c34b62a79bd103e", "type": "github" }, "original": { @@ -834,11 +985,11 @@ ] }, "locked": { - "lastModified": 1765308255, - "narHash": "sha256-d0Lb47PeFCQLG4xeZKmx+iokJ0pL03b2hSiZZ94o6JA=", + "lastModified": 1766371754, + "narHash": "sha256-EVzvbgntNz9RGYGLFWu4/NkPjwBw5g++oi4rZomibxk=", "owner": "Immelancholy", "repo": "hy3", - "rev": "609b4c9e5115abe293ea5a978f41fdb21d11f8c7", + "rev": "30f1b5ed83af12e82d1a018eadbaa42bee8703a6", "type": "github" }, "original": { @@ -970,11 +1121,11 @@ ] }, "locked": { - "lastModified": 1764801417, - "narHash": "sha256-9RBShG2FNfBWz4Y+O/w86Iwmgu+JrNkhjsY4fsGpRtw=", + "lastModified": 1764812575, + "narHash": "sha256-1bK1yGgaR82vajUrt6z+BSljQvFn91D74WJ/vJsydtE=", "owner": "hyprwm", "repo": "hyprland-guiutils", - "rev": "fff53f22dc3a5926221a00028a85acb18fb65799", + "rev": "fd321368a40c782cfa299991e5584ca338e36ebe", "type": "github" }, "original": { @@ -1101,11 +1252,11 @@ ] }, "locked": { - "lastModified": 1764637132, - "narHash": "sha256-vSyiKCzSY48kA3v39GFu6qgRfigjKCU/9k1KTK475gg=", + "lastModified": 1764962281, + "narHash": "sha256-rGbEMhTTyTzw4iyz45lch5kXseqnqcEpmrHdy+zHsfo=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "2f2413801beee37303913fc3c964bbe92252a963", + "rev": "fe686486ac867a1a24f99c753bb40ffed338e4b0", "type": "github" }, "original": { @@ -1155,11 +1306,11 @@ ] }, "locked": { - "lastModified": 1765741352, - "narHash": "sha256-jTJQy1m2XkcZJABajYVP249fCWPl3GbLe3Z8KiQmZqg=", + "lastModified": 1764872015, + "narHash": "sha256-INI9AVrQG5nJZFvGPSiUZ9FEUZJLfGdsqjF1QSak7Gc=", "owner": "hyprwm", "repo": "hyprwire", - "rev": "b8ca85082fd5c3cdd3d11027492cd0332b517078", + "rev": "7997451dcaab7b9d9d442f18985d514ec5891608", "type": "github" }, "original": { @@ -1274,7 +1425,7 @@ }, "lanzaboote": { "inputs": { - "crane": "crane", + "crane": "crane_2", "flake-compat": [ "flake-compat" ], @@ -1330,20 +1481,17 @@ }, "microvm": { "inputs": { - "flake-utils": [ - "flake-utils" - ], "nixpkgs": [ "nixpkgs" ], "spectrum": "spectrum" }, "locked": { - "lastModified": 1765456745, - "narHash": "sha256-vJ6Ikk9tV7HuDsn/I90y14w+sNtLmAYfdm5S+yBzrCA=", + "lastModified": 1766005889, + "narHash": "sha256-UCFkQ37BKDmPEHDkW1BaqJo6AZFoVcogtuyxTg4/a8M=", "owner": "microvm-nix", "repo": "microvm.nix", - "rev": "f5c1bbfd4cf686ec1822ccaeb634a8b93ee5120f", + "rev": "bb9e99bdb3662354299605cc1a75a2b1a86bd29a", "type": "github" }, "original": { @@ -1366,11 +1514,11 @@ ] }, "locked": { - "lastModified": 1765937121, - "narHash": "sha256-maweGZo3MDkmLwkBsBpRLMa0sqrg98jTn62c3m4/H0o=", + "lastModified": 1766370062, + "narHash": "sha256-p0vPjxHNJMyVB6+EHWexF/llGIJ+Kp8D/DL+Tkngr4k=", "owner": "Infinidoge", "repo": "nix-minecraft", - "rev": "d6b615e2c84e49174b4c2021ba4369a9af0fae62", + "rev": "dec478b5d9e0bc500b17747dcd89c62fa98e7bf1", "type": "github" }, "original": { @@ -1379,6 +1527,34 @@ "type": "github" } }, + "mpv-websocket": { + "inputs": { + "advisory-db": "advisory-db_2", + "crane": "crane_3", + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": [ + "rust-overlay" + ] + }, + "locked": { + "lastModified": 1764781374, + "narHash": "sha256-e8t8R+SMcMAKyfL1SwKcUuW1qRBXNtx/LPJrqNbRyw4=", + "owner": "kuroahna", + "repo": "mpv_websocket", + "rev": "14c70be5125882c94f384cde8939fd9d5d13a630", + "type": "github" + }, + "original": { + "owner": "kuroahna", + "repo": "mpv_websocket", + "type": "github" + } + }, "neorg": { "flake": false, "locked": { @@ -1413,11 +1589,11 @@ ] }, "locked": { - "lastModified": 1765941546, - "narHash": "sha256-t0gYytVndBarYm9uZNIRpXN5VPc9xVQj165Uz+wMs2E=", + "lastModified": 1766204713, + "narHash": "sha256-HvZtgDEO6OfEiVouic+xyoCWyg8b7xINvCVuS8n6soE=", "owner": "nvim-neorg", "repo": "nixpkgs-neorg-overlay", - "rev": "475ec03713cdd318a40d82212aeea2a90abebbfd", + "rev": "3cec6acdc47b14b64dcb76697680406eac71d10b", "type": "github" }, "original": { @@ -1449,11 +1625,11 @@ ] }, "locked": { - "lastModified": 1765855387, - "narHash": "sha256-lDJLQqwxUxv7fRYrEkV0Rx/tw+Ka1hzdzneQ4tdj7hg=", + "lastModified": 1766234633, + "narHash": "sha256-0BES8Gas4ci6Q/TTPToOANZNbgznjnWpqpNxgJspLlM=", "owner": "nix-community", "repo": "nh", - "rev": "0edf96100b5f25194ad544e40a698d0f4c4e5c7f", + "rev": "84785ab6f981ef6d0615a94e7f48ba572e8a884a", "type": "github" }, "original": { @@ -1476,11 +1652,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1765961589, - "narHash": "sha256-F1JFGtVQl4s9eiVrdM8MuAgMcU13CgARZiVADIzEqto=", + "lastModified": 1766368023, + "narHash": "sha256-Qtgo/ptf+oiPVKP+lnXmrEWCddGOsMJMrwyH/GI04vI=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "bc56353a046ec01379f0bf971c99946a613b43b3", + "rev": "a27b7db4a7e6ea7a613c36ad45f5d9cf201c7603", "type": "github" }, "original": { @@ -1509,11 +1685,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1765861551, - "narHash": "sha256-1Bo86J/7nm8sndZz9gGW0agydYzLYimdz9aQEhnf1zY=", + "lastModified": 1766229062, + "narHash": "sha256-8iBPfiM3w0m7Qrs3PyFyiN+I96ba4owEaSZ9ahgPdqM=", "owner": "YaLTeR", "repo": "niri", - "rev": "2641356d41199a40ccc9a2e9f61bd34d7e7c8220", + "rev": "19e55a2df095d14f9490b79e38193ad4b4e87bb9", "type": "github" }, "original": { @@ -1530,11 +1706,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1765961268, - "narHash": "sha256-RMv6MfWK0cQ3vIqH0Z2RYFvFPg/2CuWzHC3MqZ2dPfk=", + "lastModified": 1766047659, + "narHash": "sha256-8jebwDZJbJ7rnZ7lJR22m9WsJk6ZPJtozK6HxpNeAEg=", "owner": "marienz", "repo": "nix-doom-emacs-unstraightened", - "rev": "66e03930dcdb3b871ff46023455b1e1641b3c240", + "rev": "d53bcf25afb8d0cc056217a85dc4cc07d639cc88", "type": "github" }, "original": { @@ -1551,11 +1727,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1765937051, - "narHash": "sha256-JBbnxGZDzLtYoqragAnTrpLMAEWMJoQAMpAx2k0hIYg=", + "lastModified": 1766282607, + "narHash": "sha256-of50IQ6LrC2RICFL0TOb2LoOtky0W44DxYGbKq83v8E=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "64cbe149f26ca2c6687ca5ab4f294d0b87c6ffb8", + "rev": "788b74af6830cd2fefc6fc0f576ce556e0744211", "type": "github" }, "original": { @@ -1671,11 +1847,11 @@ ] }, "locked": { - "lastModified": 1765958588, - "narHash": "sha256-Hxl5BEobkuhVX9wv12nrBDIjY82fMMEQ3a9jUwEawu8=", + "lastModified": 1766332965, + "narHash": "sha256-A7hWWIFhMPjcf50nNw7Bid4U5E+YT2OKHIs3lWFArus=", "owner": "kaylorben", "repo": "nixcord", - "rev": "0414bccc71602321539dbd6c30a459f61a3f5cca", + "rev": "cc3aa513640220ee0ed624f8dd771a48da6b3d03", "type": "github" }, "original": { @@ -1690,19 +1866,17 @@ "flake-compat" ], "flake-parts": "flake-parts_2", - "nix-options-doc": [ - "empty" - ], "nixpkgs": [ "nixpkgs" - ] + ], + "optnix": "optnix" }, "locked": { - "lastModified": 1765423663, - "narHash": "sha256-ToKVLDYAzKyStJgCA7W+RZObvwABK9fQ8i1wLUUOdLM=", + "lastModified": 1766287443, + "narHash": "sha256-voUed/NmqwJuCjZDgRp9H8LLECyrEB2QAXhM/slePwU=", "owner": "nix-community", "repo": "nixos-cli", - "rev": "a2019789319c1678be8dc68ecf34c83f948e7475", + "rev": "5a856cb469b7565e79cf12c1607fce29b6d5d371", "type": "github" }, "original": { @@ -1840,11 +2014,11 @@ ] }, "locked": { - "lastModified": 1765935045, - "narHash": "sha256-nppx66CXo7GpJnvpjrlNdNBvi/bFhVpc8sk09rtysfA=", + "lastModified": 1766226240, + "narHash": "sha256-jiP171U1n5pfU4lhWz5TgyDsAqc2ksE5coHP3Hmk32w=", "owner": "nix-community", "repo": "nixpkgs-xr", - "rev": "cefcf3998f426c7b3d956ac7bd8360dddd724e33", + "rev": "22697a0c10b5c368ce55a84f99daa6aef57d4d15", "type": "github" }, "original": { @@ -1855,11 +2029,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1764667669, - "narHash": "sha256-7WUCZfmqLAssbDqwg9cUDAXrSoXN79eEEq17qhTNM/Y=", + "lastModified": 1764950072, + "narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "418468ac9527e799809c900eda37cbff999199b6", + "rev": "f61125a668a320878494449750330ca58b78c557", "type": "github" }, "original": { @@ -1871,11 +2045,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1765457389, - "narHash": "sha256-ddhDtNYvleZeYF7g7TRFSmuQuZh7HCgqstg5YBGwo5s=", + "lastModified": 1766125104, + "narHash": "sha256-l/YGrEpLromL4viUo5GmFH3K5M1j0Mb9O+LiaeCPWEM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f997fa0f94fb1ce55bccb97f60d41412ae8fde4c", + "rev": "7d853e518814cca2a657b72eeba67ae20ebf7059", "type": "github" }, "original": { @@ -1887,27 +2061,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1765779637, - "narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "1306659b587dc277866c7b69eb97e5f07864d8c4", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { - "locked": { - "lastModified": 1765772535, - "narHash": "sha256-aq+dQoaPONOSjtFIBnAXseDm9TUhIbe215TPmkfMYww=", + "lastModified": 1759070547, + "narHash": "sha256-JVZl8NaVRYb0+381nl7LvPE+A774/dRpif01FKLrYFQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "09b8fda8959d761445f12b55f380d90375a1d6bb", + "rev": "647e5c14cbd5067f44ac86b74f014962df460840", "type": "github" }, "original": { @@ -1917,7 +2075,39 @@ "type": "github" } }, + "nixpkgs_5": { + "locked": { + "lastModified": 1766070988, + "narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "c6245e83d836d0433170a16eb185cefe0572f8b8", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_6": { + "locked": { + "lastModified": 1766125104, + "narHash": "sha256-l/YGrEpLromL4viUo5GmFH3K5M1j0Mb9O+LiaeCPWEM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "7d853e518814cca2a657b72eeba67ae20ebf7059", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { "locked": { "lastModified": 1761236834, "narHash": "sha256-+pthv6hrL5VLW2UqPdISGuLiUZ6SnAXdd2DdUE+fV2Q=", @@ -1938,15 +2128,15 @@ "flake-parts": [ "flake-parts" ], - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_6", "systems": "systems_4" }, "locked": { - "lastModified": 1765961056, - "narHash": "sha256-RCPRBIqKkwngttpcOhRVMbsCjnKYpc6Q5W7gwp36RN0=", + "lastModified": 1766359807, + "narHash": "sha256-8V3DSc2lz1UqvxOEZLsHyeFYxsM4Z8fnc0PiHS10Zm0=", "owner": "nix-community", "repo": "nixvim", - "rev": "51bbde565a7538bb4e75defee13b3e951fb0ba81", + "rev": "a99d8389c9ec6ca9cf757bd27b6a8c155879696e", "type": "github" }, "original": { @@ -1962,11 +2152,11 @@ ] }, "locked": { - "lastModified": 1765969510, - "narHash": "sha256-MToYWuaVSIP77klo+HV7rmPKRsvx3EBAIFqJyF6pMG8=", + "lastModified": 1766376535, + "narHash": "sha256-o0cYeO2qfeZw8s7gf5oodq42I4/Ikwdci+NA7RPi/js=", "owner": "noctalia-dev", "repo": "noctalia-shell", - "rev": "299e9423d8750457afc891b0992d025946a5527c", + "rev": "58cb73ebae0c0941db222c251e3e914548dcfc2e", "type": "github" }, "original": { @@ -2039,11 +2229,11 @@ ] }, "locked": { - "lastModified": 1765963779, - "narHash": "sha256-jJm8Anja7hB9V1t7FzcgUqQTfRsP5lXEr5CvlcITnxM=", + "lastModified": 1766256167, + "narHash": "sha256-KEaIZT5R9KftLGaZHJxJgR7M/XLwYGpvbgwIIPoJFu8=", "owner": "nix-community", "repo": "NUR", - "rev": "690367ae14b5f5ab3640185ccb1e7a43e59e1f01", + "rev": "51d3347e63a34996f35275c77372eeafaa11e0ed", "type": "github" }, "original": { @@ -2052,6 +2242,25 @@ "type": "github" } }, + "optnix": { + "inputs": { + "flake-compat": "flake-compat_4", + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1765418479, + "narHash": "sha256-33VCCXiEnEL9N2wVxo9FHLwL8KWH6qk+MNRcSThOPWs=", + "owner": "water-sucks", + "repo": "optnix", + "rev": "01facc3de860bf479723bf19535586564e59fe73", + "type": "github" + }, + "original": { + "owner": "water-sucks", + "repo": "optnix", + "type": "github" + } + }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat_3", @@ -2062,11 +2271,11 @@ ] }, "locked": { - "lastModified": 1763988335, - "narHash": "sha256-QlcnByMc8KBjpU37rbq5iP7Cp97HvjRP0ucfdh+M4Qc=", + "lastModified": 1765016596, + "narHash": "sha256-rhSqPNxDVow7OQKi4qS5H8Au0P4S3AYbawBSmJNUtBQ=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "50b9238891e388c9fdc6a5c49e49c42533a1b5ce", + "rev": "548fc44fca28a5e81c5d6b846e555e6b9c2a5a3c", "type": "github" }, "original": { @@ -2109,11 +2318,11 @@ ] }, "locked": { - "lastModified": 1765555917, - "narHash": "sha256-WL/rWdp7uU3+iv6m3OwhjNyIP0vlFV73NM5ku/jnOAU=", + "lastModified": 1766207305, + "narHash": "sha256-wVtQQ2PHLKq/dGuuAw1qKuKXRhcYiGYf3PtG7fjFs4g=", "owner": "powerofthe69", "repo": "proton-cachyos-nix", - "rev": "72585b05f8e8c3ef172d9b770c6c5a0a2e705b75", + "rev": "8e3f1313a201e474c3b543f874d7889b91fb7eda", "type": "github" }, "original": { @@ -2129,7 +2338,7 @@ "nixpkgs" ], "quickshell": "quickshell", - "treefmt-nix": "treefmt-nix_2" + "treefmt-nix": "treefmt-nix_3" }, "locked": { "lastModified": 1765446572, @@ -2220,8 +2429,10 @@ "ci": "ci", "clipboard-sync": "clipboard-sync", "colmena": "colmena", + "continuwuity": "continuwuity", "darwin": "darwin", "deploy-rs": "deploy-rs", + "dolphin-overlay": "dolphin-overlay", "empty": "empty", "flake-compat": "flake-compat_2", "flake-parts": "flake-parts", @@ -2240,6 +2451,7 @@ "mewtris": "mewtris", "microvm": "microvm", "minecraft": "minecraft", + "mpv-websocket": "mpv-websocket", "neorg-overlay": "neorg-overlay", "nh": "nh", "niri": "niri", @@ -2251,7 +2463,7 @@ "nixcord": "nixcord", "nixos-cli": "nixos-cli", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_5", "nixpkgs-lib": "nixpkgs-lib_2", "nixpkgs-unfree": "nixpkgs-unfree", "nixpkgs-xr": "nixpkgs-xr", @@ -2276,7 +2488,7 @@ "stylix": "stylix", "systems": "systems_5", "tree": "tree", - "treefmt-nix": "treefmt-nix_3", + "treefmt-nix": "treefmt-nix_4", "ucodenix": "ucodenix", "vicinae": "vicinae", "vicinae-extensions": "vicinae-extensions", @@ -2303,6 +2515,23 @@ "type": "github" } }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1766253897, + "narHash": "sha256-ChK07B1aOlJ4QzWXpJo+y8IGAxp1V9yQ2YloJ+RgHRw=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "765b7bdb432b3740f2d564afccfae831d5a972e4", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, "rust-overlay": { "inputs": { "nixpkgs": [ @@ -2310,11 +2539,11 @@ ] }, "locked": { - "lastModified": 1765939271, - "narHash": "sha256-7F/d+ZrTYyOxnBZcleQZjOOEWc1IMXR/CLLRLLsVtHo=", + "lastModified": 1766371695, + "narHash": "sha256-W7CX9vy7H2Jj3E8NI4djHyF8iHSxKpb2c/7uNQ/vGFU=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "8028944c1339469124639da276d403d8ab7929a8", + "rev": "d81285ba8199b00dc31847258cae3c655b605e8c", "type": "github" }, "original": { @@ -2326,18 +2555,18 @@ "simple-nixos-mailserver": { "inputs": { "blobs": "blobs", - "flake-compat": "flake-compat_4", + "flake-compat": "flake-compat_5", "git-hooks": "git-hooks_3", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1764763336, - "narHash": "sha256-007DlZGjQ3ziQ5UMjt3GdjBAbgAtHgMwOxMY2v7/b7c=", + "lastModified": 1766321686, + "narHash": "sha256-icOWbnD977HXhveirqA10zoqvErczVs3NKx8Bj+ikHY=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "1ccd57f177539ed8c207b893c3f9798d88f87d2e", + "rev": "7d433bf89882f61621f95082e90a4ab91eb0bdd3", "type": "gitlab" }, "original": { @@ -2417,11 +2646,11 @@ ] }, "locked": { - "lastModified": 1765836173, - "narHash": "sha256-hWRYfdH2ONI7HXbqZqW8Q1y9IRbnXWvtvt/ONZovSNY=", + "lastModified": 1766289575, + "narHash": "sha256-BOKCwOQQIP4p9z8DasT5r+qjri3x7sPCOq+FTjY8Z+o=", "owner": "Mic92", "repo": "sops-nix", - "rev": "443a7f2e7e118c4fc63b7fae05ab3080dd0e5c63", + "rev": "9836912e37aef546029e48c8749834735a6b9dad", "type": "github" }, "original": { @@ -2456,11 +2685,11 @@ ] }, "locked": { - "lastModified": 1765687197, - "narHash": "sha256-5aJgT+lEC7ypuAGE3DQLj3LzYDQ+kRG6MnkVr3ZF9RU=", + "lastModified": 1766292025, + "narHash": "sha256-dZ9SSqRXfb+WU9MLl5c/ktdRWYZ42uxBPB7rQYuDaJs=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "fa6a5dde9d95bf7b8f075ff5aceeb1d97fa9043a", + "rev": "73031a3c9359c6c0ab82098793573d0c0951e372", "type": "github" }, "original": { @@ -2550,11 +2779,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1765897595, - "narHash": "sha256-NgTRxiEC5y96zrhdBygnY+mSzk5FWMML39PcRGVJmxg=", + "lastModified": 1766360762, + "narHash": "sha256-g0aHXl+htuBpBpYxeXemocARRr1xtyNPzIIV1/tofAc=", "owner": "nix-community", "repo": "stylix", - "rev": "e6829552d4bb659ebab00f08c61d8c62754763f3", + "rev": "c53b4a548a75895c69811a719bb4ed750ea41a17", "type": "github" }, "original": { @@ -2746,6 +2975,27 @@ } }, "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "continuwuity", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1766000401, + "narHash": "sha256-+cqN4PJz9y0JQXfAK5J1drd0U05D5fcAGhzhfVrDlsI=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "42d96e75aa56a3f70cab7e7dc4a32868db28e8fd", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_2": { "inputs": { "nixpkgs": [ "fzfdapter", @@ -2766,9 +3016,9 @@ "type": "github" } }, - "treefmt-nix_2": { + "treefmt-nix_3": { "inputs": { - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_7" }, "locked": { "lastModified": 1762410071, @@ -2784,18 +3034,18 @@ "type": "github" } }, - "treefmt-nix_3": { + "treefmt-nix_4": { "inputs": { "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1762938485, - "narHash": "sha256-AlEObg0syDl+Spi4LsZIBrjw+snSVU4T8MOeuZJUJjM=", + "lastModified": 1766000401, + "narHash": "sha256-+cqN4PJz9y0JQXfAK5J1drd0U05D5fcAGhzhfVrDlsI=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4", + "rev": "42d96e75aa56a3f70cab7e7dc4a32868db28e8fd", "type": "github" }, "original": { @@ -2948,11 +3198,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1765935116, - "narHash": "sha256-lNyckAdrhNKXsi9pNOBYajntNFlWs+BITVoIZuNuwX0=", + "lastModified": 1766363450, + "narHash": "sha256-buO37E9GTM4Qh1tvBjpSB/JGWN72EYKMUB/Lt8LrW7w=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "979eab242e60cf481a31d9de508a1bdaf2dcf7d4", + "rev": "bf738fffbb26669d0ba9d7a3ecdba3b47afa8a85", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 43c29d15..e9ed28e9 100644 --- a/flake.nix +++ b/flake.nix @@ -144,6 +144,26 @@ url = "github:powerofthe69/proton-cachyos-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; + mpv-websocket = { + url = "github:kuroahna/mpv_websocket"; + inputs = { + nixpkgs.follows = "nixpkgs"; + flake-utils.follows = "flake-utils"; + rust-overlay.follows = "rust-overlay"; + }; + }; + continuwuity = { + url = "github:continuwuity/continuwuity/main"; + inputs = { + nixpkgs.follows = "nixpkgs"; + flake-parts.follows = "flake-parts"; + flake-compat.follows = "flake-compat"; + }; + }; + dolphin-overlay = { + url = "github:rumboon/dolphin-overlay"; + inputs.nixpkgs.follows = "nixpkgs"; + }; infrastructure = { url = "github:gensokyo-zone/infrastructure/main"; inputs = { diff --git a/home/environments/hyprland/binds.nix b/home/environments/hyprland/binds.nix index 807ee50e..25795ec4 100644 --- a/home/environments/hyprland/binds.nix +++ b/home/environments/hyprland/binds.nix @@ -53,6 +53,7 @@ "$mod SHIFT, F, fullscreenstate, -1 2" # do inform "$mod, T, togglefloating," "$mod, tab, hy3:togglefocuslayer" + "$mod, b, exec, ${getExe' config.services.emacs.package "emacsclient"} -c -n -e '(switch-to-buffer nil)'" "$mod SHIFT, T, togglesplit," "$mod SHIFT, X, pseudo," "$mod ALT, ,resizeactive," diff --git a/home/environments/hyprland/exec.nix b/home/environments/hyprland/exec.nix index 1f63f6a7..de2c1bf5 100644 --- a/home/environments/hyprland/exec.nix +++ b/home/environments/hyprland/exec.nix @@ -5,7 +5,7 @@ "${getExe pkgs.swww} init" "${getExe' pkgs.dbus "dbus-update-activation-environment"} --all" (getExe' pkgs.networkmanagerapplet "nm-applet") - (getExe pkgs.udiskie) + (getExe' pkgs.udiskie "udiskie") "${getExe' pkgs.systemd "systemctl"} restart konawall-py --user" ]; } diff --git a/home/environments/hyprland/hyprland.nix b/home/environments/hyprland/hyprland.nix index 153faf19..6a26a9d3 100644 --- a/home/environments/hyprland/hyprland.nix +++ b/home/environments/hyprland/hyprland.nix @@ -15,7 +15,6 @@ in { brightnessctl playerctl glib - pcmanfm ]; services = { swww.enable = true; diff --git a/home/environments/hyprland/window-rules.nix b/home/environments/hyprland/window-rules.nix index 4207e83a..59fb29b5 100644 --- a/home/environments/hyprland/window-rules.nix +++ b/home/environments/hyprland/window-rules.nix @@ -14,7 +14,7 @@ _: { "unset, title:Wine System Tray" "workspace special:hidden silent, title:Wine System Tray" "noinitialfocus, title:Wine System Tray" - + "no_follow_mouse, class:Unity" ]; }; } diff --git a/home/environments/hyprland/xdg.nix b/home/environments/hyprland/xdg.nix new file mode 100644 index 00000000..cabf32b7 --- /dev/null +++ b/home/environments/hyprland/xdg.nix @@ -0,0 +1,29 @@ +{ lib, pkgs, ... }: let + inherit (lib.generators) toINI; +in { + xdg = { + enable = true; + autostart.enable = true; + mime.enable = true; + portal = { + xdgOpenUsePortal = true; + enable = true; + extraPortals = with pkgs; [ + xdg-desktop-portal-gnome + xdg-desktop-portal-gtk + kdePackages.xdg-desktop-portal-kde + ]; + }; + + mimeApps = { + enable = true; + }; + }; + xdg.configFile."xdg-desktop-portal/hyprland-portals.conf".text = toINI {} { + preferred = { + default = "hyprland;gtk"; + "org.freedesktop.impl.portal.FileChooser" = "kde"; + "org.freedesktop.impl.portal.AppChooser" = "kde"; + }; + }; +} diff --git a/home/environments/niri/niri.nix b/home/environments/niri/niri.nix index b6416cec..888bfa72 100644 --- a/home/environments/niri/niri.nix +++ b/home/environments/niri/niri.nix @@ -15,10 +15,8 @@ in { grim pavucontrol brightnessctl - nautilus playerctl glib - pcmanfm ]; stylix.targets.niri.enable = true; programs.niri = { diff --git a/home/environments/niri/swayidle.nix b/home/environments/niri/swayidle.nix index 5d983842..a42da1d0 100644 --- a/home/environments/niri/swayidle.nix +++ b/home/environments/niri/swayidle.nix @@ -8,7 +8,7 @@ noctalia = "${getExe parent.services.noctalia-shell.package} ipc call"; in { services.swayidle = { - enable = true; + enable = false; timeouts = [ { timeout = 600; diff --git a/home/profiles/graphical/alacritty.nix b/home/profiles/graphical/alacritty.nix index 567f0634..caa58e67 100644 --- a/home/profiles/graphical/alacritty.nix +++ b/home/profiles/graphical/alacritty.nix @@ -1,4 +1,11 @@ {pkgs, ...}: { + home.sessionVariables = { + TERMINAL = "alacritty"; + }; + xdg.terminal-exec = { + enable = true; + settings.default = [ "alacritty.desktop" ]; + }; stylix.targets.alacritty.enable = true; programs.alacritty = { enable = true; diff --git a/home/profiles/graphical/librewolf/config.nix b/home/profiles/graphical/librewolf/config.nix index 4afe7680..1a796f03 100644 --- a/home/profiles/graphical/librewolf/config.nix +++ b/home/profiles/graphical/librewolf/config.nix @@ -1,6 +1,11 @@ _: { programs.librewolf.profiles.main.settings = { "browser.tabs.allow_transparent_browser" = true; + "widget.use-xdg-desktop-portal.file-picker" = 1; + "widget.use-xdg-desktop-portal.location" = 1; + "widget.use-xdg-desktop-portal.mime-handler" = 1; + "widget.use-xdg-desktop-portal.open-uri" = 1; + "widget.use-xdg-desktop-portal.settings" = 1; "zen.welcome-screen.seen" = true; "zen.watermark.enabled" = false; diff --git a/home/profiles/graphical/media.nix b/home/profiles/graphical/media.nix index 01e7bbb0..842dad6c 100644 --- a/home/profiles/graphical/media.nix +++ b/home/profiles/graphical/media.nix @@ -1,16 +1,36 @@ { pkgs, + inputs, lib, ... }: let inherit (lib.attrsets) mapAttrsToList; + inherit (lib.meta) getExe'; + wssrc = inputs.mpv-websocket.outPath; + wspkg = inputs.mpv-websocket.packages.${pkgs.system}.default; in { + xdg.configFile."mpv/mpv_websocket".source = getExe' wspkg "mpv_websocket"; + xdg.configFile."mpv/input.conf".source = "${wssrc}/mpv/input.conf"; programs.mpv = { enable = true; scripts = with pkgs.mpvScripts; [ sponsorblock mpris uosc + thumbfast + (pkgs.stdenvNoCC.mkDerivation rec { + pname = "run_websocket_server"; + inherit (wspkg) version; + src = wssrc; + dontBuild = true; + dontUnpack = true; + + installPhase = '' + install -Dm644 ${src}/mpv/scripts/run_websocket_server.lua $out/share/mpv/scripts/run_websocket_server.lua + ''; + + passthru.scriptName = "run_websocket_server.lua"; + }) ]; config = { profile = "gpu-hq"; @@ -18,6 +38,8 @@ in { vo = "gpu"; volume-max = 200; opengl-waitvsync = true; + # https://github.com/kuroahna/mpv_websocket/blob/master/mpv/mpv.conf + input-ipc-server = "/tmp/mpv-socket"; script-opts = builtins.concatStringsSep "," (mapAttrsToList (k: v: "${k}=${builtins.toString v}") { diff --git a/home/profiles/graphical/packages.nix b/home/profiles/graphical/packages.nix index 8bac526c..d1c7618f 100644 --- a/home/profiles/graphical/packages.nix +++ b/home/profiles/graphical/packages.nix @@ -1,13 +1,28 @@ { pkgs, lib, + std, ... }: let inherit (lib.attrsets) genAttrs; + inherit (std) set; in { - xdg.mimeApps.defaultApplications = let + xdg.mimeApps = { + enable = true; + # https://www.iana.org/assignments/media-types/media-types.xhtml + defaultApplications = let genDefault = application: types: genAttrs types (_: application); - imageTypes = map (x: "image/${x}") [ + mimePrefix = prefix: map (x: "${prefix}/${x}"); + archiveTypes = mimePrefix "application" [ + "x-bzip" + "x-bzip2" + "gzip" + "x-gzip" + "x-zip" + "x-tar" + "x-7z-compressed" + ]; + imageTypes = mimePrefix "image" [ "apng" "avif" "bmp" @@ -19,7 +34,7 @@ in { "svg+xml" "webp" ]; - videoTypes = map (x: "video/${x}") [ + videoTypes = mimePrefix "video" [ "AV1" "H264" "H265" @@ -31,18 +46,32 @@ in { "VP8" "VP9" ]; + archiveDefaults = genDefault "ark.desktop" archiveTypes; imageDefaults = genDefault "imv.desktop" imageTypes; videoDefaults = genDefault "mpv.desktop" videoTypes; - combinedDefaults = imageDefaults // videoDefaults; + combinedDefaults = set.merge [ + archiveDefaults + imageDefaults + videoDefaults + { + "inode/directory" = "dolphin.desktop"; + } + ]; in combinedDefaults; + }; home.packages = with pkgs; [ anki + # File management + kdePackages.dolphin + # Imagery aseprite imv gimp + blender + krita # Chat telegram-desktop # Telegram @@ -52,10 +81,11 @@ in { mumble # Archivery - xarchiver + kdePackages.ark unzip zip p7zip + rar # Misc exiftool # EXIF Stripping diff --git a/home/profiles/neovim/default.nix b/home/profiles/neovim/default.nix index 4257806c..075aad8b 100644 --- a/home/profiles/neovim/default.nix +++ b/home/profiles/neovim/default.nix @@ -77,6 +77,8 @@ in { #tree-sitter-bash tree-sitter-css tree-sitter-dockerfile + tree-sitter-fennel + tree-sitter-clojure tree-sitter-go tree-sitter-hcl tree-sitter-html diff --git a/home/profiles/shell/git.nix b/home/profiles/shell/git.nix index b3908d64..d90d9e74 100644 --- a/home/profiles/shell/git.nix +++ b/home/profiles/shell/git.nix @@ -1,8 +1,12 @@ { + config, pkgs, + lib, tree, ... -}: { +}: let + inherit (lib.meta) getExe'; +in { home.packages = with pkgs; [ git-remote-gcrypt git-crypt @@ -30,7 +34,9 @@ inherit (tree.home.user.data) userName userEmail; package = pkgs.gitFull; enable = true; - extraConfig = { + settings = { + core = { + }; init = {defaultBranch = "main";}; protocol.gcrypt.allow = "always"; merge.conflictstyle = "diff3"; diff --git a/home/profiles/tiling/noctalia.nix b/home/profiles/tiling/noctalia.nix index 45ab93f0..f5e4f009 100644 --- a/home/profiles/tiling/noctalia.nix +++ b/home/profiles/tiling/noctalia.nix @@ -7,9 +7,11 @@ }: let inherit (lib.meta) getExe; in { - home.packages = [ - pkgs.quickshell + home.packages = with pkgs; [ + quickshell inputs.qml-niri.packages.${pkgs.system}.default + cliphist + networkmanager ]; programs.noctalia-shell = { enable = true; diff --git a/nixos/environments/hyprland/xdg-portals.nix b/nixos/environments/hyprland/xdg-portals.nix index 20651ac9..56dd680a 100644 --- a/nixos/environments/hyprland/xdg-portals.nix +++ b/nixos/environments/hyprland/xdg-portals.nix @@ -5,6 +5,7 @@ extraPortals = with pkgs; [ xdg-desktop-portal-wlr xdg-desktop-portal-gtk + kdePackages.xdg-desktop-portal-kde ]; }; }; diff --git a/nixos/profiles/gaming/vr.nix b/nixos/profiles/gaming/vr.nix index e331735a..8e8928da 100644 --- a/nixos/profiles/gaming/vr.nix +++ b/nixos/profiles/gaming/vr.nix @@ -9,6 +9,9 @@ in { systemd.user.services.wlx-overlay-s = { description = "wlx-overlay-s"; + path = [ + pkgs.wayvr-dashboard + ]; serviceConfig = { Type = "simple"; ExecStart = getExe' pkgs.wlx-overlay-s "wlx-overlay-s"; @@ -80,10 +83,11 @@ in { environment.systemPackages = with pkgs; [ wlx-overlay-s + wayvr-dashboard monado-vulkan-layers bs-manager vrcx - appimage-run + alcom (unityhub.override { extraLibs = unityhubPkgs: [ (unityhubPkgs.runCommand "libxml2-fake-old-abi" {} '' diff --git a/nixos/profiles/gaming/wine.nix b/nixos/profiles/gaming/wine.nix index aecbc78a..44fb2c36 100644 --- a/nixos/profiles/gaming/wine.nix +++ b/nixos/profiles/gaming/wine.nix @@ -19,7 +19,7 @@ in { createDesktopItems = true; inherit gameStorage; runnerVariants = { - PROTON_CACHYOS = "${pkgs.proton-cachyos-x86_64_v3}/bin"; + PROTON_CACHYOS = "${pkgs.proton-cachyos-x86_64_v3}/share/steam/compatibilitytools.d/*/*/"; PROTON_GE = "${pkgs.proton-ge-bin}/bin"; PROTON_EXPERIMENTAL = "/games/Steam Library/steamapps/common/Proton - Experimental"; PROTON_HOTFIX = "/games/Steam Library/steamapps/common/Proton Hotfix/"; @@ -200,7 +200,7 @@ in { gw2 = mkMerge [ protonCommon rec { - variant = mkForce "PROTON_CACHYOS"; + variant = mkForce "PROTON_VRC"; long_name = "Guild Wars 2"; prefixFolder = gameStorage + "/guild-wars-2"; gameFolder = prefixFolder + "/drive_c/Program Files/Guild Wars 2"; diff --git a/nixos/profiles/performance/scx.nix b/nixos/profiles/performance/scx.nix index 1fc5aa04..9c94ff1a 100644 --- a/nixos/profiles/performance/scx.nix +++ b/nixos/profiles/performance/scx.nix @@ -2,6 +2,6 @@ services.scx = { enable = true; package = pkgs.scx.full; - scheduler = "scx_bpfland"; + scheduler = "scx_lavd"; }; } diff --git a/nixos/profiles/tiling.nix b/nixos/profiles/tiling.nix index bcbfa02a..3321ad19 100644 --- a/nixos/profiles/tiling.nix +++ b/nixos/profiles/tiling.nix @@ -5,6 +5,10 @@ }: let inherit (lib.modules) mkForce; in { + security.pam.loginLimits = [ + { domain = "*"; type = "soft"; item = "nofile"; value = "65536"; } + { domain = "*"; type = "hard"; item = "nofile"; value = "1048576"; } + ]; services.noctalia-shell.enable = true; programs.regreet = { enable = true; diff --git a/nixos/servers/continuwuity/continuwuity.nix b/nixos/servers/continuwuity/continuwuity.nix index d8ba13fb..16f812bb 100644 --- a/nixos/servers/continuwuity/continuwuity.nix +++ b/nixos/servers/continuwuity/continuwuity.nix @@ -1,4 +1,4 @@ -{config, ...}: { +{config, system, inputs, ...}: { sops.secrets.registrationToken = { sopsFile = ./secrets.yaml; owner = "continuwuity"; @@ -6,6 +6,7 @@ }; services.matrix-continuwuity = { enable = true; + package = inputs.continuwuity.packages.${system}.continuwuity-default-bin; settings = { global = { allow_registration = true; diff --git a/nixos/servers/mail/mail.nix b/nixos/servers/mail/mail.nix index bd008237..7e6b5bd0 100644 --- a/nixos/servers/mail/mail.nix +++ b/nixos/servers/mail/mail.nix @@ -27,10 +27,7 @@ ]; }; }; - - # Use Let's Encrypt certificates. Note that this needs to set up a stripped - # down nginx and opens port 80. - certificateScheme = "acme-nginx"; + x509.useACMEHost = "rinnosuke.inskip.me"; }; security.acme.acceptTerms = true; security.acme.defaults.email = "security@inskip.me"; @@ -48,6 +45,7 @@ ''; }; + services.nginx.enable = true; networking.firewall.allowedTCPPorts = [80 443]; diff --git a/nixvim/plugins/lisps.nix b/nixvim/plugins/lisps.nix new file mode 100644 index 00000000..fd850fbb --- /dev/null +++ b/nixvim/plugins/lisps.nix @@ -0,0 +1,43 @@ +{ std, lib, pkgs, ... }: let + inherit (lib.attrsets) genAttrs; + inherit (std) set; +in { + extraPlugins = with pkgs.vimPlugins; [ + nvim-paredit + ]; + extraConfigLua = '' + require("nvim-paredit").setup() + ''; + lsp.servers = let + baseServer = { + enable = true; + activate = true; + }; + disablePackage = { + package = null; + }; + serversToGen = [ + "fennel-ls" + "clojure_lsp" + ]; + disablePackageServers = [ + "clojure_lsp" + ]; + in set.merge [ + (genAttrs serversToGen (_: baseServer)) + (genAttrs disablePackageServers (_: disablePackage)) + ]; + plugins = let + pluginsToGen = [ + "conjure" + "autoclose" + ]; + basePlugin = { + enable = true; + autoLoad = true; + }; + in + set.merge [ + (genAttrs pluginsToGen (_: basePlugin)) + ]; +} diff --git a/overlays.nix b/overlays.nix index 1810a8ee..8da4ce96 100644 --- a/overlays.nix +++ b/overlays.nix @@ -37,13 +37,31 @@ #inputs.arcexprs.overlays.default inputs.nix-gaming.overlays.default inputs.darwin.overlays.default + inputs.nixpkgs-xr.overlays.default inputs.deploy-rs.overlays.default inputs.neorg-overlay.overlays.default inputs.niri.overlays.niri + inputs.dolphin-overlay.overlays.default inputs.proton-cachyos.overlays.default (import tree.packages.default {inherit inputs tree;}) (_final: prev: { - wivrn = prev.wivrn.overrideAttrs (old: { + alcom = prev.stdenv.mkDerivation { + inherit (prev.alcom) pname version passthru; + src = prev.alcom; + nativeBuildInputs = [ + prev.makeWrapper + ]; + installPhase = '' + mkdir -p $out/ + cp -r ./* $out/ + wrapProgram $out/bin/ALCOM \ + --set WEBKIT_DISABLE_COMPOSITING_MODE 1 + ''; + }; + obs-studio = prev.obs-studio.override (old: { + cudaSupport = true; + }); + wivrn = prev.wivrn.override (old: { cudaSupport = true; }); }) diff --git a/scripts/wired.sh b/scripts/wired.sh index 4467066b..2c57b077 100755 --- a/scripts/wired.sh +++ b/scripts/wired.sh @@ -1,3 +1,3 @@ #!/usr/bin/env bash adb reverse tcp:9757 tcp:9757 -adb shell am start -a android.intent.action.VIEW -d "wivrn+tcp://localhost" org.meumeu.wivrn.github +adb shell am start -a android.intent.action.VIEW -d "wivrn+tcp://localhost" org.meumeu.wivrn.github.nightly diff --git a/systems/goliath.nix b/systems/goliath.nix index 30971594..5ee3c2b9 100644 --- a/systems/goliath.nix +++ b/systems/goliath.nix @@ -57,7 +57,7 @@ _: let ]) ++ (with tree.nixos.environments; [ hyprland - niri + #niri ]) ++ (with tree.nixos.servers; [ forgejo-runner @@ -131,42 +131,42 @@ _: let # return-type = ""; # }; # }; - niri.settings = { - outputs = { - "LG Electronics LG Ultra HD 0x0001AC91" = { - scale = 1.0; - position = { - x = 1920; - y = 0; - }; - mode = { - width = 2560; - height = 1440; - refresh = 59.951; - }; - }; - "Samsung Electric Company SAMSUNG Unknown" = { - position = { - x = 0; - y = 0; - }; - }; - "PNP(XXX) Beyond TV 0x00010000" = { - mode = { - width = 2560; - height = 1440; - refresh = 119.998; - }; - }; - }; - environment = { - NVD_BACKEND = "direct"; - ELECTRON_OZONE_PLATFORM_HINT = "auto"; - LIBVA_DRIVER_NAME = "nvidia"; - NIXOS_OZONE_WL = "1"; - QT_QTA_PLATFORM = "wayland;xcb"; - }; - }; + # niri.settings = { + # outputs = { + # "LG Electronics LG Ultra HD 0x0001AC91" = { + # scale = 1.0; + # position = { + # x = 1920; + # y = 0; + # }; + # mode = { + # width = 2560; + # height = 1440; + # refresh = 59.951; + # }; + # }; + # "Samsung Electric Company SAMSUNG Unknown" = { + # position = { + # x = 0; + # y = 0; + # }; + # }; + # "PNP(XXX) Beyond TV 0x00010000" = { + # mode = { + # width = 2560; + # height = 1440; + # refresh = 119.998; + # }; + # }; + # }; + # environment = { + # NVD_BACKEND = "direct"; + # ELECTRON_OZONE_PLATFORM_HINT = "auto"; + # LIBVA_DRIVER_NAME = "nvidia"; + # NIXOS_OZONE_WL = "1"; + # QT_QTA_PLATFORM = "wayland;xcb"; + # }; + # }; }; wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings.workspace = let @@ -201,7 +201,7 @@ _: let ]) ++ (with tree.home.environments; [ hyprland - niri + #niri ]); }; @@ -226,12 +226,26 @@ _: let availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"]; }; kernelModules = ["nct6775" "kvm-amd" "k10temp"]; - supportedFilesystems = ["ntfs" "zfs"]; + supportedFilesystems = ["ntfs" "zfs" "exfat"]; }; fileSystems = datasetEntries // { + # "/mnt/katstore" = { + # device = "/dev/disk/by-uuid/659A-0735"; + # fsType = "exfat"; + # options = [ + # "users" + # "allow_other" + # "nofail" + # "exec" + # "x-systemd.automount" + # "x-systemd.idle-timeout=5m" + # "x-systemd.device-timeout=1s" + # "x-systemd.mount-timeout=1s" + # ]; + # }; "/boot" = drives.boot.result; };